{"version":3,"sources":["webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/formiojs/node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app-service.service.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.material.module.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/front/auth/auth.component.css","webpack:///./src/app/front/auth/auth.component.html","webpack:///./src/app/front/auth/auth.component.ts","webpack:///./src/app/front/book-appointment/book-appointment.component.css","webpack:///./src/app/front/book-appointment/book-appointment.component.html","webpack:///./src/app/front/book-appointment/book-appointment.component.ts","webpack:///./src/app/front/book-freeappointment/book-freeappointment.component.css","webpack:///./src/app/front/book-freeappointment/book-freeappointment.component.html","webpack:///./src/app/front/book-freeappointment/book-freeappointment.component.ts","webpack:///./src/app/front/contact-us/contact-us.component.css","webpack:///./src/app/front/contact-us/contact-us.component.html","webpack:///./src/app/front/contact-us/contact-us.component.ts","webpack:///./src/app/front/doctor-list/doctor-list.component.css","webpack:///./src/app/front/doctor-list/doctor-list.component.html","webpack:///./src/app/front/doctor-list/doctor-list.component.ts","webpack:///./src/app/front/doctor-profile/doctor-profile.component.css","webpack:///./src/app/front/doctor-profile/doctor-profile.component.html","webpack:///./src/app/front/doctor-profile/doctor-profile.component.ts","webpack:///./src/app/front/doctor-profile/doctor-profile.model.ts","webpack:///./src/app/front/faq/faq.component.css","webpack:///./src/app/front/faq/faq.component.html","webpack:///./src/app/front/faq/faq.component.ts","webpack:///./src/app/front/filter-doctor-list/filter-doctor-list.component.css","webpack:///./src/app/front/filter-doctor-list/filter-doctor-list.component.html","webpack:///./src/app/front/filter-doctor-list/filter-doctor-list.component.ts","webpack:///./src/app/front/front-routing.module.ts","webpack:///./src/app/front/front.material.module.ts","webpack:///./src/app/front/front.module.ts","webpack:///./src/app/front/home-container/home-container.component.css","webpack:///./src/app/front/home-container/home-container.component.html","webpack:///./src/app/front/home-container/home-container.component.ts","webpack:///./src/app/front/home-footer/home-footer.component.css","webpack:///./src/app/front/home-footer/home-footer.component.html","webpack:///./src/app/front/home-footer/home-footer.component.ts","webpack:///./src/app/front/home-header/home-header.component.css","webpack:///./src/app/front/home-header/home-header.component.html","webpack:///./src/app/front/home-header/home-header.component.ts","webpack:///./src/app/front/home/home.component.css","webpack:///./src/app/front/home/home.component.html","webpack:///./src/app/front/home/home.component.ts","webpack:///./src/app/front/home/home.service.ts","webpack:///./src/app/front/login-selection/login-selection.component.css","webpack:///./src/app/front/login-selection/login-selection.component.html","webpack:///./src/app/front/login-selection/login-selection.component.ts","webpack:///./src/app/front/our-doctors/our-doctors.component.css","webpack:///./src/app/front/our-doctors/our-doctors.component.html","webpack:///./src/app/front/our-doctors/our-doctors.component.ts","webpack:///./src/app/front/payment-failure/payment-failure.component.css","webpack:///./src/app/front/payment-failure/payment-failure.component.html","webpack:///./src/app/front/payment-failure/payment-failure.component.ts","webpack:///./src/app/front/payment-success/payment-success.component.css","webpack:///./src/app/front/payment-success/payment-success.component.html","webpack:///./src/app/front/payment-success/payment-success.component.ts","webpack:///./src/app/front/provider-fee-settings/provider-fee-settings.component.css","webpack:///./src/app/front/provider-fee-settings/provider-fee-settings.component.html","webpack:///./src/app/front/provider-fee-settings/provider-fee-settings.component.ts","webpack:///./src/app/front/provider-profile/provider-profile.component.css","webpack:///./src/app/front/provider-profile/provider-profile.component.html","webpack:///./src/app/front/provider-profile/provider-profile.component.ts","webpack:///./src/app/front/register/register.component.css","webpack:///./src/app/front/register/register.component.html","webpack:///./src/app/front/register/register.component.ts","webpack:///./src/app/front/register/register.model.ts","webpack:///./src/app/front/register/register.service.ts","webpack:///./src/app/front/reject-invitation/reject-invitation.component.css","webpack:///./src/app/front/reject-invitation/reject-invitation.component.html","webpack:///./src/app/front/reject-invitation/reject-invitation.component.ts","webpack:///./src/app/front/save-document/save-document.component.css","webpack:///./src/app/front/save-document/save-document.component.html","webpack:///./src/app/front/save-document/save-document.component.ts","webpack:///./src/app/front/terms-conditions/terms-conditions.component.css","webpack:///./src/app/front/terms-conditions/terms-conditions.component.html","webpack:///./src/app/front/terms-conditions/terms-conditions.component.ts","webpack:///./src/app/front/urgentcare-appointment/urgentcare-appointment.component.css","webpack:///./src/app/front/urgentcare-appointment/urgentcare-appointment.component.html","webpack:///./src/app/front/urgentcare-appointment/urgentcare-appointment.component.ts","webpack:///./src/app/front/urgentcareprovider-list/urgentcareprovider-list.component.css","webpack:///./src/app/front/urgentcareprovider-list/urgentcareprovider-list.component.html","webpack:///./src/app/front/urgentcareprovider-list/urgentcareprovider-list.component.ts","webpack:///./src/app/front/what-we-do/what-we-do.component.css","webpack:///./src/app/front/what-we-do/what-we-do.component.html","webpack:///./src/app/front/what-we-do/what-we-do.component.ts","webpack:///./src/app/hubconnection.service.ts","webpack:///./src/app/platform/modules/agency-portal/Payments/payment.service.ts","webpack:///./src/app/platform/modules/agency-portal/agency-portal.module.ts","webpack:///./src/app/platform/modules/agency-portal/agency-routing.module.ts","webpack:///./src/app/platform/modules/agency-portal/agency_routing_permission.guard.ts","webpack:///./src/app/platform/modules/agency-portal/change-password/change-password.component.css","webpack:///./src/app/platform/modules/agency-portal/change-password/change-password.component.html","webpack:///./src/app/platform/modules/agency-portal/change-password/change-password.component.ts","webpack:///./src/app/platform/modules/agency-portal/change-password/change-password.service.ts","webpack:///./src/app/platform/modules/agency-portal/clients/client-header.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/client-header/client-header.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/client-header/client-header.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/client-header/client-header.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/client.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/clients.service.ts","webpack:///./src/app/platform/modules/agency-portal/clients/diagnosis/diagnosis.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/medication/medication.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-addprescription/prescription-addprescription.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-addprescription/prescription-addprescription.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-addprescription/prescription-addprescription.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-fax-modal/prescription-fax-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-fax-modal/prescription-fax-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-fax-modal/prescription-fax-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-modal/prescription-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-modal/prescription-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription-modal/prescription-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/clients/prescription/prescription.model.ts","webpack:///./src/app/platform/modules/agency-portal/clients/vitals/vitals.model.ts","webpack:///./src/app/platform/modules/agency-portal/dashboard/auth-list/auth-list.component.css","webpack:///./src/app/platform/modules/agency-portal/dashboard/auth-list/auth-list.component.html","webpack:///./src/app/platform/modules/agency-portal/dashboard/auth-list/auth-list.component.ts","webpack:///./src/app/platform/modules/agency-portal/dashboard/dashboard.component.css","webpack:///./src/app/platform/modules/agency-portal/dashboard/dashboard.component.html","webpack:///./src/app/platform/modules/agency-portal/dashboard/dashboard.component.ts","webpack:///./src/app/platform/modules/agency-portal/dashboard/dashboard.model.ts","webpack:///./src/app/platform/modules/agency-portal/dashboard/dashboard.service.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/diagnosis/diagnosis-modal/diagnosis-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/diagnosis/diagnosis-modal/diagnosis-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/diagnosis/diagnosis-modal/diagnosis-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/diagnosis/diagnosis.service.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/encounter-routing.module.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/encounter.module.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/encounter.service.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/non-billable-soap/non-billable-soap.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/non-billable-soap/non-billable-soap.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/non-billable-soap/non-billable-soap.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/opentok.service.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/patientencounternotes-modal/patientencounternotes.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/patientencounternotes-modal/patientencounternotes.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/patientencounternotes-modal/patientencounternotes.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/service-code-modal/add-service-code-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/service-code-modal/add-service-code-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/service-code-modal/add-service-code-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/sign-dialog/sign-dialog.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/sign-dialog/sign-dialog.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/sign-dialog/sign-dialog.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/soap/soap.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/soap/soap.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/soap/soap.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/template-form/template-form.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/template-form/template-form.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/template-form/template-form.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/thank-you/thank-you.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/thank-you/thank-you.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/thank-you/thank-you.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/video-call/video-call.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/video-call/video-call.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/video-call/video-call.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/publisher/publisher.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/publisher/publisher.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/publisher/publisher.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/subscriber/subscriber.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/subscriber/subscriber.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/subscriber/subscriber.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/video-button/video-button.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/video-button/video-button.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/video-button/video-button.component.ts","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/video-chat.component.css","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/video-chat.component.html","webpack:///./src/app/platform/modules/agency-portal/encounter/video-chat/video-chat.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-companies/add-company-modal/add-company-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-companies/add-company-modal/add-company-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-companies/add-company-modal/add-company-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-companies/add-company-modal/add-company.service.ts","webpack:///./src/app/platform/modules/agency-portal/manage-companies/manage-companies.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-companies/manage-companies.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-companies/manage-companies.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-company/admin-reward-point/admin-reward-point.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-company/admin-reward-point/admin-reward-point.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-company/admin-reward-point/admin-reward-point.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-company/bulk-upload/bulk-upload.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-company/bulk-upload/bulk-upload.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-company/bulk-upload/bulk-upload.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-company/company.service.ts","webpack:///./src/app/platform/modules/agency-portal/manage-company/manage-package/manage-package.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-company/manage-package/manage-package.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-company/manage-package/manage-package.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-courses/add-course/add-course.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-courses/add-course/add-course.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-courses/add-course/add-course.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-courses/manage-courses.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-courses/manage-courses.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-courses/manage-courses.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-ngo/manage-ngo.service.ts","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/add-new-quiz/add-new-quiz.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/add-new-quiz/add-new-quiz.component.scss","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/add-new-quiz/add-new-quiz.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/manage-quiz.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/manage-quiz.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/manage-quiz.component.scss","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/manage-quiz.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/manage-quiz.service.ts","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/members-participating/members-participating.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/members-participating/members-participating.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/members-participating/members-participating.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/questionnaire/questionnaire.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/questionnaire/questionnaire.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/questionnaire/questionnaire.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/quiz-companies/quiz-companies.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/quiz-companies/quiz-companies.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/quiz-companies/quiz-companies.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/quiz-result/quiz-result.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/quiz-result/quiz-result.component.scss","webpack:///./src/app/platform/modules/agency-portal/manage-quiz/quiz-result/quiz-result.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-videos/audio-modal/audio-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-videos/audio-modal/audio-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-videos/audio-modal/audio-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-videos/list-video/list-video.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-videos/list-video/list-video.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-videos/list-video/list-video.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-videos/manage-videos.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-videos/manage-videos.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-videos/manage-videos.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-videos/manage-videos.module.ts","webpack:///./src/app/platform/modules/agency-portal/manage-videos/manage-videos.service.ts","webpack:///./src/app/platform/modules/agency-portal/manage-videos/media-filter/media-filter.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-videos/media-filter/media-filter.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-videos/media-filter/media-filter.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-videos/upload-video/upload-video.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-videos/upload-video/upload-video.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-videos/upload-video/upload-video.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-videos/view-media/view-media.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-videos/view-media/view-media.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-videos/view-media/view-media.component.ts","webpack:///./src/app/platform/modules/agency-portal/manage-videos/view-video/view-video.component.css","webpack:///./src/app/platform/modules/agency-portal/manage-videos/view-video/view-video.component.html","webpack:///./src/app/platform/modules/agency-portal/manage-videos/view-video/view-video.component.ts","webpack:///./src/app/platform/modules/agency-portal/masters/service-codes/service-code.modal.ts","webpack:///./src/app/platform/modules/agency-portal/masters/service-codes/service-code.service.ts","webpack:///./src/app/platform/modules/agency-portal/masters/speciality/speciality.service.ts","webpack:///./src/app/platform/modules/agency-portal/membership-plan/membership.service.ts","webpack:///./src/app/platform/modules/agency-portal/performance/bar-chart/bar-chart.component.css","webpack:///./src/app/platform/modules/agency-portal/performance/bar-chart/bar-chart.component.html","webpack:///./src/app/platform/modules/agency-portal/performance/bar-chart/bar-chart.component.ts","webpack:///./src/app/platform/modules/agency-portal/performance/performance.component.css","webpack:///./src/app/platform/modules/agency-portal/performance/performance.component.html","webpack:///./src/app/platform/modules/agency-portal/performance/performance.component.ts","webpack:///./src/app/platform/modules/agency-portal/provide-review-rating/provide-review-rating-model.ts","webpack:///./src/app/platform/modules/agency-portal/provide-review-rating/provide-review-rating.component.css","webpack:///./src/app/platform/modules/agency-portal/provide-review-rating/provide-review-rating.component.html","webpack:///./src/app/platform/modules/agency-portal/provide-review-rating/provide-review-rating.component.ts","webpack:///./src/app/platform/modules/agency-portal/reports/manage-report/manage-report.component.css","webpack:///./src/app/platform/modules/agency-portal/reports/manage-report/manage-report.component.html","webpack:///./src/app/platform/modules/agency-portal/reports/manage-report/manage-report.component.ts","webpack:///./src/app/platform/modules/agency-portal/reviews-ratings/reviews-ratings.component.css","webpack:///./src/app/platform/modules/agency-portal/reviews-ratings/reviews-ratings.component.html","webpack:///./src/app/platform/modules/agency-portal/reviews-ratings/reviews-ratings.component.ts","webpack:///./src/app/platform/modules/agency-portal/reviews-ratings/reviews-ratings.service.ts","webpack:///./src/app/platform/modules/agency-portal/users/add-user/add-user.component.css","webpack:///./src/app/platform/modules/agency-portal/users/add-user/add-user.component.html","webpack:///./src/app/platform/modules/agency-portal/users/add-user/add-user.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/add-users/add-user.component.css","webpack:///./src/app/platform/modules/agency-portal/users/add-users/add-user.component.html","webpack:///./src/app/platform/modules/agency-portal/users/add-users/add-user.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/availability/availability.component.css","webpack:///./src/app/platform/modules/agency-portal/users/availability/availability.component.html","webpack:///./src/app/platform/modules/agency-portal/users/availability/availability.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/bulk-upload/bulk-upload.component.css","webpack:///./src/app/platform/modules/agency-portal/users/bulk-upload/bulk-upload.component.html","webpack:///./src/app/platform/modules/agency-portal/users/bulk-upload/bulk-upload.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/custom-fields/custom-fields.component.css","webpack:///./src/app/platform/modules/agency-portal/users/custom-fields/custom-fields.component.html","webpack:///./src/app/platform/modules/agency-portal/users/custom-fields/custom-fields.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/manage-leaves/apply-leave/apply-leave.component.css","webpack:///./src/app/platform/modules/agency-portal/users/manage-leaves/apply-leave/apply-leave.component.html","webpack:///./src/app/platform/modules/agency-portal/users/manage-leaves/apply-leave/apply-leave.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/manage-leaves/manage-leaves.component.css","webpack:///./src/app/platform/modules/agency-portal/users/manage-leaves/manage-leaves.component.html","webpack:///./src/app/platform/modules/agency-portal/users/manage-leaves/manage-leaves.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/payroll-rate/payroll-rate.component.css","webpack:///./src/app/platform/modules/agency-portal/users/payroll-rate/payroll-rate.component.html","webpack:///./src/app/platform/modules/agency-portal/users/payroll-rate/payroll-rate.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/staff-availability.model.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-award/user-award.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user-award/user-award.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user-award/user-award.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-documents/add-user-document/add-user-document.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user-documents/add-user-document/add-user-document.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user-documents/add-user-document/add-user-document.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-documents/user-documents.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user-documents/user-documents.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user-documents/user-documents.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-experience/user-experience.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user-experience/user-experience.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user-experience/user-experience.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-invitation/send-user-invitation/send-user-invitation.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user-invitation/send-user-invitation/send-user-invitation.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user-invitation/send-user-invitation/send-user-invitation.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-invitation/user-invitation.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user-invitation/user-invitation.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user-invitation/user-invitation.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-invitation/user-invitation.model.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-invitation/user-invitation.service.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-leaves/apply-leave-modal/apply-leave-modal.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user-leaves/apply-leave-modal/apply-leave-modal.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user-leaves/apply-leave-modal/apply-leave-modal.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-leaves/user-leaves.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user-leaves/user-leaves.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user-leaves/user-leaves.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-listing/user-listing.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user-listing/user-listing.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user-listing/user-listing.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-profile/user-profile.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user-profile/user-profile.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user-profile/user-profile.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-qualification/user-qualification.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user-qualification/user-qualification.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user-qualification/user-qualification.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-time-sheet-sheet-view/timesheet-sheet-view.model.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-time-sheet-sheet-view/user-time-sheet-sheet-view.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user-time-sheet-sheet-view/user-time-sheet-sheet-view.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user-time-sheet-sheet-view/user-time-sheet-sheet-view.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-time-sheet-sheet-view/user-time-sheet-sheet.service.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-time-sheet-tabular-view/user-time-sheet-tablular.service.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-time-sheet-tabular-view/user-time-sheet-tabular-view.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user-time-sheet-tabular-view/user-time-sheet-tabular-view.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user-time-sheet-tabular-view/user-time-sheet-tabular-view.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/user-time-sheet/user-time-sheet.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user-time-sheet/user-time-sheet.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user-time-sheet/user-time-sheet.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/user/user.component.css","webpack:///./src/app/platform/modules/agency-portal/users/user/user.component.html","webpack:///./src/app/platform/modules/agency-portal/users/user/user.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/users.model.ts","webpack:///./src/app/platform/modules/agency-portal/users/users.module.routing.ts","webpack:///./src/app/platform/modules/agency-portal/users/users.module.ts","webpack:///./src/app/platform/modules/agency-portal/users/users.service.ts","webpack:///./src/app/platform/modules/agency-portal/users/users/user.component.css","webpack:///./src/app/platform/modules/agency-portal/users/users/user.component.html","webpack:///./src/app/platform/modules/agency-portal/users/users/user.component.ts","webpack:///./src/app/platform/modules/agency-portal/users/view-consultant/view-consultant.component.css","webpack:///./src/app/platform/modules/agency-portal/users/view-consultant/view-consultant.component.html","webpack:///./src/app/platform/modules/agency-portal/users/view-consultant/view-consultant.component.ts","webpack:///./src/app/platform/modules/agency-portal/view-ratings/view-rating-model.ts","webpack:///./src/app/platform/modules/agency-portal/view-ratings/view-ratings.component.css","webpack:///./src/app/platform/modules/agency-portal/view-ratings/view-ratings.component.html","webpack:///./src/app/platform/modules/agency-portal/view-ratings/view-ratings.component.ts","webpack:///./src/app/platform/modules/auth/auth.service.ts","webpack:///./src/app/platform/modules/client-portal/client-profile.model.ts","webpack:///./src/app/platform/modules/client-portal/clients.service.ts","webpack:///./src/app/platform/modules/client-portal/review-rating/review-rating.model.ts","webpack:///./src/app/platform/modules/client-portal/reward-points/download-certificate/download-certificate.component.css","webpack:///./src/app/platform/modules/client-portal/reward-points/download-certificate/download-certificate.component.html","webpack:///./src/app/platform/modules/client-portal/reward-points/download-certificate/download-certificate.component.ts","webpack:///./src/app/platform/modules/client-portal/vitals/vital-model/vital-model.component.css","webpack:///./src/app/platform/modules/client-portal/vitals/vital-model/vital-model.component.html","webpack:///./src/app/platform/modules/client-portal/vitals/vital-model/vital-model.component.ts","webpack:///./src/app/platform/modules/consultant-portal/patientvital/patientvital.component.css","webpack:///./src/app/platform/modules/consultant-portal/patientvital/patientvital.component.html","webpack:///./src/app/platform/modules/consultant-portal/patientvital/patientvital.component.ts","webpack:///./src/app/platform/modules/core/interceptors/http.token.interceptor.ts","webpack:///./src/app/platform/modules/core/interceptors/index.ts","webpack:///./src/app/platform/modules/core/modals/common-model.ts","webpack:///./src/app/platform/modules/core/modals/loginUser.modal.ts","webpack:///./src/app/platform/modules/core/services/common.service.ts","webpack:///./src/app/platform/modules/core/services/index.ts","webpack:///./src/app/platform/modules/core/services/layout.service.ts","webpack:///./src/app/platform/modules/mailing/mailbox.service.ts","webpack:///./src/app/platform/modules/main-container/hub.service.ts","webpack:///./src/app/platform/modules/scheduling/appointment-view/appointment-view.component.css","webpack:///./src/app/platform/modules/scheduling/appointment-view/appointment-view.component.html","webpack:///./src/app/platform/modules/scheduling/appointment-view/appointment-view.component.ts","webpack:///./src/app/platform/modules/scheduling/scheduler/cancel-appointment-dialog/cancel-appointment-dialog.component.css","webpack:///./src/app/platform/modules/scheduling/scheduler/cancel-appointment-dialog/cancel-appointment-dialog.component.html","webpack:///./src/app/platform/modules/scheduling/scheduler/cancel-appointment-dialog/cancel-appointment-dialog.component.ts","webpack:///./src/app/platform/modules/scheduling/scheduler/scheduler.model.ts","webpack:///./src/app/platform/modules/scheduling/scheduler/scheduler.service.ts","webpack:///./src/app/platform/platform.material.module.ts","webpack:///./src/app/shared/accept-reject-appointment-invitation/accept-reject-appointment-invitation.component.css","webpack:///./src/app/shared/accept-reject-appointment-invitation/accept-reject-appointment-invitation.component.html","webpack:///./src/app/shared/accept-reject-appointment-invitation/accept-reject-appointment-invitation.component.ts","webpack:///./src/app/shared/add-new-caller/add-new-caller.component.css","webpack:///./src/app/shared/add-new-caller/add-new-caller.component.html","webpack:///./src/app/shared/add-new-caller/add-new-caller.component.ts","webpack:///./src/app/shared/add-new-caller/add-new-caller.model.ts","webpack:///./src/app/shared/add-new-caller/add-new-caller.service.ts","webpack:///./src/app/shared/appointment-graph/appointment-graph.component.css","webpack:///./src/app/shared/appointment-graph/appointment-graph.component.html","webpack:///./src/app/shared/appointment-graph/appointment-graph.component.ts","webpack:///./src/app/shared/appointment-graph/appointment-graph.service.ts","webpack:///./src/app/shared/appointment-graph/invited-accepted/invited-accepted.component.css","webpack:///./src/app/shared/appointment-graph/invited-accepted/invited-accepted.component.html","webpack:///./src/app/shared/appointment-graph/invited-accepted/invited-accepted.component.ts","webpack:///./src/app/shared/appointment-graph/invited-pending/invited-pending.component.css","webpack:///./src/app/shared/appointment-graph/invited-pending/invited-pending.component.html","webpack:///./src/app/shared/appointment-graph/invited-pending/invited-pending.component.ts","webpack:///./src/app/shared/appointment-graph/invited-rejected/invited-rejected.component.css","webpack:///./src/app/shared/appointment-graph/invited-rejected/invited-rejected.component.html","webpack:///./src/app/shared/appointment-graph/invited-rejected/invited-rejected.component.ts","webpack:///./src/app/shared/appointment-graph/otp-request-send/otp-request-send.component.css","webpack:///./src/app/shared/appointment-graph/otp-request-send/otp-request-send.component.html","webpack:///./src/app/shared/appointment-graph/otp-request-send/otp-request-send.component.ts","webpack:///./src/app/shared/appointment-graph/prescription-notes/prescription-notes.component.css","webpack:///./src/app/shared/appointment-graph/prescription-notes/prescription-notes.component.html","webpack:///./src/app/shared/appointment-graph/prescription-notes/prescription-notes.component.ts","webpack:///./src/app/shared/appointment-rescheduling-dialog/appointment-rescheduling-dialog.component.css","webpack:///./src/app/shared/appointment-rescheduling-dialog/appointment-rescheduling-dialog.component.html","webpack:///./src/app/shared/appointment-rescheduling-dialog/appointment-rescheduling-dialog.component.ts","webpack:///./src/app/shared/approve-appointment-dialog/approve-appointment-dialog.component.css","webpack:///./src/app/shared/approve-appointment-dialog/approve-appointment-dialog.component.html","webpack:///./src/app/shared/approve-appointment-dialog/approve-appointment-dialog.component.ts","webpack:///./src/app/shared/bar-chart/bar-chart.component.css","webpack:///./src/app/shared/bar-chart/bar-chart.component.html","webpack:///./src/app/shared/bar-chart/bar-chart.component.ts","webpack:///./src/app/shared/booking-type-model/booking-type-model.component.css","webpack:///./src/app/shared/booking-type-model/booking-type-model.component.html","webpack:///./src/app/shared/booking-type-model/booking-type-model.component.ts","webpack:///./src/app/shared/call-button/call-button.component.css","webpack:///./src/app/shared/call-button/call-button.component.html","webpack:///./src/app/shared/call-button/call-button.component.ts","webpack:///./src/app/shared/call-notification/call-notification.component.css","webpack:///./src/app/shared/call-notification/call-notification.component.html","webpack:///./src/app/shared/call-notification/call-notification.component.ts","webpack:///./src/app/shared/cancel-appointment-dialog/cancel-appointment-dialog.component.css","webpack:///./src/app/shared/cancel-appointment-dialog/cancel-appointment-dialog.component.html","webpack:///./src/app/shared/cancel-appointment-dialog/cancel-appointment-dialog.component.ts","webpack:///./src/app/shared/chat-widget/chat-widget.component.html","webpack:///./src/app/shared/chat-widget/chat-widget.component.scss","webpack:///./src/app/shared/chat-widget/chat-widget.component.ts","webpack:///./src/app/shared/controls/google-address-input/google-address-input.component.css","webpack:///./src/app/shared/controls/google-address-input/google-address-input.component.html","webpack:///./src/app/shared/controls/google-address-input/google-address-input.component.ts","webpack:///./src/app/shared/count-down/count-down.component.html","webpack:///./src/app/shared/count-down/count-down.component.scss","webpack:///./src/app/shared/count-down/count-down.component.ts","webpack:///./src/app/shared/data-table/data-table.component.css","webpack:///./src/app/shared/data-table/data-table.component.html","webpack:///./src/app/shared/data-table/data-table.component.ts","webpack:///./src/app/shared/date-picker/date-picker.component.css","webpack:///./src/app/shared/date-picker/date-picker.component.html","webpack:///./src/app/shared/date-picker/date-picker.component.ts","webpack:///./src/app/shared/dicom-viewer/dicom-viewer.component.html","webpack:///./src/app/shared/dicom-viewer/dicom-viewer.component.scss","webpack:///./src/app/shared/dicom-viewer/dicom-viewer.component.ts","webpack:///./src/app/shared/directives/mrn-number.directive.ts","webpack:///./src/app/shared/directives/numbers-only.directive.ts","webpack:///./src/app/shared/directives/phone-number.directive.ts","webpack:///./src/app/shared/directives/rate.directive.ts","webpack:///./src/app/shared/directives/ssn.directive.ts","webpack:///./src/app/shared/directives/zipcode.directive.ts","webpack:///./src/app/shared/doc-viewer/doc-viewer.component.css","webpack:///./src/app/shared/doc-viewer/doc-viewer.component.html","webpack:///./src/app/shared/doc-viewer/doc-viewer.component.ts","webpack:///./src/app/shared/dynamic-form/dynamic-form-component/dynamic-form.component.html","webpack:///./src/app/shared/dynamic-form/dynamic-form-component/dynamic-form.component.ts","webpack:///./src/app/shared/dynamic-form/dynamic-form-control-component/dynamic-form-control-component.html","webpack:///./src/app/shared/dynamic-form/dynamic-form-control-component/dynamic-form-control-component.ts","webpack:///./src/app/shared/dynamic-form/dynamic-form-control-component/dynamic-form-control.component.scss","webpack:///./src/app/shared/dynamic-form/dynamic-form-control-service.ts","webpack:///./src/app/shared/dynamic-form/dynamic-form-models.ts","webpack:///./src/app/shared/followup-appointment/followup-appointment.component.css","webpack:///./src/app/shared/followup-appointment/followup-appointment.component.html","webpack:///./src/app/shared/followup-appointment/followup-appointment.component.ts","webpack:///./src/app/shared/layout/client-header-layout/client-header-layout.component.css","webpack:///./src/app/shared/layout/client-header-layout/client-header-layout.component.html","webpack:///./src/app/shared/layout/client-header-layout/client-header-layout.component.ts","webpack:///./src/app/shared/layout/dialog/dialog.component.css","webpack:///./src/app/shared/layout/dialog/dialog.component.html","webpack:///./src/app/shared/layout/dialog/dialog.component.ts","webpack:///./src/app/shared/layout/dialog/dialog.service.ts","webpack:///./src/app/shared/layout/footer.component.html","webpack:///./src/app/shared/layout/footer.component.ts","webpack:///./src/app/shared/layout/header.component.html","webpack:///./src/app/shared/layout/header.component.scss","webpack:///./src/app/shared/layout/header.component.ts","webpack:///./src/app/shared/layout/index.ts","webpack:///./src/app/shared/layout/menu-list-item/menu-list-item.component.html","webpack:///./src/app/shared/layout/menu-list-item/menu-list-item.component.scss","webpack:///./src/app/shared/layout/menu-list-item/menu-list-item.component.ts","webpack:///./src/app/shared/layout/sidebar.component.html","webpack:///./src/app/shared/layout/sidebar.component.scss","webpack:///./src/app/shared/layout/sidebar.component.ts","webpack:///./src/app/shared/layout/super-admin-header.component.html","webpack:///./src/app/shared/layout/super-admin-header.component.scss","webpack:///./src/app/shared/layout/super-admin-header.component.ts","webpack:///./src/app/shared/line-chart/line-chart.component.css","webpack:///./src/app/shared/line-chart/line-chart.component.html","webpack:///./src/app/shared/line-chart/line-chart.component.ts","webpack:///./src/app/shared/login-model/agency-login/agency-login.component.css","webpack:///./src/app/shared/login-model/agency-login/agency-login.component.html","webpack:///./src/app/shared/login-model/agency-login/agency-login.component.ts","webpack:///./src/app/shared/login-model/client-login/client-login.component.css","webpack:///./src/app/shared/login-model/client-login/client-login.component.html","webpack:///./src/app/shared/login-model/client-login/client-login.component.ts","webpack:///./src/app/shared/login-model/login-model.component.css","webpack:///./src/app/shared/login-model/login-model.component.html","webpack:///./src/app/shared/login-model/login-model.component.ts","webpack:///./src/app/shared/models/callModel.ts","webpack:///./src/app/shared/models/chatModel.ts","webpack:///./src/app/shared/models/videoRecordModel.ts","webpack:///./src/app/shared/password-validator.ts","webpack:///./src/app/shared/patient-urgentcare-status/patient-urgentcare-status.component.css","webpack:///./src/app/shared/patient-urgentcare-status/patient-urgentcare-status.component.html","webpack:///./src/app/shared/patient-urgentcare-status/patient-urgentcare-status.component.ts","webpack:///./src/app/shared/pipes/chat-message.pipe.ts","webpack:///./src/app/shared/pipes/encounter.pipe.ts","webpack:///./src/app/shared/pipes/invitation-status.pipe.ts","webpack:///./src/app/shared/pipes/rating.pipe.ts","webpack:///./src/app/shared/pipes/span.pipe.ts","webpack:///./src/app/shared/pipes/status.pipe.ts","webpack:///./src/app/shared/pipes/time-check.pipe.ts","webpack:///./src/app/shared/pipes/unique.pipe.ts","webpack:///./src/app/shared/postpone-appointment/postpone-appointment.component.css","webpack:///./src/app/shared/postpone-appointment/postpone-appointment.component.html","webpack:///./src/app/shared/postpone-appointment/postpone-appointment.component.ts","webpack:///./src/app/shared/prepone-appointment/prepone-appointment.component.css","webpack:///./src/app/shared/prepone-appointment/prepone-appointment.component.html","webpack:///./src/app/shared/prepone-appointment/prepone-appointment.component.ts","webpack:///./src/app/shared/register-model/register.component.css","webpack:///./src/app/shared/register-model/register.component.html","webpack:///./src/app/shared/register-model/register.component.ts","webpack:///./src/app/shared/security-question-model/security-question-model.component.css","webpack:///./src/app/shared/security-question-model/security-question-model.component.html","webpack:///./src/app/shared/security-question-model/security-question-model.component.ts","webpack:///./src/app/shared/set-reminder/set-reminder.component.css","webpack:///./src/app/shared/set-reminder/set-reminder.component.html","webpack:///./src/app/shared/set-reminder/set-reminder.component.ts","webpack:///./src/app/shared/set-reminder/set-reminder.modal.ts","webpack:///./src/app/shared/set-reminder/set-reminder.service.ts","webpack:///./src/app/shared/shared.module.ts","webpack:///./src/app/shared/shared.service.ts","webpack:///./src/app/shared/staff-appointment/staff-appointment.component.css","webpack:///./src/app/shared/staff-appointment/staff-appointment.component.html","webpack:///./src/app/shared/staff-appointment/staff-appointment.component.ts","webpack:///./src/app/shared/symptom-checker/symptom-checker.component.css","webpack:///./src/app/shared/symptom-checker/symptom-checker.component.html","webpack:///./src/app/shared/symptom-checker/symptom-checker.component.ts","webpack:///./src/app/shared/symptom-checker/symptom-checker.model.ts","webpack:///./src/app/shared/symptom-checker/symptom-checker.service.ts","webpack:///./src/app/shared/text-chat/text-chat-user-image.pipe.ts","webpack:///./src/app/shared/text-chat/text-chat-user-name.pipe.ts","webpack:///./src/app/shared/text-chat/text-chat.component.css","webpack:///./src/app/shared/text-chat/text-chat.component.html","webpack:///./src/app/shared/text-chat/text-chat.component.ts","webpack:///./src/app/shared/text-chat/text-chat.service.ts","webpack:///./src/app/shared/text-chat/text-message-format/text-message-format.component.css","webpack:///./src/app/shared/text-chat/text-message-format/text-message-format.component.html","webpack:///./src/app/shared/text-chat/text-message-format/text-message-format.component.ts","webpack:///./src/app/shared/text-chat/textChatModel.ts","webpack:///./src/app/shared/text-chat/uploadFile/upload-file.component.css","webpack:///./src/app/shared/text-chat/uploadFile/upload-file.component.html","webpack:///./src/app/shared/text-chat/uploadFile/upload-file.component.ts","webpack:///./src/app/shared/urgentcare-provideraction/urgentcare-provideraction.component.css","webpack:///./src/app/shared/urgentcare-provideraction/urgentcare-provideraction.component.html","webpack:///./src/app/shared/urgentcare-provideraction/urgentcare-provideraction.component.ts","webpack:///./src/app/shared/urgentcarelisting-dialog/urgentcarelisting-dialog.component.css","webpack:///./src/app/shared/urgentcarelisting-dialog/urgentcarelisting-dialog.component.html","webpack:///./src/app/shared/urgentcarelisting-dialog/urgentcarelisting-dialog.component.ts","webpack:///./src/app/shared/video-consultation-test-modal/audio-recording.service.ts","webpack:///./src/app/shared/video-consultation-test-modal/video-consultation-test-modal.component.html","webpack:///./src/app/shared/video-consultation-test-modal/video-consultation-test-modal.component.scss","webpack:///./src/app/shared/video-consultation-test-modal/video-consultation-test-modal.component.ts","webpack:///./src/app/shared/view-report/view-report.component.css","webpack:///./src/app/shared/view-report/view-report.component.html","webpack:///./src/app/shared/view-report/view-report.component.ts","webpack:///./src/app/shared/view-report/view-report.service.ts","webpack:///./src/app/shared/vital-line-chart/vital-line-chart/vital-line-chart.component.css","webpack:///./src/app/shared/vital-line-chart/vital-line-chart/vital-line-chart.component.html","webpack:///./src/app/shared/vital-line-chart/vital-line-chart/vital-line-chart.component.ts","webpack:///./src/app/subDomain.guard.ts","webpack:///./src/app/subDomain.service.ts","webpack:///./src/app/super-admin-portal/core/modals/common-model.ts","webpack:///./src/app/super-admin-portal/core/services/common.service.ts","webpack:///./src/app/super-admin-portal/core/services/index.ts","webpack:///./src/app/super-admin-portal/core/services/layout.service.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///fs (ignored)"],"names":[],"mappings":"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A;AACA;AACA;;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACJA,YAAY,mBAAO,CAAC,4DAAW;AAC/B,UAAU,mBAAO,CAAC,sDAAQ;AAC1B,aAAa,mBAAO,CAAC,4DAAW;AAChC;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACVA,cAAc,mBAAO,CAAC,8DAAY;AAClC,eAAe,mBAAO,CAAC,sDAAQ;AAC/B,gBAAgB,mBAAO,CAAC,kEAAc;AACtC,iBAAiB,mBAAO,CAAC,wDAAS;AAClC;AACA;AACA;AACA;;;;;;;;;;;;ACPA;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,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mG;;;;;;;;;;;ACpRA;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,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;AC5QA;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,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;;;;;;;;;;;;ACpMyC;AACc;AACJ;AAEnD,IAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,CAAC,+DAAc,CAAC;QAC7B,oBAAoB;QACpB,YAAY,EAAE,kCAAkC;QAChD,oBAAoB;KACrB;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,CAAC,+DAAc,CAAC;QAC7B,YAAY,EAAE,2CAA2C;KAC1D;IACD;QACE,IAAI,EAAE,UAAU;QAChB,YAAY,EACV,uEAAuE;KAC1E;IACD,IAAI;IACJ,mBAAmB;IACnB,qDAAqD;IACrD,KAAK;IACL,6BAA6B;IAC7B,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE;CAChC,CAAC;AAMF;IAAA;IAA+B,CAAC;IAAnB,gBAAgB;QAJ5B,8DAAQ,CAAC;YACR,OAAO,EAAE,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC,4DAAY,CAAC;SACxB,CAAC;OACW,gBAAgB,CAAG;IAAD,uBAAC;CAAA;AAAH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCsB;AACR;AACgB;AAEI;AACJ;AAO3D;IAaE,oBAAoB,IAAgB;QA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","file":"main.js","sourcesContent":["module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = false;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = {}.propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var map = {\n\t\"./af\": \"./node_modules/formiojs/node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/formiojs/node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/formiojs/node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/formiojs/node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/formiojs/node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/formiojs/node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/formiojs/node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/formiojs/node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/formiojs/node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/formiojs/node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/formiojs/node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/formiojs/node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/formiojs/node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/formiojs/node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/formiojs/node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/formiojs/node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/formiojs/node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/formiojs/node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/formiojs/node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/formiojs/node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/formiojs/node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/formiojs/node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/formiojs/node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/formiojs/node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/formiojs/node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/formiojs/node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/formiojs/node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/formiojs/node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/formiojs/node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/formiojs/node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/formiojs/node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/formiojs/node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/formiojs/node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/formiojs/node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/formiojs/node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/formiojs/node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/formiojs/node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/formiojs/node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/formiojs/node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/formiojs/node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/formiojs/node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/formiojs/node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/formiojs/node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/formiojs/node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/formiojs/node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/formiojs/node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/formiojs/node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/formiojs/node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/formiojs/node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/formiojs/node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/formiojs/node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/formiojs/node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/formiojs/node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/formiojs/node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/formiojs/node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/formiojs/node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/formiojs/node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/formiojs/node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/formiojs/node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/formiojs/node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/formiojs/node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/formiojs/node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/formiojs/node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/formiojs/node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/formiojs/node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/formiojs/node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/formiojs/node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/formiojs/node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/formiojs/node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/formiojs/node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/formiojs/node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/formiojs/node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/formiojs/node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/formiojs/node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/formiojs/node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/formiojs/node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/formiojs/node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/formiojs/node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/formiojs/node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/formiojs/node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/formiojs/node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/formiojs/node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/formiojs/node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/formiojs/node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/formiojs/node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/formiojs/node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/formiojs/node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/formiojs/node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/formiojs/node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/formiojs/node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/formiojs/node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/formiojs/node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/formiojs/node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/formiojs/node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/formiojs/node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/formiojs/node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/formiojs/node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/formiojs/node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/formiojs/node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/formiojs/node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/formiojs/node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/formiojs/node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/formiojs/node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/formiojs/node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/formiojs/node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/formiojs/node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/formiojs/node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/formiojs/node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/formiojs/node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/formiojs/node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/formiojs/node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/formiojs/node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/formiojs/node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/formiojs/node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/formiojs/node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/formiojs/node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/formiojs/node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/formiojs/node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/formiojs/node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/formiojs/node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/formiojs/node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/formiojs/node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/formiojs/node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/formiojs/node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/formiojs/node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/formiojs/node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/formiojs/node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/formiojs/node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/formiojs/node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/formiojs/node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/formiojs/node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/formiojs/node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/formiojs/node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/formiojs/node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/formiojs/node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/formiojs/node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/formiojs/node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/formiojs/node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/formiojs/node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/formiojs/node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/formiojs/node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/formiojs/node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/formiojs/node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/formiojs/node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/formiojs/node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/formiojs/node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/formiojs/node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/formiojs/node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/formiojs/node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/formiojs/node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/formiojs/node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/formiojs/node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/formiojs/node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/formiojs/node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/formiojs/node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/formiojs/node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/formiojs/node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/formiojs/node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/formiojs/node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/formiojs/node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/formiojs/node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/formiojs/node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/formiojs/node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/formiojs/node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/formiojs/node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/formiojs/node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/formiojs/node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/formiojs/node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/formiojs/node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/formiojs/node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/formiojs/node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/formiojs/node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/formiojs/node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/formiojs/node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/formiojs/node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/formiojs/node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/formiojs/node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/formiojs/node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/formiojs/node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/formiojs/node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/formiojs/node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/formiojs/node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/formiojs/node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/formiojs/node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/formiojs/node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/formiojs/node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/formiojs/node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/formiojs/node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/formiojs/node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/formiojs/node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/formiojs/node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/formiojs/node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/formiojs/node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/formiojs/node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/formiojs/node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/formiojs/node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/formiojs/node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/formiojs/node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/formiojs/node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/formiojs/node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/formiojs/node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/formiojs/node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/formiojs/node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/formiojs/node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/formiojs/node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/formiojs/node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/formiojs/node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/formiojs/node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/formiojs/node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/formiojs/node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/formiojs/node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/formiojs/node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/formiojs/node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/formiojs/node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/formiojs/node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/formiojs/node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/formiojs/node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/formiojs/node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/formiojs/node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/formiojs/node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/formiojs/node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/formiojs/node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/formiojs/node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/formiojs/node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/formiojs/node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/formiojs/node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/formiojs/node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/formiojs/node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/formiojs/node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/formiojs/node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/formiojs/node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/formiojs/node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/formiojs/node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/formiojs/node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/formiojs/node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/formiojs/node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/formiojs/node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/formiojs/node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/formiojs/node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/formiojs/node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/formiojs/node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/formiojs/node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/formiojs/node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/formiojs/node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/formiojs/node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/formiojs/node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/formiojs/node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/formiojs/node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/formiojs/node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/formiojs/node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/formiojs/node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/formiojs/node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/formiojs/node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/formiojs/node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\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 id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/formiojs/node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\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 id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","var map = {\n\t\"../../formio-template/formio-template.module\": [\n\t\t\"./src/app/platform/modules/formio-template/formio-template.module.ts\",\n\t\t\"formio-template-formio-template-module\"\n\t],\n\t\"../../scheduling/scheduling.module\": [\n\t\t\"./src/app/platform/modules/scheduling/scheduling.module.ts\",\n\t\t\"default~modules-client-portal-client-portal-module~scheduling-scheduling-module~waiting-room-waiting~efb9da6c\",\n\t\t\"common\"\n\t],\n\t\"../agency-portal/encounter/encounter.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/encounter/encounter.module.ts\"\n\t],\n\t\"../agency-portal/manage-company/manage-company.model\": [\n\t\t\"./src/app/platform/modules/agency-portal/manage-company/manage-company.model.ts\",\n\t\t\"default~agency-portal-manage-company-manage-company-model~modules-client-portal-client-portal-module\",\n\t\t\"common\",\n\t\t\"agency-portal-manage-company-manage-company-model\"\n\t],\n\t\"../agency-portal/manage-ngo/manage-ngo.model\": [\n\t\t\"./src/app/platform/modules/agency-portal/manage-ngo/manage-ngo.model.ts\",\n\t\t\"agency-portal-manage-ngo-manage-ngo-model\"\n\t],\n\t\"../agency-portal/manage-podcast/manage-podcast.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/manage-podcast/manage-podcast.module.ts\",\n\t\t\"agency-portal-manage-podcast-manage-podcast-module\"\n\t],\n\t\"../agency-portal/manage-videos/manage-videos.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/manage-videos/manage-videos.module.ts\"\n\t],\n\t\"../mailing/mailing.module\": [\n\t\t\"./src/app/platform/modules/mailing/mailing.module.ts\",\n\t\t\"default~mailing-mailing-module~modules-client-portal-client-portal-module~modules-ngo-portal-ngo-por~724c9b75\",\n\t\t\"common\"\n\t],\n\t\"../scheduling/scheduling.module\": [\n\t\t\"./src/app/platform/modules/scheduling/scheduling.module.ts\",\n\t\t\"default~modules-client-portal-client-portal-module~scheduling-scheduling-module~waiting-room-waiting~efb9da6c\",\n\t\t\"common\"\n\t],\n\t\"../waiting-room/waiting-room.module\": [\n\t\t\"./src/app/platform/modules/waiting-room/waiting-room.module.ts\",\n\t\t\"default~modules-client-portal-client-portal-module~scheduling-scheduling-module~waiting-room-waiting~efb9da6c\",\n\t\t\"default~modules-client-portal-client-portal-module~waiting-room-waiting-room-module\",\n\t\t\"common\"\n\t],\n\t\"./Payments/client-payment.module\": [\n\t\t\"./src/app/platform/modules/client-portal/Payments/client-payment.module.ts\",\n\t\t\"Payments-client-payment-module\"\n\t],\n\t\"./Payments/payment.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/Payments/payment.module.ts\",\n\t\t\"Payments-payment-module\"\n\t],\n\t\"./app-config/app-config.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/app-config/app-config.module.ts\",\n\t\t\"app-config-app-config-module\"\n\t],\n\t\"./auth/auth.module\": [\n\t\t\"./src/app/super-admin-portal/auth/auth.module.ts\",\n\t\t\"auth-auth-module\"\n\t],\n\t\"./billing/billing.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/billing/billing.module.ts\",\n\t\t\"billing-billing-module\"\n\t],\n\t\"./clearing-house/clearing-house.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/clearing-house/clearing-house.module.ts\",\n\t\t\"clearing-house-clearing-house-module\"\n\t],\n\t\"./clients-details/clients.module\": [\n\t\t\"./src/app/platform/modules/client-portal/clients-details/clients.module.ts\",\n\t\t\"common\",\n\t\t\"clients-details-clients-module\"\n\t],\n\t\"./clients/clients.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/clients/clients.module.ts\",\n\t\t\"common\",\n\t\t\"clients-clients-module\"\n\t],\n\t\"./encounter/encounter.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/encounter/encounter.module.ts\"\n\t],\n\t\"./front/front.module\": [\n\t\t\"./src/app/front/front.module.ts\"\n\t],\n\t\"./history/history.module\": [\n\t\t\"./src/app/platform/modules/client-portal/history/history.module.ts\",\n\t\t\"default~history-history-module~modules-client-portal-client-portal-module\",\n\t\t\"common\",\n\t\t\"history-history-module\"\n\t],\n\t\"./logs/logs.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/logs/logs.module.ts\",\n\t\t\"logs-logs-module\"\n\t],\n\t\"./manage-videos/manage-videos.module\": [\n\t\t\"./src/app/platform/modules/client-portal/manage-videos/manage-videos.module.ts\",\n\t\t\"common\",\n\t\t\"manage-videos-manage-videos-module\"\n\t],\n\t\"./masters/masters.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/masters/masters.module.ts\",\n\t\t\"default~masters-masters-module~payers-payers-module~providerquestionnaire-providerquestionnaire-modu~13cbc30f\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~questionnaire-questionnair~0cab5a0d\",\n\t\t\"common\",\n\t\t\"masters-masters-module\"\n\t],\n\t\"./membership-plan/membership-plan.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/membership-plan/membership-plan.module.ts\",\n\t\t\"membership-plan-membership-plan-module\"\n\t],\n\t\"./modules/agency-portal/agency-portal.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/agency-portal.module.ts\"\n\t],\n\t\"./modules/auth/auth.module\": [\n\t\t\"./src/app/platform/modules/auth/auth.module.ts\",\n\t\t\"modules-auth-auth-module\"\n\t],\n\t\"./modules/client-portal/client-portal.module\": [\n\t\t\"./src/app/platform/modules/client-portal/client-portal.module.ts\",\n\t\t\"default~modules-client-portal-client-portal-module~scheduling-scheduling-module~waiting-room-waiting~efb9da6c\",\n\t\t\"default~mailing-mailing-module~modules-client-portal-client-portal-module~modules-ngo-portal-ngo-por~724c9b75\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~questionnaire-questionnair~0cab5a0d\",\n\t\t\"default~modules-client-portal-client-portal-module~waiting-room-waiting-room-module\",\n\t\t\"default~modules-client-portal-client-portal-module~questionnaire-questionnaire-module\",\n\t\t\"default~history-history-module~modules-client-portal-client-portal-module\",\n\t\t\"default~agency-portal-manage-company-manage-company-model~modules-client-portal-client-portal-module\",\n\t\t\"common\",\n\t\t\"modules-client-portal-client-portal-module\"\n\t],\n\t\"./modules/consultant-portal/consultant-portal.module\": [\n\t\t\"./src/app/platform/modules/consultant-portal/consultant-portal.module.ts\",\n\t\t\"modules-consultant-portal-consultant-portal-module\"\n\t],\n\t\"./modules/ngo-portal/ngo-portal.module\": [\n\t\t\"./src/app/platform/modules/ngo-portal/ngo-portal.module.ts\",\n\t\t\"default~mailing-mailing-module~modules-client-portal-client-portal-module~modules-ngo-portal-ngo-por~724c9b75\",\n\t\t\"common\",\n\t\t\"modules-ngo-portal-ngo-portal-module\"\n\t],\n\t\"./payers/payers.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/payers/payers.module.ts\",\n\t\t\"default~masters-masters-module~payers-payers-module~providerquestionnaire-providerquestionnaire-modu~13cbc30f\",\n\t\t\"common\",\n\t\t\"payers-payers-module\"\n\t],\n\t\"./payroll/payroll.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/payroll/payroll.module.ts\",\n\t\t\"payroll-payroll-module\"\n\t],\n\t\"./platform/platform.module\": [\n\t\t\"./src/app/platform/platform.module.ts\",\n\t\t\"platform-platform-module\"\n\t],\n\t\"./provider-documents/provider-documents.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/provider-documents/provider-documents.module.ts\",\n\t\t\"provider-documents-provider-documents-module\"\n\t],\n\t\"./providerquestionnaire/providerquestionnaire.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/providerquestionnaire/providerquestionnaire.module.ts\",\n\t\t\"default~masters-masters-module~payers-payers-module~providerquestionnaire-providerquestionnaire-modu~13cbc30f\",\n\t\t\"common\",\n\t\t\"providerquestionnaire-providerquestionnaire-module\"\n\t],\n\t\"./questionnaire/questionnaire.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/questionnaire/questionnaire.module.ts\",\n\t\t\"default~masters-masters-module~modules-client-portal-client-portal-module~questionnaire-questionnair~0cab5a0d\",\n\t\t\"default~modules-client-portal-client-portal-module~questionnaire-questionnaire-module\",\n\t\t\"common\"\n\t],\n\t\"./super-admin-portal/super-admin-portal.module\": [\n\t\t\"./src/app/super-admin-portal/super-admin-portal.module.ts\",\n\t\t\"common\",\n\t\t\"super-admin-portal-super-admin-portal-module\"\n\t],\n\t\"./users/users.module\": [\n\t\t\"./src/app/platform/modules/agency-portal/users/users.module.ts\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\tvar id = ids[0];\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\nmodule.exports = webpackAsyncContext;","import { FrontRoutingModule } from \"./front/front-routing.module\";\r\nimport { FrontModule } from \"src/app/front/front.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { SubDomainGuard } from \"./subDomain.guard\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n canActivate: [SubDomainGuard],\r\n //pathMatch: 'full',\r\n loadChildren: \"./front/front.module#FrontModule\"\r\n //redirectTo: '/web'\r\n },\r\n {\r\n path: \"web\",\r\n canActivate: [SubDomainGuard],\r\n loadChildren: \"./platform/platform.module#PlatformModule\"\r\n },\r\n {\r\n path: \"webadmin\",\r\n loadChildren:\r\n \"./super-admin-portal/super-admin-portal.module#SuperAdminPortalModule\"\r\n },\r\n // {\r\n // path: 'front',\r\n // loadChildren: './front/front.module#FrontModule'\r\n // },\r\n // otherwise redirect to home\r\n { path: \"**\", redirectTo: \"/\" }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule {}\r\n","import { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { TextChatModel } from \"src/app/shared/text-chat/textChatModel\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { distinctUntilChanged, map } from \"rxjs/operators\";\r\nimport { ChatInitModel } from \"src/app/shared/models/chatModel\";\r\nimport { HttpHeaders, HttpClient } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { VideoRecordModel } from \"./shared/models/videoRecordModel\";\r\nimport { CallInitModel, UrgentCareProviderActionInitModel } from \"./shared/models/callModel\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AppService {\r\n private getChatHistoryUrl = \"Home/GetChatHistory\";\r\n private getSessionTimeOutTimeUrl = \"Home/GetSessionTimeOutTime\";\r\n private getUserInChatRoomUrl = \"Home/GetUserInChatRoom\";\r\n private startVideoRecordingUrl =\r\n \"api/Telehealth/StartVideoRecording?sessionId=\";\r\n private stopVideoRecordingUrl =\r\n \"api/Telehealth/StopVideoRecording?archiveId=\";\r\n private getCallInitiateUrl = \"Home/CallInitiate\";\r\n private getUrgentCareProviderActionInitiateUrl = \"Home/UrgentCareProviderActionInitiate\";\r\n private getcallPatientInformProviderAvailabilityUrl = \"Home/PatientInformProviderAvailability\";\r\n private getEndCallUrl = \"Home/CallEnd\";\r\n\r\n constructor(private http: HttpClient) {\r\n SystemIpAddress.then((value) => {\r\n this.SytemInfoSubject.next({ ipAddress: value });\r\n }).catch((e) => console.error(e));\r\n }\r\n private loadingStateSubject = new BehaviorSubject(false);\r\n public loadingState = this.loadingStateSubject.asObservable();\r\n\r\n private chatSubject = new BehaviorSubject({} as ChatInitModel);\r\n public chat = this.chatSubject.asObservable().pipe(distinctUntilChanged());\r\n public CheckChatActivated(chatInitModel: ChatInitModel) {\r\n this.chatSubject.next(chatInitModel);\r\n }\r\n\r\n private chatUserSubject = new BehaviorSubject(\r\n {} as TextChatModel\r\n );\r\n public chatUser = this.chatUserSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n public ChatUserInit(textChatModel: TextChatModel) {\r\n this.chatUserSubject.next(textChatModel);\r\n }\r\n\r\n public newSelectedScreenSizeSubject = new BehaviorSubject(null);\r\n public newSelectedScreenSize = this.newSelectedScreenSizeSubject\r\n .asObservable().pipe(distinctUntilChanged());\r\n\r\n public newSelectedVideoPositionSubject = new BehaviorSubject(null);\r\n public newSelectedVideoPosition = this.newSelectedVideoPositionSubject\r\n .asObservable().pipe(distinctUntilChanged());\r\n \r\n\r\n private chatRoomSubject = new BehaviorSubject(0);\r\n public chatRoom = this.chatRoomSubject\r\n .asObservable();\r\n \r\n public SetChatRoomDetail(roomId: number) {\r\n this.chatRoomSubject.next(roomId);\r\n }\r\n\r\n \r\n\r\n public GetSessionTimeOutTime(\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getSessionTimeOutTimeUrl}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n\r\n getChatHistory(\r\n roomId: number,\r\n fromUserId: number,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getChatHistoryUrl}?FromUserId=${fromUserId}&RoomId=${roomId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getUserInChatRoom(\r\n roomId: number,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getUserInChatRoomUrl}?roomId=${roomId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n get getAdditionalHeaders(): string {\r\n const additionalHeaders = JSON.stringify({\r\n Offset: new Date().getTimezoneOffset().toString(),\r\n Timezone: this.calculateTimeZone(),\r\n IPAddress: this.getSystemIpAddress(),\r\n });\r\n return additionalHeaders;\r\n }\r\n calculateTimeZone(dateInput?: Date): string {\r\n var dateObject = dateInput || new Date(),\r\n dateString = dateObject + \"\",\r\n tzAbbr: any =\r\n // Works for the majority of modern browsers\r\n dateString.match(/\\(([^\\)]+)\\)$/) ||\r\n // IE outputs date strings in a different format:\r\n dateString.match(/([A-Z]+) [\\d]{4}$/);\r\n\r\n if (tzAbbr) {\r\n // Old Firefox uses the long timezone name (e.g., \"Central\r\n // Daylight Time\" instead of \"CDT\")\r\n tzAbbr = tzAbbr[1];\r\n }\r\n return tzAbbr;\r\n }\r\n private SytemInfoSubject = new BehaviorSubject({});\r\n public sytemInfo = this.SytemInfoSubject.asObservable().pipe(\r\n distinctUntilChanged()\r\n );\r\n getSystemIpAddress(): string {\r\n return this.SytemInfoSubject.value && this.SytemInfoSubject.value.ipAddress;\r\n }\r\n\r\n setLoadingState(isLoading: boolean = false) {\r\n this.loadingStateSubject.next(isLoading);\r\n }\r\n\r\n private videoSubject = new BehaviorSubject({} as false);\r\n public video = this.chatSubject.asObservable().pipe(distinctUntilChanged());\r\n public setVideoStarted(isVideoStarted: boolean) {\r\n this.videoSubject.next(isVideoStarted);\r\n }\r\n\r\n startVideoRecording(\r\n sessionId: string,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n //businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n //isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.startVideoRecordingUrl}${sessionId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n //isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n private videoRecordingStartedSubject = new BehaviorSubject(\r\n {} as VideoRecordModel\r\n );\r\n public videoRecordingStarted = this.videoRecordingStartedSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n public CheckVideoRecordStatus(videoRecordModel: VideoRecordModel) {\r\n this.videoRecordingStartedSubject.next(videoRecordModel);\r\n }\r\n stopVideoRecording(\r\n archiveId: string,\r\n appointmentId: number,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n //businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n //isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.stopVideoRecordingUrl}${archiveId}&appointmentId=${appointmentId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n //isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getCallInitiate(\r\n appointmentId: number,\r\n userId: number,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const memberName = localStorage.getItem('memberName');\r\n\r\n console.log(\"6 getcallinitiate called from app service\");\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getCallInitiateUrl}?appointmentId=${appointmentId}&userId=${userId}&memberName=${memberName}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getEndCall(\r\n appointmentId: number,\r\n userId: number,\r\n isLoading: boolean = true\r\n ): Observable {\r\n console.log(\"7 getcallinitiate called from app service \");\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.setLoadingState(true);\r\n \r\n\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getEndCallUrl}?appointmentId=${appointmentId}&userId=${userId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n private callSubject = new BehaviorSubject({} as CallInitModel);\r\n public call = this.callSubject.asObservable().pipe(distinctUntilChanged());\r\n public CheckCallStarted(callInitModel: CallInitModel) {\r\n this.callSubject.next(callInitModel);\r\n }\r\n\r\n\r\n getUrgentCareProviderActionInitiate(\r\n appointmentId: number,\r\n userId: number,\r\n //isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n //isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getUrgentCareProviderActionInitiateUrl}?appointmentId=${appointmentId}&userId=${userId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n //isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n private callProviderActionSubject = new BehaviorSubject({} as UrgentCareProviderActionInitModel);\r\n public ProviderActioncall = this.callProviderActionSubject.asObservable();\r\n public ProviderActioncallStarted(callInitModel: UrgentCareProviderActionInitModel) {\r\n this.callProviderActionSubject.next(callInitModel);\r\n }\r\n\r\n getcallPatientInformProviderAvailability(\r\n appointmentId: number,\r\n userId: number,\r\n //isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n //isLoading && this.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getcallPatientInformProviderAvailabilityUrl}?appointmentId=${appointmentId}&userId=${userId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n //isLoading && this.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n}\r\nconst SystemIpAddress = new Promise((r) => {\r\n const w: any = window,\r\n a = new (w.RTCPeerConnection ||\r\n w.mozRTCPeerConnection ||\r\n w.webkitRTCPeerConnection)({ iceServers: [] }),\r\n b = () => {};\r\n a.createDataChannel(\"\");\r\n a.createOffer((c) => a.setLocalDescription(c, b, b), b);\r\n a.onicecandidate = (c) => {\r\n try {\r\n c.candidate.candidate\r\n .match(\r\n /([0-9]{1,3}(\\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g\r\n )\r\n .forEach(r);\r\n } catch (e) {}\r\n };\r\n});\r\n","module.exports = \"app-publisher,\\r\\napp-subscriber {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.app-subscriber:nth-child(odd) {\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.app-subscriber:nth-child(even) {\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.video-call app-subscriber {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.OT_publisher {\\r\\n position: absolute;\\r\\n z-index: 1;\\r\\n right: 25px;\\r\\n bottom: 15px;\\r\\n width: 110px !important;\\r\\n height: 80px !important;\\r\\n}\\r\\n\\r\\ndiv.OT_subscriber {\\r\\n width: 100% !important;\\r\\n height: 100% !important;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n bottom: 0px;\\r\\n}\\r\\n\\r\\n.video-call {\\r\\n background: #000;\\r\\n color: #fff;\\r\\n z-index: 903;\\r\\n width: 100%;\\r\\n height: 500px;\\r\\n border-radius: 9px;\\r\\n}\\r\\n\\r\\n.video-call::before {\\r\\n content: \\\"Connecting...Please wait\\\";\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 40%;\\r\\n font-size: 15px;\\r\\n}\\r\\n\\r\\n.OT_name.OT_edge-bar-item.OT_mode-auto {\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.video-tool {\\r\\n /* z-index: 902;\\r\\n top: 115px;\\r\\n position: absolute !important; */\\r\\n z-index: 902;\\r\\n bottom: 6px;\\r\\n position: fixed !important;\\r\\n left: inherit !important;\\r\\n right: 10px;\\r\\n /*transition: linear all 100ms;*/\\r\\n width: 50% !important;\\r\\n}\\r\\n\\r\\n.video-tool.readmin-panel {\\r\\n box-shadow: none;\\r\\n padding: 0px;\\r\\n border-radius: 0px;\\r\\n}\\r\\n\\r\\n.video-tool.video-call-fixed {\\r\\n position: fixed !important;\\r\\n height: 100%;\\r\\n width: 100% !important;\\r\\n left: 0 !important;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n top: 0;\\r\\n margin: auto;\\r\\n background: #000000e0;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.video-call-fixed .app-subscriber.sub-not-active {\\r\\n width: 7%;\\r\\n position: relative;\\r\\n height: 15%;\\r\\n top: 14px;\\r\\n float: left;\\r\\n z-index: 900;\\r\\n left: 37px;\\r\\n}\\r\\n\\r\\n.video-call-fixed .video-call {\\r\\n margin: auto;\\r\\n height: 95%;\\r\\n width: 97%;\\r\\n}\\r\\n\\r\\n.video-call.video-call-hide {\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.video-tool:hover .video-button {\\r\\n opacity: 1;\\r\\n transition: linear opacity 300ms;\\r\\n}\\r\\n\\r\\n.video-button {\\r\\n position: absolute;\\r\\n bottom: 36px;\\r\\n z-index: 1;\\r\\n left: 18%;\\r\\n opacity: 0;\\r\\n transition: linear opacity 300ms;\\r\\n}\\r\\n\\r\\n.video-button button {\\r\\n background-color: #0000 !important;\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n min-width: 35px;\\r\\n background: none;\\r\\n}\\r\\n\\r\\n.video-button button span.material-icons.call-end {\\r\\n color: #f55 !important;\\r\\n}\\r\\n\\r\\n.video-button button span.material-icons {\\r\\n font-size: 40px;\\r\\n}\\r\\n\\r\\n.video-button button span.material-icons {\\r\\n border: solid 3px;\\r\\n border-radius: 50%;\\r\\n padding: 3px;\\r\\n}\\r\\n\\r\\n.video-call-fixed .OT_subscriber {\\r\\n width: 95% !important;\\r\\n height: 90% !important;\\r\\n margin: auto;\\r\\n left: 5px;\\r\\n right: 5px;\\r\\n top: 5px;\\r\\n bottom: 5px;\\r\\n}\\r\\n\\r\\n.video-call-fixed .video-button {\\r\\n bottom: 50px;\\r\\n left: 40%;\\r\\n}\\r\\n\\r\\n.video-call-fixed .OT_publisher {\\r\\n right: 56px;\\r\\n bottom: 50px;\\r\\n}\\r\\n\\r\\n.video-tool.video-tool-hide {\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.app-subscriber.sub-active {\\r\\n}\\r\\n\\r\\n.app-subscriber.sub-not-active {\\r\\n width: 15%;\\r\\n position: relative;\\r\\n height: 15%;\\r\\n top: 1px;\\r\\n float: left;\\r\\n z-index: 900;\\r\\n}\\r\\n\\r\\n.video-tool .mat-form-field.mat-focused-1 {\\r\\n /* border: solid 1px #003359; */\\r\\n padding: 0px 10px 0px 9px;\\r\\n width: 38%;\\r\\n position: relative;\\r\\n top: 57px;\\r\\n left: -114px;\\r\\n}\\r\\n\\r\\n.video-tool .mat-form-field.mat-focused-1 .mat-select-value {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.video-tool .mat-form-field.mat-focused-1 .mat-form-field-label {\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.video-tool .mat-form-field.mat-focused-1 .mat-form-field-ripple {\\r\\n background-color: #003359;\\r\\n}\\r\\n\\r\\n.video-tool .mat-form-field.mat-focused.mat-primary .mat-select-arrow {\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width {\\r\\n width: 15% !important;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .app-subscriber.sub-not-active {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .video-call {\\r\\n height: 150px;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .video-call::before {\\r\\n font-size: 10px;\\r\\n left: 20%;\\r\\n /*transition: linear all 100ms;*/\\r\\n top: 32%;\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .publishing {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .video-button {\\r\\n left: 54%;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .video-button button {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .video-button button.btn-call-end,\\r\\n.video-tool.one-forth-width .video-button button.btn-full-screen {\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .video-button button span.material-icons {\\r\\n font-size: 25px;\\r\\n border-width: 2px;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .mat-form-field.mat-focused-1 {\\r\\n /* border: solid 1px #003359; */\\r\\n padding: 0px 10px 0px 9px;\\r\\n width: 38% !important;\\r\\n position: relative;\\r\\n top: 40px;\\r\\n left: -94px;\\r\\n height: 36px;\\r\\n}\\r\\n\\r\\n.video-tool.one-forth-width .OT_publisher {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.video-tool.half-width {\\r\\n width: 25% !important;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.half-width .app-subscriber.sub-not-active {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.video-tool.half-width .video-call {\\r\\n height: 200px;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.half-width .video-call:before {\\r\\n left: 28%;\\r\\n /*transition: linear all 100ms;*/\\r\\n font-size: 12px !important;\\r\\n top: 40%;\\r\\n}\\r\\n\\r\\n/* .video-tool.half-width .publishing {\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.video-tool.half-width .OT_publisher {\\r\\n width: 50px !important;\\r\\n height: 50px !important;\\r\\n right: 9px;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.half-width .video-button {\\r\\n left: 27%;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.half-width .video-button button span.material-icons {\\r\\n font-size: 19px;\\r\\n border-width: 2px;\\r\\n /*transition: linear all 100ms;*/\\r\\n}\\r\\n\\r\\n.video-tool.half-width .mat-form-field.mat-focused-1 {\\r\\n /* border: solid 1px #003359; */\\r\\n padding: 0px 10px 0px 9px;\\r\\n width: 38%;\\r\\n position: relative;\\r\\n top: 40px;\\r\\n left: -94px;\\r\\n height: 39px;\\r\\n}\\r\\n\\r\\n.video-tool.half-width .mat-raised-button {\\r\\n padding: 0px !important;\\r\\n}\\r\\n\\r\\n@media all and (max-width:1050px){\\r\\n .video-tool.readmin-panel{\\r\\n left: inherit !important;\\r\\n width: 70% !important;\\r\\n right: 10px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media all and (max-width:768px){\\r\\n .video-tool.readmin-panel{\\r\\n left: inherit !important;\\r\\n width: 90% !important;\\r\\n right: 5px;\\r\\n }\\r\\n .video-call{\\r\\n display: flex;\\r\\n }\\r\\n}\\r\\n\\r\\n@media all and (max-width:550px){\\r\\n .video-tool.readmin-panel{\\r\\n left: inherit !important;\\r\\n width: 99% !important;\\r\\n right: 5px;\\r\\n }\\r\\n .video-call{\\r\\n height:98vh !important;\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\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 { TextChatService } from \"./shared/text-chat/text-chat.service\";\r\nimport { TextChatModel } from \"./shared/text-chat/textChatModel\";\r\nimport { ChatInitModel } from \"./shared/models/chatModel\";\r\nimport { AppService } from \"./app-service.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { state } from \"@angular/animations\";\r\nimport { CommonService } from \"./platform/modules/core/services/common.service\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { HomeService } from \"./front/home/home.service\";\r\nimport { MediaMatcher } from \"@angular/cdk/layout\";\r\nimport {\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n ViewEncapsulation,\r\n ViewChild,\r\n ElementRef,\r\n Renderer2,\r\n HostListener,\r\n} from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { SubDomainService } from \"./subDomain.service\";\r\nimport * as OT from \"@opentok/client\";\r\nimport { ResizeEvent } from \"angular-resizable-element\";\r\nimport { OpentokService } from \"src/app/platform/modules/agency-portal/encounter/opentok.service\";\r\nimport { VideoRecordModel } from \"./shared/models/videoRecordModel\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';\r\nimport { Keepalive } from '@ng-idle/keepalive';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from \"./platform/modules/auth/auth.service\";\r\n\r\n@Component({\r\n selector: \"app-root\",\r\n templateUrl: \"./app.component.html\",\r\n styleUrls: [\"./app.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\n\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n @ViewChild(\"videoDiv\") panelVideo: ElementRef;\r\n @ViewChild(\"textChat\") textChat: ElementRef;\r\n mobileQuery: MediaQueryList;\r\n\r\n title = \"healthcare-frontend-angular\";\r\n private subscription: Subscription;\r\n subDomainInfo: any;\r\n isLoadingSubdomain: boolean = false;\r\n isDarkTheme: boolean = false;\r\n\r\n private _mobileQueryListener: () => void;\r\n sessionId: string = \"\";\r\n apptId: string = \"0\";\r\n public style: object = {};\r\n public styleVideo: object = {};\r\n public styleChat: object = {};\r\n session: OT.Session;\r\n streams: Array = [];\r\n changeDetectorRef: ChangeDetectorRef;\r\n startTime: Date;\r\n endTime: Date;\r\n actualMin: any;\r\n invitationToken: string = \"\";\r\n otSessionId: number = 0;\r\n isVideoStarted: boolean = false;\r\n isChatActivated: boolean = false;\r\n appointmentId: number = 0;\r\n chatInitModel: ChatInitModel;\r\n textChatModel: TextChatModel;\r\n roomId: any;\r\n chatHistory: any = [];\r\n userInChatRoom: any = [];\r\n chatSub: any;\r\n organizationModel: string;\r\n idleState = 'Not started.';\r\n timedOut = false;\r\n lastPing?: Date = null;\r\n refresh = false;\r\n logoutInitiated: boolean = false;\r\n logoutTimer: any;\r\n constructor(\r\n private subDomainService: SubDomainService,\r\n changeDetectorRef: ChangeDetectorRef,\r\n media: MediaMatcher,\r\n private homeService: HomeService,\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService,\r\n private renderer: Renderer2,\r\n private opentokService: OpentokService,\r\n private notifierService: NotifierService,\r\n private appService: AppService,\r\n private textChatService: TextChatService,\r\n private titleService: Title,\r\n private idle: Idle,\r\n private keepalive: Keepalive,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n ) {\r\n // Temp solution for login issue\r\n localStorage.setItem('business_token', '/F0GihTWz1exVNTSndD6kg==');\r\n sessionStorage.setItem('business_token', '/F0GihTWz1exVNTSndD6kg==');\r\n\r\n // sets an idle timeout of 15 minutes.\r\n idle.setIdle(900);\r\n // sets a timeout period of 15 minutes. after 15 minutes of inactivity, the user will be considered timed out.\r\n idle.setTimeout(900);\r\n // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document\r\n idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n\r\n idle.onIdleEnd.subscribe(() => {\r\n this.reset();\r\n });\r\n\r\n idle.onTimeout.subscribe(() => {\r\n this.timedOut = true;\r\n this.authenticationService.SetUserOffline();\r\n this.commonService.logout();\r\n //sessionStorage.setItem('redirectTo', '/web/login-selection');//added code to redirect on we login\r\n\r\n //location.reload();//added code to reload\r\n });\r\n // sets the ping interval to 15 second\r\n keepalive.interval(15);\r\n // window.addEventListener(\"beforeunload\", function (e) {\r\n // this.alert(\"Close\");\r\n // idle.onTimeout.subscribe();\r\n // });\r\n keepalive.onPing.subscribe(() => this.lastPing = new Date());\r\n\r\n this.reset();\r\n\r\n this.mobileQuery = media.matchMedia(\"(max-width: 600px)\");\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n var subDomainUrl = this.subDomainService.getSubDomainUrl();\r\n if (subDomainUrl) {\r\n subDomainUrl = \"LetsBe\";\r\n this.isLoadingSubdomain = true;\r\n this.subDomainService.verifyBusinessName(subDomainUrl).subscribe();\r\n this.subscription = this.subDomainService\r\n .getSubDomainInfo()\r\n .subscribe((domainInfo) => {\r\n if (domainInfo)\r\n this.subDomainService.updateFavicon(\r\n \"data:image/png;base64,\" + domainInfo.organization.faviconBase64\r\n );\r\n // sessionStorage.setItem(\"businessName\",domainInfo.organization.businessName);\r\n });\r\n }\r\n this.chatInitModel = new ChatInitModel();\r\n this.chatHistory = [];\r\n this.titleService.setTitle(sessionStorage.getItem(\"businessName\"));\r\n }\r\n @HostListener('window:onunload', ['$event'])\r\n unloadHandler(event) {\r\n\r\n // ...\r\n console.log(\"Window:Unload\");\r\n this.timedOut = true;\r\n this.authenticationService.SetUserOffline();\r\n this.commonService.logout();\r\n }\r\n @HostListener(\"window:keydown\", ['$event'])\r\n keyDownHandler(event) {\r\n if (event.keyCode == 116) { // User presses F5 to refresh\r\n this.refresh = true;\r\n }\r\n }\r\n @HostListener('window:beforeunload', ['$event'])\r\n beforeUnloadHandler(event) {\r\n if (!this.logoutInitiated) {\r\n alert(\"Window:beforeunload\");\r\n this.timedOut = true;\r\n this.authenticationService.SetUserOffline();\r\n this.logoutTimer = setTimeout(() => {\r\n this.commonService.logout();\r\n }, 900000);\r\n\r\n }\r\n\r\n }\r\n ngondestroy() {\r\n this.chatSub.unsubscribe();\r\n // this.timedOut = true;\r\n // this.authenticationService.SetUserOffline();\r\n // this.commonService.logout();\r\n }\r\n ngOnInit() {\r\n this.appService.chat.subscribe((chatModel: ChatInitModel) => {\r\n this.chatHistory = [];\r\n if (!chatModel) {\r\n chatModel = new ChatInitModel();\r\n }\r\n this.chatInitModel = chatModel;\r\n this.isChatActivated = chatModel.isActive;\r\n let context = this;\r\n\r\n });\r\n // @HostListener('window:beforeunload', ['$event']) windowBeforeUnload(event: BeforeUnloadEvent) {\r\n // localStorage.clear();}\r\n\r\n // this.chatSub = this.appService.chatRoom.subscribe((response: any) => {\r\n // this.roomId = response as Number;\r\n // if (this.roomId > 0) {\r\n // this.chatHistory = [];\r\n // this.getChatHistory(this.roomId);\r\n // if (this.roomId > 0) {\r\n // this.appService.getUserInChatRoom(this.roomId).subscribe((res) => {\r\n // if (res.statusCode == 200) {\r\n // this.userInChatRoom = res.data;\r\n // } else this.userInChatRoom = [];\r\n // });\r\n // }\r\n // }\r\n // });\r\n\r\n this.activatedRoute.queryParams.subscribe((param) => {\r\n if (\r\n param[\"token\"] != null &&\r\n param[\"token\"] != undefined &&\r\n param[\"token\"] != \"\"\r\n ) {\r\n this.invitationToken = param[\"token\"];\r\n if (!localStorage.getItem(\"otSession\")) this.checkOTSession();\r\n }\r\n });\r\n\r\n this.commonService.videoSessionStarted.subscribe((res) => {\r\n var a = res;\r\n if (\r\n localStorage.getItem(\"otSession\") &&\r\n localStorage.getItem(\"otSession\") != \"\"\r\n )\r\n this.checkOTSession();\r\n });\r\n var interval = setInterval(() => {\r\n if (\r\n localStorage.getItem(\"otSession\") &&\r\n localStorage.getItem(\"otSession\") != \"\"\r\n ) {\r\n //if (!this.isVideoStarted) {\r\n let videoTool = document.getElementsByClassName(\"video-tool\");\r\n if (videoTool != undefined && videoTool.length > 0) {\r\n if (videoTool[0].classList.contains(\"video-tool-hide\")) {\r\n //this.session = new OT.Session();\r\n this.checkOTSession();\r\n }\r\n } else this.checkOTSession();\r\n //}\r\n } else {\r\n this.isVideoStarted = false;\r\n }\r\n }, 1000);\r\n\r\n //this.playAudio();\r\n\r\n this.appService.newSelectedVideoPosition.subscribe((s: string) => {\r\n if (s) {\r\n const [a, b] = s.split(\",\");\r\n const event = { x: a, y: b };\r\n this.onDragVideo(event, false);\r\n this.appService.newSelectedVideoPositionSubject.next(null);\r\n }\r\n });\r\n }\r\n\r\n\r\n checkVideoStarted() { }\r\n ngAfterViewInit() { }\r\n ngAfterViewChecked() { this.titleService.setTitle(sessionStorage.getItem(\"businessName\")); }\r\n ngOnChanges() { }\r\n playAudio() {\r\n let audio = new Audio();\r\n audio.src = \"../assets/cell-phone-vibrate-1.wav\";\r\n audio.load();\r\n audio.muted = false;\r\n if (typeof audio.loop == \"boolean\") {\r\n audio.loop = true;\r\n } else {\r\n audio.addEventListener(\r\n \"ended\",\r\n function () {\r\n this.currentTime = 0;\r\n this.play();\r\n },\r\n false\r\n );\r\n }\r\n audio.play();\r\n }\r\n checkOTSession() {\r\n console.log(\"22 checkotsesson is called from app.component \");\r\n if (!localStorage.getItem(\"otSession\")) {\r\n if (\r\n this.invitationToken != undefined &&\r\n this.invitationToken != null &&\r\n this.invitationToken != \"\"\r\n ) {\r\n //if (localStorage.getItem(\"inv_token\")) {\r\n console.log(\"invitationtoken=\" + this.invitationToken)\r\n this.homeService\r\n .getOTSessionDetail(this.invitationToken)\r\n .subscribe((response: any) => {\r\n var data = response;\r\n if (response.statusCode == 200) {\r\n let videoTool = document.getElementsByClassName(\"video-tool\");\r\n if (videoTool != undefined && videoTool.length > 0)\r\n videoTool[0].classList.remove(\"video-tool-hide\");\r\n let videoCall = document.getElementsByClassName(\"video-call\");\r\n if (videoCall != undefined && videoCall.length > 0)\r\n videoCall[0].classList.remove(\"video-call-hide\");\r\n var otSession = this.commonService.encryptValue(\r\n JSON.stringify(response.data)\r\n );\r\n localStorage.setItem(\"otSession\", otSession);\r\n this.otSessionId = response.data.id;\r\n console.log(\"apikey=\" + response.data.apiKey)\r\n console.log(\"token=\" + response.data.token)\r\n console.log(\"session=\" + response.data.sessionID)\r\n\r\n const config = {\r\n API_KEY: +response.data.apiKey,\r\n TOKEN: response.data.token,\r\n SESSION_ID: response.data.sessionID,\r\n SAMPLE_SERVER_BASE_URL: \"\",\r\n };\r\n this.apptId = response.data.appointmentId;\r\n this.getSession(config);\r\n } else {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Token is not valid or expired\"\r\n );\r\n }\r\n });\r\n //}\r\n }\r\n } else {\r\n let videoTool = document.getElementsByClassName(\"video-tool\");\r\n if (videoTool != undefined && videoTool.length > 0)\r\n videoTool[0].classList.remove(\"video-tool-hide\");\r\n let videoCall = document.getElementsByClassName(\"video-call\");\r\n if (videoCall != undefined && videoCall.length > 0)\r\n videoCall[0].classList.remove(\"video-call-hide\");\r\n var response = JSON.parse(\r\n this.commonService.encryptValue(\r\n localStorage.getItem(\"otSession\"),\r\n false\r\n )\r\n );\r\n this.otSessionId = response.id;\r\n const config = {\r\n API_KEY: +response.apiKey,\r\n TOKEN: response.token,\r\n SESSION_ID: response.sessionID,\r\n SAMPLE_SERVER_BASE_URL: \"\",\r\n };\r\n this.apptId = response.appointmentId;\r\n this.getSession(config);\r\n }\r\n }\r\n getSession(config: any) {\r\n console.log(\"21 getsession is called from app.component.ts \");\r\n this.opentokService\r\n .initSession(config)\r\n .then((session: OT.Session) => {\r\n this.session = session;\r\n this.isVideoStarted = true;\r\n this.streams = Array();\r\n this.session.on(\"streamCreated\", (event) => {\r\n this.startTime = new Date();\r\n this.streams.push(event.stream);\r\n this.changeDetectorRef.detectChanges();\r\n });\r\n this.session.on(\"streamDestroyed\", (event) => {\r\n this.capturedEndTime();\r\n if (event.reason === \"networkDisconnected\") {\r\n event.preventDefault();\r\n var subscribers = session.getSubscribersForStream(event.stream);\r\n if (subscribers.length > 0) {\r\n var subscriber = document.getElementById(subscribers[0].id);\r\n // Display error message inside the Subscriber\r\n subscriber.innerHTML =\r\n \"Lost connection. This could be due to your internet connection \" +\r\n \"or because the other party lost their connection.\";\r\n event.preventDefault(); // Prevent the Subscriber from being removed\r\n }\r\n }\r\n const idx = this.streams.indexOf(event.stream);\r\n if (idx > -1) {\r\n this.streams.splice(idx, 1);\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n });\r\n this.session.on(\"sessionDisconnected\", (event) => {\r\n this.capturedEndTime();\r\n });\r\n this.session.on(\"archiveStarted\", (event) => {\r\n console.log(\"Archive Started : \" + event.id);\r\n let videoRecordModel: VideoRecordModel = new VideoRecordModel();\r\n videoRecordModel.isRecording = true;\r\n videoRecordModel.archiveId = event.id;\r\n this.appService.CheckVideoRecordStatus(videoRecordModel);\r\n this.notifierService.notify(\"success\", \"Recording Started\");\r\n });\r\n this.session.on(\"archiveStopped\", (event) => {\r\n console.log(\"Archive Stopped : \" + event.id);\r\n let videoRecordModel: VideoRecordModel = new VideoRecordModel();\r\n videoRecordModel.isRecording = false;\r\n videoRecordModel.archiveId = event.id;\r\n this.appService.CheckVideoRecordStatus(videoRecordModel);\r\n this.notifierService.notify(\"success\", \"Recording Stopped\");\r\n });\r\n })\r\n .then(() => this.opentokService.connect())\r\n .catch((err) => {\r\n console.error(\"error\", err);\r\n // alert(\r\n // \"Unable to connect. Make sure you have updated the config.ts file with your OpenTok details.\"\r\n // );\r\n });\r\n }\r\n\r\n private capturedEndTime() {\r\n this.startTime = new Date();\r\n var minutesToAdd = 10;\r\n var currentDate = new Date();\r\n var futureDate = new Date(currentDate.getTime() + minutesToAdd * 60000);\r\n this.endTime = futureDate;\r\n this.diff_minutes(this.endTime, this.startTime);\r\n this.updateCallDuration();\r\n }\r\n\r\n diff_minutes(dt2: Date, dt1: Date) {\r\n var diff = (dt2.getTime() - dt1.getTime()) / 1000;\r\n diff /= 60;\r\n this.actualMin = Math.abs(Math.round(diff));\r\n }\r\n updateCallDuration() {\r\n const OT = this.opentokService.getOT();\r\n // this.schedulerService\r\n // .UpdateCallDuration(this.apptId, this.actualMin)\r\n // .subscribe(response => {\r\n // if (response.statusCode === 200) {\r\n // console.log(\"Call time duration sucessfully captured\");\r\n // } else {\r\n // console.log(\"On call duration captured time something went wrong\");\r\n // }\r\n // });\r\n }\r\n onResizingVideo(event: ResizeEvent): boolean {\r\n const perValue =\r\n (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n if (perValue > 70 || perValue < 20) {\r\n return false;\r\n }\r\n this.renderer.setStyle(\r\n this.panelVideo.nativeElement,\r\n \"width\",\r\n `${perValue}%`\r\n );\r\n // let SOAPPanel = this.encounterService.SOAPPanelRef;\r\n // if (this.SOAPPanel)\r\n // this.renderer.setStyle(this.SOAPPanel.nativeElement, 'margin-right', `${event.rectangle.width}px`)\r\n }\r\n onDragVideo(event: any, iserUserDrag = true) {\r\n // let videoTool = document.getElementsByClassName(\"video-tool\");\r\n // if (videoTool != undefined && videoTool.length > 0)\r\n // videoTool[0].classList.remove(\"soap-note-video\");\r\n let top;\r\n let left\r\n if (iserUserDrag) {\r\n top = this.panelVideo.nativeElement.style.top,\r\n left = this.panelVideo.nativeElement.style.left;\r\n (top = (parseInt(top) || 0) + event.y),\r\n (left = (parseInt(left) || 0) + event.x);\r\n }\r\n else {\r\n top = event.y,\r\n left = event.x;\r\n }\r\n\r\n\r\n //(top = top.replace(\"px\", \"\")), (right = right.replace(\"px\", \"\"));\r\n\r\n // this.renderer.setStyle(this.panelVideo.nativeElement, \"top\", `${top}px`);\r\n this.renderer.setStyle(this.panelVideo.nativeElement, \"left\", `${left}px`);\r\n // let bottom = this.panelVideo.nativeElement.style.bottom,\r\n // right = this.panelVideo.nativeElement.style.right;\r\n\r\n // (bottom = bottom.replace(\"px\", \"\")), (right = right.replace(\"px\", \"\"));\r\n // (bottom = (parseInt(bottom) || 0) + -event.y),\r\n // (right = (parseInt(right) || 0) + -event.x);\r\n // this.renderer.setStyle(\r\n // this.panelVideo.nativeElement,\r\n // \"bottom\",\r\n // `${bottom}px`\r\n // );\r\n // this.renderer.setStyle(\r\n // this.panelVideo.nativeElement,\r\n // \"right\",\r\n // `${right}px`\r\n // );\r\n }\r\n onValidateResize(event: ResizeEvent): boolean {\r\n let perValue =\r\n (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n if (perValue > 70 || perValue < 20) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n onValidateResizeVideo(event: ResizeEvent): boolean {\r\n // let perValue = (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n // const MIN_DIMENSIONS_PX: number = 50;\r\n // if (\r\n // event.rectangle.width &&\r\n // event.rectangle.height &&\r\n // (event.rectangle.width < MIN_DIMENSIONS_PX ||\r\n // event.rectangle.height < MIN_DIMENSIONS_PX) && (perValue > 70 || perValue < 20)\r\n // ) {\r\n // return false;\r\n // }\r\n return true;\r\n }\r\n onResizeVideoEnd(event: ResizeEvent): void {\r\n this.styleVideo = {\r\n position: \"fixed\",\r\n left: `${event.rectangle.left}px`,\r\n top: `${event.rectangle.top}px`,\r\n width: `${event.rectangle.width}px`,\r\n height: `${event.rectangle.height}px`,\r\n // bottom: `${event.rectangle.bottom}px`,\r\n // right: `${event.rectangle.right}px`,\r\n };\r\n }\r\n toggleActivation(i) {\r\n var activeSub = document.getElementsByClassName(\"sub-active\");\r\n activeSub[0].classList.add(\"sub-not-active\");\r\n activeSub[0].classList.remove(\"sub-active\");\r\n\r\n var subscriber = document.getElementsByClassName(\"app-subscriber\");\r\n subscriber[i].classList.add(\"sub-active\");\r\n subscriber[i].classList.remove(\"sub-not-active\");\r\n }\r\n\r\n onResizingChat(event: ResizeEvent): boolean {\r\n const perValue =\r\n (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n if (perValue > 70 || perValue < 20) {\r\n return false;\r\n }\r\n this.renderer.setStyle(\r\n this.textChat.nativeElement,\r\n \"width\",\r\n `${perValue}%`\r\n );\r\n // let SOAPPanel = this.encounterService.SOAPPanelRef;\r\n // if (this.SOAPPanel)\r\n // this.renderer.setStyle(this.SOAPPanel.nativeElement, 'margin-right', `${event.rectangle.width}px`)\r\n }\r\n onDragChat(event: any) {\r\n let top = this.textChat.nativeElement.style.top,\r\n right = this.textChat.nativeElement.style.right;\r\n\r\n //(top = top.replace(\"px\", \"\")), (right = right.replace(\"px\", \"\"));\r\n (top = (parseInt(top) || 0) + event.y),\r\n (right = (parseInt(right) || 0) + -event.x);\r\n //this.renderer.setStyle(this.panelVideo.nativeElement, \"top\", `${top}px`);\r\n this.renderer.setStyle(this.textChat.nativeElement, \"right\", `${right}px`);\r\n // let bottom = this.panelVideo.nativeElement.style.bottom,\r\n // right = this.panelVideo.nativeElement.style.right;\r\n\r\n // (bottom = bottom.replace(\"px\", \"\")), (right = right.replace(\"px\", \"\"));\r\n // (bottom = (parseInt(bottom) || 0) + -event.y),\r\n // (right = (parseInt(right) || 0) + -event.x);\r\n // this.renderer.setStyle(\r\n // this.panelVideo.nativeElement,\r\n // \"bottom\",\r\n // `${bottom}px`\r\n // );\r\n // this.renderer.setStyle(\r\n // this.panelVideo.nativeElement,\r\n // \"right\",\r\n // `${right}px`\r\n // );\r\n }\r\n onValidateChatResize(event: ResizeEvent): boolean {\r\n let perValue =\r\n (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n if (perValue > 70 || perValue < 20) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n onValidateResizeChat(event: ResizeEvent): boolean {\r\n // let perValue = (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n // const MIN_DIMENSIONS_PX: number = 50;\r\n // if (\r\n // event.rectangle.width &&\r\n // event.rectangle.height &&\r\n // (event.rectangle.width < MIN_DIMENSIONS_PX ||\r\n // event.rectangle.height < MIN_DIMENSIONS_PX) && (perValue > 70 || perValue < 20)\r\n // ) {\r\n // return false;\r\n // }\r\n return true;\r\n }\r\n onResizeChatEnd(event: ResizeEvent): void {\r\n this.styleChat = {\r\n position: \"fixed\",\r\n left: `${event.rectangle.left}px`,\r\n top: `${event.rectangle.top}px`,\r\n width: `${event.rectangle.width}px`,\r\n height: `${event.rectangle.height}px`,\r\n // bottom: `${event.rectangle.bottom}px`,\r\n // right: `${event.rectangle.right}px`,\r\n };\r\n }\r\n reset() {\r\n this.idle.watch();\r\n this.idleState = 'Started.';\r\n this.timedOut = false;\r\n }\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n this.mobileQuery.removeListener(this._mobileQueryListener);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport {\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule\r\n} from \"@angular/material\";\r\n\r\n@NgModule({\r\n imports: [\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule\r\n ],\r\n exports: [\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule\r\n ]\r\n})\r\nexport class AppMaterialModule { }\r\n","import { TextChatService } from \"./shared/text-chat/text-chat.service\";\r\nimport { AppService } from \"./app-service.service\";\r\nimport { EncounterModule } from \"./platform/modules/agency-portal/encounter/encounter.module\";\r\n//import { SubscriberComponent } from \"./platform/modules/agency-portal/encounter/video-chat/subscriber/subscriber.component\";\r\nimport \"hammerjs\";\r\n\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\n\r\nimport { NgModule } from \"@angular/core\";\r\n\r\nimport { AppComponent } from \"./app.component\";\r\nimport { AppMaterialModule } from \"./app.material.module\";\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { SharedModule } from \"./shared/shared.module\";\r\nimport { SubDomainGuard } from \"./subDomain.guard\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { SubDomainService } from \"./subDomain.service\";\r\nimport { NotifierModule, NotifierOptions } from \"angular-notifier\";\r\nimport { FrontModule } from \"src/app/front/front.module\";\r\nimport { ResizableModule } from \"angular-resizable-element\";\r\nimport { DragAndDropModule } from \"angular-draggable-droppable\";\r\nimport { MatVideoModule } from \"mat-video\";\r\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive';\r\nimport { MomentModule } from 'angular2-moment';\r\n\r\n//import { PublisherComponent } from \"src/app/platform/modules/agency-portal/encounter/video-chat/publisher/publisher.component\";\r\n/**\r\n * Custom angular notifier options\r\n */\r\nconst customNotifierOptions: NotifierOptions = {\r\n position: {\r\n horizontal: {\r\n position: \"right\",\r\n distance: 12\r\n },\r\n vertical: {\r\n position: \"bottom\",\r\n distance: 12,\r\n gap: 10\r\n }\r\n },\r\n theme: \"material\",\r\n behaviour: {\r\n autoHide: 5000,\r\n onClick: \"hide\",\r\n onMouseover: \"pauseAutoHide\",\r\n showDismissButton: true,\r\n stacking: 4\r\n },\r\n animations: {\r\n enabled: true,\r\n show: {\r\n preset: \"slide\",\r\n speed: 300,\r\n easing: \"ease\"\r\n },\r\n hide: {\r\n preset: \"fade\",\r\n speed: 300,\r\n easing: \"ease\",\r\n offset: 50\r\n },\r\n shift: {\r\n speed: 300,\r\n easing: \"ease\"\r\n },\r\n overlap: 150\r\n }\r\n};\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [\r\n NgIdleKeepaliveModule.forRoot(),\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n AppMaterialModule,\r\n AppRoutingModule,\r\n SharedModule,\r\n FrontModule,\r\n NotifierModule.withConfig(customNotifierOptions),\r\n ResizableModule,\r\n DragAndDropModule,\r\n EncounterModule,\r\n MatVideoModule,\r\n MomentModule\r\n ],\r\n providers: [SubDomainGuard, SubDomainService, AppService, TextChatService],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","module.exports = \".login-wrapper {\\r\\n display: table-cell;\\r\\n vertical-align: middle;\\r\\n}\\r\\n\\r\\n.login-fields {\\r\\n background: #fff;\\r\\n margin: 0 auto;\\r\\n display: block;\\r\\n padding:0px;\\r\\n}\\r\\n\\r\\n/* .login-fields form{padding: 10px 30px 30px;} */\\r\\n\\r\\n.login-fields h3 a {\\r\\n font-size: 13px;\\r\\n font-weight: 400;\\r\\n padding-left: 30px;\\r\\n color: #2a3134;\\r\\n opacity: .7;\\r\\n}\\r\\n\\r\\n.login-fields h3 a:hover {\\r\\n color: #258df2;\\r\\n}\\r\\n\\r\\n.login-fields h3 i {\\r\\n font-size: 5rem;\\r\\n}\\r\\n\\r\\n.login-fields h3.title-404 {\\r\\n font-size: 7.5rem;\\r\\n}\\r\\n\\r\\n.login-fields .alert-danger {\\r\\n margin-top: 10px;\\r\\n }\\r\\n\\r\\n.login_bg {\\r\\n height: 100%;\\r\\n display: table;\\r\\n width: 100%;\\r\\n /* background-image: url('../../../../../assets/login_bg.jpg'); */\\r\\n background-size: cover;\\r\\n background-position: center;\\r\\n}\\r\\n\\r\\n.loginlogo {\\r\\n text-align: center;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.login-headtabs{display: flex; justify-content: space-between; align-items: center;}\\r\\n\\r\\n.login-headtab {\\r\\n margin: 0px;\\r\\n background-color: rgba(15, 216, 239, 0.70);\\r\\n text-align: center;\\r\\n display: flex;\\r\\n width: 50%;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.login-headtab a {\\r\\n font-size: 18px;\\r\\n font-weight: 400;\\r\\n color: #fff;\\r\\n display: block;\\r\\n padding: 11px 0px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.login-headtab.active{background-color: #003359; box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02); -webkit-box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02);}\\r\\n\\r\\n.mat-raised-button.login-btn{\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n width: 80%;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.login-content {\\r\\n align-items: center;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n color: #fff;\\r\\n font-size: 15px;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.login-content p {\\r\\n text-align: left !important;\\r\\n width: 100%;\\r\\n line-height: 23px;\\r\\n}\\r\\n\\r\\n.login-content .smartlink{color:#D92029;}\\r\\n\\r\\n.login-content span{font-weight: 500;font-size: 16px;}\\r\\n\\r\\n.rem {\\r\\n float: left;\\r\\n width: 50% !important;\\r\\n font-size: 14px !important;\\r\\n margin: 0px !important;\\r\\n}\\r\\n\\r\\n.frgtpwd {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n width: 100%;\\r\\n padding: 0rem 0rem 1rem;\\r\\n}\\r\\n\\r\\na.frgtpwd {\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.resetmail_msg {\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.resetmail_msg i {\\r\\n font-size: 50px;\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.spradmpnlpwd {\\r\\n float: left;\\r\\n text-align: right;\\r\\n width: auto;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.spradmpnlpwd a {\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.createnew {\\r\\n border-top: 1px solid #f5f5f5;\\r\\n color: #7a7a7a;\\r\\n display: flex;\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n justify-content: center;\\r\\n margin-top: 20px;\\r\\n padding-top: 10px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.createnew a {\\r\\n padding-left: 10px;\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.createnew a:hover {\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.frgtcont {\\r\\n color: #7a7a7a;\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n line-height: 18px;\\r\\n margin: 20px 0 0;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.loginas {\\r\\n text-align: center;\\r\\n color:rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.loginas span {\\r\\n display: block;\\r\\n font-size: 14px;\\r\\n margin: 10px 0px 5px;\\r\\n}\\r\\n\\r\\n.loginas p {\\r\\n margin: 0px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.loginas p a{color:#003359; }\\r\\n\\r\\n.loginas p a:hover, .frgtpwd a:hover, .backtologin a:hover{text-decoration: underline;}\\r\\n\\r\\n.backtologin {\\r\\n display: block;\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n.backtologin a {\\r\\n display: inline-block;\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.custom_form .backtologin i {\\r\\n position: inherit;\\r\\n float: left;\\r\\n padding-top: 1px;\\r\\n padding-right: 10px;\\r\\n color: rgba(0, 0, 0, 0.70);\\r\\n}\\r\\n\\r\\n/*Login CSS*/\\r\\n\\r\\n.login-container{margin: 40px auto; height: 100%;}\\r\\n\\r\\n.login-container .form-block{ background-color: #fff; width:100%;}\\r\\n\\r\\n.logo{ text-align: center;}\\r\\n\\r\\n.logo img{ width:220px; max-width: 220px; height: auto;}\\r\\n\\r\\n.login-container .form-style input{border:0;height:46px;border-radius:0;border-bottom:1px solid #c2c2c2;}\\r\\n\\r\\n.login-container .form-style input:focus{\\r\\nborder-bottom:1px solid #003359;\\t\\r\\nbox-shadow:none;\\r\\noutline:0;\\r\\nbackground-color:#fff;\\t\\r\\n}\\r\\n\\r\\n.login-container .img-fluid{ width:100%;}\\r\\n\\r\\n.login-container .sideline {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n\\tcolor:#ccc;\\r\\n}\\r\\n\\r\\n.login-container button{\\r\\nheight:45px;\\r\\n\\tborder-radius: 0;\\r\\n\\tflex: initial !important;\\r\\n\\tpadding: 0 45px;\\r\\n}\\r\\n\\r\\n.login-container .sideline:before,\\r\\n.login-container .sideline:after {\\r\\n content: '';\\r\\n border-top: 1px solid #ebebeb;\\r\\n margin: 0 20px 0 0;\\r\\n flex: 1 0 20px;\\r\\n}\\r\\n\\r\\n.login-container .sideline:after {\\r\\n margin: 0 0 0 20px;\\r\\n}\\r\\n\\r\\n.login-container .group { \\r\\n position:relative; \\r\\n margin-bottom:32px; \\r\\n}\\r\\n\\r\\n.login-container input {\\r\\n font-size:18px;\\r\\n padding:10px 10px 10px 5px;\\r\\n display:block;\\r\\n width:100%;\\r\\n border:none;\\r\\n border-bottom:1px solid #757575;\\r\\n}\\r\\n\\r\\n.login-container input:focus{ outline:none; }\\r\\n\\r\\n.login-container input[type=checkbox]{\\r\\n\\twidth:18px;\\r\\n\\theight: 18px;\\r\\n\\tdisplay: inline-block;\\r\\n}\\r\\n\\r\\n.login-container label{\\r\\n color:#999; \\r\\n font-size:18px;\\r\\n font-weight:normal;\\r\\n position:absolute;\\r\\n pointer-events:none;\\r\\n left:5px;\\r\\n top:10px;\\r\\n transition:0.2s ease all; \\r\\n -moz-transition:0.2s ease all; \\r\\n -webkit-transition:0.2s ease all;\\r\\n}\\r\\n\\r\\n.login-container input:focus ~ label, input:valid ~ label{\\r\\n top:-20px;\\r\\n font-size:14px;\\r\\n color:#BDBDBD;\\r\\n}\\r\\n\\r\\n.btn-group{\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.btn-group .btn-blue{\\r\\n\\t background-color: #003359;\\r\\n border-color: #003359;\\r\\n\\ttransition: .3s ease-in;\\r\\n\\tcolor:#ffffff;\\r\\n\\tfont-size: 18px;\\r\\n}\\r\\n\\r\\n.btn-group .btn-blue:hover{\\r\\n\\t background-color: #ffffff;\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.btn-group .btn-white{\\r\\n\\tbackground-color: #ffffff;\\r\\n\\tborder-color:#003359;\\r\\n\\tcolor: #003359;\\r\\n\\ttransition: .3s ease-in;\\r\\n\\tfont-size: 18px;\\r\\n}\\r\\n\\r\\n.btn-group .btn-white:hover{\\r\\n\\tbackground-color: #003359;\\r\\n\\tcolor: #ffffff;\\r\\n}\\r\\n\\r\\n.login-container .bar { position:relative; display:block; width:100%; }\\r\\n\\r\\n.login-container .bar:before, .login-container .bar:after \\t{\\r\\n content:'';\\r\\n height:1px; \\r\\n width:0;\\r\\n bottom:1px; \\r\\n position:absolute;\\r\\n background:#003359; \\r\\n transition:0.2s ease all; \\r\\n -moz-transition:0.2s ease all; \\r\\n -webkit-transition:0.2s ease all;\\r\\n}\\r\\n\\r\\n.login-container .bar:before {\\r\\n left:50%;\\r\\n}\\r\\n\\r\\n.login-container .bar:after {\\r\\n right:50%; \\r\\n}\\r\\n\\r\\ninput:focus ~ .bar:before, input:focus ~ .bar:after {\\r\\n width:50%;\\r\\n}\\r\\n\\r\\n.login-container .highlight {\\r\\n position:absolute;\\r\\n height:60%; \\r\\n width:100px; \\r\\n top:25%; \\r\\n left:0;\\r\\n pointer-events:none;\\r\\n opacity:0.5;\\r\\n}\\r\\n\\r\\ninput:focus ~ .highlight {\\r\\n -webkit-animation:inputHighlighter 0.3s ease;\\r\\n animation:inputHighlighter 0.3s ease;\\r\\n}\\r\\n\\r\\n.frgt-txt a{ color: #a9a9a9;}\\r\\n\\r\\n.group .fa-eye-slash, .group .fa-eye{\\r\\n\\tposition: absolute;\\r\\n right: 0;\\r\\n top: 18px;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.file-upload-wrapper {\\r\\n position: relative;\\r\\n width: 100%;\\r\\n height: 48px;\\r\\n\\tborder:1px solid #c1c1c1;\\r\\n}\\r\\n\\r\\n.file-upload-wrapper .fa-upload{\\r\\n\\tfont-size: 24px;\\r\\n color: #b9b9b9;\\r\\n position: absolute;\\r\\n top: 10px;\\r\\n\\tleft:50%;\\r\\n\\tz-index: 99\\r\\n}\\r\\n\\r\\n.file-upload-wrapper:after {\\r\\n content: attr(data-text);\\r\\n font-size: 18px;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n background: #fff;\\r\\n padding: 5px 15px;\\r\\n display: block;\\r\\n width: 100%;\\r\\n pointer-events: none;\\r\\n z-index: 20;\\r\\n height: 45px;\\r\\n line-height: 32px;\\r\\n color: #999;\\r\\n border-radius: 5px 10px 10px 5px;\\r\\n font-weight: 300;\\r\\n}\\r\\n\\r\\n.file-upload-wrapper:hover:before {\\r\\n background: #3d8c63;\\r\\n}\\r\\n\\r\\n.file-upload-wrapper input {\\r\\n opacity: 0;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n z-index: 99;\\r\\n height: 40px;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n display: block;\\r\\n cursor: pointer;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.df-lbl{ position: relative !important; margin-bottom: 7px; top:0 !important;}\\r\\n\\r\\n.h-auto{ height: auto !important;}\\r\\n\\r\\n.left_hover{\\r\\n color:#EE9BA3;\\r\\n border: 2px solid #003359;\\r\\n background-color: #ffffff;\\r\\n z-index:1;\\r\\n}\\r\\n\\r\\n.right_hover{\\r\\n border: 2px solid #003359;\\r\\n background-color: #003359;\\r\\n z-index:1;\\r\\n}\\r\\n\\r\\n#left, #right{ position: relative; border:1px solid #efefef !important; margin: 0 auto; padding:10px; text-align: center; width:84%;cursor: pointer;}\\r\\n\\r\\n#left.inactive, #right.inactive{ border:2px solid #003359 !important;}\\r\\n\\r\\n#left.inactive:hover, #right.inactive:hover{ background-color: #003359;}\\r\\n\\r\\n#left.inactive:hover svg, #left.inactive:hover span, #right.inactive:hover svg, #right.inactive:hover span{ color: #fff; fill:#fff;}\\r\\n\\r\\n#left.inactive svg, #left.inactive span, #right.inactive, #right.inactive svg, #right.inactive span{ fill:#003359; text-decoration: underline;}\\r\\n\\r\\n#right span{ text-decoration: underline;}\\r\\n\\r\\n#left svg, #right svg{display: block;padding: 30px 10px;width:160px; height: auto; fill:#ffffff; max-width: 100%; margin: auto;}\\r\\n\\r\\n#right .fa.fa-check-circle, #left .fa.fa-check-circle{display:none;position: absolute;color:#504979;font-size: 35px;top: -18px;padding: 0;border-radius: 50%;right: -14px;background-color: #fff;}\\r\\n\\r\\n#right:hover .fa.fa-check-circle, #left:hover .fa.fa-check-circle{ display: block;}\\r\\n\\r\\nh3.pb3{ font-weight: 400;}\\r\\n\\r\\n.f-14{ font-size: 14px;}\\r\\n\\r\\n.terms-txt{ font-size: 16px;font-weight: 500;}\\r\\n\\r\\n.terms-txt a{ color:#B68E0C;}\\r\\n\\r\\n/* ANIMATIONS ================ */\\r\\n\\r\\n@-webkit-keyframes inputHighlighter {\\r\\n\\tfrom { background:#003359; }\\r\\n to \\t{ width:0; background:transparent; }\\r\\n}\\r\\n\\r\\n@keyframes inputHighlighter {\\r\\n\\tfrom { background:#003359; }\\r\\n to \\t{ width:0; background:transparent; }\\r\\n}\\r\\n\\r\\n@media all and (max-width:991px){\\r\\n\\t.login-container{ max-width:100%;}\\r\\n\\t.login-container button{ padding: 10px;}\\r\\n\\t#left, #right{ width:100%; margin-bottom: 20px;}\\r\\n\\t#left .fa, #right .fa{ font-size: 100px;}\\r\\n \\r\\n}\\r\\n\\r\\n@media all and (max-width:768px){\\r\\n\\t\\r\\n\\t.btn-group button{ margin-bottom: 10px;}\\r\\n .login-container h3.pb-3 {\\r\\n text-align: center;\\r\\n }\\r\\n .login-container form.small-input .group{\\r\\n width: 100% !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media all and (max-width:650px){\\r\\n\\t.login-container button{ width:100%;}\\r\\n .btn-group{ display: block;}\\r\\n}\\r\\n\\r\\n@media all and (max-width:575px){\\r\\n\\t.login-container form.small-input .group{\\r\\n width: 100% !important;\\r\\n }\\r\\n \\r\\n}\\r\\n\\r\\n.crsr-pntr a{\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/* |END Login CSS*/\"","module.exports = \"\\r\\n\\r\\n\\r\\n \\r\\n\"","import { Component, OnInit, ViewEncapsulation, OnDestroy, Input, ChangeDetectorRef } from '@angular/core';\r\nimport { SubDomainService } from '../../subDomain.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { AuthenticationService } from '../../platform/modules/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'app-auth',\r\n templateUrl: './auth.component.html',\r\n styleUrls: ['./auth.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AuthComponent implements OnInit, OnDestroy {\r\n imgSrc:string;\r\n subscription: Subscription\r\n logoUrl: string;\r\n constructor(private subDomainService: SubDomainService,\r\n private authService: AuthenticationService,\r\n private cd: ChangeDetectorRef) {\r\n this.logoUrl = null;\r\n this.imgSrc = \"../../../../../assets/login-patient.png\";\r\n \r\n this.subsribeSideImgUrl();\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription = this.subDomainService.getSubDomainInfo().subscribe(domainInfo => {\r\n if (domainInfo)\r\n this.logoUrl = 'data:image/png;base64,' + domainInfo.organization.logoBase64;\r\n });\r\n this.setSideBarImgPath(\"../../../../../assets/login-patient.png\");\r\n }\r\n\r\n subsribeSideImgUrl(){\r\n this.authService.getSideScreenImgSrc().subscribe(path => {\r\n if(path){\r\n this.setSideBarImgPath(path);\r\n }\r\n })\r\n }\r\n\r\n setSideBarImgPath(path){\r\n if(path){\r\n const sideScreenImgRef = document.getElementById(\"sideScreenImg\") as HTMLImageElement;\r\n if(sideScreenImgRef)\r\n sideScreenImgRef.src =path;\r\n }\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n \r\n\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n border-bottom: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 18px;\\r\\n margin-top: 10px;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #272b41;\\r\\n font-size: 12px;\\r\\n margin: 0 3px 3px 0;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 5px;\\r\\n padding: 2px;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: block;\\r\\n color: #4e4852;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 14px;\\r\\n font-weight: 600;\\r\\n color: #2f2660;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #4e4852;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #7E9693;\\r\\n font-size: 20px;\\r\\n display: flex;\\r\\n font-weight: 600;\\r\\n justify-content: space-between;\\r\\n padding: 15px;\\r\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.80);\\r\\n font-size: 15px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n background-color: #f8f8f8;\\r\\n padding: 5px 10px;\\r\\n border-left: 5px solid #003359;\\r\\n}\\r\\n\\r\\n.book-appt-type label {\\r\\n margin: 0px 16px 0px 0px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n width: 140px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #003359;\\r\\n border-color: #003359;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding-bottom: 10px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type .mat-radio-outer-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #63d891;\\r\\n border-radius: 0;\\r\\n display: inline-block;\\r\\n font-size: 14px !important;\\r\\n padding: 5px 10px;\\r\\n height: 36px !important;\\r\\n margin: 5px 7px 5px 0px;\\r\\n line-height: normal;\\r\\n color: #63d891;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #003359;\\r\\n color: #fff;\\r\\n background-color: #003359;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 0px;\\r\\n font-size: 15px;\\r\\n /* margin: 10px 0px 0px; */\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.uplaod_pic {\\r\\n border-radius: 4px !important;\\r\\n}\\r\\n\\r\\n.mat-form-field-appearance-legacy .mat-hint {\\r\\n color: rgba(0, 0, 0, 0.75) !important;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n margin: 12px 0px 12px;\\r\\n line-height: 18px;\\r\\n}\\r\\n\\r\\n.pay-step h6 b {\\r\\n color: #2f2660;\\r\\n text-transform: capitalize;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n}\\r\\n\\r\\n.uplaod_pic.browse-doc .browse {\\r\\n color: #6f6e6e !important;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.fnt-sze {\\r\\n font-size: 14px;\\r\\n margin-right: 12px;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-txtarea textarea.mat-input-element {\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.custom-txtarea label {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mat-radio-label-content {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.terms-check {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/* .mat-datepicker-content .mat-calendar{\\r\\n width:550px !important;\\r\\n height: auto !important;\\r\\n} */\\r\\n\\r\\n.followupError {\\r\\n color: #f44336;\\r\\n padding-left: 10px !important;\\r\\n padding-right: 10px !important;\\r\\n}\\r\\n\\r\\n.hgt-scroll {\\r\\n height: 460px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n margin-top: 6px;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #2f2660;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 6px 10px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n.cstm-cancel-btn i {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.link-btn.min-w-100 {\\r\\n min-width: 100px;\\r\\n margin-right: auto !important;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.appointment-panel .appointment-content {\\r\\n padding: 12px 15px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-label {\\r\\n padding-top: 15px !important;\\r\\n padding-bottom: 15px !important;\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell {\\r\\n padding: 16px 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell-content {\\r\\n width: 32px !important;\\r\\n left: 34% !important;\\r\\n font-weight: 600 !important;\\r\\n height: 32px;\\r\\n}\\r\\n\\r\\n/* .appointment-content .mat-calendar-body-today:selected(.mat-calendar-body-selected) {\\r\\n border-color: #f87515;\\r\\n background-color: #f87515;\\r\\n color: #fff;\\r\\n} */\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\r\\n border-color: rgba(0, 0, 0, 0.04);\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-controls {\\r\\n margin: 0 10px !important\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-spacer {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-header {\\r\\n padding: 0px 8px 0 8px !important;\\r\\n background-color: #003359 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-period-button {\\r\\n margin: 0 auto !important;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n letter-spacing: 3px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-content {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header {\\r\\n background-color: #003359 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header th {\\r\\n font-size: 13px !important;\\r\\n color: #fff !important;\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-card {\\r\\n box-shadow: none !important;\\r\\n padding: 0 !important;\\r\\n border: 1px solid #efefef !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header-divider {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-previous-button {\\r\\n position: absolute !important;\\r\\n left: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-arrow {\\r\\n border-top-color: #fff !important;\\r\\n}\\r\\n\\r\\n.receipt {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n\\r\\n.cstm-add {\\r\\n display: block;\\r\\n width: 75%;\\r\\n}\\r\\n\\r\\n.cstm-add input:focus-visible {\\r\\n outline: none !important\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name>div>div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.select-box {\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.select-box input {\\r\\n width: 100%;\\r\\n margin: 0 !important;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n border: 1px solid #B1BFCB;\\r\\n border-radius: 10px;\\r\\n background-color: #f8f9fa;\\r\\n color: #333;\\r\\n font-family: Arial, sans-serif;\\r\\n }\\r\\n\\r\\n.app-booked h3 {\\r\\n color: #4A90E2;\\r\\n font-weight: bold;\\r\\n }\\r\\n\\r\\n.appointment-doctor {\\r\\n font-size: 1.2em;\\r\\n color: #2c3e50;\\r\\n }\\r\\n\\r\\n.appointment-date, .appointment-time {\\r\\n font-weight: bold;\\r\\n color: #34495e;\\r\\n }\\r\\n\\r\\n.btn-done {\\r\\n background-color: #B1BFCB !important;\\r\\n color: white;\\r\\n padding: 10px 20px;\\r\\n border-radius: 5px;\\r\\n }\\r\\n\\r\\n.text-center {\\r\\n text-align: center;\\r\\n }\\r\\n\\r\\n/* scroller hide css */\\r\\n\\r\\n/* .appointment-content .ng-scrollbar-container{\\r\\n display: none;\\r\\n} */\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n

{{fullname}}

\\r\\n
\\r\\n {{spl.serviceName}}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (17)\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
  • {{userInfo.address}}\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Book an Appointment\\r\\n Please select a date and time to confirm your appointment.\\r\\n
\\r\\n
\\r\\n Appointment Booked\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Select Date & Time\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Provider is not available on this date. Please\\r\\n choose\\r\\n another date.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
    \\r\\n
  • {{slot.startTimeftm}} to\\r\\n {{slot.endTimeftm}}
  • \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n Book \\r\\n
Please select appointment slot first to book in previous\\r\\n step.\\r\\n
\\r\\n
\\r\\n

You are requesting a booking With {{Firstname + ' ' + Lastname}}\\r\\n {{\\\"\\r\\n \\\"}}\\r\\n
On {{confirmation.date | date:'fullDate'}} between\\r\\n {{confirmation.startTime}}\\r\\n to\\r\\n {{confirmation.endTime}}\\r\\n

\\r\\n \\r\\n
We will send you an email with a booking confirmation.
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{type}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{mode}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

(Browse any jpg, jpeg, png, .txt, .doc file.)

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

\\r\\n \\r\\n {{file.fileName}}\\r\\n 134 kb\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter your chief complaint\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n You\\r\\n don't have any previous appointment with this provider within\\r\\n allowed days. \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Thank You!

\\r\\n

\\r\\n Your appointment with
\\r\\n {{Firstname + ' ' + Lastname}}\\r\\n
\\r\\n on {{confirmation.date | date:'fullDate'}}\\r\\n from {{confirmation.startTime}}\\r\\n to {{confirmation.endTime}}\\r\\n has been successfully requested.\\r\\n

\\r\\n

\\r\\n You will receive an email confirmation once your appointment is confirmed.\\r\\n

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

Coming Soon: Additional Health Sessions

\\r\\n

\\r\\n Soon, you will be able to book additional sessions with your Health Consultants directly through the\\r\\n LetsBe App!\\r\\n Need extra support? You’ll have the option to secure personalised sessions for even more tailored\\r\\n guidance.\\r\\n

\\r\\n

\\r\\n Stay tuned for our upcoming payment integration, making it easier than ever to take control of your\\r\\n well-being.\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\"","import { AcceptRejectAppointmentInvitationComponent } from './../../shared/accept-reject-appointment-invitation/accept-reject-appointment-invitation.component';\r\nimport { CancelAppointmentModel } from './../../platform/modules/scheduling/scheduler/scheduler.model';\r\nimport { NotificationsModel } from './../../shared/models/headerInfo';\r\nimport { debug } from \"util\";\r\nimport { state } from \"@angular/animations\";\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { FollowupAppointmentComponent } from './../../shared/followup-appointment/followup-appointment.component'\r\n//import { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { isatty } from \"tty\";\r\nimport { userInfo } from \"os\";\r\nimport { Router } from \"@angular/router\";\r\nimport { getMatIconFailedToSanitizeLiteralError, MatAutocomplete, MatAutocompleteSelectedEvent, MatChipInputEvent, MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Inject,\r\n Renderer2,\r\n ViewChild,\r\n ElementRef\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n StaffAward,\r\n StaffQualification,\r\n StaffExperience\r\n} from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format, getHours, getMinutes } from \"date-fns\";\r\nimport { map, startWith, switchMap } from \"rxjs/operators\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { DatePipe, DOCUMENT } from \"@angular/common\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { AddUserDocumentComponent } from \"src/app/platform/modules/agency-portal/users/user-documents/add-user-document/add-user-document.component\";\r\nimport { TermsConditionModalComponent } from \"../terms-conditions/terms-conditions.component\";\r\nimport { SaveDocumentComponent } from \"../save-document/save-document.component\";\r\nimport { ManageFeesRefundsModel } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\nimport { Observable, of } from 'rxjs';\r\nimport { SymptomCheckerService } from 'src/app/shared/symptom-checker/symptom-checker.service';\r\nimport { DialogService } from 'src/app/shared/layout/dialog/dialog.service';\r\n//import { StripeToken, StripeSource } from \"stripe-angular\";\r\n\r\nconst getDateTimeString = (date: string, time: string): string => {\r\n const y = new Date(date).getFullYear(),\r\n m = new Date(date).getMonth(),\r\n d = new Date(date).getDate(),\r\n splitTime = time.split(\":\"),\r\n hours = parseInt(splitTime[0] || \"0\", 10),\r\n minutes = parseInt(splitTime[1].substring(0, 2) || \"0\", 10),\r\n meridiem = splitTime[1].substring(3, 5) || \"\",\r\n updatedHours =\r\n (meridiem || \"\").toUpperCase() === \"PM\" && hours != 12\r\n ? hours + 12\r\n : hours;\r\n\r\n const startDateTime = new Date(y, m, d, updatedHours, minutes);\r\n\r\n return format(startDateTime, \"YYYY-MM-DDTHH:mm:ss\");\r\n};\r\n@Component({\r\n selector: \"app-book-appointment\",\r\n templateUrl: \"./book-appointment.component.html\",\r\n styleUrls: [\"./book-appointment.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class BookAppointmentComponent implements OnInit {\r\n submitted: boolean = false;\r\n submit: boolean = false;\r\n todayDate: Date = new Date();\r\n isLinear = false;\r\n patient: any;\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n thirdFormGroup: FormGroup;\r\n userInfo: any;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n staffId: number;\r\n providerId: string;\r\n lastFollowupData: any;\r\n lastFollowup: any;\r\n IsPreviousFollowup: boolean = false;\r\n // appointmenType: any = [\"New\", \"Followup\", \"Free\"];\r\n //appointmenType: any = [\"New\", \"Free\"];\r\n appointmenType: any = [\"New\", \"Follow-up\"];\r\n appointmentMode: any = [\"Online\",\"In-Person\"];\r\n //appointmentMode: any = [\"Online\", \"Face to Face\"];\r\n confirmation: any = { type: \"New\", mode: \"Online\" };\r\n providerAvailiabilitySlots: any = [];\r\n patientAppointments: any;\r\n staffAvailability: any;\r\n locationId: number;\r\n showLoader: boolean = false;\r\n providerAvailableDates: any = [];\r\n providerNotAvailableDates: any = [];\r\n companyUser:any\r\n getcompanyuser: number ;\r\n masterPatientLocation: Array;\r\n masterStaffs: Array;\r\n masterAddressTypes: Array;\r\n officeAndPatientLocations: Array;\r\n masterAppointmentTypes: Array;\r\n Organization: any;\r\n patientEmail: string;\r\n paymentToken: string = \"\";\r\n Message: any;\r\n IsFreeappointment:boolean\r\n isNotBooked: boolean;\r\n isProfileLoaded: boolean = false;\r\n //Notes: string = \"\";\r\n fileList: any = [];\r\n dataURL: any;\r\n // feeSettings: ManageFeesRefundsModel;\r\n hasPreviousNewMeeting = false;\r\n isNotify = false;\r\n showselecttermscondition: boolean = false;\r\n istermsconditionchecked: boolean = false;\r\n local_apptid: number;\r\n userControl = new FormControl();\r\n filteredSymptoms$: Observable;\r\n symptoms: any = [];\r\n masterCountry: any = [];\r\n //Variable for check which followup fees apply\r\n newfollowupfees: boolean = false;\r\n loaderImage = '../../../assets/loader.gif';\r\n\r\n @ViewChild('userInput') userInput: ElementRef;\r\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\r\n age: any;\r\n gender: any;\r\n loader: boolean = false;\r\n isBookingSoon: boolean;\r\n IsPaidAppointment: boolean;\r\n foundMatch: boolean;\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private route: Router,\r\n private dialogModalRef: MatDialogRef,\r\n private _formBuilder: FormBuilder,\r\n private homeService: HomeService,\r\n private commonService: CommonService,\r\n private notifierService: NotifierService,\r\n private usersService: UsersService,\r\n private schedulerService: SchedulerService,\r\n private datePipe: DatePipe,\r\n private renderer2: Renderer2,\r\n private dialogModal: MatDialog,\r\n private userService: UsersService,\r\n private notifier: NotifierService,\r\n private dialogService: DialogService,\r\n private symptomCheckerService: SymptomCheckerService,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n\r\n this.staffId = data.staffId;\r\n this.userInfo = data.userInfo;\r\n this.locationId = data.locationId;\r\n this.providerId = data.providerId;\r\n\r\n dialogModalRef.disableClose = true;\r\n this.masterStaffs = [];\r\n this.masterPatientLocation = [];\r\n this.masterAppointmentTypes = [];\r\n this.masterAddressTypes = [];\r\n this.officeAndPatientLocations = [];\r\n this.filteredSymptoms$ = this.userControl.valueChanges\r\n\r\n .pipe(\r\n startWith(''),\r\n // use switch map so as to cancel previous subscribed events, before creating new once\r\n switchMap(value => {\r\n if (value != null && typeof (value) == \"string\") {\r\n if (value.length > 2) {\r\n return this.getPatientSymptoms(value, this.age).pipe()\r\n } else {\r\n // if no value is present, return null\r\n return of(null);\r\n }\r\n }\r\n else return of(null);\r\n })\r\n );\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.patient = user.data.id;\r\n this.setParameters(user.data.id);\r\n }\r\n });\r\n this.getMasterData();\r\n this.Message = null;\r\n this.isNotBooked = true;\r\n this.isBookingSoon=true;\r\n this.homeService.getOrganizationDetail().subscribe(response => {\r\n if (response.statusCode == 200) {\r\n this.Organization = response.data;\r\n }\r\n });\r\n\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n\r\n\r\n this.patient = user.data.id;\r\n\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n this.patientEmail = user.patientData.email;\r\n }\r\n }\r\n });\r\n const s = this.renderer2.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n this.firstFormGroup = this._formBuilder.group({\r\n appointmentDate: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: [\"\", Validators.required]\r\n });\r\n this.thirdFormGroup = this._formBuilder.group({\r\n Notes: [\"\"],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n\r\n if (this.providerId != \"\") {\r\n\r\n this.getStaffDetail();\r\n this.getLastNewAppointment(this.providerId);\r\n }\r\n else {\r\n this.bindStaffProfile();\r\n }\r\n if (this.locationId > 0) {\r\n this.onDateChange(Date());\r\n this.firstFormGroup.get('appointmentDate').setValue(Date());\r\n // this.getProvidersFollowUpDaysAllowed(this.providerId);\r\n }\r\n }\r\n getMasterData(globalCodeId: any[] = [], requestType: any = 0) {\r\n this.homeService\r\n .getMasterData(\r\n \"MASTERCOUNTRY,MASTERSTATE\", true\r\n )\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterCountry =\r\n response.masterCountry != null ? response.masterCountry : [];\r\n\r\n }\r\n });\r\n }\r\n setParameters(id: any) {\r\n this.symptomCheckerService\r\n .GetPatientsDetailedInfo(id)\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n var clientModel = response.data;\r\n this.age = clientModel.age;\r\n this.gender = clientModel.gender.toLowerCase();\r\n }\r\n });\r\n }\r\n\r\n /*Stripe Start */\r\n // openCheckout() {\r\n // debugger\r\n\r\n // this.submit = true\r\n // //this.userInput.nativeElement.value = \"d\"\r\n // //console.log(\"userinput landing\", this.userInput.nativeElement.value);\r\n\r\n // // if (this.userInput.nativeElement.value != \"\") \r\n // if (true) {\r\n\r\n // if (this.istermsconditionchecked) {\r\n // let _amount = 0;\r\n // if (this.confirmation.type == 'New' && this.confirmation.mode == 'Online') {\r\n // _amount = this.userInfo.payRate;\r\n // }\r\n // else if (this.confirmation.type == 'New' && this.confirmation.mode == 'Face to Face') {\r\n // _amount = this.userInfo.ftFpayRate;\r\n // }\r\n // // newfollowupfees is not set in anywhere in the code\r\n // // else if (this.confirmation.type.toLowerCase() == 'follow-up' && this.newfollowupfees) {\r\n // // if (!this.IsPreviousFollowup) {\r\n // // return;\r\n // // }\r\n // // _amount = this.userInfo.followUpPayRate;\r\n // // }\r\n // else if (this.confirmation.type.toLowerCase() == 'follow-up' && this.newfollowupfees == false) {\r\n // if (!this.IsPreviousFollowup) {\r\n // return;\r\n // }\r\n // _amount = this.userInfo.followUpPayRate;\r\n // }\r\n\r\n // if (!_amount || _amount === 0 || _amount == 0.00) {\r\n // this.bookNewFreeAppointment(\"\", \"Free\");\r\n // } else {\r\n // // if(this.confirmation.type!=\"Free\")\r\n // // {\r\n // var handler = (window).StripeCheckout.configure({\r\n // key: this.Organization.stripeKey,\r\n // locale: \"auto\",\r\n // token: function (token: any) {\r\n // //console.log(token);\r\n // if (token.id != \"\") {\r\n // localStorage.setItem(\"payment_token\", token.id);\r\n // //this.book(token.id);\r\n // }\r\n // // You can access the token ID with `token.id`.\r\n // // Get the token ID to your server-side code for use.\r\n // }\r\n // });\r\n\r\n // handler.open({\r\n // name: this.Organization.organizationName,\r\n // description: this.Organization.description,\r\n // image: this.Organization.logo,\r\n // //amount: this.userInfo.payRate * 100,\r\n // amount: _amount * 100,\r\n // currency: \"usd\",\r\n // email: this.patientEmail,\r\n // closed: () => {\r\n // this.paymentToken = localStorage.getItem(\"payment_token\");\r\n // localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n // }\r\n // });\r\n // }\r\n // // }\r\n // // else{\r\n // // this.bookNewFreeAppointment(\"\", \"Free\");\r\n // // }\r\n // }\r\n // else {\r\n // this.showselecttermscondition = true;\r\n // }\r\n // }\r\n\r\n // }\r\n openCheckout() {\r\n this.submit = true;\r\n \r\n let _amount = 0;\r\n \r\n if (this.confirmation.type == 'New' && this.confirmation.mode == 'Online') {\r\n _amount = this.userInfo.payRate;\r\n } else if (this.confirmation.type == 'New' && this.confirmation.mode == 'In-Person') {\r\n _amount = this.userInfo.ftFpayRate;\r\n } else if (this.confirmation.type.toLowerCase() == 'follow-up' && this.newfollowupfees == false) {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n \r\n if (!_amount || _amount === 0 || _amount == 0.00) {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n } else {\r\n var handler = (window).StripeCheckout.configure({\r\n key: this.Organization.stripeKey,\r\n locale: \"auto\",\r\n token: function (token: any) {\r\n if (token.id != \"\") {\r\n localStorage.setItem(\"payment_token\", token.id);\r\n }\r\n }\r\n });\r\n \r\n handler.open({\r\n name: this.Organization.organizationName,\r\n description: this.Organization.description,\r\n image: this.Organization.logo,\r\n amount: _amount * 100,\r\n currency: \"usd\",\r\n email: this.patientEmail,\r\n closed: () => {\r\n this.paymentToken = localStorage.getItem(\"payment_token\");\r\n localStorage.setItem(\"payment_token\", \"\");\r\n if (this.paymentToken != \"\") {\r\n this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n }\r\n }\r\n });\r\n }\r\n }\r\n \r\n /*Stripe End */\r\n get formGroup1() {\r\n return this.firstFormGroup.controls;\r\n }\r\n get formGroup3() {\r\n return this.thirdFormGroup.controls;\r\n }\r\n\r\n onSlotSelect(slot: any) {\r\n this.confirmation.type = \"New\";\r\n var index = this.providerAvailiabilitySlots.findIndex(\r\n x => x.isSelected == true\r\n );\r\n if (index != -1) {\r\n this.providerAvailiabilitySlots[index].isSelected = false;\r\n this.providerAvailiabilitySlots[index].isAvailable = true;\r\n }\r\n // this.providerAvailiabilitySlots.forEach(slot => {\r\n // slot.isSelected = false;\r\n\r\n // });\r\n this.confirmation.startTime = slot.startTime;\r\n this.confirmation.endTime = slot.endTime;\r\n slot.isSelected = true;\r\n slot.isAvailable = false;\r\n }\r\n\r\n onDateChange(event: any) {\r\n var curDate = this.datePipe.transform(new Date(), 'yyyy-MM-dd');\r\n var selDate = this.datePipe.transform(event, 'yyyy-MM-dd');\r\n if (selDate < curDate) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Appointment cannot be set for past date\"\r\n );\r\n return null;\r\n }\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n this.firstFormGroup.get('appointmentDate').setValue(event);\r\n //let interval = 30;\r\n let interval = this.userInfo.timeInterval;\r\n const filterModal = {\r\n locationIds: this.locationId,\r\n // fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n // toDate: format(event.value, \"YYYY-MM-DD\"),\r\n fromDate: format(event, \"YYYY-MM-DD\"),\r\n toDate: format(event, \"YYYY-MM-DD\"),\r\n staffIds: this.staffId,\r\n patientIds: ([]).join(\",\")\r\n };\r\n let clientAppointments: Array = [];\r\n\r\n let currentAvailabilityDay: any;\r\n let currentAvailableDates: Array = [];\r\n let currentUnAvailableDates: Array = [];\r\n let days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\"\r\n ];\r\n this.companyUser = parseInt(localStorage.getItem(\"CompanyId\"), 10);\r\n \r\n // let dayName = days[new Date(event.value).getDay()];\r\n let dayName = days[new Date(event).getDay()];\r\n this.staffAvailability = [];\r\n this.usersService\r\n .GetStaffAvailabilityByCountry(this.staffId, this.patient, this.locationId)\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n if (response.statusCode == 200) {\r\n this.schedulerService\r\n .getListData(filterModal)\r\n .subscribe((response: any) => {\r\n this.showLoader = false;\r\n if (response.statusCode == 200) {\r\n this.patientAppointments = response.data.appointments;\r\n this.patientAppointments.forEach(app => {\r\n let obj = {\r\n startTime: app.startDateTime,\r\n endTime: app.endDateTime\r\n };\r\n let timeObj = this.getStartEndTime(obj),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n if (!app.cancelTypeId || app.cancelTypeId == null && app.cancelTypeId == 0) {\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n clientAppointments.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n statusName: app.statusName\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.staffAvailability = availibiltyResponse.data.days;\r\n this.providerAvailableDates = availibiltyResponse.data.available;\r\n this.providerNotAvailableDates =\r\n availibiltyResponse.data.unavailable;\r\n\r\n //Find day wise availability\r\n currentAvailabilityDay = this.staffAvailability.filter(\r\n x => x.dayName === dayName\r\n );\r\n\r\n //Find date wise availability\r\n if (this.providerAvailableDates != null && this.providerAvailableDates.length > 0) {\r\n this.foundMatch = false; // Flag to track if a match is found\r\n currentAvailableDates = this.providerAvailableDates.filter(x => {\r\n const transformedDate = this.datePipe.transform(new Date(x.date), \"yyyyMMdd\");\r\n const selDate1 = this.datePipe.transform(event, 'yyyyMMdd');\r\n \r\n // Check if the transformed date matches the selected date\r\n if (transformedDate === selDate1) {\r\n this.getcompanyuser = x.companyId; // Assign company ID\r\n this.foundMatch = true; // Set flag to indicate a match was found\r\n console.log(\"Company User ID:\", this.getcompanyuser);\r\n console.log(\"Expected Company User:\", this.companyUser);\r\n \r\n // Check if the company user matches\r\n if (this.getcompanyuser == this.companyUser) {\r\n this.getcompanyuser = x.companyId;\r\n currentAvailabilityDay = []; // Clear availability for this day\r\n return true; // Include this date in the available dates\r\n }\r\n } // No match found, return false but do not reset this.getcompanyuser\r\n return false;\r\n });\r\n \r\n // If a match was found, perform any additional checks\r\n if (this.foundMatch) {\r\n currentAvailabilityDay = [];\r\n // Further action based on company user\r\n }\r\n }\r\n \r\n \r\n //find datewise unavailabilty\r\n if (\r\n this.providerNotAvailableDates != null &&\r\n this.providerNotAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates = this.providerNotAvailableDates.filter(\r\n x =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n );\r\n }\r\n let slots: Array = [];\r\n let slotsIntervals: Array = [];\r\n let unAvaiabilityIntervalArr: Array = [];\r\n let availDaySlots: Array = [];\r\n let availDateSlots: Array = [];\r\n let unAvailDateSlots: Array = [];\r\n \r\n //let curentTime = this.parseTime(currentDate);\r\n if (\r\n currentAvailabilityDay != null &&\r\n currentAvailabilityDay.length > 0\r\n ) {\r\n currentAvailabilityDay.forEach(currentDay => {\r\n let timeObj = this.getStartEndTime(currentDay),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n availDaySlots.push(x);\r\n });\r\n });\r\n }\r\n \r\n if (\r\n currentAvailableDates != null &&\r\n currentAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates.forEach(avail => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n availDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (\r\n currentUnAvailableDates != null &&\r\n currentUnAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates.forEach(avail => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n unAvailDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (availDateSlots.length == 0) {\r\n if (availDaySlots.length > 0) {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach(slot => {\r\n const foundIndex = availDaySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDaySlots = availDaySlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDaySlots;\r\n }\r\n } else {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach(slot => {\r\n const foundIndex = availDateSlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDateSlots = availDateSlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDateSlots;\r\n }\r\n\r\n if (slots.length > 0) {\r\n slots.forEach(x => {\r\n this.providerAvailiabilitySlots.push({\r\n startTime: x.startTime,//.replace(\":00\",\"\").replace(\"AM\",\"\").replace(\"PM\",\"\"),\r\n endTime: x.endTime,//.replace(\":00\",\"\"),\r\n startTimeftm: x.startTime.replace(\":00\", \"\").replace(\"AM\", \"\").replace(\"PM\", \"\"),\r\n endTimeftm: x.endTime.replace(\":00\", \"\"),\r\n location: \"Max Hospital, Mohali\",\r\n isAvailable: true,\r\n isSelected: false,\r\n isPassed: false,\r\n isReserved: false\r\n });\r\n });\r\n }\r\n if (clientAppointments.length > 0) {\r\n\r\n clientAppointments.forEach(slot => {\r\n let status = (slot.statusName as string).toLowerCase();\r\n if ((slot.statusName as string).toLowerCase() != \"cancel\") {\r\n const foundIndex = this.providerAvailiabilitySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isAvailable = false;\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isReserved = true;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n let currentDate = new Date();\r\n if (\r\n this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n ) {\r\n let currentStartHr = currentDate.getHours(),\r\n currentStartMin = currentDate.getMinutes(),\r\n currentTime = currentStartHr * 60 + currentStartMin;\r\n this.providerAvailiabilitySlots.forEach(slot => {\r\n if (slot.isAvailable == true) {\r\n let selStart = slot.startTime.split(\" \");\r\n let selStartTime = selStart[0];\r\n let selStartHr = +selStartTime.split(\":\")[0];\r\n let selHrMin =\r\n selStart[1] == \"AM\"\r\n ? selStartHr * 60\r\n : selStartHr == 12\r\n ? selStartHr * 60\r\n : (selStartHr + 12) * 60;\r\n let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n let selEnd = slot.endTime.split(\" \");\r\n let selEndTime = selEnd[0];\r\n let selEndHr = +selEndTime.split(\":\")[0];\r\n let selEndHrMin =\r\n selEnd[1] == \"AM\"\r\n ? selEndHr * 60\r\n : selEndHr == 12 ? selEndHr * 60 : (selEndHr + 12) * 60;\r\n let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n if (\r\n currentTime >= selStartMin &&\r\n (currentTime >= selEndMin || currentTime < selEndMin)\r\n ) {\r\n slot.isPassed = true;\r\n slot.isAvailable = false;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.notifierService.notify(\"error\", \"Please Set Availability\");\r\n this.closeModal();\r\n }\r\n\r\n });\r\n // this.confirmation.date = event.value;\r\n this.confirmation.date = event;\r\n this.getFollowUpDetail(selDate)\r\n }\r\n getStartEndTime(obj: any) {\r\n let startDate: Date = new Date(obj.startTime),\r\n endDate: Date = new Date(obj.endTime);\r\n\r\n let slotStartHr = startDate.getHours(),\r\n slotStartMin = startDate.getMinutes(),\r\n slotEndHr = endDate.getHours(),\r\n slotEndMin = endDate.getMinutes(),\r\n startTime = this.parseTime(slotStartHr + \":\" + slotStartMin),\r\n endTime = this.parseTime(slotEndHr + \":\" + slotEndMin);\r\n return { startTime: startTime, endTime: endTime };\r\n }\r\n parseTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n convertHours(mins: number) {\r\n let hour = Math.floor(mins / 60);\r\n mins = mins % 60;\r\n let time = \"\";\r\n if (this.pad(hour, 2) < 12) {\r\n time = this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" AM\";\r\n } else {\r\n time =\r\n this.pad(hour, 2) == 12\r\n ? this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" PM\"\r\n : this.pad(hour, 2) - 12 + \":\" + this.pad(mins, 2) + \" PM\";\r\n }\r\n //let converted = this.pad(hour, 2)+':'+this.pad(mins, 2);\r\n return time;\r\n }\r\n\r\n pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? this.pad(\"0\" + str, max) : str;\r\n }\r\n\r\n calculateTimeSlotRange(\r\n start_time: number,\r\n end_time: number,\r\n interval: number = 30\r\n ) {\r\n let i, formattedStarttime, formattedEndtime;\r\n let time_slots: Array = [];\r\n for (let i = start_time; i <= end_time - interval; i = i + interval) {\r\n formattedStarttime = this.convertHours(i);\r\n formattedEndtime = this.convertHours(i + interval);\r\n time_slots.push({\r\n startTime: formattedStarttime,\r\n endTime: formattedEndtime\r\n });\r\n }\r\n return time_slots;\r\n }\r\n\r\n onTypeChange(type: any) {\r\n this.confirmation.type = type;\r\n this.loader = true;\r\n if (type.toLowerCase() == 'follow-up') {\r\n var appointmentDate = this.datePipe.transform(this.firstFormGroup.get('appointmentDate').value, 'MM/dd/yyyy');\r\n this.schedulerService.GetLastPatientFollowupWithCurrentPovider(this.patient, this.staffId, appointmentDate, false).subscribe(res => {\r\n\r\n if (res.statusCode == 200) {\r\n this.lastFollowupData = res.data;\r\n if (this.lastFollowupData) {\r\n this.IsPreviousFollowup = true;\r\n }\r\n else {\r\n this.IsPreviousFollowup = false;\r\n }\r\n this.loader = false;\r\n }\r\n });\r\n\r\n\r\n } else {\r\n this.loader = false;\r\n }\r\n }\r\n getFollowUpDetail(appointmentDate: any) {\r\n\r\n // var appointmentDate= this.datePipe.transform(this.firstFormGroup.get('appointmentDate').value, 'MM/dd/yyyy');\r\n this.schedulerService.GetLastPatientFollowupWithCurrentPovider(this.patient, this.staffId, appointmentDate, true).subscribe(res => {\r\n\r\n if (res.statusCode == 200) {\r\n this.lastFollowup = res.data;\r\n if (this.lastFollowup) {\r\n var futureDate = new Date(this.lastFollowup.startDateTime);\r\n futureDate.setDate(futureDate.getDate() + this.userInfo.followUpDays);\r\n // futureDate.setDate(futureDate.getDate() + this.userInfo.followUpDays);\r\n // if (futureDate >= new Date())\r\n // this.notifierService.notify(\"warning\", \"You can book a followup appointment between dates \" + this.datePipe.transform(this.lastFollowup.startDateTime, \"MM/dd/yyyy\") + ' and ' + this.datePipe.transform(futureDate, \"MM/dd/yyyy\") + ' with discounted price ' + this.userInfo.followUpPayRate);\r\n }\r\n }\r\n });\r\n }\r\n openLastFollowup() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(FollowupAppointmentComponent, {\r\n hasBackdrop: true,\r\n width: '70%',\r\n data: {\r\n id: this.lastFollowupData.id,\r\n lastAppointmentStartTime: this.lastFollowupData.startDateTime,\r\n lastAppointmentEndTime: this.lastFollowupData.endDateTime,\r\n notes: this.lastFollowupData.notes,\r\n bookingMode: this.lastFollowupData.bookingMode\r\n }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n });\r\n }\r\n onModeChange(mode: any) {\r\n this.confirmation.mode = mode;\r\n }\r\n userInfomation: any[] = [];\r\n Firstname: any\r\n Lastname: any\r\n bindStaffProfile() {\r\n\r\n // this.staffAwards = this.userInfo.staffAwardModels;\r\n // this.staffExperiences = this.userInfo.staffExperienceModels;\r\n // this.staffQualifications = this.userInfo.staffQualificationModels;\r\n // this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n\r\n this.Firstname = this.userInfo.firstName\r\n this.Lastname = this.userInfo.lastName\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n this.isProfileLoaded = true;\r\n }\r\n getStaffDetail() {\r\n if (this.providerId != \"\") {\r\n\r\n this.homeService.getProviderDetail(this.providerId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n // this.masterCountry.forEach(element => {\r\n // if(element.id == res.data.countryID){\r\n // res.data.countryName = element.countryName;\r\n // }\r\n // });\r\n this.userInfo = res.data;\r\n //providerCancellationRules\r\n this.bindStaffProfile();\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n //location.reload();\r\n }\r\n\r\n jumpwaitingroom() {\r\n\r\n this.dialogModalRef.close('close');\r\n this.route.navigate([\"/web/waiting-room/reshedule/\" + this.local_apptid]);\r\n\r\n }\r\n\r\n bookNewAppointment(tokenId: string, paymentMode: string): any {\r\n this.submitted = true;\r\n const patientId = null;\r\n let _amount = 0;\r\n if (this.confirmation.type == 'New' && this.confirmation.mode == 'Online') {\r\n _amount = this.userInfo.payRate;\r\n }\r\n else if (this.confirmation.type == 'New' && this.confirmation.mode == 'In-Person') {\r\n _amount = this.userInfo.ftFpayRate;\r\n }\r\n else if (this.confirmation.type.toLowerCase() == 'follow-up') {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (this.locationId == 0) {\r\n this.locationId = 156;\r\n }\r\n if(this.getcompanyuser==this.companyUser){\r\n this.IsFreeappointment=true\r\n }else{\r\n this.IsPaidAppointment=true\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: null,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n //IsTelehealthAppointment: true,\r\n IsTelehealthAppointment: this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.formGroup3.Notes.value,\r\n //Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n //PayRate: this.userInfo.payRate,\r\n PayRate: _amount,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n IsNotify: this.isNotify,\r\n IsFreeappointment:this.IsFreeappointment,\r\n IsPaidAppointment:this.IsPaidAppointment\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n this.createAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n\r\n createAppointmentFromPatientPortal(appointmentData: any) {\r\n\r\n this.schedulerService\r\n .bookNewAppointmentFromPatientPortal(appointmentData)\r\n .subscribe(response => {\r\n\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n\r\n if (localStorage.getItem(\"reportObject\") != null && localStorage.getItem(\"reportObject\") != undefined) {\r\n var object = JSON.parse(localStorage.getItem(\"reportObject\"));\r\n localStorage.removeItem(\"reportObject\");\r\n\r\n if (object != null && object != undefined) {\r\n\r\n object.patientId = response.data;\r\n this.schedulerService.SaveSymptomatePatientReport(JSON.stringify(object)).subscribe((result: any) => {\r\n\r\n });\r\n }\r\n }\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n\r\n //this.dialogModalRef.close(\"SAVE\");\r\n this.saveDocuments(response);\r\n\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n bookNewFreeAppointment(tokenId: string, paymentMode: string): any {\r\n\r\n this.submitted = true;\r\n const patientId = null;\r\n if (this.locationId == 0) {\r\n this.locationId = 156;\r\n }\r\n if (this.foundMatch && this.getcompanyuser != null) {\r\n this.IsFreeappointment = true;\r\n this.IsPaidAppointment = false; // Ensure the opposite is set to false\r\n } else {\r\n this.IsFreeappointment = false;\r\n this.IsPaidAppointment = true;\r\n }\r\n\r\n if(paymentMode==\"paid\"){\r\n this.IsFreeappointment=false\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: null,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n \r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n // IsTelehealthAppointment: true,\r\n IsTelehealthAppointment: this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.formGroup3.Notes.value,\r\n // Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n // PayRate: this.userInfo.payRate,\r\n // PayRate: this.confirmation.mode==\"Online\"?this.userInfo.payRate:this.userInfo.ftFpayRate ,\r\n PayRate: 0.00,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n IsFreeappointment:this.IsFreeappointment,\r\n IsPaidAppointment:this.IsPaidAppointment\r\n\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n this.createFreeAppointmentFromPatientPortal(appointmentData[0],'');\r\n }\r\n createFreeAppointmentFromPatientPortal(appointmentData: any,type:any) {\r\n this.schedulerService\r\n .bookNewFreeAppointmentFromPatientPortal(appointmentData)\r\n .subscribe(response => {\r\n \r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n\r\n if (localStorage.getItem(\"reportObject\") != null && localStorage.getItem(\"reportObject\") != undefined) {\r\n var object = JSON.parse(localStorage.getItem(\"reportObject\"));\r\n localStorage.removeItem(\"reportObject\");\r\n if (object != null && object != undefined) {\r\n object.patientId = response.data;\r\n this.schedulerService.SaveSymptomatePatientReport(JSON.stringify(object)).subscribe((result: any) => {\r\n\r\n });\r\n }\r\n }\r\n\r\n //this.dialogModalRef.close(\"SAVE\");\r\n this.saveDocuments(response);\r\n } else if ( response.statusCode === 404) {\r\n this.isBookingSoon = false;\r\n // this.dialogService.confirm('For additional session, there will be an additional cost of MUR XXXX. Would you like to proceed?').subscribe((result: any) => {\r\n // if (result == true) {\r\n // this.bookNewFreeAppointment(\"\", \"paid\");\r\n // }\r\n // });\r\n //this.isBookingSoon=true\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Additional Booking coming soon\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n }\r\n else{\r\n\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n openfreeapptCheckout() {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n }\r\n\r\n createModal() {\r\n\r\n let documentModal;\r\n documentModal = this.dialogModal.open(SaveDocumentComponent, { data: 0 })\r\n documentModal.afterClosed().subscribe((result: string) => {\r\n // if (result == 'save')\r\n // this.getUserDocuments();\r\n });\r\n }\r\n //show:boolean=false;\r\n\r\n termsandconditionchecked(event) {\r\n if (event.checked) {\r\n this.istermsconditionchecked = true;\r\n this.opentermconditionmodal();\r\n this.showselecttermscondition = false;\r\n } else {\r\n this.istermsconditionchecked = false;\r\n }\r\n\r\n }\r\n\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width: '70%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n //\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n //this.show=true;\r\n });\r\n }\r\n\r\n checkboxchecked(event) {\r\n this.isNotify = event.checked;\r\n }\r\n\r\n handleImageChange(e) {\r\n let files: any[] = [];\r\n files.push(e.target.files[0]);\r\n var validSize = this.commonService.calculateFileSizehandler(files);\r\n if (!validSize) {\r\n this.notifier.notify(\"error\", \"Please select file size less than 5 MB \");\r\n return null;\r\n }\r\n //if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n let fileExtension = e.target.files[0].name.split('.').pop().toLowerCase();\r\n var input = e.target;\r\n var reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.fileList.push({\r\n data: this.dataURL,\r\n ext: fileExtension,\r\n fileName: e.target.files[0].name\r\n });\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n // }\r\n // else\r\n // this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n }\r\n\r\n saveDocuments(res: any) {\r\n ///Please chnage this API to avoid loops\r\n this.local_apptid = res.data.id;\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: \"Document\",\r\n documentTypeIdStaff: 225,\r\n expiration: \"\",\r\n key: \"STAFF\",\r\n otherDocumentType: \"\",\r\n userId: Number(res.data.appointmentStaff[0].users.id),\r\n patientAppointmentId: res.data.id\r\n }\r\n let dic = [];\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(`\"${element.data.replace(/^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/, '')}\": \"${element.ext}\"`);\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {})\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.userService.uploadUserDocuments(formValues).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n\r\n return true;\r\n //this.notifier.notify('success', response.message);\r\n //this.closeDialog(\"save\");\r\n }\r\n else {\r\n this.notifier.notify('error', response.message);\r\n return false\r\n }\r\n });\r\n }\r\n else {\r\n return false;\r\n //this.notifier.notify('error', \"Please add atleast one file\");\r\n }\r\n }\r\n\r\n // getProvidersFollowUpDaysAllowed(staffId){\r\n // this.schedulerService.getStaffFeeSettings(staffId).subscribe(response => {\r\n // if (response.statusCode === 200) {\r\n // this.feeSettings = response.data as ManageFeesRefundsModel;\r\n // }\r\n // })\r\n // }\r\n\r\n // get checkIfAllowed() {\r\n // if (this.confirmation.type == 'Followup') {\r\n // if (this.userInfo && this.userInfo.followUpDays &&\r\n // this.firstFormGroup.controls.appointmentDate.value) {\r\n\r\n // return this.hasPreviousNewMeeting;\r\n // const startDate = new Date(this.firstFormGroup.controls.appointmentDate.value);\r\n // const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds\r\n // const diffDates: any = (this.lastAppointmentDateTime - startDate);\r\n // const diffDays = Math.round(Math.abs((diffDates) / oneDay))\r\n // if (diffDays > -1 && diffDays <= this.userInfo.followUpDays) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n\r\n // } else { return false; }\r\n // } else { return true; }\r\n // }\r\n\r\n getLastNewAppointment(staffId) {\r\n this.schedulerService.getGetLastNewAppointment(staffId).subscribe(response => {\r\n if (response.statusCode === 200) {\r\n this.hasPreviousNewMeeting = response.data ? true : false;\r\n // if (lastAppointment) {\r\n // this.lastAppointmentDateTime = new Date(lastAppointment.startDateTime);\r\n // this.hasPreviousNewMeeting = true;\r\n // }\r\n }\r\n });\r\n }\r\n\r\n closeModal() {\r\n this.dialogModal.closeAll();\r\n }\r\n\r\n\r\n\r\n getPatientSymptoms(searchText: string = 'headache', age): any {\r\n return this.symptomCheckerService.getPatientSymptoms(searchText, age)\r\n .pipe(map(x => {\r\n return x;\r\n }));\r\n }\r\n add(event: MatChipInputEvent): void {\r\n\r\n // Add fruit only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n if (!this.matAutocomplete.isOpen) {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n // Add our fruit\r\n if ((value || '').trim()) {\r\n this.symptoms.push(value.trim());\r\n }\r\n\r\n // Reset the input value\r\n if (input) {\r\n input.value = '';\r\n }\r\n\r\n this.userControl.setValue(null);\r\n }\r\n }\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n\r\n this.symptoms.push({\r\n id: event.option.value.id,\r\n value: event.option.viewValue,\r\n choice_id: \"present\"\r\n\r\n });\r\n //this.optionChecked=true;\r\n this.userInput.nativeElement.value = event.option.viewValue;\r\n this.userControl.setValue(event.option.viewValue);\r\n\r\n }\r\n\r\n\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n border-bottom: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 18px;\\r\\n margin-top: 10px;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #003359;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: block;\\r\\n color: #4e4852;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 14px;\\r\\n font-weight: 600;\\r\\n color: #2f2660;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #4e4852;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #2f2660;\\r\\n font-size: 20px;\\r\\n display: flex;\\r\\n font-weight: 600;\\r\\n justify-content: space-between;\\r\\n padding: 15px;\\r\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.60);\\r\\n font-size: 13px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: rgba(0, 0, 0, 0.44);\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n background-color: #f8f8f8;\\r\\n padding: 5px;\\r\\n border-left: 5px solid #003359;\\r\\n}\\r\\n\\r\\n.book-appt-type label {\\r\\n margin: 0px 10px 0px 0px;\\r\\n font-weight: 400;\\r\\n font-size: 13px;\\r\\n width: 122px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #003359;\\r\\n border-color: #003359;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding-bottom: 10px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type .mat-radio-outer-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #63d891;\\r\\n border-radius: 0;\\r\\n display: inline-block;\\r\\n font-size: 15px !important;\\r\\n padding: 5px 10px;\\r\\n height: 36px !important;\\r\\n margin: 7px 10px 7px 0px;\\r\\n line-height: normal;\\r\\n color: #63d891;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #003359;\\r\\n color: #fff;\\r\\n background-color: #003359;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 0px;\\r\\n font-size: 16px;\\r\\n /* margin: 10px 0px 0px; */\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n margin: 15px 0px 20px;\\r\\n line-height: 18px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n

{{fullname}}

\\r\\n
\\r\\n {{spl.speciality}}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (17)\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • {{userInfo.phoneNumber}}
  • \\r\\n
  • {{userInfo.email}}
  • \\r\\n
  • {{userInfo.payRate | currency:'USD':'symbol-narrow'}}
  • \\r\\n
  • {{userInfo.address}}\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Book a free appointment\\r\\n Please select a date and time and then pay to confirm your appointment.\\r\\n
\\r\\n
\\r\\n Appointment Booked\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Select Date & Time\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{type}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{mode}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Select day for booking\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Provider is not available on this date. Please choose another 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
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Book \\r\\n Please select appointment slot first to book in previous step, then pay here.\\r\\n
\\r\\n
\\r\\n

You are requesting a booking for {{spl.speciality}}\\r\\n
{{confirmation.date | date:'fullDate'}} between {{confirmation.startTime}} to\\r\\n {{confirmation.endTime}}\\r\\n

\\r\\n \\r\\n
We will send you an email with a booking confirmation.
\\r\\n\\r\\n
\\r\\n {{confirmation.type}}\\r\\n
\\r\\n
\\r\\n {{confirmation.mode}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

Thank you

\\r\\n

Your appointment has been successfully booked with
{{spl.speciality}} {{confirmation.date | date:'fullDate'}}\\r\\n between {{confirmation.startTime}} to {{confirmation.endTime}}

\\r\\n

Please Check you email for further assistance. We will contact you as soon as possible.

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\"","import { debug } from \"util\";\r\nimport { state } from \"@angular/animations\";\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\n\r\n//import { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { isatty } from \"tty\";\r\nimport { userInfo } from \"os\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Inject,\r\n Renderer2\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n StaffAward,\r\n StaffQualification,\r\n StaffExperience\r\n} from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format, getHours, getMinutes } from \"date-fns\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { DatePipe, DOCUMENT } from \"@angular/common\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { BookAppointmentComponent } from \"../book-appointment/book-appointment.component\";\r\n//import { StripeToken, StripeSource } from \"stripe-angular\";\r\n\r\nconst getDateTimeString = (date: string, time: string): string => {\r\n const y = new Date(date).getFullYear(),\r\n m = new Date(date).getMonth(),\r\n d = new Date(date).getDate(),\r\n splitTime = time.split(\":\"),\r\n hours = parseInt(splitTime[0] || \"0\", 10),\r\n minutes = parseInt(splitTime[1].substring(0, 2) || \"0\", 10),\r\n meridiem = splitTime[1].substring(3, 5) || \"\",\r\n updatedHours =\r\n (meridiem || \"\").toUpperCase() === \"PM\" && hours != 12\r\n ? hours + 12\r\n : hours;\r\n\r\n const startDateTime = new Date(y, m, d, updatedHours, minutes);\r\n\r\n return format(startDateTime, \"YYYY-MM-DDTHH:mm:ss\");\r\n};\r\n@Component({\r\n selector: \"app-book-freeappointment\",\r\n templateUrl: \"./book-freeappointment.component.html\",\r\n styleUrls: [\"./book-freeappointment.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class BookFreeAppointmentComponent implements OnInit {\r\n submitted: boolean = false;\r\n todayDate: Date = new Date();\r\n isLinear = false;\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n thirdFormGroup: FormGroup;\r\n userInfo: any;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n staffId: number;\r\n providerId: string;\r\n appointmenType: any = [\"New\", \"Followup\", \"Free\"];\r\n appointmentMode: any = [\"Online\"];\r\n //appointmentMode: any = [\"Online\", \"Face to Face\"];\r\n confirmation: any = { type: \"New\", mode: \"Online\" };\r\n providerAvailiabilitySlots: any = [];\r\n patientAppointments: any;\r\n staffAvailability: any;\r\n locationId: number;\r\n showLoader: boolean = false;\r\n providerAvailableDates: any = [];\r\n providerNotAvailableDates: any = [];\r\n\r\n masterPatientLocation: Array;\r\n masterStaffs: Array;\r\n masterAddressTypes: Array;\r\n officeAndPatientLocations: Array;\r\n masterAppointmentTypes: Array;\r\n Organization: any;\r\n patientEmail: string;\r\n paymentToken: string = \"\";\r\n Message: any;\r\n isNotBooked: boolean;\r\n isProfileLoaded: boolean = false;\r\n //Notes: string = \"\";\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private _formBuilder: FormBuilder,\r\n private homeService: HomeService,\r\n private commonService: CommonService,\r\n private notifierService: NotifierService,\r\n private usersService: UsersService,\r\n private schedulerService: SchedulerService,\r\n private datePipe: DatePipe,\r\n private renderer2: Renderer2,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n this.staffId = data.staffId;\r\n this.userInfo = data.userInfo;\r\n this.locationId = data.locationId;\r\n this.providerId = data.providerId;\r\n\r\n dialogModalRef.disableClose = true;\r\n this.masterStaffs = [];\r\n this.masterPatientLocation = [];\r\n this.masterAppointmentTypes = [];\r\n this.masterAddressTypes = [];\r\n this.officeAndPatientLocations = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.Message = null;\r\n this.isNotBooked = true;\r\n this.homeService.getOrganizationDetail().subscribe(response => {\r\n if (response.statusCode == 200) {\r\n this.Organization = response.data;\r\n }\r\n });\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n this.patientEmail = user.patientData.email;\r\n }\r\n }\r\n });\r\n const s = this.renderer2.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n this.firstFormGroup = this._formBuilder.group({\r\n appointmentDate: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: [\"\", Validators.required]\r\n });\r\n this.thirdFormGroup = this._formBuilder.group({\r\n Notes: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n if (this.providerId != \"\") this.getStaffDetail();\r\n else this.bindStaffProfile();\r\n }\r\n\r\n /*Stripe Start */\r\n openCheckout() {\r\n var handler = (window).StripeCheckout.configure({\r\n key: this.Organization.stripeKey,\r\n locale: \"auto\",\r\n token: function(token: any) {\r\n //console.log(token);\r\n if (token.id != \"\") {\r\n localStorage.setItem(\"payment_token\", token.id);\r\n //this.book(token.id);\r\n }\r\n // You can access the token ID with `token.id`.\r\n // Get the token ID to your server-side code for use.\r\n }\r\n });\r\n\r\n handler.open({\r\n name: this.Organization.organizationName,\r\n description: this.Organization.description,\r\n image: this.Organization.logo,\r\n amount: this.userInfo.payRate * 100,\r\n currency: \"inr\",\r\n email: this.patientEmail,\r\n closed: () => {\r\n this.paymentToken = localStorage.getItem(\"payment_token\");\r\n localStorage.setItem(\"payment_token\", \"\");\r\n if (this.paymentToken != \"\")\r\n this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n }\r\n });\r\n }\r\n\r\n /*Stripe End */\r\n get formGroup1() {\r\n return this.firstFormGroup.controls;\r\n }\r\n get formGroup3() {\r\n return this.thirdFormGroup.controls;\r\n }\r\n\r\n onSlotSelect(slot: any) {\r\n var index = this.providerAvailiabilitySlots.findIndex(\r\n x => x.isSelected == true\r\n );\r\n if (index != -1) {\r\n this.providerAvailiabilitySlots[index].isSelected = false;\r\n this.providerAvailiabilitySlots[index].isAvailable = true;\r\n }\r\n // this.providerAvailiabilitySlots.forEach(slot => {\r\n // slot.isSelected = false;\r\n\r\n // });\r\n this.confirmation.startTime = slot.startTime;\r\n this.confirmation.endTime = slot.endTime;\r\n slot.isSelected = true;\r\n slot.isAvailable = false;\r\n }\r\n\r\n onDateChange(event: any) {\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n let interval = 30;\r\n const filterModal = {\r\n locationIds: this.locationId,\r\n fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n toDate: format(event.value, \"YYYY-MM-DD\"),\r\n staffIds: this.staffId,\r\n patientIds: (\"\" || []).join(\",\")\r\n };\r\n let clientAppointments: Array = [];\r\n\r\n let currentAvailabilityDay: any;\r\n let currentAvailableDates: Array = [];\r\n let currentUnAvailableDates: Array = [];\r\n let days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\"\r\n ];\r\n let dayName = days[new Date(event.value).getDay()];\r\n this.staffAvailability = [];\r\n this.usersService\r\n .getStaffAvailabilityByLocation(this.staffId, this.locationId)\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n if (response.statusCode == 200) {\r\n this.schedulerService\r\n .getListData(filterModal)\r\n .subscribe((response: any) => {\r\n this.showLoader = false;\r\n if (response.statusCode == 200) {\r\n this.patientAppointments = response.data;\r\n this.patientAppointments.forEach(app => {\r\n let obj = {\r\n startTime: app.startDateTime,\r\n endTime: app.endDateTime\r\n };\r\n let timeObj = this.getStartEndTime(obj),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n if(!app.cancelTypeId || app.cancelTypeId==null && app.cancelTypeId==0)\r\n {\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n clientAppointments.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n statusName: app.statusName\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.staffAvailability = availibiltyResponse.data.days;\r\n this.providerAvailableDates = availibiltyResponse.data.available;\r\n this.providerNotAvailableDates =\r\n availibiltyResponse.data.unavailable;\r\n\r\n //Find day wise availability\r\n currentAvailabilityDay = this.staffAvailability.filter(\r\n x => x.dayName === dayName\r\n );\r\n\r\n //Find date wise availability\r\n if (\r\n this.providerAvailableDates != null &&\r\n this.providerAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates = this.providerAvailableDates.filter(\r\n x =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n );\r\n }\r\n\r\n //find datewise unavailabilty\r\n if (\r\n this.providerNotAvailableDates != null &&\r\n this.providerNotAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates = this.providerNotAvailableDates.filter(\r\n x =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n );\r\n }\r\n let slots: Array = [];\r\n let slotsIntervals: Array = [];\r\n let unAvaiabilityIntervalArr: Array = [];\r\n let availDaySlots: Array = [];\r\n let availDateSlots: Array = [];\r\n let unAvailDateSlots: Array = [];\r\n\r\n //let curentTime = this.parseTime(currentDate);\r\n if (\r\n currentAvailabilityDay != null &&\r\n currentAvailabilityDay.length > 0\r\n ) {\r\n currentAvailabilityDay.forEach(currentDay => {\r\n let timeObj = this.getStartEndTime(currentDay),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n availDaySlots.push(x);\r\n });\r\n });\r\n }\r\n if (\r\n currentAvailableDates != null &&\r\n currentAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates.forEach(avail => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n availDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (\r\n currentUnAvailableDates != null &&\r\n currentUnAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates.forEach(avail => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n unAvailDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (availDateSlots.length == 0) {\r\n if (availDaySlots.length > 0) {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach(slot => {\r\n const foundIndex = availDaySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDaySlots = availDaySlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDaySlots;\r\n }\r\n } else {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach(slot => {\r\n const foundIndex = availDateSlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDateSlots = availDateSlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDateSlots;\r\n }\r\n\r\n if (slots.length > 0) {\r\n slots.forEach(x => {\r\n this.providerAvailiabilitySlots.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n location: \"Max Hospital, Mohali\",\r\n isAvailable: true,\r\n isSelected: false,\r\n isPassed: false,\r\n isReserved: false\r\n });\r\n });\r\n }\r\n if (clientAppointments.length > 0) {\r\n clientAppointments.forEach(slot => {\r\n let status = (slot.statusName as string).toLowerCase();\r\n if ((slot.statusName as string).toLowerCase() != \"cancel\") {\r\n const foundIndex = this.providerAvailiabilitySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isAvailable = false;\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isReserved = true;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n let currentDate = new Date();\r\n if (\r\n this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n ) {\r\n let currentStartHr = currentDate.getHours(),\r\n currentStartMin = currentDate.getMinutes(),\r\n currentTime = currentStartHr * 60 + currentStartMin;\r\n this.providerAvailiabilitySlots.forEach(slot => {\r\n if (slot.isAvailable == true) {\r\n let selStart = slot.startTime.split(\" \");\r\n let selStartTime = selStart[0];\r\n let selStartHr = +selStartTime.split(\":\")[0];\r\n let selHrMin =\r\n selStart[1] == \"AM\"\r\n ? selStartHr * 60\r\n : selStartHr == 12\r\n ? selStartHr * 60\r\n : (selStartHr + 12) * 60;\r\n let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n let selEnd = slot.endTime.split(\" \");\r\n let selEndTime = selEnd[0];\r\n let selEndHr = +selEndTime.split(\":\")[0];\r\n let selEndHrMin =\r\n selEnd[1] == \"AM\"\r\n ? selEndHr * 60\r\n : selEndHr == 12 ? selEndHr * 60 : (selEndHr + 12) * 60;\r\n let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n if (\r\n currentTime >= selStartMin &&\r\n (currentTime >= selEndMin || currentTime < selEndMin)\r\n ) {\r\n slot.isPassed = true;\r\n slot.isAvailable = false;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n else{\r\n this.notifierService.notify(\"error\", \"Please Set Availability\" ); \r\n }\r\n });\r\n this.confirmation.date = event.value;\r\n }\r\n getStartEndTime(obj: any) {\r\n let startDate: Date = new Date(obj.startTime),\r\n endDate: Date = new Date(obj.endTime);\r\n\r\n let slotStartHr = startDate.getHours(),\r\n slotStartMin = startDate.getMinutes(),\r\n slotEndHr = endDate.getHours(),\r\n slotEndMin = endDate.getMinutes(),\r\n startTime = this.parseTime(slotStartHr + \":\" + slotStartMin),\r\n endTime = this.parseTime(slotEndHr + \":\" + slotEndMin);\r\n return { startTime: startTime, endTime: endTime };\r\n }\r\n parseTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n convertHours(mins: number) {\r\n let hour = Math.floor(mins / 60);\r\n mins = mins % 60;\r\n let time = \"\";\r\n if (this.pad(hour, 2) < 12) {\r\n time = this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" AM\";\r\n } else {\r\n time =\r\n this.pad(hour, 2) == 12\r\n ? this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" PM\"\r\n : this.pad(hour, 2) - 12 + \":\" + this.pad(mins, 2) + \" PM\";\r\n }\r\n //let converted = this.pad(hour, 2)+':'+this.pad(mins, 2);\r\n return time;\r\n }\r\n\r\n pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? this.pad(\"0\" + str, max) : str;\r\n }\r\n\r\n calculateTimeSlotRange(\r\n start_time: number,\r\n end_time: number,\r\n interval: number = 30\r\n ) {\r\n let i, formattedStarttime, formattedEndtime;\r\n let time_slots: Array = [];\r\n for (let i = start_time; i <= end_time - interval; i = i + interval) {\r\n formattedStarttime = this.convertHours(i);\r\n formattedEndtime = this.convertHours(i + interval);\r\n time_slots.push({\r\n startTime: formattedStarttime,\r\n endTime: formattedEndtime\r\n });\r\n }\r\n return time_slots;\r\n }\r\n\r\n onTypeChange(type: any) {\r\n this.confirmation.type = type;\r\n }\r\n onModeChange(mode: any) {\r\n this.confirmation.mode = mode;\r\n }\r\n bindStaffProfile() {\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n this.isProfileLoaded = true;\r\n }\r\n getStaffDetail() {\r\n if (this.providerId != \"\") {\r\n this.homeService.getProviderDetail(this.providerId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.userInfo = res.data;\r\n this.bindStaffProfile();\r\n }\r\n });\r\n } \r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n bookNewAppointment(tokenId: string, paymentMode: string): any {\r\n this.submitted = true;\r\n // if (this.appointmentForm.invalid) {\r\n // this.submitted = false;\r\n // return;\r\n // }\r\n\r\n // submit form\r\n // const selectedStaffs = this.appointmentForm.get(\"StaffIDs\").value,\r\n // selectedAppointmentTypeId = this.appointmentForm.get(\"AppointmentTypeID\")\r\n // .value,\r\n // selectedPatientId = this.appointmentForm.get(\"PatientID\").value,\r\n // startDate = this.appointmentForm.get(\"startDate\").value,\r\n // startTime = this.appointmentStartTime, // this.appointmentForm.get('startTime').value,\r\n // endTime = this.appointmentEndTime; // this.appointmentForm.get('endTime').value;\r\n\r\n // let appointmentStaffs = null;\r\n // let staffIds = Array.isArray(selectedStaffs)\r\n // ? selectedStaffs\r\n // : [selectedStaffs];\r\n // appointmentStaffs = (this.appointmentModal.appointmentStaffs || []\r\n // ).map(Obj => {\r\n // return { StaffId: Obj.staffId, IsDeleted: true };\r\n // });\r\n // staffIds.forEach(staffId => {\r\n // // update case for appointment staffs ------\r\n // let staff = appointmentStaffs.find(\r\n // Obj => Obj.StaffId === staffId && Obj.IsDeleted\r\n // );\r\n // if (staff) {\r\n // let index = appointmentStaffs.indexOf(staff);\r\n // appointmentStaffs[index] = { StaffId: staff.StaffId, IsDeleted: false };\r\n // } else {\r\n // appointmentStaffs.push({ StaffId: staffId, IsDeleted: false });\r\n // }\r\n // });\r\n\r\n // let addressesObj = {\r\n // CustomAddressID: null,\r\n // CustomAddress: null,\r\n // PatientAddressID: null,\r\n // OfficeAddressID: null\r\n // };\r\n // if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OTHER\"\r\n // ) {\r\n // addressesObj.CustomAddress = this.appointmentForm.get(\r\n // \"CustomAddress\"\r\n // ).value;\r\n // addressesObj.CustomAddressID = this.appointmentForm.get(\r\n // \"CustomAddressID\"\r\n // ).value;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"PATIENT\"\r\n // ) {\r\n // addressesObj.PatientAddressID = this.selectedServiceLocation.id;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OFFICE\"\r\n // ) {\r\n // addressesObj.OfficeAddressID = this.selectedServiceLocation.id;\r\n // }\r\n\r\n const patientId = null;\r\n // selectedPatientId && typeof selectedPatientId === \"object\"\r\n // ? selectedPatientId.id\r\n // : null;\r\n //this.recurrenceRule = this.appointmentId ? \"\" : this.recurrenceRule;\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: null,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n IsTelehealthAppointment: true,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.formGroup3.Notes.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n PayRate: this.userInfo.payRate,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n this.createAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n createAppointmentFromPatientPortal(appointmentData: any) {\r\n this.schedulerService\r\n .bookNewAppointmentFromPatientPortal(appointmentData)\r\n .subscribe(response => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n bookNewFreeAppointment(tokenId: string, paymentMode: string): any {\r\n this.submitted = true;\r\n // if (this.appointmentForm.invalid) {\r\n // this.submitted = false;\r\n // return;\r\n // }\r\n\r\n // submit form\r\n // const selectedStaffs = this.appointmentForm.get(\"StaffIDs\").value,\r\n // selectedAppointmentTypeId = this.appointmentForm.get(\"AppointmentTypeID\")\r\n // .value,\r\n // selectedPatientId = this.appointmentForm.get(\"PatientID\").value,\r\n // startDate = this.appointmentForm.get(\"startDate\").value,\r\n // startTime = this.appointmentStartTime, // this.appointmentForm.get('startTime').value,\r\n // endTime = this.appointmentEndTime; // this.appointmentForm.get('endTime').value;\r\n\r\n // let appointmentStaffs = null;\r\n // let staffIds = Array.isArray(selectedStaffs)\r\n // ? selectedStaffs\r\n // : [selectedStaffs];\r\n // appointmentStaffs = (this.appointmentModal.appointmentStaffs || []\r\n // ).map(Obj => {\r\n // return { StaffId: Obj.staffId, IsDeleted: true };\r\n // });\r\n // staffIds.forEach(staffId => {\r\n // // update case for appointment staffs ------\r\n // let staff = appointmentStaffs.find(\r\n // Obj => Obj.StaffId === staffId && Obj.IsDeleted\r\n // );\r\n // if (staff) {\r\n // let index = appointmentStaffs.indexOf(staff);\r\n // appointmentStaffs[index] = { StaffId: staff.StaffId, IsDeleted: false };\r\n // } else {\r\n // appointmentStaffs.push({ StaffId: staffId, IsDeleted: false });\r\n // }\r\n // });\r\n\r\n // let addressesObj = {\r\n // CustomAddressID: null,\r\n // CustomAddress: null,\r\n // PatientAddressID: null,\r\n // OfficeAddressID: null\r\n // };\r\n // if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OTHER\"\r\n // ) {\r\n // addressesObj.CustomAddress = this.appointmentForm.get(\r\n // \"CustomAddress\"\r\n // ).value;\r\n // addressesObj.CustomAddressID = this.appointmentForm.get(\r\n // \"CustomAddressID\"\r\n // ).value;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"PATIENT\"\r\n // ) {\r\n // addressesObj.PatientAddressID = this.selectedServiceLocation.id;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OFFICE\"\r\n // ) {\r\n // addressesObj.OfficeAddressID = this.selectedServiceLocation.id;\r\n // }\r\n\r\n const patientId = null;\r\n // selectedPatientId && typeof selectedPatientId === \"object\"\r\n // ? selectedPatientId.id\r\n // : null;\r\n //this.recurrenceRule = this.appointmentId ? \"\" : this.recurrenceRule;\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: null,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n IsTelehealthAppointment: true,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.formGroup3.Notes.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n PayRate: this.userInfo.payRate,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n this.createFreeAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n createFreeAppointmentFromPatientPortal(appointmentData: any) {\r\n this.schedulerService\r\n .bookNewFreeAppointmentFromPatientPortal(appointmentData)\r\n .subscribe(response => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n openfreeapptCheckout()\r\n {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n }\r\n}\r\n","module.exports = \".cont-banner {\\r\\n background-image: url('contact-us-banner.png');\\r\\n background-repeat: no-repeat;\\r\\n width: 100%;\\r\\n position: relative;\\r\\n background-size: cover;\\r\\n height: 600px;\\r\\n margin-bottom: 60px;\\r\\n}\\r\\n.contactus-content {\\r\\n background: rgb(24 155 237 / 30%);\\r\\n color: #fff;\\r\\n text-align: center;\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n width: 100%;\\r\\n padding: 40px 0;\\r\\n}\\r\\n.contactus-content h2{\\r\\n font-size: 3rem;\\r\\n}\\r\\n.conract-form form {\\r\\n background: #fff;\\r\\n padding: 4%;\\r\\n margin-bottom: 50px;\\r\\n}\\r\\n.conract-form .form-group .input-style {\\r\\n width: 100%;\\r\\n padding:10px 20px;\\r\\n border-radius: 0;\\r\\n border: 1px solid #707070;\\r\\n min-height: 50px;\\r\\n}\\r\\n.outbox-enqueires {\\r\\n text-align: center;\\r\\n margin: 40px auto;\\r\\n}\\r\\n.enqueiries {\\r\\n background: #fff;\\r\\n padding: 30px;\\r\\n word-break: break-word;\\r\\n margin-top: 35px;\\r\\n}\\r\\n.blue-icon {\\r\\n background:#7E9693;\\r\\n border-radius: 100%;\\r\\n height: 150px;\\r\\n width: 150px;\\r\\n padding: 20px;\\r\\n margin: 20px auto;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n.outbox-enqueires.dark-theme .blue-icon {\\r\\n /* background:#2F2660; */\\r\\n}\\r\\n.blue-icon img {\\r\\n max-width: 90%;\\r\\n max-height: 90%;\\r\\n}\\r\\n.enqueiries p, .enqueiries span{\\r\\n font-weight: 500;\\r\\n font-size: 1.5rem;\\r\\n}\\r\\n.enqueiries a {\\r\\n background: #7E9693;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n width: 200px;\\r\\n line-height: 50px;\\r\\n border-radius: 12px;\\r\\n margin-top: 20px;\\r\\n}\\r\\n.outbox-enqueires.dark-theme .enqueiries a {\\r\\n /* background:#2F2660; */\\r\\n}\\r\\n.enqueiries h2 {\\r\\n font-weight: 600;\\r\\n}\\r\\na.mailto-btn {\\r\\n margin-top: 100px;\\r\\n}\\r\\n.enqueiries::before {\\r\\n content: '';\\r\\n display: block;\\r\\n width: 80%;\\r\\n margin: auto;\\r\\n height: 18px;\\r\\n background: #7E9693;\\r\\n position: relative;\\r\\n top: -37px;\\r\\n}\\r\\n.outbox-enqueires.dark-theme .enqueiries::before {\\r\\n /* background:#2F2660; */\\r\\n}\\r\\n.conract-form form .btn-outer button {\\r\\n box-shadow: none;\\r\\n border-radius: 12px;\\r\\n margin: auto;\\r\\n display: inline-block;\\r\\n width: 200px;\\r\\n line-height: 50px;\\r\\n margin-top: 20px;\\r\\n font-size: 16px;\\r\\n}\\r\\n.conract-form form .btn-outer{\\r\\n text-align: center;\\r\\n}\\r\\n.conract-form form p {\\r\\n color: #000000;\\r\\n font-size: 22px;\\r\\n}\\r\\n.conract-form form p a {\\r\\n text-decoration: underline;\\r\\n color: #003359;\\r\\n}\\r\\n.outbox-enqueires h3 {\\r\\n font-weight: 600;\\r\\n}\\r\\nsection.location-contact {\\r\\n margin-bottom: 60px;\\r\\n}\\r\\n@media (max-width: 575px){\\r\\n.whatwedo-content h2,.contactus-content h2 {\\r\\n font-size: 2rem;\\r\\n}\\r\\n.conract-form form p {\\r\\n font-size: 16px;\\r\\n}\\r\\n.cont-banner {\\r\\n height: 450px;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n.blue-icon{\\r\\n height: 110px;\\r\\n width: 110px;\\r\\n}\\r\\n.enqueiries p, .enqueiries span {\\r\\n font-weight: 500;\\r\\n font-size: 1.3rem;\\r\\n}\\r\\n.enqueiries h2 {\\r\\n font-size: 1.7rem;\\r\\n}\\r\\nsection.location-contact {\\r\\n margin-bottom: 0;\\r\\n}\\r\\n}\\r\\n.is-invalid{\\r\\n border: 1px solid red !important;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Making patients and practitioners closer than ever

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

Tell us if you have any questions and we'll get back to you promptly

\\r\\n
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please enter Name\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please enter email\\r\\n \\r\\n \\r\\n Please enter a valid email address\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select department\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

The information you provide will be used in accordance with the terms of our\\r\\n privacy policy .\\r\\n

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

Public Enquiries

\\r\\n
\\r\\n
\\r\\n \\\"icon\\\"\\r\\n
\\r\\n

Do you have any questions or enquiries?

\\r\\n Call Us At \\r\\n

+1 (916) 213-6432

\\r\\n Call Now\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Practitioners

\\r\\n
\\r\\n
\\r\\n \\\"icon\\\"\\r\\n
\\r\\n

Are you a care provider interested in working with TeleHealth?

\\r\\n \\r\\n Email Us\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Headquarters

\\r\\n
\\r\\n
\\r\\n \\\"icon\\\"\\r\\n \\r\\n
\\r\\n

5850 Turnberry Drive

\\r\\n

Dublin

\\r\\n

CA 94568

\\r\\n

+1 (916) 213-6432

\\r\\n

+91 910 077 7332 (whatsapp Only)

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","\r\nimport { AfterViewInit, Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-contact-us\",\r\n templateUrl: \"./contact-us.component.html\",\r\n styleUrls: [\"./contact-us.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ContactUsComponent implements OnInit{\r\n contactUsForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n subDomainInfo: any;\r\n errorMessage: string = null;\r\n ipAddress:string;\r\n sendContactUsDataUrl=\"api/Organization/SendContactUsData\";\r\n organizationEmailAddress: string=\"iama_admin@iamahealth.net\";\r\n getOrganizationEmailAddressUrl=\"api/Organization/GetOrganizationEmailAddress\";\r\n constructor(private formBuilder: FormBuilder,\r\n private router: Router,\r\n private commonService: CommonService,\r\n private notifier: NotifierService){\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.sytemInfo.subscribe(obj => {\r\n this.ipAddress = obj.ipAddress;\r\n });\r\n this.contactUsForm = this.formBuilder.group({\r\n name: [\"\", Validators.required],\r\n email: [\"\", [Validators.required, Validators.email]],\r\n department: [\"\", Validators.required],\r\n reason: [\"\"],\r\n });\r\n this.getOrganizationEmailAddress();\r\n }\r\n\r\n get f() {\r\n return this.contactUsForm.controls;\r\n }\r\n\r\n getOrganizationEmailAddress(){\r\n this.commonService.get(this.getOrganizationEmailAddressUrl).subscribe( res =>{\r\n this.organizationEmailAddress = res.data;\r\n });\r\n }\r\n\r\n get mailToAddress() :string{\r\n if(this.organizationEmailAddress){\r\n return \"mailto:\"+this.organizationEmailAddress+\"?Subject=Hello%20again\";\r\n } else {\r\n return \"mailto:info@smartdatainc.net?Subject=Hello%20again\";\r\n }\r\n \r\n }\r\n \r\n\r\n onSubmit(){\r\n \r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.contactUsForm.invalid) {\r\n return;\r\n }\r\n \r\n this.loading = true;\r\n this.errorMessage = null;\r\n \r\n const postData = {\r\n Name: this.f.name.value,\r\n EmailAddress: this.f.email.value,\r\n Department: this.f.department.value,\r\n Reason: this.f.reason.value,\r\n IPaddress: this.ipAddress ? this.ipAddress : ''\r\n };\r\n\r\n this.commonService.post(this.sendContactUsDataUrl,postData,true).subscribe(res => {\r\n if(res.data){\r\n this.notifier.notify('success','Submitted Successfully');\r\n this.router.navigate(['/']);\r\n }\r\n });\r\n\r\n }\r\n}\r\n","module.exports = \".mb-7 {\\r\\n margin-bottom: 70px;\\r\\n}\\r\\n\\r\\n.mat-card {\\r\\n padding: 15px !important;\\r\\n}\\r\\n\\r\\n.search-filter .mat-checkbox {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header {\\r\\n padding: 0px 15px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header-title {\\r\\n align-items: center;\\r\\n color: #7E9693;\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header-title i {\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n.search-filter .ng-select .ng-clear-wrapper .ng-clear {\\r\\n padding-top: 3px;\\r\\n}\\r\\n\\r\\n.search-filter .ng-select .ng-select-container {\\r\\n border: 1px solid #ccc !important;\\r\\n}\\r\\n\\r\\n.mat-raised-button {\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select {\\r\\n width: 100%;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 2px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container {\\r\\n border: 0px;\\r\\n border-radius: 0px;\\r\\n -webkit-border-radius: 0px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input {\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 36px;\\r\\n}\\r\\n\\r\\n.count-list {\\r\\n background: #7E9693;\\r\\n /* Old browsers */\\r\\n color: #fff;\\r\\n padding: 15px;\\r\\n margin-bottom: 15px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.sort-by {\\r\\n float: left;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.sort-by button {\\r\\n font-size: 18px;\\r\\n padding: 4px 18px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.sort-by button:hover {\\r\\n box-shadow: 0px 10px 20px rgb(0 0 0 / 16%);\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.custom-ng-select {\\r\\n width: 135px;\\r\\n display: inline-block;\\r\\n margin-left: 10px;\\r\\n height: 30px;\\r\\n padding: 0px;\\r\\n border: 1px solid #ddd;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.ng-select-single .ng-select-container {\\r\\n height: 25px;\\r\\n min-height: 25px;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 25px;\\r\\n}\\r\\n\\r\\n.count-list h3 {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-input {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-calendar-container {\\r\\n z-index: 1;\\r\\n top: inherit;\\r\\n}\\r\\n\\r\\n.search-filter .ngx-datepicker-container .ngx-datepicker-input {\\r\\n border: 1px solid #ccc !important;\\r\\n border-radius: 4px !important;\\r\\n -webkit-border-radius: 4px !important;\\r\\n min-height: 36px;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-selected,\\r\\n.main-calendar-days .day-unit:hover {\\r\\n background: #003359 !important;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-today {\\r\\n background: #63d891 !important;\\r\\n}\\r\\n\\r\\n.filter-widget .mat-checkbox {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.filter-widget .more-widget {\\r\\n color: #003359;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.filter-widget .ng-scrollbar-view {\\r\\n overflow: auto;\\r\\n}\\r\\n\\r\\n.filter-btn {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.doctor-widget {\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.doctor-widget .doc-info {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.doc-info-left {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.doctor-img {\\r\\n width: 180px;\\r\\n height: 180px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n overflow: hidden;\\r\\n margin-right: 15px;\\r\\n /* flex: 0 0 180px; */\\r\\n /* display: flex; */\\r\\n}\\r\\n\\r\\n.doctor-widget .doc-name {\\r\\n font-size: 20px;\\r\\n font-weight: 500;\\r\\n margin-bottom: 3px;\\r\\n color: #7E9693;\\r\\n}\\r\\n\\r\\n.doc-name a {\\r\\n color: #7E9693;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.doc-name a:hover {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.mat-card-content p.doc-speciality {\\r\\n font-size: 14px;\\r\\n color: #757575;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.doc-department {\\r\\n color: #2f2660;\\r\\n font-size: 14px;\\r\\n margin-bottom: 0;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.hand {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.list-grid-btn {\\r\\n font-size: 20px;\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n\\r\\n.list-grid-btn .active {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.list-grid-btn i {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.cfee {\\r\\n margin-bottom: 7px;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n.clinic-services {\\r\\n color: #272b41;\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n display: inline-block;\\r\\n font-size: 12px;\\r\\n padding: 3px 10px;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n margin-right: 5px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n.clinic-booking {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n border-top: 1px solid #ddd;\\r\\n padding-top: 15px;\\r\\n margin-top: 15px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.clinic-booking .mat-raised-button {\\r\\n box-shadow: none;\\r\\n -ms-box-shadow: none;\\r\\n min-width: 120px;\\r\\n border-radius: 10px;\\r\\n padding: 3px;\\r\\n}\\r\\n\\r\\n.clinic-booking button.mat-accent {\\r\\n background-color: transparent;\\r\\n color: #003359;\\r\\n border: 2px solid #003359;\\r\\n}\\r\\n\\r\\na.link-btn {\\r\\n color: #fff;\\r\\n \\r\\n}\\r\\n\\r\\n.mat-checkbox-checkmark-path {\\r\\n stroke: #003359 !important;\\r\\n}\\r\\n\\r\\n.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,\\r\\n.mat-checkbox-checked.mat-accent .mat-checkbox-background {\\r\\n background-color: #fff !important;\\r\\n border: 2px solid #b9b9b9 !important;\\r\\n}\\r\\n\\r\\n.mat-checkbox-frame {\\r\\n border-color: #b9b9b9 !important;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.link-btn:hover {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.chk-availability label {\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.chk-availability button {\\r\\n background: #fff;\\r\\n border: 1px solid #b9b9b9;\\r\\n border-radius: 5px;\\r\\n font-size: 13px;\\r\\n color: #b9b9b9;\\r\\n font-weight: 500;\\r\\n margin-right: 10px;\\r\\n margin-bottom: 10px;\\r\\n padding: 5px 10px;\\r\\n line-height: 13px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.chk-availability button:disabled {\\r\\n cursor: not-allowed;\\r\\n border: 1px solid #e5e5e5;\\r\\n}\\r\\n\\r\\n.chk-availability button.active {\\r\\n border-color: #e7d9f8;\\r\\n color: #2f2660;\\r\\n background: #e7d9f8;\\r\\n}\\r\\n\\r\\n.chk-availability button:not(:disabled):hover {\\r\\n background: #189bed;\\r\\n color: #fff;\\r\\n border-color: #189bed;\\r\\n}\\r\\n\\r\\n.clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.clini-infos ul li {\\r\\n display: block;\\r\\n line-height: 25px;\\r\\n word-break: break-word;\\r\\n color: #2f2660;\\r\\n position: relative;\\r\\n padding-left: 25px;\\r\\n padding-right: 5px;\\r\\n font-size: 15px;\\r\\n}\\r\\n\\r\\n.clini-infos ul li a {\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.clini-infos ul li .direction {\\r\\n color: #003359;\\r\\n cursor: pointer;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.clini-infos ul li i {\\r\\n font-size: 15px;\\r\\n min-width: 20px;\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 6px;\\r\\n}\\r\\n\\r\\n.doc-info-cont .row {\\r\\n margin-left: 0;\\r\\n}\\r\\n\\r\\n.mat-form-field+.mat-form-field {\\r\\n margin-left: 8px;\\r\\n}\\r\\n\\r\\n/* grid view */\\r\\n\\r\\n/* .grid-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n\\r\\n/* .grid-profile .clinic-services {\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.grid-profile .doc-info,\\r\\n.grid-profile .doc-info-left {\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-img {\\r\\n float: left;\\r\\n height: 160px;\\r\\n width: 160px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.grid-profile button {\\r\\n margin-top: 15px;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-info-right {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-info-right .clini-infos {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.grid-profile .addres {\\r\\n min-height: 39px;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-department {\\r\\n /* min-height: 30px; */\\r\\n word-break: break-all;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-widget .doc-info {\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n/* list view */\\r\\n\\r\\n/* .list-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n\\r\\n.list-profile a {\\r\\n margin-right: 15px;\\r\\n}\\r\\n\\r\\n@media (max-width: 1199px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 160px;\\r\\n height: 160px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n }\\r\\n\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n .clinic-btn {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n .list-profile a {\\r\\n margin-right: 0px;\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n\\r\\n .list-grid-btn,\\r\\n .sort-by {\\r\\n margin-top: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n .count-list {\\r\\n justify-content: flex-start;\\r\\n flex-wrap: wrap;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n .count-list h3 {\\r\\n margin: 5px 15px 5px 0px;\\r\\n font-size: 18px;\\r\\n }\\r\\n\\r\\n .sort-by {\\r\\n float: none;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .doctor-widget .doc-info {\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 160px;\\r\\n height: 160px;\\r\\n float: left;\\r\\n }\\r\\n\\r\\n .clini-infos ul li {\\r\\n display: inline-block;\\r\\n padding-right: 10px;\\r\\n }\\r\\n\\r\\n .clini-infos ul li i {\\r\\n min-width: auto;\\r\\n }\\r\\n\\r\\n .doc-info-left {\\r\\n width: 100%;\\r\\n display: inherit;\\r\\n }\\r\\n\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: row;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 480px) {\\r\\n\\r\\n .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n }\\r\\n\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n .clinic-btn {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n.ngx-datepicker-calendar-container {\\r\\n z-index: 2 !important;\\r\\n}\\r\\n\\r\\n.ngx-slider .ngx-slider-bubble {\\r\\n font-weight: 500;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n line-height: 14px;\\r\\n padding-top: 0;\\r\\n margin-top: 8px;\\r\\n}\\r\\n\\r\\nmat-slider {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.price-range span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.mat-slider-thumb {\\r\\n border: 8px solid transparent !important;\\r\\n background-color: #003359 !important;\\r\\n}\\r\\n\\r\\n.mat-slider-track-fill {\\r\\n background-color: #003359 !important;\\r\\n}\\r\\n\\r\\n.cancl-pol-txt {\\r\\n color: #003359 !important;\\r\\n cursor: pointer !important;\\r\\n font-weight: 500 !important;\\r\\n line-height: 20px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.second-opinion-button {\\r\\n width: 100%;\\r\\n display: flex !important;\\r\\n flex-direction: row !important;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\r\\n    \\r\\n {{totalRecords}} Matches Found - {{searchedLocation}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Search\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Select Speciality\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{spl.value}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 10 && speciality.length>10\\\"\\r\\n (click)=\\\"maxIndex = (maxIndex - 10)\\\">Less...\\r\\n More...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Select Services\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{srv.value}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 10 && services.length\\\"\\r\\n (click)=\\\"maxIndexService = (maxIndexService - 10)\\\">Less...\\r\\n More...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n
\\r\\n

\\r\\n {{provider.fullName}}

\\r\\n \\r\\n
\\r\\n \\r\\n {{spl.service}}\\r\\n 0 && i<=2\\\">, {{spl.service}} \\r\\n \\r\\n 2\\\">,+{{ provider.services?.length-3}} more\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n 0\\\"\\r\\n class=\\\"d-inline-block average-rating\\\">({{provider.totalReviews}})\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n \\r\\n \\r\\n
  • \\r\\n {{provider.address}}\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
Your search did not matched any\\r\\n results. Please try a different search.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { BookAppointmentComponent } from \"./../book-appointment/book-appointment.component\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { HomeService } from \"./../home/home.service\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { AfterViewInit, Component, ElementRef, OnInit, QueryList, ViewChild, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { DatepickerOptions } from \"ng2-datepicker\";\r\nimport * as enLocale from \"date-fns/locale/en\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ProviderSearchFilterModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\nimport { NullInjector } from \"@angular/core/src/di/injector\";\r\nimport { BookFreeAppointmentComponent } from \"../book-freeappointment/book-freeappointment.component\";\r\nimport { of } from \"rxjs\";\r\nimport {\r\n debounceTime,\r\n map,\r\n distinctUntilChanged,\r\n filter\r\n} from \"rxjs/operators\";\r\nimport { fromEvent } from 'rxjs';\r\nimport { ProviderProfileModalComponent } from \"../provider-profile/provider-profile.component\";\r\nimport { LabelType, Options } from \"@angular-slider/ngx-slider\";\r\nimport { CancelationRule } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\nimport { ProviderFeeSettingsComponent } from \"../provider-fee-settings/provider-fee-settings.component\";\r\nimport { MockResourceLoader } from \"@angular/compiler/testing\";\r\nimport { timingSafeEqual } from \"crypto\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { error } from \"console\";\r\n// import { Options } from \"ngx-google-places-autocomplete/objects/options/options\";\r\n// type NewType = Options;\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-doctor-list\",\r\n templateUrl: \"./doctor-list.component.html\",\r\n styleUrls: [\"./doctor-list.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DoctorListComponent implements OnInit, AfterViewInit {\r\n panelOpenState = false;\r\n specialityIconCheck: any;\r\n data: any[] = [];\r\n specialityIcon: any;\r\n showLoader: boolean = true;\r\n selectedSpeciality: any;\r\n selectedLocation: any;\r\n selectedDate: any;\r\n @ViewChild('tempselectedDate') tempselectedDate: ElementRef;\r\n @ViewChildren('temprating') temprating: QueryList;\r\n\r\n providerserachtext: string;\r\n doctorWidgetClass: string = \"col-sm-6 grid-profile\";\r\n options: DatepickerOptions;\r\n metaData: any;\r\n sortby: any[] = [\r\n { value: 1, label: \"Price Low\" },\r\n { value: 2, label: \"Price High\" },\r\n { value: 3, label: \"Rating\" }\r\n ];\r\n\r\n location: any[] = [];\r\n speciality: any[] = [];\r\n services: any[] = [];\r\n minIndex: number = 0;\r\n maxIndex: number = 10;\r\n minIndexService: number = 0;\r\n maxIndexService: number = 10;\r\n filterModel: ProviderSearchFilterModel;\r\n providers: any = [];\r\n totalRecords: number = 0;\r\n searchedLocation: string = \"\";\r\n masterGender: any = [];\r\n\r\n Slider: Options = {\r\n floor: 0,\r\n ceil: 1000,\r\n translate: (value: number, label: LabelType): string => {\r\n\r\n return \"USD \" + value;\r\n }\r\n };\r\n minrate = 0;\r\n maxrate = 1000;\r\n\r\n\r\n checkedLocations: string[] = [];\r\n checkedSpecialities: string[] = [];\r\n checkedGenders: string[] = [];\r\n checkedServices: string[] = [];\r\n checkedRates: string[] = [];\r\n reviewRates: string[] = [];\r\n @ViewChild('prosearchtext') prosearchtext: ElementRef;\r\n staffId: string;\r\n isSecondOpinion: boolean;\r\n typeOfAppt: any;\r\n list: any;\r\n patientAddress: any;\r\n loading: boolean = true;\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private datePipe: DatePipe,\r\n private route: ActivatedRoute,\r\n private homeService: HomeService,\r\n private dialogModal: MatDialog,\r\n private headerComp: HomeHeaderComponent,\r\n private router: Router,\r\n private notifier: NotifierService\r\n ) {\r\n this.commonService.initializeAuthData();\r\n let dte = new Date();\r\n dte.setDate(dte.getDate() - 1);\r\n this.options = {\r\n minYear: 1970,\r\n maxYear: 2030,\r\n displayFormat: \"MMM D[,] YYYY\",\r\n barTitleFormat: \"MMMM YYYY\",\r\n dayNamesFormat: \"dd\",\r\n firstCalendarDay: 0, // 0 - Sunday, 1 - Monday\r\n locale: enLocale,\r\n minDate: dte, // Minimal selectable date\r\n //maxDate: new Date(Date.now()), // Maximal selectable date\r\n barTitleIfEmpty: \"Click to select a date\",\r\n placeholder: \"Select Date\", // HTML input placeholder attribute (default: '')\r\n fieldId: \"my-date-picker\", // ID to assign to the input field. Defaults to datepicker-\r\n useEmptyBarTitle: false // Defaults to true. If set to false then barTitleIfEmpty will be disregarded and a date will always be shown\r\n };\r\n this.filterModel = new ProviderSearchFilterModel();\r\n }\r\n\r\n\r\n ngAfterViewInit(): void {\r\n this.searchInitilizer();\r\n }\r\n\r\n ngOnInit() {\r\n this.loading = true;\r\n window.scroll(0, 0)\r\n this.getMasterData();\r\n this.patientAddress = localStorage.getItem('Address');\r\n if (this.patientAddress == null || this.patientAddress == \" \") {\r\n this.notifier.notify(\"error\", \"Please fill profile details.\");\r\n }\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.staffId = params[\"providerId\"];\r\n this.specialityIcon = params[\"searchTerm\"];\r\n this.typeOfAppt = params[\"type\"];\r\n // this.checkedSpecialities.push(\r\n // this.commonService.encryptValue(params[\"sp\"], false)\r\n // );\r\n if (\r\n params[\"loc\"] != \"\" &&\r\n params[\"loc\"] != null &&\r\n params[\"loc\"] != undefined\r\n ) {\r\n this.checkedLocations.push(\r\n this.commonService.encryptValue(params[\"loc\"], false)\r\n );\r\n }\r\n this.filterModel.Date = params[\"d\"];\r\n });\r\n\r\n this.setPaginatorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder\r\n );\r\n this.getProviderList(this.filterModel);\r\n }\r\n public isKeySet(obj: any, key: string): boolean {\r\n let isFound = false;\r\n obj.forEach(element => {\r\n if ((element as string) == key.toString()) isFound = true;\r\n });\r\n return isFound;\r\n }\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n let date = null;\r\n if (\r\n this.selectedDate != undefined &&\r\n this.selectedDate != null &&\r\n this.selectedDate != \"\"\r\n ) {\r\n date = new Date(this.selectedDate);\r\n //date.setDate(date.getDate() + 1);\r\n }\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.Date =\r\n date != null\r\n ? this.datePipe.transform(new Date(date), \"dd-MM-yyyy\")\r\n : null;\r\n this.filterModel.Locations = this.selectedLocation;\r\n this.filterModel.Specialities = this.checkedSpecialities.toString();\r\n this.filterModel.Rates = this.checkedRates.toString();\r\n\r\n this.filterModel.MinRate = this.minrate.toString();\r\n\r\n this.filterModel.ReviewRating = \"\";//this.reviewRates.toString();\r\n this.filterModel.Services = this.checkedServices.toString();\r\n this.filterModel.Gender = this.checkedGenders.toString();\r\n this.filterModel.keywords = \"\";\r\n //this.filterModel.Genders.push(\"0\");\r\n //this.filterModel.Specialities.push(this.selectedSpeciality);\r\n this.filterModel.ProviderId = this.staffId ? this.staffId : '';\r\n }\r\n onSpecialityChange(option, event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.prosearchtext.nativeElement.value = '';\r\n this.filterModel.ProvidersearchText = '';\r\n if (event.source.checked) {\r\n this.checkedSpecialities.push(option.id.toString());\r\n\r\n } else {\r\n for (var i = 0; i < this.checkedSpecialities.length; i++) {\r\n if (this.checkedSpecialities[i] == option.id) {\r\n this.checkedSpecialities.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n this.getMasterData(this.checkedSpecialities, 1)\r\n this.applyFilter(true);\r\n\r\n\r\n }\r\n onServiceChange(option, event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.prosearchtext.nativeElement.value = '';\r\n this.filterModel.ProvidersearchText = '';\r\n if (event.source.checked) {\r\n this.checkedServices.push(option.id.toString());\r\n } else {\r\n for (var i = 0; i < this.checkedServices.length; i++) {\r\n if (this.checkedServices[i] == option.id) {\r\n this.checkedServices.splice(i, 1);\r\n }\r\n }\r\n }\r\n this.applyFilter(true);\r\n }\r\n onGenderChange(option, event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.prosearchtext.nativeElement.value = '';\r\n this.filterModel.ProvidersearchText = '';\r\n if (event.source.checked) {\r\n this.checkedGenders.push(option.id.toString());\r\n } else {\r\n for (var i = 0; i < this.checkedGenders.length; i++) {\r\n if (this.checkedGenders[i] == option.id) {\r\n this.checkedGenders.splice(i, 1);\r\n }\r\n }\r\n }\r\n this.applyFilter(true);\r\n }\r\n\r\n // onConsultationFeeChange(event) {\r\n // this.filterModel.ProviderId = '';\r\n // this.staffId = '';\r\n // this.prosearchtext.nativeElement.value = '';\r\n // if (event.source.checked) {\r\n // this.checkedRates.push(event.source.id.toString());\r\n // } else {\r\n // for (var i = 0; i < this.checkedRates.length; i++) {\r\n // if (this.checkedRates[i] == event.source.id) {\r\n // this.checkedRates.splice(i, 1);\r\n // }\r\n // }\r\n // }\r\n\r\n // this.applyFilter(true);\r\n // }\r\n\r\n onConsultationFeeChange(event) {\r\n\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.prosearchtext.nativeElement.value = '';\r\n this.filterModel.ProvidersearchText = '';\r\n this.checkedRates = [this.maxrate.toString()];\r\n\r\n this.applyFilter(true);\r\n }\r\n\r\n onReviewRatingChange(event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.prosearchtext.nativeElement.value = '';\r\n this.filterModel.ProvidersearchText = '';\r\n if (event.source.checked) {\r\n this.reviewRates.push(event.source.id.toString());\r\n } else {\r\n for (var i = 0; i < this.reviewRates.length; i++) {\r\n if (this.reviewRates[i] == event.source.id) {\r\n this.reviewRates.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n this.applyFilter(true);\r\n }\r\n\r\n onDateChange(event) {\r\n\r\n this.applyFilter(true);\r\n }\r\n\r\n // onFeeChange(option, event) {\r\n // if (event.source.checked) {\r\n // this.checkedRates.push(option.id.toString());\r\n // } else {\r\n // for (var i = 0; i < this.checkedRates.length; i++) {\r\n // if (this.checkedRates[i] == option.id) {\r\n // this.checkedRates.splice(i, 1);\r\n // }\r\n // }\r\n // }\r\n // }\r\n clearFilter() {\r\n\r\n this.prosearchtext.nativeElement.value = '';\r\n this.filterModel.ProvidersearchText = '';\r\n this.checkedGenders = [];\r\n this.checkedRates = [];\r\n this.checkedServices = [];\r\n this.checkedSpecialities = [];\r\n this.selectedSpeciality = [];\r\n this.reviewRates = [];\r\n if (this.tempselectedDate) {\r\n this.tempselectedDate['displayValue'] = '';\r\n }\r\n this.temprating.forEach(element => {\r\n element.checked = false;\r\n });\r\n // this.selectedSpeciality = \"\";\r\n // this.route.queryParams.subscribe(params => {\r\n // this.selectedSpeciality = +this.commonService.encryptValue(\r\n // params[\"sp\"],\r\n // false\r\n // );\r\n // });\r\n // this.checkedSpecialities.push(this.selectedSpeciality);\r\n\r\n // To reset consultation fees slider\r\n this.maxrate = 1000;\r\n this.minrate = 0;\r\n\r\n this.applyFilter(false);\r\n }\r\n applyFilter(isSearching: boolean = true) {\r\n\r\n this.setPaginatorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder\r\n );\r\n this.getProviderList(this.filterModel, isSearching);\r\n }\r\n seaching: boolean = false;\r\n clearing: boolean = false;\r\n getProviderList(\r\n filterModel: ProviderSearchFilterModel,\r\n Isflitering: boolean = false\r\n ) {\r\n this.loading = true; \r\n this.filterModel.ProviderId = '';\r\n if (Isflitering) this.seaching = true;\r\n else this.clearing = true;\r\n this.homeService.getProviderList(filterModel).subscribe((response: any) => {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.isSecondOpinion = false;\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n // let test = response.data;\r\n // this.providers = response.data;\r\n // console.log(\"appy\", this.typeOfAppt);\r\n\r\n if (this.typeOfAppt && (this.typeOfAppt === 'secondOpinion = true' || this.typeOfAppt === 'secondOpinion')) {\r\n this.list = response.data;\r\n for (var i = 0; i <= this.list.length; i++) {\r\n if (this.list[i].isSecondOpinion == true) {\r\n this.providers.push(this.list[i]);\r\n this.isSecondOpinion = true;\r\n }\r\n }\r\n } else {\r\n this.providers = response.data;\r\n this.loading = false;\r\n }\r\n\r\n if (localStorage.getItem(\"symptoms\") != null) {\r\n\r\n this.filterProvider(localStorage.getItem(\"symptoms\"), response.data);\r\n }\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords;\r\n if(Number(this.reviewRates.toString()) > 0){\r\n this.providers = this.providers.filter(r=>r.average == this.reviewRates.toString());\r\n }\r\n } else {\r\n this.loading = false;\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n this.showLoader = false;\r\n this.seaching = false;\r\n this.clearing = false;\r\n }, error => {\r\n this.loading = false;\r\n }, () => {\r\n if (this.list) {\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n filterProvider(symptoms: any, resp: any) {\r\n\r\n resp.forEach((value, index) => {\r\n\r\n if (value.keyword != null && value.keyword != undefined) {\r\n\r\n var arr = value.keyword.split(',').map(function (v) {\r\n return v.toLowerCase();\r\n });;\r\n if (!symptoms.split(',').some(ai => arr.includes(ai))) {\r\n this.providers.splice(index, 1);\r\n }\r\n }\r\n else {\r\n this.providers.splice(index, 1);\r\n }\r\n\r\n });\r\n\r\n localStorage.removeItem(\"symptoms\");\r\n }\r\n\r\n getMasterData(globalCodeId: any[] = [], requestType: any = 0) {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n\r\n var prvSelectedValue = this.commonService.encryptValue(params[\"sp\"], false)\r\n var prvSelectedService = this.commonService.encryptValue(params[\"srvc\"], false)\r\n if (prvSelectedService != '' && prvSelectedService != null && this.checkedServices.length == 0 && requestType == 0) {\r\n this.checkedServices.push(prvSelectedService);\r\n }\r\n if (prvSelectedValue != '' && prvSelectedValue != null && this.checkedSpecialities.length == 0 && requestType == 0) {\r\n this.checkedSpecialities.push(prvSelectedValue);\r\n }\r\n\r\n });\r\n\r\n\r\n this.homeService\r\n .getMasterData(\r\n \"masterLocation,MASTERTAXONOMY,MASTERSTAFFSERVICE,MASTERSPECIALITY,MASTERGENDER\", true, this.checkedSpecialities\r\n\r\n )\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n // this.speciality =\r\n // response.masterTaxonomy != null ? response.masterTaxonomy : [];\r\n this.speciality =\r\n response.masterSpeciality != null ? response.masterSpeciality : [];\r\n this.location =\r\n response.masterLocation != null ? response.masterLocation : [];\r\n this.services =\r\n response.masterStaffServices != null\r\n ? response.masterStaffServices\r\n : [];\r\n\r\n this.speciality.push({ id: 0, value: \"More specialities can be populated on request\" });\r\n this.services.push({ id: 0, value: \"More services can be populated on request\" });\r\n\r\n this.route.queryParams.subscribe(params => {\r\n // this.selectedSpeciality\r\n // if( this.commonService.encryptValue(params[\"sp\"], false)!=undefined && this.commonService.encryptValue(params[\"sp\"], false)!=null)\r\n\r\n // {\r\n\r\n // this.checkedSpecialities.push(\r\n // this.commonService.encryptValue(params[\"sp\"], false)\r\n // );\r\n // }\r\n if (\r\n params[\"loc\"] != \"\" &&\r\n params[\"loc\"] != null &&\r\n params[\"loc\"] != undefined\r\n ) {\r\n this.selectedLocation = +this.commonService.encryptValue(\r\n params[\"loc\"],\r\n false\r\n ); //\r\n\r\n this.searchedLocation = this.location.find(\r\n x => (x.id = this.selectedLocation)\r\n ).locationName;\r\n }\r\n this.selectedDate = params[\"d\"]; // this.datePipe.transform(params['d'], 'yyyy-MM-dd');\r\n\r\n });\r\n }\r\n if (!this.specialityIcon) {\r\n this.applyFilter();\r\n }\r\n else {\r\n this.Providersearchtext(this.specialityIcon);\r\n }\r\n }, error => {\r\n this.loading = false;\r\n }, () => {\r\n\r\n });\r\n }\r\n bookAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n let encryptedStaffId = this.commonService.encryptValue(staffId);\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => { \r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n // this.headerComp.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // this.headerComp.redirectToDashboard(\"/web\");\r\n // } else {\r\n //this.headerComp.isPatient = result.isPatient;\r\n //this.headerComp.IsLogin = true;\r\n //this.headerComp.loading = true;\r\n //this.headerComp.setispateintlogin();\r\n // location.reload();\r\n if (this.typeOfAppt && this.typeOfAppt === 'secondOpinion') {\r\n this.router.navigate(['/web/client/second-opinion/booking'], { queryParams: { id: encryptedStaffId } });\r\n } else {\r\n this.openDialogBookAppointment(staffId, providerId);\r\n }\r\n //}\r\n } else if (this.typeOfAppt && this.typeOfAppt === 'secondOpinion') {\r\n this.router.navigate(['/web/client/second-opinion/booking'], { queryParams: { id: encryptedStaffId } });\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n // if (result != null && result.response.access_token != \"\") {\r\n\r\n // this.headerComp.IsLogin == true;\r\n // this.headerComp.checkUserLogin();\r\n // }\r\n });\r\n } else if (this.typeOfAppt && this.typeOfAppt === 'secondOpinion') {\r\n this.router.navigate(['/web/client/second-opinion/booking'], { queryParams: { id: encryptedStaffId } });\r\n } else {\r\n this.openDialogBookAppointment(staffId, providerId);\r\n }\r\n //let staffId = this.commonService.encryptValue(id);\r\n }\r\n openDialogBookAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(BookAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffId: staffId,\r\n userInfo: null,\r\n providerId: providerId,\r\n locationId: this.selectedLocation || 0\r\n },\r\n width: \"80%\"\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n // if (result == \"booked\") {\r\n // }\r\n //location.reload();\r\n }\r\n });\r\n }\r\n // redirectToProfilePage(providerId: string) {\r\n // if (\r\n // this.selectedLocation != undefined &&\r\n // this.selectedLocation != null &&\r\n // this.selectedLocation != \"\"\r\n // )\r\n // this.router.navigate([\"/doctor-profile\"], {\r\n // queryParams: {\r\n // id: providerId,\r\n // loc: this.commonService.encryptValue(this.selectedLocation, true)\r\n // }\r\n // });\r\n // else\r\n // this.router.navigate([\"/doctor-profile\"], {\r\n // queryParams: {\r\n // id: providerId\r\n // }\r\n // });\r\n // }\r\n\r\n redirectToProfilePage(providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(ProviderProfileModalComponent, {\r\n hasBackdrop: true,\r\n data: { id: providerId, apptType: this.typeOfAppt ? this.typeOfAppt : '' },\r\n width: '70%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n });\r\n }\r\n\r\n bookFreeAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n // this.headerComp.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // this.headerComp.redirectToDashboard(\"/web\");\r\n // } else {\r\n\r\n //this.headerComp.IsLogin = true;\r\n //this.headerComp.checkUserLogin();\r\n location.reload();\r\n //}\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n // if (result != null && result.response.access_token != \"\") {\r\n\r\n // this.headerComp.IsLogin == true;\r\n // this.headerComp.checkUserLogin();\r\n // }\r\n });\r\n } else {\r\n this.openDialogBookFreeAppointment(staffId, providerId);\r\n }\r\n //let staffId = this.commonService.encryptValue(id);\r\n }\r\n openDialogBookFreeAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(BookFreeAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffId: staffId,\r\n userInfo: null,\r\n providerId: providerId,\r\n locationId: this.selectedLocation || 0\r\n }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n if (result == \"booked\") {\r\n }\r\n }\r\n });\r\n }\r\n\r\n onSortChange(event) {\r\n\r\n this.filterModel.SortType = event.value.toString();\r\n this.applysortFilter(true);\r\n }\r\n\r\n applysortFilter(isSearching: boolean = true) {\r\n\r\n this.setPaginatorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder\r\n );\r\n this.getSortProviderList(this.filterModel, isSearching);\r\n }\r\n sortseaching: boolean = false;\r\n sortclearing: boolean = false;\r\n getSortProviderList(\r\n filterModel: ProviderSearchFilterModel,\r\n Isflitering: boolean = false\r\n ) {\r\n\r\n if (Isflitering) this.sortseaching = true;\r\n else this.sortclearing = true;\r\n\r\n this.homeService.getSortProviderList(filterModel).subscribe((response: any) => {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n //this.providers = response.data;\r\n\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords;\r\n } else {\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n this.loading = false;\r\n }\r\n this.showLoader = false;\r\n this.seaching = false;\r\n this.clearing = false;\r\n });\r\n }\r\n\r\n\r\n searchInitilizer() {\r\n fromEvent(this.prosearchtext.nativeElement, 'keyup').pipe(\r\n\r\n map((event: any) => {\r\n return event.target.value;\r\n })\r\n , filter(res => res.length > 2 || res.length == 0)\r\n , debounceTime(1000)\r\n , distinctUntilChanged()\r\n ).subscribe((text: string) => { \r\n //change 23/2/24 remove Providersearchtext add getproviderlist\r\n this.filterModel.ProvidersearchText = text;\r\n this.applyFilter(true);\r\n // this.Providersearchtext(text);\r\n })\r\n }\r\n\r\n Providersearchtext(text: string) {\r\n this.loading = true;\r\n this.filterModel.ProvidersearchText = text;\r\n this.filterModel.ProviderId = '';\r\n this.homeService.getsearchtextProviderList(this.filterModel).subscribe((response: any) => { \r\n \r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n this.providers = response.data;\r\n\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords;\r\n } else {\r\n this.loading = false;\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n this.showLoader = false;\r\n this.seaching = false;\r\n this.clearing = false;\r\n\r\n }, error => {\r\n this.loading = false;\r\n }, () => {\r\n if (this.providers.length >= 0) {\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n openCancellationRulesPopup(rules) {\r\n rules = rules ? rules : [];\r\n const dbModal = this.dialogModal.open(ProviderFeeSettingsComponent, {\r\n hasBackdrop: true,\r\n data: rules as CancelationRule[],\r\n width: '400px',\r\n maxWidth: '400px',\r\n minWidth: '40%'\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \"agm-map {\\r\\n height: 500px;\\r\\n}\\r\\n.mat-card {\\r\\n padding: 15px;\\r\\n}\\r\\n.readmin-panel { \\r\\n padding: 15px; \\r\\n}\\r\\n.mb-10{\\r\\n margin-bottom: 100px;\\r\\n}\\r\\n.mat-raised-button {\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n border-radius: 10px !important;\\r\\n}\\r\\n.doctor-widget {\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n.doctor-widget .doc-info {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n}\\r\\n.doctor-profile-img .doctor-img {\\r\\n width: 200px;\\r\\n height: 200px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n overflow: hidden;\\r\\n margin-right: 15px;\\r\\n /* flex: 0 0 200px; */\\r\\n /* display: flex; */\\r\\n}\\r\\n.doc-info-cont star-rating span.star {\\r\\n margin: 0;\\r\\n}\\r\\n.doctor-widget .doc-name {\\r\\n font-size: 20px;\\r\\n font-weight: 500;\\r\\n margin-bottom: 3px;\\r\\n}\\r\\n.doc-name a {\\r\\n color: #000;\\r\\n}\\r\\n.doc-name a:hover {\\r\\n color: #63d891;\\r\\n}\\r\\n.mat-card-content p.doc-speciality {\\r\\n font-size: 14px;\\r\\n color: #757575;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.doc-department {\\r\\n color: #003359;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n.rating {\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n.doctor-widget .rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.clinic-services {\\r\\n color: #272b41;\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n.clinic-services span {\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n display: inline-block;\\r\\n font-size: 12px;\\r\\n padding: 3px 10px;\\r\\n}\\r\\n.clinic-services span {\\r\\n margin-right: 5px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n.clinic-gallery .ngx-gallery-remaining-count {\\r\\n font-size: 20px !important;\\r\\n}\\r\\n.profile-view .clinic-booking {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n.profile-view .clinic-booking .mat-raised-button {\\r\\n box-shadow: none;\\r\\n -ms-box-shadow: none;\\r\\n width: 100%;\\r\\n margin-top: 15px;\\r\\n border-radius: 10px;\\r\\n font-weight: 600;\\r\\n padding: 4px 15px;\\r\\n}\\r\\n.profile-view .clinic-booking button.mat-accent {\\r\\n background-color: transparent;\\r\\n color: #003359;\\r\\n border: 2px solid #003359;\\r\\n padding: 1px 15px;\\r\\n margin-right: 0 !important;\\r\\n}\\r\\n.profile-view .doc-info-right {\\r\\n width: 200px;\\r\\n}\\r\\n.profile-view .clini-infos ul {\\r\\n font-size: 14px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n.clini-infos ul li {\\r\\n display: block;\\r\\n line-height: 25px;\\r\\n color: #4e4852;\\r\\n}\\r\\n.clini-infos ul li i {\\r\\n font-size: 15px;\\r\\n min-width: 20px;\\r\\n}\\r\\n.doc-info-cont {\\r\\n padding-right: 15px;\\r\\n}\\r\\n.profile-widget h4,\\r\\n.service-list h4 {\\r\\n font-size: 15px;\\r\\n font-weight: 600;\\r\\n color: #000;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.profile-widget {\\r\\n margin-top: 20px;\\r\\n color: #000;\\r\\n}\\r\\n.profile-widget ul {\\r\\n margin: 0px;\\r\\n padding: 0px 0px 0px 5px;\\r\\n}\\r\\n.profile-widget ul li {\\r\\n list-style: none;\\r\\n padding-bottom: 30px;\\r\\n position: relative;\\r\\n border-left: 1px solid #ccc;\\r\\n padding-left: 15px;\\r\\n line-height: 15px;\\r\\n}\\r\\n.profile-widget ul li:before {\\r\\n position: absolute;\\r\\n content: \\\"\\\";\\r\\n width: 12px;\\r\\n height: 12px;\\r\\n background: #63d891;\\r\\n border-radius: 100px;\\r\\n left: -6px;\\r\\n top: 0px;\\r\\n z-index: 1;\\r\\n}\\r\\n.profile-widget ul li:last-child {\\r\\n padding-bottom: 0px;\\r\\n}\\r\\n.profile-widget ul li span {\\r\\n display: block;\\r\\n font-size: 13px;\\r\\n margin: 5px 0px 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n.profile-widget ul li p {\\r\\n color: #003359;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n.service-list {\\r\\n margin-top: 30px;\\r\\n}\\r\\n.service-list ul {\\r\\n padding: 0px;\\r\\n margin: 0px;\\r\\n}\\r\\n.service-list ul li {\\r\\n list-style: none;\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n padding-right: 20px;\\r\\n padding-left: 15px;\\r\\n padding-bottom: 10px;\\r\\n}\\r\\n.service-list ul li:before {\\r\\n position: absolute;\\r\\n content: \\\"\\\\2713\\\";\\r\\n left: 0px;\\r\\n top: 0px;\\r\\n color: #63d891;\\r\\n font-weight: bold;\\r\\n}\\r\\n.clinic-content h4 {\\r\\n font-size: 16px;\\r\\n}\\r\\n.clinic-direction {\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n margin-top: 10px;\\r\\n}\\r\\n.clinic-direction a {\\r\\n color: #63d891;\\r\\n margin-top: 10px;\\r\\n display: inline-block;\\r\\n}\\r\\n.clinic-timing > div {\\r\\n margin-top: 15px;\\r\\n}\\r\\n.clinic-timing p {\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n.timings-days span {\\r\\n font-weight: 600;\\r\\n}\\r\\n.clinic-timing span {\\r\\n display: block;\\r\\n}\\r\\n.direction-map {\\r\\n width: 100%;\\r\\n height: 320px;\\r\\n border: 10px solid #e3e3e3;\\r\\n border-radius: 10px;\\r\\n overflow: hidden;\\r\\n margin-top: 20px;\\r\\n}\\r\\n@media (max-width: 575px) {\\r\\n .doctor-widget .doc-info {\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n }\\r\\n .doc-info-right {\\r\\n width: 100%;\\r\\n }\\r\\n .clini-infos {\\r\\n margin-top: 15px;\\r\\n }\\r\\n .clini-infos ul li {\\r\\n display: inline-block;\\r\\n padding-right: 10px;\\r\\n }\\r\\n .clini-infos ul li i {\\r\\n min-width: auto;\\r\\n }\\r\\n}\\r\\n@media (max-width: 575px) {\\r\\n .doc-info > div {\\r\\n flex-direction: column;\\r\\n }\\r\\n .doctor-img {\\r\\n margin: 0px auto 10px auto;\\r\\n }\\r\\n .doc-info-cont {\\r\\n padding-right: 0px;\\r\\n }\\r\\n}\\r\\n.star {\\r\\n margin-right: -4px;\\r\\n}\\r\\n.average-rating {\\r\\n font-size: 12px !important;\\r\\n line-height: 30px;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n
\\r\\n

{{fullname}}

\\r\\n \\r\\n
{{spl.serviceName}}
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n 0\\\" class=\\\"d-inline-block average-rating\\\">({{averageRating.total}})\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • {{userInfo.address}}
  • \\r\\n
  • {{userInfo.payRate | currency:'USD':'symbol-narrow'}}\\r\\n\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

About Me

\\r\\n

{{userInfo.aboutMe}}

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

Work & Experience

\\r\\n
    \\r\\n
  • {{exp.organizationName}}\\r\\n {{exp.startDate | date:'mediumDate'}} - {{exp.endDate | date:'mediumDate'}} ({{exp.totalExperience}})\\r\\n
  • \\r\\n
\\r\\n No work & experience added yet.\\r\\n
\\r\\n
\\r\\n

Education

\\r\\n
    \\r\\n
  • {{edu.university}}\\r\\n {{edu.course}}\\r\\n {{edu.startDate | date:'mediumDate'}} - {{edu.endDate | date:'mediumDate'}}\\r\\n
  • \\r\\n
\\r\\n No qualification added yet.\\r\\n
\\r\\n
\\r\\n

Awards

\\r\\n
    \\r\\n
  • \\r\\n \\r\\n

    {{award.awardType}}

    \\r\\n {{award.description}}\\r\\n
  • \\r\\n
\\r\\n No awards added yet.\\r\\n
\\r\\n
\\r\\n

Services

\\r\\n
    \\r\\n
  • {{serv.serviceName}}
  • \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{loc.assignedLocationsModel.location}}

\\r\\n
\\r\\n {{loc.assignedLocationsModel.address}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{avail.dayName | slice:0:3}} \\r\\n

\\r\\n

\\r\\n {{avail.startTime | date:'shortTime'}} - {{avail.endTime | date:'shortTime'}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n {{m.label}}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n 0}\\\" stickyHeader=\\\"true\\\" [inputColumns]=\\\"reviewRatingDisplayedColumns\\\"\\r\\n [inputSource]=\\\"reviewRatingList\\\" (onChange)=\\\"onReviewRatingPageOrSortChange($event)\\\" [inputMeta]=\\\"reviewRatingMeta\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { MatDialog } from \"@angular/material\";\r\nimport {\r\n StaffAward,\r\n StaffQualification,\r\n StaffExperience\r\n} from \"./doctor-profile.model\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { DataTableComponent } from \"./../../shared/data-table/data-table.component\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n ElementRef,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {\r\n NgxGalleryOptions,\r\n NgxGalleryImage,\r\n NgxGalleryAnimation\r\n} from \"ngx-gallery\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { MouseEvent } from \"@agm/core\";\r\nimport { BookAppointmentComponent } from \"src/app/front/book-appointment/book-appointment.component\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport {\r\n FilterModel,\r\n Metadata\r\n} from \"src/app/platform/modules/core/modals/common-model\";\r\n\r\n//import { HomeContainerComponent } from \"src/app/front/home-container/home-container.component\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-doctor-profile\",\r\n templateUrl: \"./doctor-profile.component.html\",\r\n styleUrls: [\"./doctor-profile.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DoctorProfileComponent implements OnInit {\r\n staffId: string = \"\";\r\n locationId: number = 0;\r\n userInfo: any;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n reviewRatingDisplayedColumns: Array;\r\n reviewRatingMeta: Metadata;\r\n reviewRatingfilterModel: FilterModel;\r\n averageRating: any;\r\n\r\n constructor(\r\n private homeService: HomeService,\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService,\r\n private dialogModal: MatDialog,\r\n private headerComp: HomeHeaderComponent,\r\n private router: Router\r\n ) {\r\n this.reviewRatingDisplayedColumns = [\r\n {\r\n displayName: \"Rating\",\r\n key: \"rating\",\r\n class: \"\",\r\n width: \"240px\",\r\n sticky: true,\r\n type: \"rating\"\r\n },\r\n {\r\n displayName: \"Review\",\r\n key: \"review\",\r\n width: \"140px\"\r\n },\r\n { displayName: \"Date\", key: \"createdDate\", width: \"250px\", type: \"date\" }//,\r\n //{\r\n // displayName: \"Reviewed By\",\r\n // key: \"patientName\",\r\n // width: \"250px\",\r\n // type: \"50\",\r\n // isInfo: true\r\n //}\r\n ];\r\n this.reviewRatingfilterModel = new FilterModel();\r\n }\r\n\r\n galleryOptions: NgxGalleryOptions[];\r\n galleryImages: NgxGalleryImage[];\r\n ngOnInit(): void {\r\n this.activatedRoute.queryParams.subscribe(param => {\r\n this.staffId = param[\"id\"];\r\n if (\r\n param[\"loc\"] != \"\" &&\r\n param[\"loc\"] != null &&\r\n param[\"loc\"] != undefined\r\n )\r\n this.locationId = this.commonService.encryptValue(param[\"loc\"], false);\r\n });\r\n this.getStaffDetail();\r\n this.getAverageRating();\r\n this.galleryOptions = [\r\n {\r\n width: \"100px\",\r\n height: \"50px\",\r\n thumbnailsColumns: 2,\r\n image: false,\r\n thumbnailsRemainingCount: true,\r\n imageAnimation: NgxGalleryAnimation.Slide\r\n },\r\n // max-width 800\r\n {\r\n breakpoint: 800,\r\n width: \"100%\",\r\n height: \"600px\",\r\n imagePercent: 80,\r\n thumbnailsPercent: 20,\r\n thumbnailsMargin: 20,\r\n thumbnailMargin: 20\r\n },\r\n // max-width 400\r\n {\r\n breakpoint: 400,\r\n preview: false\r\n }\r\n ];\r\n\r\n this.galleryImages = [\r\n {\r\n small: \"assets/img/doctor-3big.jpg\",\r\n big: \"assets/img/doctor-3big.jpg\"\r\n },\r\n {\r\n small: \"assets/img/dentistroom.jpg\",\r\n big: \"assets/img/dentistroom.jpg\"\r\n },\r\n {\r\n small: \"assets/img/dentistroom1.jpg\",\r\n big: \"assets/img/dentistroom1.jpg\"\r\n }\r\n ];\r\n this.tabs = [\r\n {\r\n tabName: \"Overview\"\r\n },\r\n {\r\n tabName: \"Location\"\r\n },\r\n {\r\n tabName: \"Reviews\"\r\n }\r\n ];\r\n }\r\n\r\n loadChild(event: any) {\r\n switch (event.tab.textLabel) {\r\n case this.tabs[0].tabName:\r\n this.getStaffDetail();\r\n break;\r\n case this.tabs[1].tabName:\r\n this.getLocationAvailability();\r\n break;\r\n case this.tabs[2].tabName:\r\n this.getReviewRating();\r\n break;\r\n }\r\n }\r\n getStaffDetail() {\r\n if (this.staffId != \"\") {\r\n this.homeService.getProviderDetail(this.staffId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.userInfo = res.data;\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n }\r\n });\r\n }\r\n }\r\n getAverageRating() {\r\n if (this.staffId != \"\") {\r\n this.homeService.getAverageRating(this.staffId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.averageRating = res.data;\r\n }\r\n });\r\n }\r\n }\r\n StaffLocationAvailabilities: any[] = [];\r\n getLocationAvailability() {\r\n if (this.staffId != \"\") {\r\n this.homeService\r\n .getProviderLocationAndAvailibilityDetail(this.staffId)\r\n .subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.StaffLocationAvailabilities = res.data;\r\n this.markers = [];\r\n this.StaffLocationAvailabilities.forEach(loc => {\r\n this.markers.push({\r\n lat: loc.assignedLocationsModel.latitude,\r\n lng: loc.assignedLocationsModel.longitude,\r\n label: loc.assignedLocationsModel.location,\r\n draggable: true\r\n });\r\n });\r\n }\r\n });\r\n }\r\n }\r\n reviewRatingList: any[] = [];\r\n getReviewRating(pageNumber: number = 1, pageSize: number = 5) {\r\n if (this.staffId != \"\") {\r\n this.homeService\r\n .getRatingReviews(this.staffId, true, pageNumber, pageSize)\r\n .subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.reviewRatingList = res.data;\r\n this.reviewRatingMeta = res.meta;\r\n }\r\n });\r\n }\r\n }\r\n\r\n onReviewRatingPageOrSortChange(changeState?: any) {\r\n this.setReviewRatingtPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getReviewRating(changeState.pageNumber, 5);\r\n }\r\n\r\n setReviewRatingtPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.reviewRatingfilterModel.pageNumber = pageNumber;\r\n this.reviewRatingfilterModel.pageSize = pageSize;\r\n this.reviewRatingfilterModel.sortOrder = sortOrder;\r\n this.reviewRatingfilterModel.sortColumn = sortColumn;\r\n }\r\n\r\n /*\r\n Google Map\r\n */\r\n // google maps zoom level\r\n zoom: number = 2;\r\n\r\n // initial center position for the map\r\n lat: number = 30.6767304;\r\n lng: number = 76.70975070431633;\r\n\r\n clickedMarker(label: string, index: number) {\r\n // console.log(`clicked the marker: ${label || index}`);\r\n }\r\n\r\n mapClicked($event: MouseEvent) {\r\n this.markers.push({\r\n lat: $event.coords.lat,\r\n lng: $event.coords.lng,\r\n draggable: true\r\n });\r\n }\r\n\r\n markerDragEnd(m: marker, $event: MouseEvent) {\r\n // console.log(\"dragEnd\", m, $event);\r\n }\r\n\r\n markers: marker[] = [\r\n {\r\n lat: 30.6767304,\r\n lng: 76.70975070431633,\r\n label: \"A\",\r\n draggable: true\r\n }\r\n ];\r\n openDialogBookAppointment() {\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n // this.headerComp.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // this.headerComp.redirectToDashboard(\"/web\");\r\n // } else {\r\n\r\n //this.headerComp.IsLogin = true;\r\n //this.headerComp.checkUserLogin();\r\n location.reload();\r\n //}\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n // if (result != null && result.response.access_token != \"\") {\r\n\r\n // this.headerComp.IsLogin == true;\r\n // this.headerComp.checkUserLogin();\r\n // }\r\n });\r\n } else {\r\n this.createDailogForBookAppoitment();\r\n }\r\n }\r\n\r\n createDailogForBookAppoitment() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(BookAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffId: this.userInfo.id,\r\n userInfo: this.userInfo,\r\n providerId: \"\",\r\n locationId: this.locationId\r\n }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n if (result == \"booked\") {\r\n }\r\n }\r\n });\r\n }\r\n backToListing() {\r\n location.href = \"/doctor-list\";\r\n //this.router.navigateByUrl(\"/doctor-list\");\r\n }\r\n}\r\n\r\n// just an interface for type safety.\r\ninterface marker {\r\n lat: number;\r\n lng: number;\r\n label?: string;\r\n draggable: boolean;\r\n}\r\n","export class StaffAward {\r\n id: string;\r\n awardType: string;\r\n description: string;\r\n awardDate: string;\r\n isDeleted: boolean;\r\n}\r\n\r\nexport class StaffExperience {\r\n id: string = \"\";\r\n organizationName: string = \"\";\r\n startDate: string;\r\n endDate: string;\r\n totalExperience: string = \"0\";\r\n isDeleted: boolean = false;\r\n}\r\n\r\nexport class StaffQualification {\r\n id: string;\r\n course: string;\r\n university: string;\r\n startDate: string;\r\n endDate: string;\r\n isDeleted: boolean;\r\n}\r\n","module.exports = \".faq-section{\\r\\n margin: 10px auto 110px;\\r\\n}\\r\\n.mat-expansion-panel-header{\\r\\n height: 100% !important;\\r\\n padding: 14px 24px !important;\\r\\n}\\r\\n.faq-section mat-expansion-panel {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n.mat-expansion-panel-header-title {\\r\\n flex-grow: unset !important; \\r\\n font-weight: 500;\\r\\n font-size: 17px;\\r\\n white-space: nowrap;\\r\\n}\\r\\n.mat-expansion-panel-body p span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

FAQ's

\\r\\n

Get the most out of your plan with easier access to tools, resources and support. Take charge of your\\r\\n health care and benefits with your smartTeleHealth.

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Q 1:\\r\\n \\r\\n \\r\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut\\r\\n labore et dolore magna aliqua.\\r\\n \\r\\n \\r\\n \\r\\n

Ans : Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\\r\\n consequat.\\r\\n Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla\\r\\n pariatur.

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Q 2:\\r\\n \\r\\n \\r\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut\\r\\n labore et dolore magna aliqua.\\r\\n \\r\\n \\r\\n

Ans : Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\\r\\n consequat.\\r\\n Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla\\r\\n pariatur.

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Q 3:\\r\\n \\r\\n \\r\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut\\r\\n labore et dolore magna aliqua.\\r\\n \\r\\n \\r\\n

Ans : Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\\r\\n consequat.\\r\\n Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla\\r\\n pariatur.

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Q 4:\\r\\n \\r\\n \\r\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut\\r\\n labore et dolore magna aliqua.\\r\\n \\r\\n \\r\\n

Ans : Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\\r\\n consequat.\\r\\n Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla\\r\\n pariatur.

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Q 5:\\r\\n \\r\\n \\r\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut\\r\\n labore et dolore magna aliqua.\\r\\n \\r\\n \\r\\n

Ans : Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\\r\\n consequat.\\r\\n Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla\\r\\n pariatur.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","\r\nimport { AfterViewInit, Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-faq\",\r\n templateUrl: \"./faq.component.html\",\r\n styleUrls: [\"./faq.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FaqComponent implements OnInit{\r\n panelOpenState:boolean;\r\n ngOnInit() {}\r\n}\r\n","module.exports = \".mb-7 {\\r\\n margin-bottom: 70px;\\r\\n}\\r\\n\\r\\n.mat-card {\\r\\n padding: 15px !important;\\r\\n}\\r\\n\\r\\n.search-filter .mat-checkbox {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header {\\r\\n padding: 0px 15px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header-title {\\r\\n align-items: center;\\r\\n color: #2f2660;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header-title i {\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n.search-filter .ng-select .ng-clear-wrapper .ng-clear {\\r\\n padding-top: 3px;\\r\\n}\\r\\n\\r\\n.search-filter .ng-select .ng-select-container {\\r\\n border: 1px solid #ccc !important;\\r\\n}\\r\\n\\r\\n.mat-raised-button {\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select {\\r\\n width: 100%;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 2px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container {\\r\\n border: 0px;\\r\\n border-radius: 0px;\\r\\n -webkit-border-radius: 0px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input {\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 36px;\\r\\n}\\r\\n\\r\\n.count-list {\\r\\n background: #00305b;\\r\\n /* Old browsers */\\r\\n color: #fff;\\r\\n padding: 15px;\\r\\n margin-bottom: 15px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.sort-by {\\r\\n float: left;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.sort-by button {\\r\\n font-size: 18px;\\r\\n padding: 4px 18px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.sort-by button:hover {\\r\\n box-shadow: 0px 10px 20px rgb(0 0 0 / 16%);\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.custom-ng-select {\\r\\n width: 135px;\\r\\n display: inline-block;\\r\\n margin-left: 10px;\\r\\n height: 30px;\\r\\n padding: 0px;\\r\\n border: 1px solid #ddd;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.ng-select-single .ng-select-container {\\r\\n height: 25px;\\r\\n min-height: 25px;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 25px;\\r\\n}\\r\\n\\r\\n.count-list h3 {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-input {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-calendar-container {\\r\\n z-index: 1;\\r\\n top: inherit;\\r\\n}\\r\\n\\r\\n.search-filter .ngx-datepicker-container .ngx-datepicker-input {\\r\\n border: 1px solid #ccc !important;\\r\\n border-radius: 4px !important;\\r\\n -webkit-border-radius: 4px !important;\\r\\n min-height: 36px;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-selected,\\r\\n.main-calendar-days .day-unit:hover {\\r\\n background: #00305b !important;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-today {\\r\\n background: #63d891 !important;\\r\\n}\\r\\n\\r\\n.filter-widget .mat-checkbox {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.filter-widget .more-widget {\\r\\n color: #00305b;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.filter-widget .ng-scrollbar-view {\\r\\n overflow: auto;\\r\\n}\\r\\n\\r\\n.filter-btn {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.doctor-widget {\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.doctor-widget .doc-info {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.doc-info-left {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.doctor-img {\\r\\n width: 180px;\\r\\n height: 180px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n overflow: hidden;\\r\\n margin-right: 15px;\\r\\n /* flex: 0 0 180px; */\\r\\n /* display: flex; */\\r\\n}\\r\\n\\r\\n.doctor-widget .doc-name {\\r\\n font-size: 20px;\\r\\n font-weight: 500;\\r\\n margin-bottom: 3px;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.doc-name a {\\r\\n color: #2f2660;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.doc-name a:hover {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.mat-card-content p.doc-speciality {\\r\\n font-size: 14px;\\r\\n color: #757575;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.doc-department {\\r\\n color: #2f2660;\\r\\n font-size: 14px;\\r\\n margin-bottom: 0;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.hand {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.list-grid-btn {\\r\\n font-size: 20px;\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n\\r\\n.list-grid-btn .active {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.list-grid-btn i {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.cfee {\\r\\n margin-bottom: 7px;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n.clinic-services {\\r\\n color: #272b41;\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n display: inline-block;\\r\\n font-size: 12px;\\r\\n padding: 3px 10px;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n margin-right: 5px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n.clinic-booking {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n border-top: 1px solid #ddd;\\r\\n padding-top: 15px;\\r\\n margin-top: 15px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.clinic-booking .mat-raised-button {\\r\\n box-shadow: none;\\r\\n -ms-box-shadow: none;\\r\\n min-width: 120px;\\r\\n border-radius: 10px;\\r\\n padding: 3px;\\r\\n}\\r\\n\\r\\n.clinic-booking button.mat-accent {\\r\\n background-color: transparent;\\r\\n color: #00305b;\\r\\n border: 2px solid #00305b;\\r\\n}\\r\\n\\r\\na.link-btn {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.mat-checkbox-checkmark-path {\\r\\n stroke: #00305b !important;\\r\\n}\\r\\n\\r\\n.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,\\r\\n.mat-checkbox-checked.mat-accent .mat-checkbox-background {\\r\\n background-color: #fff !important;\\r\\n border: 2px solid #b9b9b9 !important;\\r\\n}\\r\\n\\r\\n.mat-checkbox-frame {\\r\\n border-color: #b9b9b9 !important;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #00305b !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #00305b !important;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.link-btn:hover {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.chk-availability label {\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.chk-availability button {\\r\\n background: #fff;\\r\\n border: 1px solid #b9b9b9;\\r\\n border-radius: 5px;\\r\\n font-size: 13px;\\r\\n color: #b9b9b9;\\r\\n font-weight: 500;\\r\\n margin-right: 10px;\\r\\n margin-bottom: 10px;\\r\\n padding: 5px 10px;\\r\\n line-height: 13px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.chk-availability button:disabled {\\r\\n cursor: not-allowed;\\r\\n border: 1px solid #e5e5e5;\\r\\n}\\r\\n\\r\\n.chk-availability button.active {\\r\\n border-color: #e7d9f8;\\r\\n color: #2f2660;\\r\\n background: #e7d9f8;\\r\\n}\\r\\n\\r\\n.chk-availability button:not(:disabled):hover {\\r\\n background: #189bed;\\r\\n color: #fff;\\r\\n border-color: #189bed;\\r\\n}\\r\\n\\r\\n.clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.clini-infos ul li {\\r\\n display: block;\\r\\n line-height: 25px;\\r\\n word-break: break-word;\\r\\n color: #2f2660;\\r\\n position: relative;\\r\\n padding-left: 25px;\\r\\n padding-right: 5px;\\r\\n font-size: 15px;\\r\\n}\\r\\n\\r\\n.clini-infos ul li a {\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.clini-infos ul li .direction {\\r\\n color: #00305b;\\r\\n cursor: pointer;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.clini-infos ul li i {\\r\\n font-size: 15px;\\r\\n min-width: 20px;\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 6px;\\r\\n}\\r\\n\\r\\n.doc-info-cont .row {\\r\\n margin-left: 0;\\r\\n}\\r\\n\\r\\n.mat-form-field+.mat-form-field {\\r\\n margin-left: 8px;\\r\\n}\\r\\n\\r\\n/* grid view */\\r\\n\\r\\n/* .grid-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n\\r\\n/* .grid-profile .clinic-services {\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.grid-profile .doc-info,\\r\\n.grid-profile .doc-info-left {\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-img {\\r\\n float: left;\\r\\n height: 160px;\\r\\n width: 160px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.grid-profile button {\\r\\n margin-top: 15px;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-info-right {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-info-right .clini-infos {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.grid-profile .addres {\\r\\n min-height: 39px;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-department {\\r\\n /* min-height: 30px; */\\r\\n word-break: break-all;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-widget .doc-info {\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n/* list view */\\r\\n\\r\\n/* .list-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n\\r\\n.list-profile a {\\r\\n margin-right: 15px;\\r\\n}\\r\\n\\r\\n@media (max-width: 1199px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 160px;\\r\\n height: 160px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n }\\r\\n\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n .clinic-btn {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n .list-profile a {\\r\\n margin-right: 0px;\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n\\r\\n .list-grid-btn,\\r\\n .sort-by {\\r\\n margin-top: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n .count-list {\\r\\n justify-content: flex-start;\\r\\n flex-wrap: wrap;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n .count-list h3 {\\r\\n margin: 5px 15px 5px 0px;\\r\\n font-size: 18px;\\r\\n }\\r\\n\\r\\n .sort-by {\\r\\n float: none;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .doctor-widget .doc-info {\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 160px;\\r\\n height: 160px;\\r\\n float: left;\\r\\n }\\r\\n\\r\\n .clini-infos ul li {\\r\\n display: inline-block;\\r\\n padding-right: 10px;\\r\\n }\\r\\n\\r\\n .clini-infos ul li i {\\r\\n min-width: auto;\\r\\n }\\r\\n\\r\\n .doc-info-left {\\r\\n width: 100%;\\r\\n display: inherit;\\r\\n }\\r\\n\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: row;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 480px) {\\r\\n\\r\\n .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n }\\r\\n\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n .clinic-btn {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n.ngx-datepicker-calendar-container {\\r\\n z-index: 2 !important;\\r\\n}\\r\\n\\r\\n.ngx-slider .ngx-slider-bubble {\\r\\n font-weight: 500;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n line-height: 14px;\\r\\n padding-top: 0;\\r\\n margin-top: 8px;\\r\\n}\\r\\n\\r\\nmat-slider {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.price-range span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.mat-slider-thumb {\\r\\n border: 8px solid transparent !important;\\r\\n background-color: #00305b !important;\\r\\n}\\r\\n\\r\\n.mat-slider-track-fill {\\r\\n background-color: #00305b !important;\\r\\n}\\r\\n\\r\\n.cancl-pol-txt {\\r\\n color: #00305b !important;\\r\\n cursor: pointer !important;\\r\\n font-weight: 500 !important;\\r\\n line-height: 20px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.second-opinion-button {\\r\\n width: 100%;\\r\\n display: flex !important;\\r\\n flex-direction: row !important;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n/* Banner Content */\\r\\n\\r\\n.filter-banner-content h2 {\\r\\n font-weight: bold;\\r\\n font-size: 45px;\\r\\n}\\r\\n\\r\\n.filter-banner-content p {\\r\\n font-weight: 500;\\r\\n font-size: 24px;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n.filter-banner-content .white-btn {\\r\\n margin-top: 6px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.white-btn input[type=checkbox] {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.filter-banner-content h2 span {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.filter-banner-content h3 {\\r\\n color: #fff;\\r\\n font-weight: 500;\\r\\n font-size: 25px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.filter-banner-content form {\\r\\n /* display: flex; */\\r\\n margin: 30px 0px 30px 0px;\\r\\n}\\r\\n\\r\\n.filter-banner-content .form-group {\\r\\n width: 100%;\\r\\n height: 70px;\\r\\n background: #fff;\\r\\n display: flex;\\r\\n color: #000;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n font-size: 18px;\\r\\n position: relative;\\r\\n margin-right: 15px;\\r\\n box-shadow: 0px 11px 27px rgb(0 0 0 / 16%);\\r\\n border-radius: 18px;\\r\\n}\\r\\n\\r\\n/* .filter-banner-content .form-group img {\\r\\n position: absolute;\\r\\n left: 15px;\\r\\n max-width: 20px;\\r\\n max-height: 20px;\\r\\n} */\\r\\n\\r\\n.filter-banner-content .form-group mat-form-field.custom-ng-datepicker .ngx-datepicker-input {\\r\\n height: 60px;\\r\\n width: 100%;\\r\\n border: 0px;\\r\\n font-size: 18px;\\r\\n padding-left: 18px;\\r\\n border-radius: 16px;\\r\\n}\\r\\n\\r\\n.filter-banner-content .form-group mat-form-field.custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-calendar-container {\\r\\n top: inherit;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n h3 {\\r\\n font-size: 25px;\\r\\n margin-bottom: 20px;\\r\\n }\\r\\n .filter-banner-content form {\\r\\n margin: 30px auto 20px;\\r\\n }\\r\\n .filter-banner-content .form-group {\\r\\n width: 30%;\\r\\n }\\r\\n .filter-btn.button.search-button {\\r\\n max-width: 10%;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n section {\\r\\n padding-top: 30px;\\r\\n padding-bottom: 30px;\\r\\n }\\r\\n .filter-banner-content form {\\r\\n width: 95%;\\r\\n margin: 30px auto 20px;\\r\\n }\\r\\n .filter-banner-content .form-group,\\r\\n .filter-banner-content .form-group ng-datepicker.custom-ng-datepicker .ngx-datepicker-input {\\r\\n font-size: 16px;\\r\\n }\\r\\n .book-doctor-content,\\r\\n .meet-doctor-content {\\r\\n margin-top: 30px;\\r\\n }\\r\\n .meet-doctor-content p {\\r\\n margin: 0px;\\r\\n }\\r\\n .meet-doctor-content p,\\r\\n .explore-service p,\\r\\n .book-doctor-content p {\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n .content-area {\\r\\n top: 50%;\\r\\n }\\r\\n .owl-theme .owl-nav [class*=\\\"owl-\\\"] {\\r\\n font-size: 45px;\\r\\n background: #fff;\\r\\n width: 40px;\\r\\n opacity: 0.6;\\r\\n box-shadow: 0 0 20px rgb(0 0 0 / 5%);\\r\\n }\\r\\n .owl-prev {\\r\\n left: 0;\\r\\n }\\r\\n .owl-next {\\r\\n right: 0;\\r\\n }\\r\\n .owl-theme .owl-nav [class*=\\\"owl-\\\"]:hover {\\r\\n opacity: 1;\\r\\n background: #fff;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .category-item {\\r\\n -webkit-transform: scale(0.8);\\r\\n transform: scale(0.8);\\r\\n }\\r\\n .register-btn {\\r\\n width: auto;\\r\\n }\\r\\n .filter-banner-content {\\r\\n position: inherit;\\r\\n }\\r\\n .filter-banner-content h2 {\\r\\n font-size: 24px;\\r\\n }\\r\\n .filter-banner-content form {\\r\\n width: 100%;\\r\\n margin: 10px 0px;\\r\\n flex-direction: column;\\r\\n }\\r\\n .filter-banner-content .form-group {\\r\\n width: 100%;\\r\\n margin: 0px 0px 10px;\\r\\n }\\r\\n .filter-btn.button.search-button {\\r\\n max-width: 100%;\\r\\n margin: 0;\\r\\n }\\r\\n .filter-banner-content h3 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n .social-link {\\r\\n flex-direction: column;\\r\\n padding-top: 15px;\\r\\n }\\r\\n .social-link p {\\r\\n padding-bottom: 10px;\\r\\n }\\r\\n .contact-links {\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n }\\r\\n .content-area {\\r\\n top: 10%;\\r\\n }\\r\\n .shape-box h3,\\r\\n .shape-box h4 {\\r\\n font-size: 22px;\\r\\n }\\r\\n section.book-doctor {\\r\\n padding: 0px 0;\\r\\n }\\r\\n .filter-banner-content p {\\r\\n font-size: 20px;\\r\\n }\\r\\n .home-banner {\\r\\n background-position: center;\\r\\n }\\r\\n .learn-more-btn {\\r\\n bottom: -55px;\\r\\n left: 0;\\r\\n right: inherit;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Select\\r\\n Speciality\\r\\n \\r\\n \\r\\n \\r\\n {{spl.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 Select Services\\r\\n \\r\\n \\r\\n \\r\\n {{srv.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 Select Rating\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (5)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (4)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (3)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (2)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (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
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{totalRecords}} Matches Found - {{searchedLocation}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Sort by : \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n
\\r\\n

\\r\\n {{provider.fullName}}

\\r\\n \\r\\n
\\r\\n \\r\\n {{spl.speciality}}\\r\\n 0 && i<=2\\\">, {{spl.speciality}}\\r\\n 2\\\">+{{ provider.specialities?.length-3}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n 0\\\"\\r\\n class=\\\"d-inline-block average-rating\\\">({{provider.totalReviews}})\\r\\n
\\r\\n
\\r\\n Fee : {{provider.payRate | currency:'USD':'symbol-narrow'}}\\r\\n {{provider.secondOpinionRate | currency:'USD':'symbol-narrow'}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{provider.address}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
Your search did not matched any\\r\\n results. Please try a different search.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { BookAppointmentComponent } from \"./../book-appointment/book-appointment.component\";\r\nimport { MatDatepickerInputEvent, MatDialog } from \"@angular/material\";\r\nimport { HomeService } from \"./../home/home.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { AfterViewInit, Component, ElementRef, OnInit, QueryList, ViewChild, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { DatepickerOptions } from \"ng2-datepicker\";\r\nimport * as enLocale from \"date-fns/locale/en\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ProviderSearchFilterModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\nimport { BookFreeAppointmentComponent } from \"../book-freeappointment/book-freeappointment.component\";\r\nimport { ProviderProfileModalComponent } from \"../provider-profile/provider-profile.component\";\r\nimport { LabelType, Options } from \"@angular-slider/ngx-slider\";\r\nimport { CancelationRule } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\nimport { ProviderFeeSettingsComponent } from \"../provider-fee-settings/provider-fee-settings.component\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { isNullOrUndefined } from \"util\";\r\n\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-doctor-list\",\r\n templateUrl: \"./filter-doctor-list.component.html\",\r\n styleUrls: [\"./filter-doctor-list.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FilterDoctorListComponent implements OnInit, AfterViewInit {\r\n panelOpenState = false;\r\n specialityIconCheck: any;\r\n data: any[] = [];\r\n specialityIcon: any;\r\n showLoader: boolean = true;\r\n selectedSpeciality: any;\r\n selectedLocation: any;\r\n selectedDate: any;\r\n @ViewChild('tempselectedDate') tempselectedDate: ElementRef;\r\n @ViewChildren('temprating') temprating: QueryList;\r\n providerFilterFormGroup: FormGroup;\r\n todayDate: Date = new Date();\r\n\r\n providerserachtext: string;\r\n doctorWidgetClass: string = \"col-sm-6 grid-profile\";\r\n options: DatepickerOptions;\r\n metaData: any;\r\n sortby: any[] = [\r\n { value: 1, label: \"Price Low\" },\r\n { value: 2, label: \"Price High\" },\r\n { value: 3, label: \"Rating\" }\r\n ];\r\n\r\n location: any[] = [];\r\n speciality: any[] = [];\r\n services: any[] = [];\r\n minIndex: number = 0;\r\n maxIndex: number = 10;\r\n minIndexService: number = 0;\r\n maxIndexService: number = 10;\r\n filterModel: ProviderSearchFilterModel;\r\n providers: any = [];\r\n totalRecords: number = 0;\r\n searchedLocation: string = \"\";\r\n masterGender: any = [];\r\n\r\n Slider: Options = {\r\n floor: 0,\r\n ceil: 1000,\r\n translate: (value: number, label: LabelType): string => {\r\n return \"USD \" + value;\r\n }\r\n };\r\n minrate = 0;\r\n maxrate = 1000;\r\n\r\n checkedLocations: string[] = [];\r\n checkedSpecialities: string[] = [];\r\n checkedGenders: string[] = [];\r\n checkedServices: string[] = [];\r\n checkedRates: string[] = [];\r\n reviewRates: string[] = [];\r\n @ViewChild('prosearchtext') prosearchtext: ElementRef;\r\n staffId: string;\r\n isSecondOpinion: boolean;\r\n typeOfAppt: any;\r\n list: any;\r\n submitted: boolean;\r\n constructor(\r\n private commonService: CommonService,\r\n private route: ActivatedRoute,\r\n private homeService: HomeService,\r\n private dialogModal: MatDialog,\r\n private headerComp: HomeHeaderComponent,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n ) {\r\n this.commonService.initializeAuthData();\r\n let dte = new Date();\r\n dte.setDate(dte.getDate() - 1);\r\n this.options = {\r\n minYear: 1970,\r\n maxYear: 2040,\r\n displayFormat: \"MMM D[,] YYYY\",\r\n barTitleFormat: \"MMMM YYYY\",\r\n dayNamesFormat: \"dd\",\r\n firstCalendarDay: 0, // 0 - Sunday, 1 - Monday\r\n locale: enLocale,\r\n minDate: dte, // Minimal selectable date\r\n //maxDate: new Date(Date.now()), // Maximal selectable date\r\n barTitleIfEmpty: \"Click to select a date\",\r\n placeholder: \"Select Date\", // HTML input placeholder attribute (default: '')\r\n fieldId: \"my-date-picker\", // ID to assign to the input field. Defaults to datepicker-\r\n useEmptyBarTitle: false // Defaults to true. If set to false then barTitleIfEmpty will be disregarded and a date will always be shown\r\n };\r\n this.filterModel = new ProviderSearchFilterModel();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.searchInitilizer();\r\n }\r\n\r\n ngOnInit() {\r\n window.scroll(0, 0)\r\n this.getMasterData();\r\n // Filter Form\r\n this.providerFilterFormGroup = this.formBuilder.group({\r\n search: [\"\"],\r\n date: [\"\"],\r\n specialities: [\"\"],\r\n services: [\"\"],\r\n reviewRating: [\"\"],\r\n rates: [\"\"],\r\n gender: [\"\"]\r\n });\r\n this.route.queryParams.subscribe(params => {\r\n this.staffId = params[\"providerId\"];\r\n this.specialityIcon = params[\"searchTerm\"];\r\n this.typeOfAppt = params[\"type\"];\r\n if (\r\n params[\"loc\"] != \"\" &&\r\n params[\"loc\"] != null &&\r\n params[\"loc\"] != undefined\r\n ) {\r\n this.checkedLocations.push(\r\n this.commonService.encryptValue(params[\"loc\"], false)\r\n );\r\n }\r\n this.filterModel.Date = params[\"d\"];\r\n });\r\n }\r\n\r\n // Control of filter form\r\n get f() {\r\n return this.providerFilterFormGroup.controls;\r\n }\r\n\r\n public isKeySet(obj: any, key: string): boolean {\r\n let isFound = false;\r\n obj.forEach(element => {\r\n if ((element as string) == key.toString()) isFound = true;\r\n });\r\n return isFound;\r\n }\r\n\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n let date = null;\r\n if (\r\n this.selectedDate != undefined &&\r\n this.selectedDate != null &&\r\n this.selectedDate != \"\"\r\n ) {\r\n date = new Date(this.selectedDate);\r\n //date.setDate(date.getDate() + 1);\r\n }\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n\r\n this.filterModel.MinRate = this.minrate.toString()\r\n this.filterModel.ProvidersearchText = isNullOrUndefined(this.f.search.value) ? \"\" : this.f.search.value;\r\n this.filterModel.Date = isNullOrUndefined(this.f.date.value) ? \"\" : this.f.date.value;\r\n this.filterModel.Specialities = isNullOrUndefined(this.f.specialities.value) ? \"\" : this.f.specialities.value.toString();\r\n this.filterModel.Services = isNullOrUndefined(this.f.services.value) ? \"\" : this.f.services.value.toString();\r\n this.filterModel.ReviewRating = isNullOrUndefined(this.f.reviewRating.value) ? \"\" : this.f.reviewRating.value.toString();\r\n this.filterModel.Rates = isNullOrUndefined(this.f.rates.value) ? \"\" : this.f.rates.value;\r\n }\r\n onSpecialityChange(event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n\r\n if (!event) {\r\n if (this.f.specialities.value) {\r\n this.getMasterData(this.f.specialities.value, 1)\r\n // this.applyFilter(true);\r\n }\r\n else {\r\n this.checkedServices = [];\r\n this.clearFilter();\r\n }\r\n }\r\n }\r\n\r\n onServiceChange(event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n\r\n if (!event) {\r\n this.filterModel.Services = isNullOrUndefined(this.f.services.value) ? \"\" : this.f.services.value.toString();\r\n this.applyFilter(true);\r\n }\r\n }\r\n\r\n onGenderChange(option, event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n // this.prosearchtext.nativeElement.value = '';\r\n if (event.source.checked) {\r\n this.checkedGenders.push(option.id.toString());\r\n } else {\r\n for (var i = 0; i < this.checkedGenders.length; i++) {\r\n if (this.checkedGenders[i] == option.id) {\r\n this.checkedGenders.splice(i, 1);\r\n }\r\n }\r\n }\r\n this.applyFilter(true);\r\n }\r\n\r\n onConsultationFeeChange(event) {\r\n\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n // this.prosearchtext.nativeElement.value = '';\r\n this.checkedRates = [this.maxrate.toString()];\r\n\r\n this.applyFilter(false);\r\n }\r\n\r\n onReviewRatingChange(event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n\r\n if (!event) {\r\n this.filterModel.ReviewRating = isNullOrUndefined(this.f.reviewRating.value) ? \"\" : this.f.reviewRating.value;\r\n this.applyFilter(true);\r\n }\r\n }\r\n\r\n onDateChange(event: MatDatepickerInputEvent) {\r\n if (!event) {\r\n this.f.payDate.setValue(new Date(event.value));\r\n this.applyFilter(true);\r\n }\r\n }\r\n\r\n clearFilter() {\r\n this.providerFilterFormGroup.reset();\r\n // this.prosearchtext.nativeElement.value = '';\r\n this.checkedGenders = [];\r\n this.checkedRates = [];\r\n this.checkedServices = [];\r\n this.checkedSpecialities = [];\r\n this.selectedSpeciality = [];\r\n this.reviewRates = [];\r\n // this.tempselectedDate['displayValue'] = '';\r\n this.temprating.forEach(element => {\r\n element.checked = false;\r\n });\r\n\r\n // To reset consultation fees slider\r\n this.maxrate = 1000;\r\n this.minrate = 0;\r\n\r\n this.applyFilter(false);\r\n }\r\n\r\n applyFilter(isSearching: boolean = true) {\r\n if (this.providerFilterFormGroup.invalid)\r\n return\r\n else {\r\n this.setPaginatorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder\r\n );\r\n this.getProviderList(this.filterModel, isSearching);\r\n }\r\n }\r\n searching: boolean = false;\r\n clearing: boolean = false;\r\n\r\n getProviderList(\r\n filterModel: ProviderSearchFilterModel,\r\n Isflitering: boolean = false\r\n ) {\r\n if (Isflitering) this.searching = true;\r\n else this.clearing = true;\r\n this.homeService.getProviderList(filterModel).subscribe((response: any) => {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.isSecondOpinion = false;\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n if (this.searching != false) {\r\n if (this.typeOfAppt && (this.typeOfAppt === 'secondOpinion = true' || this.typeOfAppt === 'secondOpinion')) {\r\n this.list = response.data;\r\n for (var i = 0; i < this.list.length; i++) {\r\n if (this.list[i].isSecondOpinion == true) {\r\n this.providers.push(this.list[i]);\r\n this.isSecondOpinion = true;\r\n }\r\n }\r\n } else {\r\n if (this.filterModel.Services != \"\" || this.filterModel.Specialities != \"\" || this.filterModel.Date != null || this.filterModel.searchText != \"\" || this.filterModel.ReviewRating != \"\") {\r\n this.providers = response.data;\r\n }\r\n }\r\n if (localStorage.getItem(\"symptoms\") != null) {\r\n this.filterProvider(localStorage.getItem(\"symptoms\"), response.data);\r\n }\r\n this.metaData = response.meta;\r\n //this.totalRecords = this.metaData.totalRecords;\r\n this.totalRecords = this.providers.length;\r\n } else {\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n }\r\n this.showLoader = false;\r\n this.searching = false;\r\n this.clearing = false;\r\n });\r\n\r\n }\r\n filterProvider(symptoms: any, resp: any) {\r\n resp.forEach((value, index) => {\r\n if (value.keyword != null && value.keyword != undefined) {\r\n var arr = value.keyword.split(',').map(function (v) {\r\n return v.toLowerCase();\r\n });;\r\n if (!symptoms.split(',').some(ai => arr.includes(ai))) {\r\n this.providers.splice(index, 1);\r\n }\r\n }\r\n else {\r\n this.providers.splice(index, 1);\r\n }\r\n });\r\n localStorage.removeItem(\"symptoms\");\r\n }\r\n\r\n getMasterData(globalCodeId: any[] = [], requestType: any = 0) {\r\n this.route.queryParams.subscribe(params => {\r\n\r\n var prvSelectedValue = this.commonService.encryptValue(params[\"sp\"], false)\r\n var prvSelectedService = this.commonService.encryptValue(params[\"srvc\"], false)\r\n if (prvSelectedService != '' && prvSelectedService != null && this.checkedServices.length == 0 && requestType == 0) {\r\n this.checkedServices.push(prvSelectedService);\r\n }\r\n if (prvSelectedValue != '' && prvSelectedValue != null && globalCodeId.length == 0 && requestType == 0) {\r\n // this.checkedSpecialities.push(prvSelectedValue);\r\n //globalCodeId.push(prvSelectedValue);\r\n }\r\n });\r\n\r\n\r\n this.homeService\r\n .getMasterData(\r\n // \"masterLocation,MASTERTAXONOMY,MASTERSTAFFSERVICE,MASTERSPECIALITY,MASTERGENDER\", true, this.checkedSpecialities\r\n \"masterLocation,MASTERTAXONOMY,MASTERSTAFFSERVICE,MASTERSPECIALITY,MASTERGENDER\", true, globalCodeId\r\n )\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n // this.speciality =\r\n // response.masterTaxonomy != null ? response.masterTaxonomy : [];\r\n this.speciality =\r\n response.masterSpeciality != null ? response.masterSpeciality : [];\r\n this.location =\r\n response.masterLocation != null ? response.masterLocation : [];\r\n this.services =\r\n response.masterStaffServices != null\r\n ? response.masterStaffServices\r\n : [];\r\n\r\n // this.speciality.push({ id: 0, value: \"More specialities can be populated on request\" });\r\n // this.services.push({ id: 0, value: \"More services can be populated on request\" });\r\n\r\n this.route.queryParams.subscribe(params => {\r\n if (\r\n params[\"loc\"] != \"\" &&\r\n params[\"loc\"] != null &&\r\n params[\"loc\"] != undefined\r\n ) {\r\n this.selectedLocation = +this.commonService.encryptValue(\r\n params[\"loc\"],\r\n false\r\n ); //\r\n\r\n this.searchedLocation = this.location.find(\r\n x => (x.id = this.selectedLocation)\r\n ).locationName;\r\n }\r\n this.selectedDate = params[\"d\"]; // this.datePipe.transform(params['d'], 'yyyy-MM-dd');\r\n });\r\n }\r\n if (!this.specialityIcon) {\r\n this.applyFilter();\r\n }\r\n else {\r\n this.Providersearchtext(this.specialityIcon);\r\n }\r\n });\r\n }\r\n bookAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n let encryptedStaffId = this.commonService.encryptValue(staffId);\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n\r\n if (this.typeOfAppt && this.typeOfAppt === 'secondOpinion') {\r\n this.router.navigate(['/web/client/second-opinion/booking'], { queryParams: { id: encryptedStaffId } });\r\n } else {\r\n this.openDialogBookAppointment(staffId, providerId);\r\n }\r\n //}\r\n } else if (this.typeOfAppt && this.typeOfAppt === 'secondOpinion') {\r\n this.router.navigate(['/web/client/second-opinion/booking'], { queryParams: { id: encryptedStaffId } });\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n\r\n });\r\n } else if (this.typeOfAppt && this.typeOfAppt === 'secondOpinion') {\r\n this.router.navigate(['/web/client/second-opinion/booking'], { queryParams: { id: encryptedStaffId } });\r\n } else {\r\n this.openDialogBookAppointment(staffId, providerId);\r\n }\r\n //let staffId = this.commonService.encryptValue(id);\r\n }\r\n openDialogBookAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(BookAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffId: staffId,\r\n userInfo: null,\r\n providerId: providerId,\r\n locationId: this.selectedLocation || 0\r\n },\r\n width: \"80%\"\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n // if (result == \"booked\") {\r\n // }\r\n //location.reload();\r\n }\r\n });\r\n }\r\n\r\n redirectToProfilePage(staffId: number, providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(ProviderProfileModalComponent, {\r\n hasBackdrop: true,\r\n data: { id: providerId, apptType: this.typeOfAppt ? this.typeOfAppt : '', decryptedStaffId: staffId },\r\n width: '70%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n });\r\n }\r\n\r\n bookFreeAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n\r\n location.reload();\r\n\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n\r\n });\r\n } else {\r\n this.openDialogBookFreeAppointment(staffId, providerId);\r\n }\r\n //let staffId = this.commonService.encryptValue(id);\r\n }\r\n openDialogBookFreeAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(BookFreeAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffId: staffId,\r\n userInfo: null,\r\n providerId: providerId,\r\n locationId: this.selectedLocation || 0\r\n }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n if (result == \"booked\") {\r\n }\r\n }\r\n });\r\n }\r\n\r\n onSortChange(event) {\r\n\r\n this.filterModel.SortType = event.value.toString();\r\n this.applysortFilter(true);\r\n }\r\n\r\n applysortFilter(isSearching: boolean = true) {\r\n\r\n this.setPaginatorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder\r\n );\r\n this.getSortProviderList(this.filterModel, isSearching);\r\n }\r\n sortsearching: boolean = false;\r\n sortclearing: boolean = false;\r\n getSortProviderList(\r\n filterModel: ProviderSearchFilterModel,\r\n Isflitering: boolean = false\r\n ) {\r\n\r\n if (Isflitering) this.sortsearching = true;\r\n else this.sortclearing = true;\r\n\r\n this.homeService.getSortProviderList(filterModel).subscribe((response: any) => {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n //this.providers = response.data;\r\n\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords;\r\n } else {\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n this.showLoader = false;\r\n this.searching = false;\r\n this.clearing = false;\r\n });\r\n }\r\n\r\n\r\n searchInitilizer() {\r\n // fromEvent(this.prosearchtext.nativeElement, 'keyup').pipe(\r\n\r\n // map((event: any) => {\r\n // return event.target.value;\r\n // })\r\n // , filter(res => res.length > 2 || res.length == 0)\r\n // , debounceTime(1000)\r\n // , distinctUntilChanged()\r\n // ).subscribe((text: string) => {\r\n\r\n // this.Providersearchtext(text);\r\n // })\r\n }\r\n\r\n Providersearchtext(text?: string) {\r\n\r\n // this.filterModel.ProvidersearchText = text;\r\n this.filterModel.ProvidersearchText = isNullOrUndefined(this.f.search.value) ? \"\" : this.f.search.value;\r\n this.filterModel.ProviderId = '';\r\n this.homeService.getsearchtextProviderList(this.filterModel).subscribe((response: any) => {\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n if (this.typeOfAppt && (this.typeOfAppt === 'secondOpinion = true' || this.typeOfAppt === 'secondOpinion')) {\r\n this.list = response.data;\r\n for (var i = 0; i < this.list.length; i++) {\r\n if (this.list[i].isSecondOpinion == true) {\r\n this.providers.push(this.list[i]);\r\n this.isSecondOpinion = true;\r\n }\r\n }\r\n } else {\r\n if (this.filterModel.Services != \"\" || this.filterModel.Specialities != \"\" || this.filterModel.Date != null || this.filterModel.searchText != \"\" || this.filterModel.ReviewRating != \"\") {\r\n this.providers = response.data;\r\n }\r\n }\r\n // this.providers = response.data;\r\n\r\n this.metaData = response.meta;\r\n // this.totalRecords = this.metaData.totalRecords;\r\n this.totalRecords = this.providers.length;\r\n } else {\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n this.showLoader = false;\r\n this.searching = false;\r\n this.clearing = false;\r\n });\r\n }\r\n\r\n openCancellationRulesPopup(rules) {\r\n rules = rules ? rules : [];\r\n const dbModal = this.dialogModal.open(ProviderFeeSettingsComponent, {\r\n hasBackdrop: true,\r\n data: rules as CancelationRule[],\r\n width: '400px',\r\n maxWidth: '400px',\r\n minWidth: '40%'\r\n });\r\n }\r\n\r\n}\r\n","import { PaymentFailureComponent } from \"./payment-failure/payment-failure.component\";\r\nimport { PaymentSuccessComponent } from \"./payment-success/payment-success.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { RegisterComponent } from \"src/app/front/register/register.component\";\r\nimport { RejectInvitationComponent } from \"src/app/front/reject-invitation/reject-invitation.component\";\r\nimport { HomeComponent } from \"./home/home.component\";\r\nimport { DoctorListComponent } from \"./doctor-list/doctor-list.component\";\r\nimport { FilterDoctorListComponent } from \"./filter-doctor-list/filter-doctor-list.component\";\r\nimport { DoctorProfileComponent } from \"./doctor-profile/doctor-profile.component\";\r\nimport { PageNotAllowedComponent } from \"src/app/platform/modules/page-not-allowed/page-not-allowed.component\";\r\nimport { HomeContainerComponent } from \"src/app/front/home-container/home-container.component\";\r\nimport { WhatWeDoComponent } from \"./what-we-do/what-we-do.component\";\r\nimport { OurDoctorsComponent } from \"./our-doctors/our-doctors.component\";\r\nimport { ContactUsComponent } from \"./contact-us/contact-us.component\";\r\nimport { FaqComponent } from \"./faq/faq.component\";\r\nimport { UrgentCareProviderListComponent } from \"./urgentcareprovider-list/urgentcareprovider-list.component\";\r\nimport {SymptomCheckerComponent} from \"./../shared/symptom-checker/symptom-checker.component\"\r\nimport { LoginSelectionComponent } from \"./login-selection/login-selection.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: LoginSelectionComponent,\r\n },\r\n {\r\n path: \"\",\r\n component: HomeContainerComponent,\r\n children: [\r\n {\r\n path: \"doctor-list\",\r\n component: DoctorListComponent\r\n },\r\n {\r\n path: \"filter-doctor-list\",\r\n component: FilterDoctorListComponent\r\n },\r\n {\r\n path: \"doctor-profile\",\r\n component: DoctorProfileComponent\r\n },\r\n {\r\n path: \"payment-success\",\r\n component: PaymentSuccessComponent\r\n },\r\n {\r\n path: \"payment-failure\",\r\n component: PaymentFailureComponent\r\n },\r\n {\r\n path: \"what-we-do\",\r\n component: WhatWeDoComponent\r\n },\r\n {\r\n path: \"our-doctors\",\r\n component: OurDoctorsComponent\r\n },\r\n {\r\n path: \"contact-us\",\r\n component: ContactUsComponent\r\n },\r\n {\r\n path: \"faq\",\r\n component: FaqComponent\r\n },\r\n {\r\n path: \"urgentcare-providers\",\r\n component: UrgentCareProviderListComponent\r\n },\r\n {\r\n path:\"symptom-checker\",\r\n component:SymptomCheckerComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: \"register\",\r\n component: RegisterComponent\r\n },\r\n {\r\n path: \"reject-invitation\",\r\n component: RejectInvitationComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class FrontRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\n//import { MatFileUploadModule } from \"angular-material-fileupload\";\r\n\r\nimport {\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatExpansionModule\r\n} from \"@angular/material\";\r\nimport { NgxMaterialTimepickerModule } from \"ngx-material-timepicker\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\n\r\n@NgModule({\r\n imports: [\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n //NgxMaterialTimepickerModule,\r\n [NgxMaterialTimepickerModule.forRoot()],\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTooltipModule,\r\n MatExpansionModule\r\n // MatFileUploadModule\r\n \r\n ],\r\n exports: [\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n NgxMaterialTimepickerModule,\r\n MatDatepickerModule,\r\n MatTooltipModule,\r\n MatExpansionModule\r\n //MatFileUploadModule\r\n ]\r\n})\r\nexport class FrontMaterialModule {}\r\n","import { UniquePipe } from \"./../shared/pipes/unique.pipe\";\r\nimport { PaymentFailureComponent } from \"./payment-failure/payment-failure.component\";\r\nimport { PaymentSuccessComponent } from \"./payment-success/payment-success.component\";\r\nimport { BookAppointmentComponent } from \"./book-appointment/book-appointment.component\";\r\nimport { HomeFooterComponent } from \"./home-footer/home-footer.component\";\r\nimport { HomeHeaderComponent } from \"./home-header/home-header.component\";\r\nimport { HomeContainerComponent } from \"./home-container/home-container.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RegisterComponent } from \"./register/register.component\";\r\nimport { AppMaterialModule } from \"src/app/app.material.module\";\r\nimport { FrontRoutingModule } from \"src/app/front/front-routing.module\";\r\nimport { FrontMaterialModule } from \"src/app/front/front.material.module\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { SharedModule } from \"src/app/shared/shared.module\";\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from \"@angular/common/http\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { HomeComponent } from \"./home/home.component\";\r\nimport { RejectInvitationComponent } from \"src/app/front/reject-invitation/reject-invitation.component\";\r\nimport { CarouselModule } from \"ngx-owl-carousel-o\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { NgDatepickerModule } from \"ng2-datepicker\";\r\nimport { DoctorListComponent } from \"./doctor-list/doctor-list.component\";\r\nimport { FilterDoctorListComponent } from \"./filter-doctor-list/filter-doctor-list.component\";\r\nimport { ScrollbarModule } from \"ngx-scrollbar\";\r\nimport { DoctorProfileComponent } from \"./doctor-profile/doctor-profile.component\";\r\nimport \"hammerjs\";\r\nimport { NgxGalleryModule } from \"ngx-gallery\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { AgencyLoginModelComponent } from \"src/app/shared/login-model/agency-login/agency-login.component\";\r\nimport { ClientLoginModelComponent } from \"src/app/shared/login-model/client-login/client-login.component\";\r\nimport { RegisterModelComponent } from \"src/app/shared/register-model/register.component\";\r\nimport { HttpTokenInterceptor } from \"src/app/platform/modules/core/interceptors\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport { SecurityQuestionModelComponent } from \"src/app/shared/security-question-model/security-question-model.component\";\r\nimport { AgmCoreModule } from \"@agm/core\";\r\nimport { MatNativeDateModule, MatStepperModule, MAT_DIALOG_DATA, MAT_DIALOG_DEFAULT_OPTIONS } from \"@angular/material\";\r\nimport { OverlayModule } from \"@angular/cdk/overlay\";\r\n//import { StripeModule } from \"stripe-angular\";\r\n//import { NgxMaterialTimepickerModule } from \"ngx-material-timepicker\";\r\n//import { NgxMaterialTimepickerEventService } from \"ngx-material-timepicker/src/app/material-timepicker/services/ngx-material-timepicker-event.service\";\r\n//import { ChangePasswordComponent } from \"src/app/platform/modules/agency-portal/change-password/change-password.component\";\r\n\r\n//import { NgxUploaderModule } from 'ngx-uploader';\r\nimport { RatingModule } from 'ng-starrating';\r\nimport { BookFreeAppointmentComponent } from \"./book-freeappointment/book-freeappointment.component\";\r\nimport { WhatWeDoComponent } from \"./what-we-do/what-we-do.component\";\r\nimport { OurDoctorsComponent } from \"./our-doctors/our-doctors.component\";\r\nimport { ContactUsComponent } from \"./contact-us/contact-us.component\";\r\nimport { TermsConditionModalComponent } from \"./terms-conditions/terms-conditions.component\";\r\nimport { FaqComponent } from \"./faq/faq.component\";\r\nimport { ProviderProfileModalComponent } from \"./provider-profile/provider-profile.component\";\r\nimport { CalendarModule, DateAdapter } from \"angular-calendar\";\r\nimport { adapterFactory } from \"angular-calendar/date-adapters/date-fns\";\r\nimport { AddUserDocumentComponent } from \"../platform/modules/agency-portal/users/user-documents/add-user-document/add-user-document.component\";\r\nimport { SaveDocumentComponent } from \"./save-document/save-document.component\";\r\nimport { NgxSliderModule } from \"@angular-slider/ngx-slider\";\r\nimport { ProviderFeeSettingsComponent } from \"./provider-fee-settings/provider-fee-settings.component\";\r\nimport { UrgentCareProviderListComponent } from \"./urgentcareprovider-list/urgentcareprovider-list.component\";\r\nimport { UrgentCareAppointmentComponent } from \"./urgentcare-appointment/urgentcare-appointment.component\";\r\nimport { LoginSelectionComponent } from \"./login-selection/login-selection.component\";\r\nimport { AuthComponent } from \"./auth/auth.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FrontMaterialModule,\r\n FrontRoutingModule,\r\n HttpClientModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n SharedModule,\r\n CarouselModule,\r\n NgSelectModule,\r\n NgDatepickerModule,\r\n ScrollbarModule,\r\n MatStepperModule,\r\n NgxGalleryModule,\r\n NgxSliderModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n //NgxUploaderModule,\r\n RatingModule,\r\n AgmCoreModule.forRoot({\r\n apiKey: \"AIzaSyD9WPa4_81AAXVhPJdQm1tZU5cp-NvrrR4\"\r\n //\"AIzaSyAvcDy5ZYc2ujCS6TTtI3RYX5QmuoV8Ffw\"\r\n /* apiKey is required, unless you are a\r\n premium customer, in which case you can\r\n use clientId\r\n */\r\n //libraries: [\"places\"]\r\n }),\r\n //StripeModule.forRoot(\"pk_test_eDyXvdOe0IkSPxG2dQBNGlk600XXmL8M1q\"),\r\n OverlayModule,\r\n CalendarModule.forRoot({\r\n provide: DateAdapter,\r\n useFactory: adapterFactory\r\n }),\r\n ],\r\n // exports:[\r\n // NgxMaterialTimepickerModule\r\n // ],\r\n declarations: [\r\n RegisterComponent,\r\n RejectInvitationComponent,\r\n HomeComponent,\r\n DoctorListComponent,\r\n DoctorProfileComponent,\r\n FilterDoctorListComponent,\r\n HomeContainerComponent,\r\n HomeHeaderComponent,\r\n HomeFooterComponent,\r\n LoginSelectionComponent,\r\n BookAppointmentComponent,\r\n BookFreeAppointmentComponent,\r\n PaymentSuccessComponent,\r\n PaymentFailureComponent,\r\n WhatWeDoComponent,\r\n OurDoctorsComponent,\r\n ContactUsComponent,\r\n TermsConditionModalComponent,\r\n FaqComponent,\r\n ProviderProfileModalComponent,\r\n //AddUserDocumentComponent\r\n SaveDocumentComponent,\r\n ProviderFeeSettingsComponent,\r\n UrgentCareProviderListComponent,\r\n UrgentCareAppointmentComponent,\r\n AuthComponent\r\n\r\n //ChangePasswordComponent\r\n ],\r\n entryComponents: [\r\n AgencyLoginModelComponent,\r\n ClientLoginModelComponent,\r\n RegisterModelComponent,\r\n LoginModelComponent,\r\n SecurityQuestionModelComponent,\r\n BookAppointmentComponent,\r\n BookFreeAppointmentComponent,\r\n TermsConditionModalComponent,\r\n ProviderProfileModalComponent,\r\n SaveDocumentComponent,\r\n ProviderFeeSettingsComponent,\r\n UrgentCareProviderListComponent,\r\n UrgentCareAppointmentComponent\r\n //AddUserDocumentComponent\r\n //ChangePasswordComponent\r\n ],\r\n providers: [\r\n CommonService,\r\n DatePipe,\r\n UniquePipe,\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpTokenInterceptor, multi: true },\r\n { provide: MAT_DIALOG_DATA, \r\n useValue: {\r\n hasBackdrop: true,\r\n disableClose: true,\r\n minWidth: \"55%\",\r\n maxWidth: \"90%\"\r\n } \r\n },\r\n //{ provide: MdDialogRef, useValue: {} }\r\n ]\r\n})\r\nexport class FrontModule {\r\n constructor(commonService: CommonService) {\r\n commonService.initializeAuthData();\r\n }\r\n}\r\n","module.exports = \"/*By Rishi*/\\r\\n\\r\\n.hidden {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.full_loader {\\r\\n position: fixed;\\r\\n left: 0px;\\r\\n right: 0px;\\r\\n top: 0px;\\r\\n background-color: rgba(255, 255, 255, 0.8);\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n z-index: 1001;\\r\\n}\\r\\n\\r\\n.circle_loader {\\r\\n left: 0;\\r\\n right: 0 !important;\\r\\n margin: 0px auto !important;\\r\\n display: block !important;\\r\\n top: 50%;\\r\\n position: fixed !important;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.circle_loader.search_loader {\\r\\n top: 15%;\\r\\n}\\r\\n\\r\\n.top0 {\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n/* .circle_loader.page_loader {\\r\\nleft: 19%;\\r\\n} */\\r\\n\\r\\n.circle_loader.tag_laoder {\\r\\n position: absolute !important;\\r\\n top: 15% !important;\\r\\n}\\r\\n\\r\\n/*select filed*/\\r\\n\\r\\n.cdk-overlay-pane {\\r\\n -webkit-transform: translateX(-0px) !important;\\r\\n transform: translateX(-0px) !important;\\r\\n}\\r\\n\\r\\n/*Fields bottom border*/\\r\\n\\r\\n.mat-form-field-appearance-legacy .mat-form-field-underline {\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.mat-select-arrow {\\r\\n color: rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.mat-datepicker-toggle-default-icon {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n/*Client list toggle*/\\r\\n\\r\\n.srach-pt[class*=\\\" flaticon-\\\"]:after,\\r\\n.srach-pt[class*=\\\" flaticon-\\\"]:before,\\r\\n.srach-pt[class^=\\\"flaticon-\\\"]:after,\\r\\n.srach-pt[class^=\\\"flaticon-\\\"]:before {\\r\\n line-height: 40px;\\r\\n}\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n .circle_loader.page_loader {\\r\\n left: 0px;\\r\\n right: 0px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .mat-drawer-content {\\r\\n padding: 70px 15px 15px 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 480px) {\\r\\n .mat-dialog-actions button {\\r\\n width: 100%;\\r\\n margin: 0rem 0rem 1rem !important;\\r\\n }\\r\\n .mat-dialog-actions button.cancel-btn {\\r\\n order: 3;\\r\\n }\\r\\n .mat-dialog-actions>button+div {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\nheader .user-dropdown button {\\r\\n border: 0px;\\r\\n background-color: transparent;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n}\\r\\n\\r\\n.user-dropdown button img {\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 100px;\\r\\n}\\r\\n\\r\\n.more-load {\\r\\n border: 4px solid #cccccc;\\r\\n border-radius: 50%;\\r\\n border-top: 4px solid #63d891;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n -webkit-animation: spin 1s linear infinite;\\r\\n /* Safari */\\r\\n animation: spin 1s linear infinite;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n/* Safari */\\r\\n\\r\\n@-webkit-keyframes spin {\\r\\n 0% {\\r\\n -webkit-transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n -webkit-transform: rotate(360deg);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes spin {\\r\\n 0% {\\r\\n -webkit-transform: rotate(0deg);\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n -webkit-transform: rotate(360deg);\\r\\n transform: rotate(360deg);\\r\\n }\\r\\n}\\r\\n\\r\\n.img-fluid.profile-img {\\r\\n width: 100% !important;\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.star {\\r\\n margin-right: -4px;\\r\\n}\\r\\n\\r\\n.average-rating {\\r\\n font-size: 15px;\\r\\n line-height: 46px;\\r\\n}\\r\\n\\r\\n.img-hgt{\\r\\n height: 340px;\\r\\n overflow: hidden;\\r\\n padding: 8px 80px;\\r\\n}\\r\\n\\r\\n.img-hgt img{\\r\\n box-shadow: 0px 0px 12px 0px #d4d4d4;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { debug } from \"util\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\n// import {\r\n// Component,\r\n// OnInit,\r\n// ViewEncapsulation,\r\n// ChangeDetectorRef,\r\n// Output,\r\n// EventEmitter\r\n// } from \"@angular/core\";\r\n// import { MediaMatcher } from \"@angular/cdk/layout\";\r\nimport { Subscription } from \"rxjs\";\r\n// import { HeaderInfo, NavItem } from \"src/app/shared/models\";\r\n// import { MatDialog } from \"@angular/material\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n Router,\r\n RouteConfigLoadStart,\r\n RouteConfigLoadEnd,\r\n NavigationEnd\r\n} from \"@angular/router\";\r\n// import { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\n// import { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\n// import { RegisterModelComponent } from \"src/app/shared/register-model/register.component\";\r\n// import { ChangePasswordComponent } from \"src/app/platform/modules/agency-portal/change-password/change-password.component\";\r\n// import { SecurityQuestionModelComponent } from \"src/app/shared/security-question-model/security-question-model.component\";\r\n\r\nimport { Component, ViewEncapsulation, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"app-home-container\",\r\n templateUrl: \"./home-container.component.html\",\r\n styleUrls: [\"./home-container.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HomeContainerComponent implements OnInit {\r\n // mobileQuery: MediaQueryList;\r\n // private _mobileQueryListener: () => void;\r\n // private subscription: Subscription;\r\n private subscriptionLoading: Subscription;\r\n // headerInfo: HeaderInfo;\r\n // IsLogin: boolean = false;\r\n // userInfo: any;\r\n loading: boolean = false;\r\n loaderImage = \"../..//assets/loader.gif\";\r\n // loginResponse: any = null;\r\n // isPatient: boolean = false;\r\n constructor(\r\n // media: MediaMatcher,\r\n // changeDetectorRef: ChangeDetectorRef,\r\n // private dialogModal: MatDialog,\r\n private commonService: CommonService,\r\n private router: Router,\r\n private homeService: HomeService\r\n ) {\r\n // this.mobileQuery = media.matchMedia(\"(min-width: 992px)\");\r\n // this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n // this.mobileQuery.addListener(this._mobileQueryListener);\r\n }\r\n\r\n ngOnInit() {\r\n this.subscriptionLoading = this.homeService.loadingState.subscribe(\r\n (isloading: boolean) => {\r\n this.loading = isloading;\r\n }\r\n );\r\n // if (localStorage.getItem(\"access_token\")) {\r\n // this.loading = true;\r\n // this.IsLogin = true;\r\n // this.checkUserLogin();\r\n // } else {\r\n // this.IsLogin = false;\r\n // }\r\n var asyncLoadCount = 0;\r\n // this.redirectToDashboard(this.router.url);\r\n this.router.events.subscribe((event: any) => {\r\n // if (event instanceof NavigationEnd) {\r\n // this.redirectToDashboard(event.url);\r\n // // on route change toggle sidebar...\r\n // //if (window.innerWidth < 991) this.layoutService.toggleSideNav(false);\r\n // }\r\n if (event instanceof RouteConfigLoadStart) {\r\n asyncLoadCount++;\r\n } else if (event instanceof RouteConfigLoadEnd) {\r\n asyncLoadCount--;\r\n }\r\n this.loading = !!asyncLoadCount;\r\n });\r\n }\r\n // checkUserLogin() {\r\n // this.subscription = this.commonService.loginUser.subscribe(\r\n // (user: LoginUser) => {\r\n // if (user.data) {\r\n // this.loading = false;\r\n // const userRoleName =\r\n // user.data.users3 && user.data.users3.userRoles.userType;\r\n // if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n // this.isPatient = true;\r\n // this.userInfo = user.patientData;\r\n // this.headerInfo = {\r\n // user: user.data,\r\n // userLocations: user.userLocations || [],\r\n // userNavigations: this.getUserNaviagations(user)\r\n // };\r\n // } else {\r\n // this.userInfo = user.data;\r\n // this.isPatient = false;\r\n // this.redirectToDashboard(\"/web\");\r\n // }\r\n\r\n // // this.sidebarInfo = {\r\n // // navigations: this.getSideNavigations(user),\r\n // // };\r\n\r\n // // if (!this.isPatient) {\r\n // // this.allNavigations = this.sidebarInfo;\r\n // // this.updateClientRoutes(null, null);\r\n // // }\r\n // } else {\r\n // }\r\n // }\r\n // );\r\n // }\r\n // onSelectUserMenu(item: NavItem) {\r\n // switch (item.route) {\r\n // case \"/web/sign-out\":\r\n // this.commonService.logout();\r\n // sessionStorage.setItem(\"redirectTo\", \"\");\r\n // location.reload();\r\n // break;\r\n // case \"\":\r\n // this.createChangePasswordModal();\r\n // break;\r\n // default:\r\n // item.route && this.router.navigate([item.route]);\r\n // break;\r\n // }\r\n // }\r\n // getUserNaviagations(user: LoginUser) {\r\n // let navigations: NavItem[] = [];\r\n // const userRoleName =\r\n // user.data.users3 && user.data.users3.userRoles.userType;\r\n // if ((userRoleName || \"\").toUpperCase() === \"ADMIN\") {\r\n // navigations = [\r\n // {\r\n // displayName: \"My Profile\",\r\n // iconName: '',\r\n // route: \"/web/manage-users/user-profile\"\r\n // },\r\n // // {\r\n // // displayName: \"Change Password\",\r\n // // iconName: '',\r\n // // route: \"\"\r\n // // },\r\n // {\r\n // displayName: \"Settings\",\r\n // iconName: '',\r\n // route: \"/web/app-config\"\r\n // },\r\n // {\r\n // displayName: \"Sign Out\",\r\n // iconName: '',\r\n // route: \"/web/sign-out\"\r\n // }\r\n // ];\r\n // } else if ((userRoleName || \"\").toUpperCase() === \"STAFF\") {\r\n // navigations = [\r\n // {\r\n // displayName: \"Dashboard\",\r\n // iconName: '',\r\n // route: \"/web/dashboard\"\r\n // },\r\n // {\r\n // displayName: \"My Profile\",\r\n // iconName: '',\r\n // route: \"/web/manage-users/user-profile\"\r\n // },\r\n // // {\r\n // // displayName: \"Change Password\",\r\n // // iconName: '',\r\n // // route: \"\"\r\n // // },\r\n // {\r\n // displayName: \"Sign Out\",\r\n // iconName: '',\r\n // route: \"/web/sign-out\"\r\n // }\r\n // ];\r\n // } else if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n // navigations = [\r\n // // {\r\n // // displayName: \"Change Password\",\r\n // // iconName: '',\r\n // // route: \"\"\r\n // // },\r\n // {\r\n // displayName: \"Dashboard\",\r\n // iconName: '',\r\n // route: \"/web/client/dashboard\"\r\n // },\r\n // {\r\n // displayName: \"My Profile\",\r\n // iconName: '',\r\n // route: \"/web/client/my-profile\"\r\n // },\r\n // {\r\n // displayName: \"Sign Out\",\r\n // iconName: '',\r\n // route: \"/web/sign-out\"\r\n // }\r\n // ];\r\n // }\r\n\r\n // return navigations;\r\n // }\r\n // createChangePasswordModal() {\r\n // let chnagePasswordModal;\r\n // chnagePasswordModal = this.dialogModal.open(ChangePasswordComponent, {\r\n // hasBackdrop: true,\r\n // data: {}\r\n // });\r\n // }\r\n // openDialogLogin() {\r\n // let dbModal;\r\n // dbModal = this.dialogModal.open(LoginModelComponent, {\r\n // hasBackdrop: true,\r\n // data: {}\r\n // });\r\n // dbModal.afterClosed().subscribe((result: any) => {\r\n // if (result != null && result != \"close\") {\r\n // let response = result.response;\r\n // if (\r\n // response.statusCode >= 400 &&\r\n // response.statusCode < 500 &&\r\n // response.message\r\n // ) {\r\n // //this.errorMessage = response.message;\r\n // this.loading = false;\r\n // } else if (response.statusCode === 205) {\r\n // //this.errorMessage = response.message;\r\n // this.loading = false;\r\n // } else if (response.access_token) {\r\n // this.isPatient = result.isPatient;\r\n // if (result.isPatient == false) this.redirectToDashboard(\"/web\");\r\n // else this.checkUserLogin();\r\n // this.IsLogin = true;\r\n // } else {\r\n // this.openDialogSecurityQuestion();\r\n // }\r\n // // if (result == \"login\") {\r\n // // this.checkUserLogin();\r\n // // this.IsLogin = true;\r\n // // }\r\n // }\r\n // });\r\n // }\r\n // redirectToDashboard(url: string) {\r\n // if (url == \"/web\") {\r\n // const redirectUrl = this.isPatient\r\n // ? \"/web/client/dashboard\"\r\n // : \"/web/dashboard\";\r\n // this.router.navigate([redirectUrl]);\r\n // }\r\n // }\r\n // openDialogSecurityQuestion() {\r\n // let dbModal;\r\n // dbModal = this.dialogModal.open(SecurityQuestionModelComponent, {\r\n // hasBackdrop: true,\r\n // data: {}\r\n // });\r\n // dbModal.afterClosed().subscribe((result: string) => {\r\n // if (result != null && result != \"close\") {\r\n // if (result == \"save\") {\r\n // this.checkUserLogin();\r\n // this.IsLogin = true;\r\n // }\r\n // }\r\n // });\r\n // }\r\n // openDialogRegister() {\r\n // let dbModal;\r\n // dbModal = this.dialogModal.open(RegisterModelComponent, {\r\n // hasBackdrop: true,\r\n // data: {}\r\n // });\r\n // dbModal.afterClosed().subscribe((result: string) => {\r\n // if (result != null && result != \"close\") {\r\n // if (result == \"save\") {\r\n // this.checkUserLogin();\r\n // }\r\n // }\r\n // });\r\n // }\r\n // ngOnDestroy() {\r\n // if (this.subscription && !this.subscription.closed)\r\n // this.subscription.unsubscribe();\r\n // }\r\n}\r\n","module.exports = \"ul,\\r\\nli {\\r\\n margin: 0px;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n:focus {\\r\\n outline: none;\\r\\n}\\r\\n\\r\\nfooter {\\r\\n background-color: #003359;\\r\\n /* padding-top: 120px; */\\r\\n padding-top: 50px;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\nfooter img.site-logo {\\r\\n max-width: 140px;\\r\\n -webkit-filter: brightness(0) invert(1);\\r\\n filter: brightness(0) invert(1);\\r\\n}\\r\\n\\r\\nfooter h5 {\\r\\n font-size: 14px;\\r\\n color: #ffffff;\\r\\n font-weight: 600;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\nfooter li {\\r\\n list-style-type: none;\\r\\n}\\r\\n\\r\\nfooter li a {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n opacity: 0.6;\\r\\n transition: 0.36s all;\\r\\n line-height: 32px;\\r\\n}\\r\\n\\r\\nfooter li a:hover {\\r\\n opacity: 1;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\nul.social-linking {\\r\\n margin: 20px 0;\\r\\n}\\r\\n\\r\\n.social-linking li {\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.social-linking li a {\\r\\n border: 1px solid;\\r\\n border-radius: 100%;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n display: block;\\r\\n text-align: center;\\r\\n line-height: 30px;\\r\\n font-size: 18px !important;\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.social-linking li a:hover {\\r\\n -webkit-transform: scale(1.3) rotate(360deg);\\r\\n transform: scale(1.3) rotate(360deg);\\r\\n}\\r\\n\\r\\n.app-store a:nth-child(2) {\\r\\n margin-left: -10px;\\r\\n}\\r\\n\\r\\n.social-link {\\r\\n width: 100%;\\r\\n display: flex;\\r\\n border-top: 1px solid rgba(255,255,255,0.2);\\r\\n padding-top: 20px;\\r\\n align-items: center;\\r\\n margin-top: 40px;\\r\\n font-size: 13px;\\r\\n padding-left: 15px;\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n\\r\\n.term a:nth-child(1) {\\r\\n border-right: 1px solid rgba(255,255,255,0.2);\\r\\n}\\r\\n\\r\\n.term a {\\r\\n margin-right: 15px;\\r\\n padding-right: 15px;\\r\\n color: #ffffff;\\r\\n}\\r\\n\\r\\nsection.contact-us {\\r\\n margin-top: -70px;\\r\\n padding-top: 0;\\r\\n position: relative;\\r\\n padding-bottom: 0;\\r\\n margin-bottom: -60px;\\r\\n}\\r\\n\\r\\n.cont-search {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n background: #fff;\\r\\n padding: 20px;\\r\\n border-radius: 20px;\\r\\n flex-flow: row wrap;\\r\\n}\\r\\n\\r\\n.cont-search input {\\r\\n border: 0;\\r\\n width: 100%;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.cont-search .email-error {\\r\\n flex: 1 100%;\\r\\n font-size: 90%;\\r\\n color: red;\\r\\n -webkit-transform: translateY(5px);\\r\\n transform: translateY(5px);\\r\\n}\\r\\n\\r\\n.cont-search button {\\r\\n border-radius: 16px;\\r\\n box-shadow: none !important;\\r\\n width: 140px;\\r\\n font-size: 18px;\\r\\n line-height: 44px;\\r\\n}\\r\\n\\r\\n.contact-outer {\\r\\n background: #E8E8E8;\\r\\n padding: 20px;\\r\\n border-radius: 16px;\\r\\n}\\r\\n\\r\\n.contact-outer h4 {\\r\\n text-transform: capitalize;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.contact-outer p {\\r\\n font-weight: 500;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\nfooter>ul {\\r\\n padding: 0px;\\r\\n list-style: none;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.contact-links {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.contact-links p {\\r\\n padding: 0px 15px 20px;\\r\\n}\\r\\n\\r\\n.contact-links p a {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.contact-links p i {\\r\\n padding-right: 5px;\\r\\n}\\r\\n\\r\\nfooter>ul li {\\r\\n padding: 0px 8px 15px;\\r\\n}\\r\\n\\r\\n.contact-links p {\\r\\n padding: 0px 10px 10px;\\r\\n}\\r\\n\\r\\n.social-link p {\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n footer {\\r\\n padding-top: 40px;\\r\\n }\\r\\n footer h5 {\\r\\n margin-bottom: 10px;\\r\\n margin-top: 30px;\\r\\n }\\r\\n section.contact-us {\\r\\n margin-top: 0;\\r\\n padding-top: 20px;\\r\\n position: relative;\\r\\n padding-bottom: 20px;\\r\\n margin-bottom: 0;\\r\\n background: #f7f7f7;\\r\\n }\\r\\n .cont-search {\\r\\n margin-top: 20px;\\r\\n }\\r\\n .social-link {\\r\\n flex-direction: column;\\r\\n padding-top: 15px;\\r\\n }\\r\\n .social-link p {\\r\\n margin-bottom:15px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 540px) {\\r\\n .app-store a:nth-child(2) {\\r\\n margin-left: 0;\\r\\n }\\r\\n .cont-search button{\\r\\n width: 100%;\\r\\n margin-top: 14px;\\r\\n }\\r\\n .cont-search{\\r\\n flex-direction: column;\\r\\n }\\r\\n .cont-search input{\\r\\n background: #f5f5f5;\\r\\n padding: 10px;\\r\\n border-radius: 4px;\\r\\n }\\r\\n} \"","module.exports = \"\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\nimport { TermsConditionModalComponent } from '../terms-conditions/terms-conditions.component';\r\n\r\n@Component({\r\n selector: 'app-home-footer',\r\n templateUrl: './home-footer.component.html',\r\n styleUrls: ['./home-footer.component.css']\r\n})\r\nexport class HomeFooterComponent implements OnInit {\r\n isContactUsSubmited=false\r\n organizationEmailAddress: string=\"info@smartdatainc.net\";\r\n getOrganizationEmailAddressUrl=\"api/Organization/GetOrganizationEmailAddress\";\r\n sendContactUsEmailUrl=\"api/Organization/SendContactUsEmail\";\r\n contactUsText= new FormControl(\"\",[Validators.email,Validators.required]);\r\n constructor(private commonService: CommonService, private dialogModal: MatDialog,\r\n private notifier: NotifierService) { \r\n this.getOrganizationEmailAddress();\r\n }\r\n\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n getOrganizationEmailAddress(){\r\n this.commonService.get(this.getOrganizationEmailAddressUrl).subscribe( res => this.organizationEmailAddress = res.data);\r\n }\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width:'70%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n \r\n }\r\n });\r\n }\r\n\r\n get mailToAddress() :string{\r\n if(this.organizationEmailAddress){\r\n return \"mailto:\"+this.organizationEmailAddress+\"?Subject=Hello%20again\";\r\n } else {\r\n return \"mailto:info@smartdatainc.net?Subject=Hello%20again\";\r\n }\r\n \r\n }\r\n\r\n sendContactUsEmail(){\r\n \r\n this.isContactUsSubmited= true;\r\n if(this.contactUsText.invalid){\r\n return;\r\n }\r\n const model = {EmailAddress:this.contactUsText.value};\r\n this.commonService.post(this.sendContactUsEmailUrl,model,true).subscribe(res => {\r\n if(res.data){\r\n this.notifier.notify('success','Submitted Successfully');\r\n this.contactUsText.setValue('');\r\n this.isContactUsSubmited= false;\r\n }\r\n });\r\n \r\n }\r\n\r\n\r\n\r\n}\r\n","module.exports = \"/* header .user-dropdown button {\\r\\n border: 0px;\\r\\n background-color: transparent;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n}\\r\\n\\r\\n.user-dropdown button img {\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 100px;\\r\\n}\\r\\n\\r\\n.center-con {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n transform: rotate(90deg);\\r\\n background: #000;\\r\\n top: 4px;\\r\\n position: relative;\\r\\n z-index: 1;\\r\\n left: 31px;\\r\\n}\\r\\n\\r\\n.round {\\r\\n position: absolute;\\r\\n border: 2px solid #fff0;\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.arrow i.fa.fa-angle-down {\\r\\n font-size: 17px;\\r\\n transform: rotate(-93deg);\\r\\n}\\r\\n\\r\\n#cta {\\r\\n width: 100%;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\n#cta .arrow {\\r\\n left: 30%;\\r\\n}\\r\\n\\r\\n.arrow {\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n margin-left: 0px;\\r\\n width: 12px;\\r\\n height: 12px;\\r\\n background-size: contain;\\r\\n top: 15px;\\r\\n}\\r\\n\\r\\n.segunda {\\r\\n margin-left: 8px;\\r\\n}\\r\\n\\r\\n.next {\\r\\n background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHN0eWxlPi5zdDB7ZmlsbDojZmZmfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTMxOS4xIDIxN2MyMC4yIDIwLjIgMTkuOSA1My4yLS42IDczLjdzLTUzLjUgMjAuOC03My43LjZsLTE5MC0xOTBjLTIwLjEtMjAuMi0xOS44LTUzLjIuNy03My43UzEwOSA2LjggMTI5LjEgMjdsMTkwIDE5MHoiLz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzE5LjEgMjkwLjVjMjAuMi0yMC4yIDE5LjktNTMuMi0uNi03My43cy01My41LTIwLjgtNzMuNy0uNmwtMTkwIDE5MGMtMjAuMiAyMC4yLTE5LjkgNTMuMi42IDczLjdzNTMuNSAyMC44IDczLjcuNmwxOTAtMTkweiIvPjwvc3ZnPg==);\\r\\n}\\r\\n\\r\\n@keyframes bounceAlpha {\\r\\n 0% {\\r\\n opacity: 1;\\r\\n transform: translateX(0px) scale(1);\\r\\n }\\r\\n 25% {\\r\\n opacity: 0;\\r\\n transform: translateX(10px) scale(0.9);\\r\\n }\\r\\n 26% {\\r\\n opacity: 0;\\r\\n transform: translateX(-10px) scale(0.9);\\r\\n }\\r\\n 55% {\\r\\n opacity: 1;\\r\\n transform: translateX(0px) scale(1);\\r\\n }\\r\\n}\\r\\n\\r\\n.bounceAlpha {\\r\\n animation-name: bounceAlpha;\\r\\n animation-duration: 1.4s;\\r\\n animation-iteration-count: infinite;\\r\\n animation-timing-function: linear;\\r\\n}\\r\\n\\r\\n.arrow.primera.bounceAlpha {\\r\\n animation-name: bounceAlpha;\\r\\n animation-duration: 1.4s;\\r\\n animation-delay: 0.2s;\\r\\n animation-iteration-count: infinite;\\r\\n animation-timing-function: linear;\\r\\n}\\r\\n\\r\\n.round:hover .arrow {\\r\\n animation-name: bounceAlpha;\\r\\n animation-duration: 1.4s;\\r\\n animation-iteration-count: infinite;\\r\\n animation-timing-function: linear;\\r\\n}\\r\\n\\r\\n.round:hover .arrow.primera {\\r\\n animation-name: bounceAlpha;\\r\\n animation-duration: 1.4s;\\r\\n animation-delay: 0.2s;\\r\\n animation-iteration-count: infinite;\\r\\n animation-timing-function: linear;\\r\\n}\\r\\n\\r\\n\\r\\n/**********************User Image ripple effect*********************/\\r\\n\\r\\n/*.request-loader {\\r\\n position: relative;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 150px;\\r\\n width: 150px;\\r\\n border-radius: 100%;\\r\\n /* background: #fff; */\\r\\n\\r\\n/* box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25); */\\r\\n\\r\\n/*}\\r\\n\\r\\n\\r\\n/* .request-loader img {\\r\\n position: relative;\\r\\n font-size: 72px;\\r\\n top: 5px;\\r\\n left: -5px;\\r\\n} */\\r\\n\\r\\n/*\\r\\n.request-loader::after {\\r\\n opacity: 0;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n left: 0px;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n content: \\\"\\\";\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n border: 8px solid rgba(0, 0, 0, 0.2);\\r\\n border-radius: 100%;\\r\\n animation-name: ripple;\\r\\n animation-duration: 3s;\\r\\n animation-delay: 0s;\\r\\n animation-iteration-count: infinite;\\r\\n animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1);\\r\\n /* z-index: -1; */\\r\\n\\r\\n/*}\\r\\n\\r\\n.request-loader::before {\\r\\n opacity: 0;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n left: 0px;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n content: \\\"\\\";\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n border: 8px solid rgba(0, 0, 0, 0.2);\\r\\n border-radius: 100%;\\r\\n animation-name: ripple;\\r\\n animation-duration: 3s;\\r\\n animation-delay: 0.5s;\\r\\n animation-iteration-count: infinite;\\r\\n animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1);\\r\\n /* z-index: -1; */\\r\\n\\r\\n/*} */\\r\\n\\r\\n.login-btn {\\r\\n font-size: 18px;\\r\\n font-weight: bold;\\r\\n margin-right: 15px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.register-btn {\\r\\n background: #003359;\\r\\n border: 0;\\r\\n color: #fff;\\r\\n font-weight: bold;\\r\\n padding: 10px;\\r\\n width: 140px;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.site-logo {\\r\\n max-width: 150px;\\r\\n width: 100%;\\r\\n min-width: 101px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\nheader ul li a {\\r\\n font-weight: bold;\\r\\n color: #7E9693;\\r\\n}\\r\\n\\r\\nheader {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n padding: 5px 0px;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\nheader h1,\\r\\nheader h1 a {\\r\\n line-height: 0.5;\\r\\n}\\r\\n\\r\\n.navbar-light .navbar-nav .nav-link {\\r\\n color: #7E9693;\\r\\n padding-left: 1rem;\\r\\n padding-right: 1rem;\\r\\n font-family: 'Poppins',sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 600;\\r\\n font-size: 20px;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n.d-sm-block{\\r\\n font-family: 'Poppins',sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 600;\\r\\n font-size: 20px;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\nspan.welcomeName {\\r\\n font-weight: 600;\\r\\n margin-right: 10px;\\r\\n border-right: 1px solid #ccc;\\r\\n padding-right: 15px;\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\nheader .navbar-light .navbar-nav .nav-link:hover,\\r\\nheader .navbar-light .navbar-nav .nav-link:focus,\\r\\nheader .navbar-light .navbar-nav .nav-link.active {\\r\\n color: #7E9693;\\r\\n}\\r\\n\\r\\n.top-bar{\\r\\n width: 100%;\\r\\n margin: 0 auto;\\r\\n padding: 0px 10px;\\r\\n}\\r\\n\\r\\n@media (max-width:991px) {\\r\\n header .navbar-light .navbar-nav .nav-link {\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n font-size: 14px;\\r\\n }\\r\\n\\r\\n .login-btn {\\r\\n font-size: 14px;\\r\\n }\\r\\n\\r\\n .register-btn {\\r\\n width: auto;\\r\\n font-size: 14px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width:767px) {\\r\\n header .navbar {\\r\\n position: inherit;\\r\\n }\\r\\n\\r\\n header .navbar-toggler {\\r\\n padding: 2px;\\r\\n }\\r\\n\\r\\n header .navbar-collapse {\\r\\n position: absolute;\\r\\n top: 80px;\\r\\n background: #fff;\\r\\n width: 100%;\\r\\n left: 0px;\\r\\n z-index: 2;\\r\\n }\\r\\n\\r\\n .header-right {\\r\\n position: inherit;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .category-item {\\r\\n -webkit-transform: scale(0.8);\\r\\n transform: scale(0.8);\\r\\n }\\r\\n\\r\\n header .mat-raised-button {\\r\\n min-width: 50px;\\r\\n }\\r\\n\\r\\n header .mat-raised-button i {\\r\\n line-height: 36px;\\r\\n font-size: 20px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 480px) {\\r\\n header .mat-raised-button {\\r\\n min-width: 35px;\\r\\n padding: 0px 5px;\\r\\n }\\r\\n\\r\\n /* span.welcomeName {\\r\\n display: none;\\r\\n } */\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n Login\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\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 { HomeService } from \"./../home/home.service\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectorRef,\r\n Output,\r\n EventEmitter,\r\n OnDestroy\r\n} from \"@angular/core\";\r\nimport { MediaMatcher } from \"@angular/cdk/layout\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { HeaderInfo, NavItem } from \"src/app/shared/models\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n Router,\r\n RouteConfigLoadStart,\r\n RouteConfigLoadEnd,\r\n NavigationEnd\r\n} from \"@angular/router\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport { RegisterModelComponent } from \"src/app/shared/register-model/register.component\";\r\nimport { ChangePasswordComponent } from \"src/app/platform/modules/agency-portal/change-password/change-password.component\";\r\nimport { SecurityQuestionModelComponent } from \"src/app/shared/security-question-model/security-question-model.component\";\r\nimport { AuthenticationService } from \"src/app/platform/modules/auth/auth.service\";\r\nimport { OrganizationModel } from \"src/app/platform/modules/agency-portal/masters/agency-detail/agency-detail.Model\";\r\nimport { SubDomainService } from \"src/app/subDomain.service\";\r\nimport {Title} from \"@angular/platform-browser\";\r\n\r\n@Component({\r\n selector: \"app-home-header\",\r\n templateUrl: \"./home-header.component.html\",\r\n styleUrls: [\"./home-header.component.css\"],\r\n providers:[SubDomainService],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HomeHeaderComponent implements OnInit, OnDestroy {\r\n mobileQuery: MediaQueryList;\r\n private _mobileQueryListener: () => void;\r\n private subscription: Subscription;\r\n private subscriptionLoading: Subscription;\r\n headerInfo: HeaderInfo;\r\n IsLogin: boolean = false;\r\n userInfo: any;\r\n loading: boolean = false;\r\n loaderImage = \"../..//assets/loader.gif\";\r\n loginResponse: any = null;\r\n isPatient: boolean = false;\r\n //loginState: boolean = false;\r\n organizationModel:string;\r\n issession:boolean=false;\r\n constructor(\r\n media: MediaMatcher,\r\n changeDetectorRef: ChangeDetectorRef,\r\n private dialogModal: MatDialog,\r\n private commonService: CommonService,\r\n private subDomainService : SubDomainService,\r\n private titleService:Title,\r\n private router: Router //private homeService: HomeService\r\n ) {\r\n \r\n this.mobileQuery = media.matchMedia(\"(min-width: 992px)\");\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n this.subDomainService.subjectlogo.subscribe(res=>{\r\n \r\n if(res)\r\n {setTimeout(() => {\r\n this.organizationModel=sessionStorage.getItem(\"logo\");\r\n \r\n }, 500);\r\n\r\n \r\n}\r\n });\r\n \r\n }\r\n\r\n ngAfterViewChecked()\r\n {\r\n if(sessionStorage.getItem(\"logo\"))\r\n {\r\n this.organizationModel=sessionStorage.getItem(\"logo\");\r\n }\r\n }\r\n ngOnInit() {\r\n \r\n \r\nif(sessionStorage.getItem(\"logo\"))\r\n {\r\n this.issession=true;\r\n this.organizationModel=sessionStorage.getItem(\"logo\");\r\n }\r\n // this.homeService.loginState.subscribe(isLogin => {\r\n // this.loginState = isLogin;\r\n // });\r\n this.subscriptionLoading = this.commonService.loadingState.subscribe(\r\n (isloading: boolean) => {\r\n this.loading = isloading;\r\n }\r\n );\r\n if (localStorage.getItem(\"access_token\")) {\r\n this.loading = true;\r\n this.IsLogin = true;\r\n \r\n } else {\r\n this.IsLogin = false;\r\n }\r\n this.checkUserLogin();\r\n var asyncLoadCount = 0;\r\n this.redirectToDashboard(this.router.url);\r\n this.router.events.subscribe((event: any) => {\r\n if (event instanceof NavigationEnd) {\r\n this.redirectToDashboard(event.url);\r\n\r\n // on route change toggle sidebar...\r\n //if (window.innerWidth < 991) this.layoutService.toggleSideNav(false);\r\n }\r\n if (event instanceof RouteConfigLoadStart) {\r\n asyncLoadCount++;\r\n } else if (event instanceof RouteConfigLoadEnd) {\r\n asyncLoadCount--;\r\n }\r\n this.loading = !!asyncLoadCount;\r\n });\r\n \r\n }\r\n checkUserLogin() {\r\n \r\n this.subscription = this.commonService.loginUser.subscribe(\r\n (user: LoginUser) => {\r\n if (user && user.data) {\r\n this.IsLogin = true;\r\n this.loading = false;\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n this.isPatient = true;\r\n this.userInfo = user.patientData;\r\n const Firstname=this.userInfo.Firstname;\r\n const lastname=this.userInfo.lastname;\r\n this.headerInfo = {\r\n user: user.data,\r\n userLocations: user.userLocations || [],\r\n userNavigations: this.getUserNaviagations(user)\r\n };\r\n } else {\r\n this.userInfo = user.data;\r\n this.router.navigateByUrl(\"/web/dashboard\");\r\n //this.isPatient = false;\r\n //this.redirectToDashboard(\"/web\");\r\n }\r\n\r\n // this.sidebarInfo = {\r\n // navigations: this.getSideNavigations(user),\r\n // };\r\n\r\n // if (!this.isPatient) {\r\n // this.allNavigations = this.sidebarInfo;\r\n // this.updateClientRoutes(null, null);\r\n // }\r\n } else {\r\n }\r\n }\r\n );\r\n }\r\n \r\n setispateintlogin(){\r\n this.IsLogin=true;\r\n }\r\n\r\n onSelectUserMenu(item: NavItem) {\r\n \r\n switch (item.route) {\r\n case \"/web/sign-out\":\r\n this.commonService.logout();\r\n \r\n sessionStorage.setItem(\"redirectTo\", \"\");\r\n this.IsLogin = false;\r\n this.router.navigateByUrl('/web/client-login');\r\n //location.reload();\r\n break;\r\n case \"\":\r\n this.createChangePasswordModal();\r\n break;\r\n default:\r\n if (item.route) this.router.navigateByUrl(item.route); //this.router.navigate([item.route]);\r\n break;\r\n }\r\n }\r\n getUserNaviagations(user: LoginUser) {\r\n let navigations: NavItem[] = [];\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"ADMIN\") {\r\n navigations = [\r\n {\r\n displayName: \"My Profile\",\r\n iconName: '',\r\n route: \"/web/manage-users/user-profile\"\r\n },\r\n // {\r\n // displayName: \"Change Password\",\r\n // iconName: '',\r\n // route: \"\"\r\n // },\r\n // {\r\n // displayName: \"Settings\",\r\n // iconName: '',\r\n // route: \"/web/app-config\"\r\n // },\r\n {\r\n displayName: \"Sign Out\",\r\n iconName: '',\r\n route: \"/web/sign-out\"\r\n }\r\n ];\r\n } else if ((userRoleName || \"\").toUpperCase() === \"STAFF\") {\r\n navigations = [\r\n {\r\n displayName: \"Dashboard\",\r\n iconName: '',\r\n route: \"/web/dashboard\"\r\n },\r\n {\r\n displayName: \"My Profile\",\r\n iconName: '',\r\n route: \"/web/manage-users/user-profile\"\r\n },\r\n // {\r\n // displayName: \"Change Password\",\r\n // iconName: '',\r\n // route: \"\"\r\n // },\r\n {\r\n displayName: \"Sign Out\",\r\n iconName: '',\r\n route: \"/web/sign-out\"\r\n }\r\n ];\r\n } else if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n navigations = [\r\n // {\r\n // displayName: \"Change Password\",\r\n // iconName: '',\r\n // route: \"\"\r\n // },\r\n {\r\n displayName: \"Dashboard\",\r\n iconName: '',\r\n route: \"/web/client/dashboard\"\r\n },\r\n {\r\n displayName: \"My Profile\",\r\n iconName: '',\r\n route: \"/web/client/my-profile\"\r\n },\r\n {\r\n displayName: \"Sign Out\",\r\n iconName: '',\r\n route: \"/web/sign-out\"\r\n }\r\n ];\r\n }\r\n\r\n return navigations;\r\n }\r\n createChangePasswordModal() {\r\n let chnagePasswordModal;\r\n chnagePasswordModal = this.dialogModal.open(ChangePasswordComponent, {\r\n hasBackdrop: true,\r\n data: {}\r\n });\r\n }\r\n openDialogLogin() {\r\n\r\n this.router.navigate([\"/web/login-selection\"]);\r\n \r\n\r\n\r\n // let dbModal;\r\n // dbModal = this.dialogModal.open(LoginModelComponent, {\r\n // hasBackdrop: true,\r\n // data: {}\r\n // });\r\n // dbModal.afterClosed().subscribe((result: any) => {\r\n // if (result != null && result != \"close\") {\r\n // let response = result.response;\r\n // if (\r\n // response.statusCode >= 400 &&\r\n // response.statusCode < 500 &&\r\n // response.message\r\n // ) {\r\n // //this.errorMessage = response.message;\r\n // this.loading = false;\r\n // } else if (response.statusCode === 205) {\r\n // //this.errorMessage = response.message;\r\n // this.loading = false;\r\n // } else if (response.access_token) {\r\n // this.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // location.href = \"/web/dashboard\";\r\n // //this.router.navigate([\"/web/dashboard\"]); //this.redirectToDashboard(\"/web\");\r\n // // this.router.navigateByUrl(\"/web/dashboard\"); //this.redirectToDashboard(\"/web\");\r\n // } else {\r\n // this.checkUserLogin();\r\n // this.IsLogin = true;\r\n // }\r\n // } else {\r\n // this.openDialogSecurityQuestion();\r\n // }\r\n // // if (result == \"login\") {\r\n // // this.checkUserLogin();\r\n // // this.IsLogin = true;\r\n // // }\r\n // }\r\n // });\r\n }\r\n redirectToDashboard(url: string) {\r\n if (url == \"/web\") {\r\n const redirectUrl = this.isPatient\r\n ? \"/web/client/dashboard\"\r\n : \"/web/dashboard\";\r\n this.router.navigate([redirectUrl]);\r\n }\r\n }\r\n openDialogSecurityQuestion() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(SecurityQuestionModelComponent, {\r\n hasBackdrop: true,\r\n data: {}\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n if (result == \"save\") {\r\n location.reload();\r\n // this.checkUserLogin();\r\n // this.IsLogin = true;\r\n }\r\n }\r\n });\r\n }\r\n openDialogRegister() {\r\n this.router.navigate([\"/web/signup-selection\"]);\r\n // let dbModal;\r\n // dbModal = this.dialogModal.open(RegisterModelComponent, {\r\n // hasBackdrop: true,\r\n // data: {}\r\n // });\r\n // dbModal.afterClosed().subscribe((result: string) => {\r\n // if (result != null && result != \"close\") {\r\n // if (result == \"save\") {\r\n // this.checkUserLogin();\r\n // }\r\n // }\r\n // });\r\n }\r\n ngOnDestroy() {\r\n if (this.subscription && !this.subscription.closed)\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","module.exports = \"ul,\\r\\nli {\\r\\n margin: 0px;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n:focus {\\r\\n outline: none;\\r\\n}\\r\\n\\r\\nh3 {\\r\\n font-size: 30px;\\r\\n font-weight: 500;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\nsmall {\\r\\n font-size: 14px;\\r\\n color: #565656;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.custom-btn {\\r\\n max-width: 140px;\\r\\n height: 40px;\\r\\n}\\r\\n\\r\\nsection.the-benefits,\\r\\n.meet-doctor,\\r\\nsection.categories,\\r\\nsection.book-doctor,\\r\\n.happy-client {\\r\\n padding: 50px 0;\\r\\n}\\r\\n\\r\\nsection.the-benefits {\\r\\n padding-top: 20px !important;\\r\\n padding-bottom: 30px !important;\\r\\n}\\r\\n\\r\\n.home-banner {\\r\\n background-image: url('telehealth-banner.png');\\r\\n background-repeat: no-repeat;\\r\\n background-position: right;\\r\\n width: 100%;\\r\\n position: relative;\\r\\n /* background-size: auto 100%; */\\r\\n background-size: cover;\\r\\n padding: 60px 0;\\r\\n}\\r\\n\\r\\n.home-banner:before {\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#003359+0,0fd8ef+100&1+0,0+100 */\\r\\n /* FF3.6-15 */\\r\\n /* Chrome10-25,Safari5.1-6 */\\r\\n background: linear-gradient(to right, rgba(24, 155, 237, 1) 14%, rgb(24 155 237 / 90%) 35%, rgb(24 155 237 / 0%) 55%);\\r\\n /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */\\r\\n filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#003359', endColorstr='#000fd8ef', GradientType=1);\\r\\n /* IE6-9 */\\r\\n content: \\\"\\\";\\r\\n z-index: 0;\\r\\n top: 0;\\r\\n left: 0;\\r\\n}\\r\\n\\r\\n.banner-content h2 {\\r\\n font-weight: bold;\\r\\n font-size: 45px;\\r\\n}\\r\\n\\r\\n.banner-content p {\\r\\n font-weight: 500;\\r\\n font-size: 24px;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n.content-area h4 {\\r\\n color: #7E9693;\\r\\n font-weight: 600;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.content-area p {\\r\\n font-weight: 500;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.banner-content .white-btn {\\r\\n margin-top: 6px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.white-btn input[type=checkbox] {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.banner-content h2 span {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.banner-content h3 {\\r\\n color: #fff;\\r\\n font-weight: 500;\\r\\n font-size: 25px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.banner-content form {\\r\\n display: flex;\\r\\n margin: 30px 0px 30px 0px;\\r\\n}\\r\\n\\r\\n.banner-content .form-group {\\r\\n width: 304px;\\r\\n height: 60px;\\r\\n background: #fff;\\r\\n display: flex;\\r\\n color: #000;\\r\\n align-items: center;\\r\\n font-size: 18px;\\r\\n position: relative;\\r\\n margin-right: 15px;\\r\\n box-shadow: 0px 11px 27px rgb(0 0 0 / 16%);\\r\\n border-radius: 18px;\\r\\n}\\r\\n\\r\\n.banner-content .form-group img {\\r\\n position: absolute;\\r\\n left: 15px;\\r\\n max-width: 20px;\\r\\n max-height: 20px;\\r\\n}\\r\\n\\r\\nbutton.search-btn {\\r\\n height: 60px;\\r\\n min-width: 60px;\\r\\n font-size: 25px;\\r\\n border-radius: 16px;\\r\\n -webkit-border-radius: 16px;\\r\\n box-shadow: 0px 11px 27px rgb(0 0 0 / 16%);\\r\\n}\\r\\n\\r\\n.white-btn {\\r\\n color: #fff;\\r\\n border: 2px solid #fff;\\r\\n padding: 10px 24px;\\r\\n font-weight: 700;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.white-btn:hover {\\r\\n background: #fff;\\r\\n box-shadow: 0px 11px 27px rgb(0 0 0 / 16%);\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select {\\r\\n width: 100%;\\r\\n /* padding-left: 32px; */\\r\\n padding-left: 35px;\\r\\n height: 60px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container {\\r\\n border: 0px;\\r\\n height: 100%;\\r\\n border-radius: 16px !important;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input {\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 60px;\\r\\n}\\r\\n\\r\\n.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container {\\r\\n border: 0px;\\r\\n box-shadow: none;\\r\\n -webkit-box-shadow: none;\\r\\n}\\r\\n\\r\\n.custom-ng-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\\r\\n font-size: 15px;\\r\\n white-space: normal;\\r\\n}\\r\\n\\r\\n.category-item {\\r\\n padding-top: 3px;\\r\\n display: inline-block;\\r\\n background: #fff;\\r\\n box-shadow: 0px 3px 50px rgb(0 0 0 / 16%);\\r\\n width: 170px;\\r\\n margin: 5%;\\r\\n border-radius: 100%;\\r\\n height: 170px;\\r\\n padding: 20px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.category-items {\\r\\n margin-top: 40px;\\r\\n}\\r\\n\\r\\n.owl-carousel .owl-item .category-circle-icons img {\\r\\n display: inline-block;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.category-circle-icons {\\r\\n width: 90px;\\r\\n height: 90px;\\r\\n line-height: 90px;\\r\\n border-radius: 100px;\\r\\n margin: 0px auto;\\r\\n background: #003359;\\r\\n}\\r\\n\\r\\n.category-circle-icons img {\\r\\n -webkit-filter: brightness(0) invert(1);\\r\\n filter: brightness(0) invert(1);\\r\\n max-height: 60px;\\r\\n}\\r\\n\\r\\n.category-item label {\\r\\n font-size: 16px;\\r\\n font-weight: 700;\\r\\n margin-top: 13px;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.book-item h5 {\\r\\n font-weight: 600;\\r\\n font-size: 24px;\\r\\n margin: 10px 0px;\\r\\n}\\r\\n\\r\\n.book-doctor-content.book-item h5 {\\r\\n font-size: 18px;\\r\\n font-weight: 400;\\r\\n margin: 0;\\r\\n padding-bottom: 12px;\\r\\n}\\r\\n\\r\\n.book-doctor-content p {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.pt-0 {\\r\\n padding-top: 0 !important;\\r\\n}\\r\\n\\r\\n.book-item ul {\\r\\n margin: 0px 0px 20px 0px;\\r\\n padding: 0px;\\r\\n list-style-type: none;\\r\\n}\\r\\n\\r\\n.book-item ul li {\\r\\n position: relative;\\r\\n line-height: 40px;\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-item ul li img {\\r\\n max-width: 16px;\\r\\n display: inline-block !important;\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.book-item li i {\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 8px;\\r\\n color: #565656;\\r\\n}\\r\\n\\r\\n.clini-infos li i {\\r\\n position: relative;\\r\\n font-size: 20px;\\r\\n margin-right: 10px;\\r\\n top: 0;\\r\\n}\\r\\n\\r\\n.profile-btns {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.profile-btns .mat-raised-button {\\r\\n box-shadow: none!important;\\r\\n width: 140px;\\r\\n height: 40px;\\r\\n margin-top: 10px;\\r\\n border-radius: 8px;\\r\\n}\\r\\n\\r\\n.profile-btns button.mat-accent {\\r\\n background-color: transparent;\\r\\n color: #003359;\\r\\n width: 140px;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 8px;\\r\\n margin-right: 15px;\\r\\n box-shadow: none !important;\\r\\n}\\r\\n\\r\\n.owl-theme .owl-nav [class*=\\\"owl-\\\"] {\\r\\n border-radius: 100px;\\r\\n font-size: 50px;\\r\\n background-color: transparent;\\r\\n color: #333;\\r\\n position: absolute;\\r\\n top: 32%;\\r\\n}\\r\\n\\r\\n.owl-prev {\\r\\n left: -6%;\\r\\n}\\r\\n\\r\\n.owl-next {\\r\\n right: -5%;\\r\\n}\\r\\n\\r\\n.owl-theme .owl-nav {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.owl-theme .owl-nav [class*=\\\"owl-\\\"]:hover {\\r\\n background: transparent;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\nsection.happy-client {\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.book-doctor-content,\\r\\n.meet-doctor-content {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n color: #000;\\r\\n \\r\\n}\\r\\n\\r\\n.book-doctor-content .doc-name a {\\r\\n font-size: 26px;\\r\\n font-weight: 600;\\r\\n color: #7E9693;\\r\\n}\\r\\n\\r\\n.video-frame {\\r\\n height: 305px;\\r\\n}\\r\\n\\r\\n.meet-doctor-content p {\\r\\n font-weight: 600;\\r\\n margin-left: 7%;\\r\\n}\\r\\n\\r\\n.meet-doctor {\\r\\n background: rgb(24 155 237 / 20%);\\r\\n \\r\\n}\\r\\n\\r\\n.benefit-box {\\r\\n background-image: url('benefit-banner.png');\\r\\n background-size: cover;\\r\\n height: 410px;\\r\\n margin-bottom: 12%;\\r\\n}\\r\\n\\r\\n.content-area {\\r\\n max-width: 740px;\\r\\n margin: auto;\\r\\n background: #fff;\\r\\n padding: 30px;\\r\\n border-radius: 30px;\\r\\n position: relative;\\r\\n top: 70%;\\r\\n box-shadow: 0px 3px 50px rgb(0 0 0 / 16%);\\r\\n}\\r\\n\\r\\n.ssuccessful-bookings {\\r\\n background: #7E9693;\\r\\n padding: 40PX 0;\\r\\n margin-top: 60px;\\r\\n}\\r\\n\\r\\n.shape-box {\\r\\n text-align: center;\\r\\n padding: 20px;\\r\\n border-radius: 0 30%;\\r\\n color: #fff;\\r\\n transition: 0.26s all;\\r\\n max-width: 160px;\\r\\n}\\r\\n\\r\\n.shape-box img {\\r\\n max-width: 50px;\\r\\n -webkit-filter: brightness(0) invert(1);\\r\\n filter: brightness(0) invert(1);\\r\\n transition: 0.26s all;\\r\\n}\\r\\n\\r\\n.shape-box:hover img {\\r\\n -webkit-filter: brightness(0%);\\r\\n filter: brightness(0%);\\r\\n}\\r\\n\\r\\n.shape-box:hover {\\r\\n background: #fff;\\r\\n color: #242424;\\r\\n}\\r\\n\\r\\n.contact-outer {\\r\\n background: #E8E8E8;\\r\\n padding: 20px;\\r\\n border-radius: 16px;\\r\\n}\\r\\n\\r\\n.contact-outer h4 {\\r\\n text-transform: capitalize;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.contact-outer p {\\r\\n font-weight: 500;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.cont-search {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n background: #fff;\\r\\n padding: 20px;\\r\\n border-radius: 20px;\\r\\n}\\r\\n\\r\\n.cont-search input {\\r\\n border: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.cont-search button {\\r\\n border-radius: 16px;\\r\\n box-shadow: none !important;\\r\\n width: 140px;\\r\\n font-size: 18px;\\r\\n line-height: 44px;\\r\\n}\\r\\n\\r\\n.banner-contact {\\r\\n min-height: 530px;\\r\\n}\\r\\n\\r\\n/*datepicker css*/\\r\\n\\r\\n.banner-content .form-group ng-datepicker.custom-ng-datepicker .ngx-datepicker-container {\\r\\n padding-left: 34px;\\r\\n}\\r\\n\\r\\n.banner-content .form-group ng-datepicker.custom-ng-datepicker .ngx-datepicker-input {\\r\\n height: 60px;\\r\\n width: 100%;\\r\\n border: 0px;\\r\\n font-size: 18px;\\r\\n padding-left: 18px;\\r\\n border-radius: 16px;\\r\\n}\\r\\n\\r\\n.banner-content .form-group ng-datepicker.custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-calendar-container {\\r\\n top: inherit;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-selected,\\r\\n.main-calendar-days .day-unit:hover {\\r\\n background: #003359 !important;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-today {\\r\\n background: #63d891 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.ng-select .ng-clear-wrapper .ng-clear {\\r\\n padding-top: 8px;\\r\\n}\\r\\n\\r\\n/* .clinic-btn .link-btn{\\r\\n border: 2px solid #003359;\\r\\n color: #000;\\r\\n font-size: 16px;\\r\\n padding: 9px 25px;\\r\\n border-radius: 10px;\\r\\n cursor: pointer;\\r\\n font-weight: 500;\\r\\n} */\\r\\n\\r\\n.clinic-booking button.mat-raised-button.mat-primary {\\r\\n padding: 3px 32px;\\r\\n box-shadow: none;\\r\\n border-radius: 10px;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mr-5 {\\r\\n margin-right: 50px;\\r\\n}\\r\\n\\r\\n.clini-infos a {\\r\\n color: inherit;\\r\\n}\\r\\n\\r\\n/*datepicker css*/\\r\\n\\r\\n/* .star{\\r\\n font-size: 32px !important;\\r\\n} */\\r\\n\\r\\n/* Checkbox is styled via import */\\r\\n\\r\\n/* .trigger input[type=checkbox] + span {\\r\\n visibility: hidden;\\r\\n opacity: 0;\\r\\n transition: cubic-bezier(0.175, 0.885, 0.32, 1.275);\\r\\n position: absolute;\\r\\n }\\r\\n .trigger input[type=checkbox]:checked + span {\\r\\n visibility: visible;\\r\\n opacity: 1;\\r\\n transition-delay: 0.15s;\\r\\n position: absolute;\\r\\n background-color: rgba(47, 38, 96, .70);\\r\\n border:none;\\r\\n color: #fff;\\r\\n }\\r\\n \\r\\n .msg {\\r\\n display: block;\\r\\n margin-top: 8px;\\r\\n padding: 8px 12px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 3px;\\r\\n font-weight: 400;\\r\\n font-size: 15px;\\r\\n transition: all 300ms cubic-bezier(0.335, 0.01, 0.03, 1.36);\\r\\n }\\r\\n .bounce{\\r\\n position: relative;\\r\\n -webkit-animation: bounce 0.5s linear 2s;\\r\\n -moz-animation: bounce 0.5s linear 0s infinite alternate;\\r\\n -ms-animation: bounce 0.5s linear 0s infinite alternate;\\r\\n -o-animation: bounce 0.5s linear 0s infinite alternate;\\r\\n animation: bounce 0.5s linear 2s;\\r\\n }\\r\\n \\r\\n @-webkit-keyframes bounce {\\r\\n 0% {\\r\\n bottom: 0;\\r\\n }\\r\\n 100% {\\r\\n bottom: 5px;\\r\\n }\\r\\n }\\r\\n @-moz-keyframes bounce {\\r\\n 0% {\\r\\n bottom: 0;\\r\\n }\\r\\n 100% {\\r\\n bottom: 5px;\\r\\n }\\r\\n }\\r\\n @-ms-keyframes bounce {\\r\\n 0% {\\r\\n bottom: 0;\\r\\n }\\r\\n 100% {\\r\\n bottom: 5px;\\r\\n }\\r\\n }\\r\\n @-o-keyframes bounce {\\r\\n 0% {\\r\\n bottom: 0;\\r\\n }\\r\\n 100% {\\r\\n bottom: 5px;\\r\\n }\\r\\n }\\r\\n @keyframes bounce {\\r\\n 0% {\\r\\n bottom: 0;\\r\\n }\\r\\n 100% {\\r\\n bottom: 5px;\\r\\n }\\r\\n }\\r\\n\\r\\n @keyframes bounceAround {\\r\\n 0% {transform:translateY(0);}\\r\\n 20% {transform:translateY(-60px) rotate(0deg);}\\r\\n 25%{transform:translateY(20px) rotate(0deg);}\\r\\n 35%, 55%{transform:translateY(0px) rotate(0deg);}\\r\\n 60% {transform: translateY(-20px) rotate(0deg);}\\r\\n 100%{transform: translateY(-20px) rotate(360deg);}\\r\\n } */\\r\\n\\r\\n.img-hvr.hvr-6 {\\r\\n position: relative;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.img-hvr.hvr-6 .text {\\r\\n opacity: 0;\\r\\n text-align: center;\\r\\n position: absolute;\\r\\n top: 9px;\\r\\n left: 3px;\\r\\n border-radius: 15px;\\r\\n padding: 15px 24px 15px;\\r\\n background-color: #2f2660;\\r\\n transition: opacity 0.3s linear 0s, top 0.3s linear;\\r\\n}\\r\\n\\r\\n.img-hvr.hvr-6 .text h4 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n color: #ffff;\\r\\n width: auto;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.img-hvr.hvr-6:hover .text {\\r\\n opacity: 1;\\r\\n top: 9px;\\r\\n left: 3px;\\r\\n border-radius: 15px;\\r\\n padding: 15px 24px 15px;\\r\\n}\\r\\n\\r\\n.learn-more-btn {\\r\\n position: absolute;\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n.book-doctor{\\r\\n background-image: url('doctor-meet-bg.jpg');\\r\\n background-repeat: no-repeat;\\r\\n background-position: center center;\\r\\n background-size: cover;\\r\\n background-attachment: fixed;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.book-doctor::before{\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#003359+0,0fd8ef+100&1+0,0+100 */\\r\\n /* FF3.6-15 */\\r\\n /* Chrome10-25,Safari5.1-6 */\\r\\n background: linear-gradient(to right, rgb(190 192 192 / 30%) 14%, rgb(235 235 235 / 70%) 35%, rgb(239 239 239 / 88%) 55%);\\r\\n /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */\\r\\n filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#003359', endColorstr='#000fd8ef', GradientType=1);\\r\\n /* IE6-9 */\\r\\n content: \\\"\\\";\\r\\n z-index: 0;\\r\\n top: 0;\\r\\n left: 0;\\r\\n}\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n h3 {\\r\\n font-size: 25px;\\r\\n margin-bottom: 20px;\\r\\n }\\r\\n .banner-content form {\\r\\n margin: 30px auto 20px;\\r\\n }\\r\\n .banner-content .form-group {\\r\\n width: 30%;\\r\\n }\\r\\n button.search-btn {\\r\\n max-width: 10%;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n section {\\r\\n padding-top: 30px;\\r\\n padding-bottom: 30px;\\r\\n }\\r\\n .banner-content form {\\r\\n width: 95%;\\r\\n margin: 30px auto 20px;\\r\\n }\\r\\n .banner-content .form-group,\\r\\n .banner-content .form-group ng-datepicker.custom-ng-datepicker .ngx-datepicker-input {\\r\\n font-size: 16px;\\r\\n }\\r\\n .book-doctor-content,\\r\\n .meet-doctor-content {\\r\\n margin-top: 30px;\\r\\n }\\r\\n .meet-doctor-content p {\\r\\n margin: 0px;\\r\\n }\\r\\n .meet-doctor-content p,\\r\\n .explore-service p,\\r\\n .book-doctor-content p {\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n .content-area {\\r\\n top: 50%;\\r\\n }\\r\\n .owl-theme .owl-nav [class*=\\\"owl-\\\"] {\\r\\n font-size: 45px;\\r\\n background: #fff;\\r\\n width: 40px;\\r\\n opacity: 0.6;\\r\\n box-shadow: 0 0 20px rgb(0 0 0 / 5%);\\r\\n }\\r\\n .owl-prev {\\r\\n left: 0;\\r\\n }\\r\\n .owl-next {\\r\\n right: 0;\\r\\n }\\r\\n .owl-theme .owl-nav [class*=\\\"owl-\\\"]:hover {\\r\\n opacity: 1;\\r\\n background: #fff;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .category-item {\\r\\n -webkit-transform: scale(0.8);\\r\\n transform: scale(0.8);\\r\\n }\\r\\n .register-btn {\\r\\n width: auto;\\r\\n }\\r\\n .banner-content {\\r\\n position: inherit;\\r\\n }\\r\\n .banner-content h2 {\\r\\n font-size: 24px;\\r\\n }\\r\\n .banner-content form {\\r\\n width: 100%;\\r\\n margin: 10px 0px;\\r\\n flex-direction: column;\\r\\n }\\r\\n .banner-content .form-group {\\r\\n width: 100%;\\r\\n margin: 0px 0px 10px;\\r\\n }\\r\\n button.search-btn {\\r\\n max-width: 100%;\\r\\n margin: 0;\\r\\n }\\r\\n .banner-content h3 {\\r\\n font-size: 16px;\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n .social-link {\\r\\n flex-direction: column;\\r\\n padding-top: 15px;\\r\\n }\\r\\n .social-link p {\\r\\n padding-bottom: 10px;\\r\\n }\\r\\n .contact-links {\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n }\\r\\n .content-area {\\r\\n top: 10%;\\r\\n }\\r\\n .shape-box h3,\\r\\n .shape-box h4 {\\r\\n font-size: 22px;\\r\\n }\\r\\n section.book-doctor {\\r\\n padding: 0px 0;\\r\\n }\\r\\n .banner-content p {\\r\\n font-size: 20px;\\r\\n }\\r\\n .home-banner {\\r\\n background-position: center;\\r\\n }\\r\\n .learn-more-btn {\\r\\n bottom: -55px;\\r\\n left: 0;\\r\\n right: inherit;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

The best virtual care for all,
in the comfort of your
own home.

\\r\\n

The technology to connect, expertise you can trust
and the power to improve your health.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n

Not sure what doctor you need?

\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n Learn More\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

The benefits

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

We're empowering people everywhere to live their healthiest lives.

\\r\\n

CareHub is on a mission to address the full spectrum of health and well-being—not only when people are sick but also throughout their lifelong journeys to achieve better health.\\r\\n

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

Speciality

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Meet Our Doctors

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

{{provider.fullName}}

\\r\\n
{{spl.speciality}}
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n 0\\\" class=\\\"d-inline-block average-rating\\\">({{provider.totalReviews}})\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • {{provider.phoneNumber}}
  • \\r\\n
  • {{provider.email}}
  • \\r\\n
  • {{provider.address}}
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n View Profile\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

We have 10 000 + happy patients!
Be one of them!

\\r\\n

We are proud to help you find your ideal doctor for your needs.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n

1000+

\\r\\n

Successful Bookings

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n

100+

\\r\\n

Active Doctors

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n

10000+

\\r\\n

Happy Patients

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n

75%

\\r\\n

Recovery rate

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

The best virtual care for all,
in the comfort of your
own home.

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\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 { SubDomainService } from \"src/app/subDomain.service\";\r\nimport { debounceTime } from \"rxjs/operators\";\r\nimport { HomeService } from \"./home.service\";\r\nimport { Component, OnInit, ViewEncapsulation, ViewChild } from \"@angular/core\";\r\nimport { OwlOptions } from \"ngx-owl-carousel-o\";\r\nimport { DatepickerOptions } from \"ng2-datepicker\";\r\nimport * as enLocale from \"date-fns/locale/en\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ProviderSearchFilterModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport { HomeHeaderComponent } from \"../home-header/home-header.component\";\r\nimport { SpecialityService } from \"src/app/platform/modules/agency-portal/masters/speciality/speciality.service\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-home\",\r\n templateUrl: \"./home.component.html\",\r\n styleUrls: [\"./home.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HomeComponent implements OnInit {\r\n selectedSpeciality: any;\r\n selectedService: any;\r\n selectedLocation: any;\r\n selectedDate: any;\r\n filterModel: ProviderSearchFilterModel;\r\n providers: any = [];\r\n totalRecords: number = 0;\r\n metaData: any;\r\n options: DatepickerOptions;\r\n taxonomies: any[] = [];\r\n speciality: any[] = [];\r\n services: any[] = [];\r\n location: any[] = [];\r\n specialityIconName: any;\r\n responseSpecialityIconName: any;\r\n customOptions: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: false,\r\n dots: false,\r\n margin: 30,\r\n navSpeed: 700,\r\n navText: [\r\n '',\r\n ''\r\n ],\r\n\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 1\r\n },\r\n 940: {\r\n items: 1\r\n }\r\n },\r\n nav: true\r\n };\r\n carouselSlide: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: true,\r\n navSpeed: 700,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplayHoverPause: true,\r\n\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 3\r\n },\r\n 740: {\r\n items: 5\r\n },\r\n 940: {\r\n items: 5\r\n }\r\n }\r\n };\r\n constructor(\r\n private usersService: UsersService,\r\n private domSanitizer: DomSanitizer,\r\n private homeService: HomeService,\r\n private router: Router,\r\n private datepipe: DatePipe,\r\n private commonService: CommonService,\r\n private subDomainService: SubDomainService,\r\n private dialogModal: MatDialog,\r\n private headerComp: HomeHeaderComponent,\r\n private specialityService: SpecialityService\r\n ) {\r\n this.taxonomies = [];\r\n this.speciality = [];\r\n this.location = [];\r\n let dte = new Date();\r\n dte.setDate(dte.getDate() - 1);\r\n this.options = {\r\n minYear: 1970,\r\n maxYear: 2030,\r\n displayFormat: \"MMM D[,] YYYY\",\r\n barTitleFormat: \"MMMM YYYY\",\r\n dayNamesFormat: \"dd\",\r\n firstCalendarDay: 0, // 0 - Sunday, 1 - Monday\r\n locale: enLocale,\r\n minDate: dte, // Minimal selectable date\r\n //maxDate: new Date(Date.now()), // Maximal selectable date\r\n barTitleIfEmpty: \"Click to select a date\",\r\n placeholder: \"Select Date\", // HTML input placeholder attribute (default: '')\r\n fieldId: \"my-date-picker\", // ID to assign to the input field. Defaults to datepicker-\r\n useEmptyBarTitle: false // Defaults to true. If set to false then barTitleIfEmpty will be disregarded and a date will always be shown\r\n };\r\n this.filterModel = new ProviderSearchFilterModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.applyFilter();\r\n this.getSpeciality();\r\n\r\n }\r\n ngAfterViewInit() {\r\n\r\n if (localStorage.getItem(\"business_token\")) this.getMasterData(null);\r\n else {\r\n var subDomainUrl = this.subDomainService.getSubDomainUrl();\r\n if (subDomainUrl) {\r\n subDomainUrl = \"LetsBe\";\r\n this.subDomainService.verifyBusinessName(subDomainUrl).subscribe();\r\n this.subDomainService.getSubDomainInfo().subscribe(domainInfo => {\r\n if (domainInfo) {\r\n\r\n ///localStorage.setItem(\"logo\",\"data:image/png;base64,\" +domainInfo.organization.logoBase64)\r\n this.subDomainService.updateFavicon(\r\n \"data:image/png;base64,\" + domainInfo.organization.faviconBase64\r\n );\r\n this.getMasterData(null);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n Speciality(sin) {\r\n this.router.navigate(['/doctor-list'], { queryParams: { 'searchTerm': sin.globalCodeName } });\r\n }\r\n changeSpeciality(evt) {\r\n\r\n this.getMasterData(this.selectedSpeciality);\r\n }\r\n getMasterData(globalCodeId: any) {\r\n this.homeService\r\n .getMasterData(\"masterLocation,MASTERTAXONOMY,MASTERSPECIALITY,MASTERSTAFFSERVICE\", true, globalCodeId)\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n this.taxonomies =\r\n response.masterTaxonomy != null ? response.masterTaxonomy : [];\r\n this.speciality =\r\n response.masterSpeciality != null ? response.masterSpeciality : [];\r\n this.location =\r\n response.masterLocation != null ? response.masterLocation : [];\r\n this.services =\r\n response.masterStaffServices != null\r\n ? response.masterStaffServices\r\n : [];\r\n\r\n this.speciality.push({ id: 0, value: \"More specialties can be populated on request\", disabled: true });\r\n this.services.push({ id: 0, value: \"More services can be populated on request\", disabled: true });\r\n }\r\n });\r\n }\r\n doctorListingRedirection() {\r\n let spl = this.commonService.encryptValue(this.selectedSpeciality, true);\r\n let srvc = this.commonService.encryptValue(this.selectedService, true);\r\n\r\n // let srvc= this.commonService.encryptValue(this.selectedService, true);\r\n // let location = this.commonService.encryptValue(this.selectedLocation, true); //agencyremove\r\n let location = this.commonService.encryptValue(101, true);\r\n let date = this.datepipe.transform(this.selectedDate, \"yyyy-MM-dd\");\r\n this.router.navigate([\"/doctor-list\"], {\r\n queryParams: { sp: spl, loc: location, d: date, srvc: srvc }\r\n });\r\n }\r\n\r\n openDialogLogin() {\r\n this.router.navigate([\"/web/login-selection\"]);\r\n }\r\n\r\n\r\n\r\n applyFilter() {\r\n\r\n this.setPaginatorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder\r\n );\r\n this.getProviderList(this.filterModel);\r\n }\r\n\r\n getProviderList(\r\n filterModel: ProviderSearchFilterModel,\r\n\r\n ) {\r\n\r\n this.filterModel.Rates = \"\";\r\n this.filterModel.ReviewRating = \"\";\r\n this.homeService.getProviderList(filterModel).subscribe((response: any) => {\r\n\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n\r\n this.providers = response.data;\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords;\r\n } else {\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n // this.showLoader = false;\r\n\r\n });\r\n }\r\n\r\n openSymptomChecker() {\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n\r\n if (localStorage.getItem(\"access_token\")) {\r\n this.router.navigate(['/symptom-checker']);\r\n return false;\r\n }\r\n });\r\n }\r\n else {\r\n this.router.navigate(['/symptom-checker']);\r\n return false;\r\n }\r\n }\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n\r\n //this.filterModel.Genders.push(\"0\");\r\n //this.filterModel.Specialities.push(this.selectedSpeciality);\r\n }\r\n\r\n redirectToProfilePage(providerId: string) {\r\n\r\n this.router.navigate([\"/doctor-profile\"], {\r\n queryParams: {\r\n id: providerId\r\n }\r\n });\r\n }\r\n\r\n redirectToListing(providerId: string) {\r\n\r\n this.router.navigate([\"/doctor-list\"], {\r\n queryParams: {\r\n providerId: providerId\r\n }\r\n });\r\n }\r\n\r\n bookAppointment(staffId: number, providerId: string) {\r\n\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n // this.headerComp.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // this.headerComp.redirectToDashboard(\"/web\");\r\n // } else {\r\n\r\n //this.headerComp.IsLogin = true;\r\n //this.headerComp.checkUserLogin();\r\n location.reload();\r\n //}\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n // if (result != null && result.response.access_token != \"\") {\r\n\r\n // this.headerComp.IsLogin == true;\r\n // this.headerComp.checkUserLogin();\r\n // }\r\n });\r\n } else {\r\n //this.openDialogBookAppointment(staffId, providerId);\r\n }\r\n //let staffId = this.commonService.encryptValue(id);\r\n }\r\n\r\n getSpeciality() {\r\n\r\n this.specialityService.getSpecialityIconName().subscribe((response: any) => {\r\n if (response != null) {\r\n\r\n this.responseSpecialityIconName = response.data;\r\n if (this.responseSpecialityIconName != null && this.responseSpecialityIconName.length > 0) {\r\n this.responseSpecialityIconName.forEach(app => {\r\n\r\n app.specialityIcon = this.domSanitizer.bypassSecurityTrustUrl(app.specialityIcon);\r\n });\r\n\r\n this.specialityIconName = this.responseSpecialityIconName;\r\n }\r\n\r\n // console.log(this.specialityIconName);\r\n\r\n // this.imagePreview = this.specialityModel.photoThumbnailPath;\r\n }\r\n });\r\n }\r\n}\r\n","import { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { debug } from \"util\";\r\nimport { HttpHeaders, HttpClient } from \"@angular/common/http\";\r\nimport { Observable, Subject, BehaviorSubject } from \"rxjs\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { map } from \"rxjs/operators\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class HomeService {\r\n private loginSubject = new BehaviorSubject(false);\r\n specialityIcon: any;\r\n loginState = this.loginSubject.asObservable();\r\n private loadingStateSubject = new Subject();\r\n public loadingState = this.loadingStateSubject.asObservable();\r\n private getMasterDataUrl: string = \"Home/MasterDataByName\";\r\n\r\n private getProviderListUrl: string = \"Home/ProviderAvailableList\";\r\n private getSortedProviderListUrl: string = \"Home/SortedProviderAvailableList\";\r\n private getsearchtextProviderListUrl: string = \"Home/SearchTextProviderAvailableList\";\r\n //private getProviderListUrl: string = \"Payers/ProviderAvailableListForMobile\";\r\n private getProviderDetailUrl: string = \"Home/ProviderProfile?id=\";\r\n private getRatingReviewsUrl: string =\r\n \"ReviewRatings/ReviewRatingByStaffId?id=\";\r\n\r\n private getProviderLocationsAndAvailibilityDetailUrl: string =\r\n \"Home/GetStaffLocationWithAvailability?id=\"; \r\n private checkIsValidAppointmentURL =\r\n \"Home/CheckIsValidAppointmentWithLocation\";\r\n private getOrganizationDetailUrl = \"Home/GetOrganizationDetail\";\r\n private getOTSessionUrl: string = \"Home/GetOTSession?invitationId=\"; \r\n private getAverageRatingDetailUrl: string =\r\n \"ReviewRatings/ReviewRatingAverage?id=\";\r\n private getVideoArchiveDetailUrl: string =\r\n \"Home/GetVideoRecording?archiveId=\";\r\n private getByGlobalCodeIdURL:String=\"Home/GetMasterServicesByGlobalCodeId?globalCodeId=\"\r\n private getUrgentCareProviderListUrl: string = \"Home/UrgentCareProviderAvailableList\";\r\n private getsearchtextUrgentCareProviderListUrl: string = \"Home/SearchTextUrgentCareProviderAvailableList\";\r\n private getSortedUrgentCareProviderListUrl: string = \"Home/SortedUrgentCareProviderAvailableList\";\r\n\r\n\r\n constructor(private http: HttpClient, private commonService: CommonService) {\r\n //this.loadingStateSubject=this.loadingStateSubject;\r\n }\r\n checkLoginState(value: boolean) {\r\n this.loginSubject.next(value);\r\n }\r\n \r\n getMasterData(\r\n value: string = \"\",\r\n isLoading: boolean = true,\r\n globalCodeId: any[]=[]\r\n \r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n \r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getMasterDataUrl+'?globalCodeId='+globalCodeId}`,\r\n { masterdata: value },\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getProviderList(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getSortProviderList(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getSortedProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getsearchtextProviderList(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getsearchtextProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getUrgentCareProviderList(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getUrgentCareProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getsearchtextUrgentCareProviderList(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getsearchtextUrgentCareProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getSortUrgentCareProviderList(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getSortedUrgentCareProviderListUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getProviderDetail(id: string, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(`${environment.api_url}/${this.getProviderDetailUrl}${id}`, {\r\n headers: headers,\r\n })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getAverageRating(id: string, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getAverageRatingDetailUrl}${id}`,\r\n {\r\n headers: headers,\r\n }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getProviderLocationAndAvailibilityDetail(\r\n id: string,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getProviderLocationsAndAvailibilityDetailUrl}${id}`,\r\n {\r\n headers: headers,\r\n }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n checkIsValidAppointment(\r\n appointmentData: any,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const postJson = appointmentData;\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.checkIsValidAppointmentURL}`,\r\n postJson,\r\n {\r\n headers: headers,\r\n }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getOrganizationDetail(isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(`${environment.api_url}/${this.getOrganizationDetailUrl}`, {\r\n headers: headers,\r\n })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getOTSessionDetail(\r\n invitationId: string,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getOTSessionUrl}${invitationId}`,\r\n {\r\n headers: headers,\r\n }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n \r\n getRatingReviews(\r\n id: string,\r\n isLoading: boolean = true,\r\n pageNumber: number,\r\n pageSize: number\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getRatingReviewsUrl}${id}&pageNumber=${pageNumber}&pageSize=${pageSize}`,\r\n {\r\n headers: headers,\r\n }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getVideoArchiveDetail(\r\n archiveId: string = \"\",\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.getVideoArchiveDetailUrl}${archiveId}`,\r\n {\r\n headers: headers,\r\n }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n \r\n}\r\n","module.exports = \".bggray {\\r\\n background-color: #fafafa;\\r\\n height: 100vh;\\r\\n}\\r\\n.bggray .login-container {\\r\\n padding: 40px 0;\\r\\n margin: 0 auto;\\r\\n}\"","module.exports = \"\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n medical treatment\\r\\n \\r\\n \\r\\n \\r\\n Super Admin\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n medical treatment\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n Corporate Users\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n Health Consultant\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n medical treatment\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n NGOs\\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, ViewEncapsulation } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { first } from 'rxjs/operators';\r\nimport { TermsConditionModalComponent } from 'src/app/front/terms-conditions/terms-conditions.component';\r\nimport { AuthenticationService } from '../../platform/modules/auth/auth.service';\r\nimport { SubDomainService } from 'src/app/subDomain.service';\r\n\r\n@Component({\r\n selector: 'app-login-selection',\r\n templateUrl: './login-selection.component.html',\r\n styleUrls: ['./login-selection.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LoginSelectionComponent implements OnInit {\r\n loginForm: FormGroup;\r\n domainName: any = '';\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n subDomainInfo: any;\r\n errorMessage: string = null;\r\n ipAddress: string;\r\n isLogin: boolean = false;\r\n iSignUp: boolean = false;\r\n organizationModel: string;\r\n hostName: string;\r\n constructor(\r\n\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private authenticationService: AuthenticationService,\r\n private dialogModal: MatDialog,\r\n private subDomainService: SubDomainService\r\n ) {\r\n this.isLogin = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.hostName = window.location.host;\r\n this.organizationModel = sessionStorage.getItem(\"logo\");\r\n if (this.hostName === \"admin.letsbe.me\" || this.hostName === \"members.letsbe.me\" || this.hostName === \"healthcoach.letsbe.me\" || this.hostName === \"ngo.letsbe.me\") {\r\n const portal = this.subDomainService.getSubDomainUrl().toLowerCase();\r\n this.setportalType(portal);\r\n } else {\r\n const portal = this.subDomainService.getSubdomain().toLowerCase();\r\n }\r\n\r\n }\r\n setportalType(portal: any) {\r\n const portalname = portal;\r\n if (portalname == 'healthcoach') {\r\n //window.location.href = \"https://consultant.localhost:4200/web/consultant-login\"\r\n //window.location.href = \"https://consultant.letsbe.me/web/consultant-login\"\r\n this.router.navigate(['/web/consultant-login']);\r\n } else if (portalname == 'members') {\r\n //window.location.href = \"https://members.localhost:4200/web/client-login\"\r\n //window.location.href = \"https://members.letsbe.me/web/client-login\"\r\n this.router.navigate(['/web/client-login']);\r\n } else if (portalname == 'ngo') {\r\n //window.location.href = \"https://ngo.localhost:4200/web/ngo-login\"\r\n //window.location.href = \"https://ngo.letsbe.me/web/ngo-login\"\r\n this.router.navigate(['/web/ngo-login']);\r\n } else {\r\n //window.location.href = \"https://admin.localhost:4200/web/login\"\r\n //window.location.href = \"https://admin.letsbe.me/web/login\"\r\n this.router.navigate(['/web/login']);\r\n }\r\n\r\n }\r\n ngAfterViewChecked() {\r\n if (sessionStorage.getItem(\"logo\")) {\r\n this.organizationModel = sessionStorage.getItem(\"logo\");\r\n }\r\n }\r\n\r\n reDirectTo(type: string) {\r\n let url = '';\r\n if (this.isLogin) {\r\n url = type === 'patient' ? '/web/client-login' : '/web/login'\r\n }\r\n else if (this.iSignUp) {\r\n url = type === 'patient' ? '/web/client-signup' : '/web/provider-signup'\r\n }\r\n this.redirect(url);\r\n }\r\n reDirectToconultant() {\r\n this.router.navigate(['/web/consultant-login']);\r\n }\r\n reDirectToNgo() {\r\n this.router.navigate(['/web/ngo-login']);\r\n }\r\n\r\n redirect(path) {\r\n this.router.navigate([path]);\r\n }\r\n\r\n changeSideImg(type) {\r\n if (type === 'patient')\r\n this.authenticationService.updateSideScreenImgSrc(\"../../../../../assets/login-patient.png\");\r\n else if (type === 'provider')\r\n this.authenticationService.updateSideScreenImgSrc(\"../../../../../assets/login-doc.png\");\r\n }\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width: '70%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \".doctor-banner {\\r\\n background-image: url('our-doctor-banner.png');\\r\\n background-repeat: no-repeat;\\r\\n width: 100%;\\r\\n position: relative;\\r\\n background-size: cover;\\r\\n height: 600px;\\r\\n margin-bottom: 60px;\\r\\n}\\r\\n.whatwedo-content {\\r\\n background: rgb(15 216 239 / 30%);\\r\\n color: #fff;\\r\\n text-align: center;\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n width: 100%;\\r\\n padding: 40px 0;\\r\\n}\\r\\n.whatwedo-content h2{\\r\\n font-size: 3rem;\\r\\n}\\r\\nsection.the-benefits, .meet-doctor, section.team-mate{\\r\\n padding: 60px 0;\\r\\n}\\r\\n.team-box {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n}\\r\\n.team-box img {\\r\\n width: 23%;\\r\\n margin-left: -40px;\\r\\n}\\r\\n.team-box img:first-child {\\r\\n margin-left: 0;\\r\\n}\\r\\n.team-box img:first-child, .team-box img:nth-child(3), .team-box img:nth-child(5){\\r\\n margin-top: 150px;\\r\\n}\\r\\n.team-box img:nth-child(2), .team-box img:nth-child(4){\\r\\n margin-top: -150px;\\r\\n margin-left: -40px;\\r\\n}\\r\\n.team-mate ul {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n list-style-type: none;\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n.team-mate ul li {\\r\\n width: 23%;\\r\\n margin: 5% 1%;\\r\\n position: relative;\\r\\n overflow: hidden;\\r\\n}\\r\\n.dr-box {\\r\\n background: rgb(47 38 96 / 80%);\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n text-align: center;\\r\\n color: #fff;\\r\\n padding: 20px; \\r\\n opacity: 0;\\r\\n transition: .26s all;\\r\\n height: 0;\\r\\n}\\r\\n.team-mate ul li:hover .dr-box {\\r\\n height: auto;\\r\\n opacity: 1;\\r\\n transition: .26s all;\\r\\n}\\r\\n.dr-box h3 {\\r\\n color: #003359;\\r\\n font-weight: 600;\\r\\n margin: 0;\\r\\n}\\r\\n.dr-box h3 span {\\r\\n display: block;\\r\\n font-weight: 400;\\r\\n}\\r\\n.click-link {\\r\\n background: #2F2660;\\r\\n display: flex;\\r\\n height: 100%;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n color: #003359;\\r\\n}\\r\\n.click-link a {\\r\\n font-size: 1.75rem;\\r\\n font-weight: 600;\\r\\n color: #003359;\\r\\n}\\r\\nsection.blue-line {\\r\\n background: #2F2660;\\r\\n padding: 30px 0;\\r\\n}\\r\\nsection.blue-line h2, section.blue-line a{\\r\\n color: #ffffff;\\r\\n margin: 0;\\r\\n font-size: 1.6rem;\\r\\n text-align: center;\\r\\n \\r\\n}\\r\\nsection.blue-line a{\\r\\n text-decoration: underline;\\r\\n}\\r\\nsection.unwell {\\r\\n background: #003359;\\r\\n color: #fff;\\r\\n padding: 30px 0;\\r\\n text-align: center;\\r\\n}\\r\\n.newslatter{\\r\\n background: #2F2660;\\r\\n color: #fff;\\r\\n padding: 30px 0;\\r\\n text-align: center;\\r\\n}\\r\\nsection.unwell h2, .newslatter h2{\\r\\n font-size: 2.5rem;\\r\\n}\\r\\n.white-btn {\\r\\n color: #2F2660;\\r\\n padding: 13px 30px;\\r\\n font-weight: 500;\\r\\n background: #fff;\\r\\n margin-top: 20px;\\r\\n display: inline-block;\\r\\n}\\r\\n.white-btn:hover {\\r\\n \\r\\n box-shadow: 0px 11px 27px rgb(0 0 0 / 16%);\\r\\n}\\r\\n.value-box {\\r\\n position: relative;\\r\\n margin-bottom: 40px;\\r\\n}\\r\\n.value-box .dr-box {\\r\\n background: rgb(47 38 96 / 60%);\\r\\n text-align: left;\\r\\n color: #fff;\\r\\n opacity: 1; \\r\\n height: auto;\\r\\n}\\r\\n.value-box .dr-box h3{\\r\\n color: #fff;\\r\\n}\\r\\nsection.key-value {\\r\\n padding: 60px 0 100px;\\r\\n}\\r\\n.wedo-box h4 {\\r\\n text-align: center;\\r\\n line-height: 54px;\\r\\n font-size: 2.3rem;\\r\\n color: #000;\\r\\n font-weight: 400;\\r\\n}\\r\\n.p-8{\\r\\n padding:0px 8px;\\r\\n}\\r\\n@media (max-width:767px){\\r\\n.team-mate ul li {\\r\\n width: 31%;\\r\\n}\\r\\n.dr-box h3 {\\r\\n font-size: 1.4rem;\\r\\n}\\r\\nsection.key-value {\\r\\n padding: 60px 0 0;\\r\\n}\\r\\n}\\r\\n@media (max-width:575px){\\r\\n section.blue-line h2, section.blue-line a {\\r\\n font-size: 1.3rem;\\r\\n }\\r\\n section.blue-line{\\r\\n padding: 20px 0;\\r\\n }\\r\\n .wedo-box h4{\\r\\n font-size: 1.3rem;\\r\\n line-height: 34px;\\r\\n }\\r\\n .team-mate ul li {\\r\\n width: 48%;\\r\\n }\\r\\n .dr-box h3 {\\r\\n font-size: 1rem;\\r\\n }\\r\\n .whatwedo-content h2 {\\r\\n font-size: 2rem;\\r\\n }\\r\\n .team-box img {\\r\\n width: 26%;\\r\\n margin-left: -30px;\\r\\n }\\r\\n .team-box img:first-child, .team-box img:nth-child(3), .team-box img:nth-child(5) {\\r\\n margin-top: 70px;\\r\\n }\\r\\n .team-box img:nth-child(2), .team-box img:nth-child(4) {\\r\\n margin-top: -70px;\\r\\n }\\r\\n section.doctor-team {\\r\\n padding: 0px 0 40px;\\r\\n }\\r\\n section.unwell h2, .newslatter h2 {\\r\\n font-size: 1.5rem;\\r\\n }\\r\\n .white-btn {\\r\\n margin-top: 5px;\\r\\n }\\r\\n .click-link a {\\r\\n font-size: 1rem;\\r\\n }\\r\\n .doctor-banner {\\r\\n height: 450px;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

The best of healthcare comes from a diverse team with a common goal

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"team\\\"\\r\\n \\\"team\\\"\\r\\n \\\"team\\\"\\r\\n \\\"team\\\"\\r\\n \\\"team\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

We value our people

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

With 200+ doctors and medical advisors joining our platform, we plan to make the best decisions\\r\\n and consultations for our patients. We provide our patients with a second opinion from different\\r\\n doctors within the same department so we can assure them their diagnostic is the right one.\\r\\n

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

Watch our virtual tour to understand how we connect with our patients. Learn\\r\\n More

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

Meet The Team

\\r\\n
    \\r\\n
  • \\r\\n \\\"team\\\"\\r\\n
    \\r\\n

    Alex B.Urologist

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\\"team\\\"\\r\\n
    \\r\\n

    Alex B.Urologist

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\\"team\\\"\\r\\n
    \\r\\n

    Alex B.Urologist

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\\"team\\\"\\r\\n
    \\r\\n

    Alex B.Urologist

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\\"team\\\"\\r\\n
    \\r\\n

    Alex B.Urologist

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n\\r\\n \\\"team\\\"\\r\\n
    \\r\\n

    Alex B.Urologist

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n\\r\\n \\\"team\\\"\\r\\n
    \\r\\n

    Alex B.Urologist

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n View All\\r\\n
    \\r\\n
  • \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Feeling unwell?

\\r\\n Book An Appointment\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Subscribe to our newsletter

\\r\\n Subscribe\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Our key values

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"team\\\"\\r\\n
\\r\\n

Primary health services

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"team\\\"\\r\\n
\\r\\n

Medical services

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"team\\\"\\r\\n
\\r\\n

Health Promotion

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"team\\\"\\r\\n
\\r\\n

Continuous Care

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"team\\\"\\r\\n
\\r\\n

Counselling

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"team\\\"\\r\\n
\\r\\n

Partnerships

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","\r\nimport { AfterViewInit, Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-our-doctors\",\r\n templateUrl: \"./our-doctors.component.html\",\r\n styleUrls: [\"./our-doctors.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OurDoctorsComponent implements OnInit{\r\n \r\n ngOnInit() {}\r\n}\r\n","module.exports = \"\"","module.exports = \"

\\r\\n payment-failure works!\\r\\n

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-payment-failure',\r\n templateUrl: './payment-failure.component.html',\r\n styleUrls: ['./payment-failure.component.css']\r\n})\r\nexport class PaymentFailureComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"

\\r\\n payment-success works!\\r\\n

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-payment-success',\r\n templateUrl: './payment-success.component.html',\r\n styleUrls: ['./payment-success.component.css']\r\n})\r\nexport class PaymentSuccessComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".custom_modal h3 {\\r\\n background: var(--colorVariable);\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n font-weight: 500 !important;\\r\\n line-height: 20px !important;\\r\\n padding: 15px 20px !important;\\r\\n text-transform: uppercase;\\r\\n margin: 0px 0px 10px 0px;\\r\\n }\\r\\n\\r\\n .txt-cntr{\\r\\n text-align: center;\\r\\n }\\r\\n\\r\\n .mat-dialog-actions {\\r\\n\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n .link-btn {\\r\\n background-color: #fff;\\r\\n color: #00305B !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #00305B;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n .pd-12{\\r\\n padding: 12px !important;\\r\\n}\"","module.exports = \"
\\r\\n

Cancellation Rules

\\r\\n
\\r\\n\\r\\n
\\r\\n
0\\\" class=\\\"row text-center\\\">\\r\\n
\\r\\n Upto Hours\\r\\n
\\r\\n
\\r\\n Refund\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{cr.uptoHours}}\\r\\n
\\r\\n
\\r\\n {{cr.refundPercentage + '%'}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Cancellation policy is not there hence no refund will be given in case of cancellation.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import {\r\n Component,\r\n Inject,\r\n} from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { CancelationRule } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\n\r\n@Component({\r\n selector: \"app-provider-fee-settings\",\r\n templateUrl: \"./provider-fee-settings.component.html\",\r\n styleUrls: [\"./provider-fee-settings.component.css\"],\r\n})\r\nexport class ProviderFeeSettingsComponent {\r\n\r\n constructor(\r\n public dialogPopup: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: CancelationRule[],\r\n ) {\r\n\r\n }\r\n\r\n onClose(){\r\n this.dialogPopup.close();\r\n }\r\n\r\n}\r\n","module.exports = \"agm-map {\\r\\n height: 500px;\\r\\n}\\r\\n\\r\\n.mat-card {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.mb-10 {\\r\\n margin-bottom: 100px;\\r\\n}\\r\\n\\r\\n.mat-raised-button {\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.doctor-widget {\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n\\r\\n.doctor-widget .doc-info {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.doctor-profile-img .doctor-img {\\r\\n width: 200px;\\r\\n height: 200px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n overflow: hidden;\\r\\n margin-right: 15px;\\r\\n /* flex: 0 0 200px; */\\r\\n /* display: flex; */\\r\\n}\\r\\n\\r\\n.doc-info-cont star-rating span.star {\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.doctor-widget .doc-name {\\r\\n font-size: 20px;\\r\\n font-weight: 500;\\r\\n margin-bottom: 3px;\\r\\n}\\r\\n\\r\\n.doc-name a {\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.doc-name a:hover {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.mat-card-content p.doc-speciality {\\r\\n font-size: 14px;\\r\\n color: #757575;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.doc-department {\\r\\n color: #003359;\\r\\n font-size: 14px;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.doctor-widget .rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.clinic-services {\\r\\n color: #272b41;\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n display: inline-block;\\r\\n font-size: 12px;\\r\\n padding: 3px 10px;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n margin-right: 5px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n.clinic-gallery .ngx-gallery-remaining-count {\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.profile-view .clinic-booking {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.profile-view .clinic-booking .mat-raised-button {\\r\\n box-shadow: none;\\r\\n -ms-box-shadow: none;\\r\\n width: 100%;\\r\\n margin-top: 15px;\\r\\n border-radius: 10px;\\r\\n font-weight: 600;\\r\\n padding: 4px 15px;\\r\\n}\\r\\n\\r\\n.profile-view .clinic-booking button.mat-accent {\\r\\n background-color: transparent;\\r\\n color: #003359;\\r\\n border: 2px solid #003359;\\r\\n padding: 1px 15px;\\r\\n margin-right: 0 !important;\\r\\n}\\r\\n\\r\\n.profile-view .doc-info-right {\\r\\n width: 30%;\\r\\n}\\r\\n\\r\\n.profile-view .clini-infos ul {\\r\\n font-size: 14px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.clini-infos ul li {\\r\\n display: block;\\r\\n line-height: 25px;\\r\\n color: #4e4852;\\r\\n}\\r\\n\\r\\n.clini-infos ul li i {\\r\\n font-size: 15px;\\r\\n min-width: 20px;\\r\\n}\\r\\n\\r\\n.doc-info-cont {\\r\\n padding-right: 15px;\\r\\n}\\r\\n\\r\\n.profile-widget h4,\\r\\n.service-list h4 {\\r\\n font-size: 15px;\\r\\n color: #000;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.profile-widget {\\r\\n margin-top: 20px;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.profile-widget ul {\\r\\n margin: 0px;\\r\\n padding: 0px 0px 0px 5px;\\r\\n}\\r\\n\\r\\n.profile-widget ul li {\\r\\n list-style: none;\\r\\n padding-bottom: 30px;\\r\\n position: relative;\\r\\n border-left: 1px solid #ccc;\\r\\n padding-left: 15px;\\r\\n line-height: 15px;\\r\\n}\\r\\n\\r\\n.profile-widget ul li:before {\\r\\n position: absolute;\\r\\n content: \\\"\\\";\\r\\n width: 12px;\\r\\n height: 12px;\\r\\n background: #63d891;\\r\\n border-radius: 100px;\\r\\n left: -6px;\\r\\n top: 0px;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.profile-widget ul li:last-child {\\r\\n padding-bottom: 0px;\\r\\n}\\r\\n\\r\\n.profile-widget ul li span {\\r\\n display: block;\\r\\n font-size: 13px;\\r\\n margin: 5px 0px 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.profile-widget ul li p {\\r\\n color: #003359;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n.service-list {\\r\\n margin-top: 30px;\\r\\n}\\r\\n\\r\\n.service-list ul {\\r\\n padding: 0px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.service-list ul li {\\r\\n list-style: none;\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n padding-right: 20px;\\r\\n padding-left: 15px;\\r\\n padding-bottom: 10px;\\r\\n}\\r\\n\\r\\n.service-list ul li:before {\\r\\n position: absolute;\\r\\n content: \\\"\\\\2713\\\";\\r\\n left: 0px;\\r\\n top: 0px;\\r\\n color: #63d891;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.clinic-content h4 {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.clinic-direction {\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.clinic-direction a {\\r\\n color: #63d891;\\r\\n margin-top: 10px;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.clinic-timing>div {\\r\\n margin-top: 15px;\\r\\n}\\r\\n\\r\\n.clinic-timing p {\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n.timings-days span {\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.clinic-timing span {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.direction-map {\\r\\n width: 100%;\\r\\n height: 320px;\\r\\n border: 10px solid #e3e3e3;\\r\\n border-radius: 10px;\\r\\n overflow: hidden;\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .doctor-widget .doc-info {\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n }\\r\\n .doc-info-right {\\r\\n width: 100%;\\r\\n }\\r\\n .clini-infos {\\r\\n margin-top: 15px;\\r\\n }\\r\\n .clini-infos ul li {\\r\\n display: inline-block;\\r\\n padding-right: 10px;\\r\\n }\\r\\n .clini-infos ul li i {\\r\\n min-width: auto;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .doc-info>div {\\r\\n flex-direction: column;\\r\\n }\\r\\n .doctor-img {\\r\\n margin: 0px auto 10px auto;\\r\\n }\\r\\n .doc-info-cont {\\r\\n padding-right: 0px;\\r\\n }\\r\\n}\\r\\n\\r\\n.star {\\r\\n margin-right: -4px;\\r\\n}\\r\\n\\r\\n.average-rating {\\r\\n font-size: 12px !important;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n.provider-block{\\r\\n display: block;\\r\\n height: 600px;\\r\\n overflow: auto;\\r\\n}\\r\\n\\r\\n.provider-block .fa-close{\\r\\n position: fixed;\\r\\n top: -15px;\\r\\n right: -8px;\\r\\n background-color: #7e9693;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 6px 9px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n}\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n
\\r\\n

{{fullname}}

\\r\\n \\r\\n
{{spl.serviceName}}
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n 0\\\" class=\\\"d-inline-block average-rating\\\">({{averageRating.total}})\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • {{userInfo.address}}
  • \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

About Me

\\r\\n

{{userInfo.aboutMe}}

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

Work & Experience

\\r\\n
    \\r\\n
  • {{exp.organizationName}}\\r\\n {{exp.startDate | date:'mediumDate'}} - {{exp.endDate | date:'mediumDate'}} ({{exp.totalExperience}})\\r\\n
  • \\r\\n
\\r\\n No work & experience added yet.\\r\\n
\\r\\n
\\r\\n

Education

\\r\\n
    \\r\\n
  • {{edu.university}}\\r\\n {{edu.course}}\\r\\n {{edu.startDate | date:'mediumDate'}} - {{edu.endDate | date:'mediumDate'}}\\r\\n
  • \\r\\n
\\r\\n No qualification added yet.\\r\\n
\\r\\n
\\r\\n

Awards

\\r\\n
    \\r\\n
  • \\r\\n \\r\\n

    {{award.awardType}}

    \\r\\n {{award.description}}\\r\\n
  • \\r\\n
\\r\\n No awards added yet.\\r\\n
\\r\\n
\\r\\n

Services

\\r\\n
    \\r\\n
  • {{serv.serviceName}}
  • \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{loc.assignedLocationsModel.location}}

\\r\\n
\\r\\n {{userInfo.address}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{avail.dayName | slice:0:3}} \\r\\n

\\r\\n

\\r\\n {{avail.startTime | date:'shortTime'}} - {{avail.endTime | date:'shortTime'}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n 0}\\\" stickyHeader=\\\"true\\\" [inputColumns]=\\\"reviewRatingDisplayedColumns\\\"\\r\\n [inputSource]=\\\"reviewRatingList\\\" (onChange)=\\\"onReviewRatingPageOrSortChange($event)\\\" [inputMeta]=\\\"reviewRatingMeta\\\" style=\\\"width: 100%;\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { DataTableComponent } from \"./../../shared/data-table/data-table.component\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n ElementRef,\r\n ViewEncapsulation,\r\n Inject\r\n} from \"@angular/core\";\r\nimport {\r\n NgxGalleryOptions,\r\n NgxGalleryImage,\r\n NgxGalleryAnimation\r\n} from \"ngx-gallery\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { MouseEvent } from \"@agm/core\";\r\nimport { BookAppointmentComponent } from \"src/app/front/book-appointment/book-appointment.component\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport {\r\n FilterModel,\r\n Metadata\r\n} from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { StaffAward, StaffExperience, StaffQualification } from \"../doctor-profile/doctor-profile.model\";\r\nimport { isNumber } from \"util\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-provider-profile\",\r\n templateUrl: \"./provider-profile.component.html\",\r\n styleUrls: [\"./provider-profile.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ProviderProfileModalComponent implements OnInit {\r\n // staffId: string = \"\";\r\n // constructor(private dialogModalRef: MatDialogRef,\r\n // @Inject(MAT_DIALOG_DATA) public data: any){\r\n // this.staffId = this.data.id;\r\n // }\r\n // ngOnInit() {}\r\n\r\n // closeDialog(action: any): void {\r\n // this.dialogModalRef.close(action);\r\n // }\r\n\r\n\r\n\r\n\r\n staffId: string = \"\";\r\n locationId: number = 0;\r\n userInfo: any;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n reviewRatingDisplayedColumns: Array;\r\n reviewRatingMeta: Metadata;\r\n reviewRatingfilterModel: FilterModel;\r\n averageRating: any;\r\n typeOfAppt: any;\r\n encryptedStaffId: any;\r\n isDataLoading: any;\r\n loaderImage = \"../..//assets/loader.gif\";\r\n decryptedStaffId: any;\r\n constructor(\r\n private homeService: HomeService,\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService,\r\n private dialogModal: MatDialog,\r\n private headerComp: HomeHeaderComponent,\r\n private router: Router,\r\n private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n this.reviewRatingDisplayedColumns = [\r\n {\r\n displayName: \"Rating\",\r\n key: \"rating\",\r\n class: \"\",\r\n width: \"30%\",\r\n sticky: true,\r\n type: \"rating\"\r\n },\r\n {\r\n displayName: \"Review\",\r\n key: \"review\",\r\n width: \"40%\"\r\n },\r\n { displayName: \"Date\", key: \"createdDate\", width: \"30%\", type: \"date\" }//,\r\n //{\r\n // displayName: \"Reviewed By\",\r\n // key: \"patientName\",\r\n // width: \"250px\",\r\n // type: \"50\",\r\n // isInfo: true\r\n //}\r\n ];\r\n this.reviewRatingfilterModel = new FilterModel();\r\n this.staffId = this.data.id;\r\n this.typeOfAppt = this.data.apptType;\r\n this.decryptedStaffId = this.data.decryptedStaffId;\r\n this.encryptedStaffId = isNumber(this.decryptedStaffId) ? this.commonService.encryptValue(this.decryptedStaffId) : this.staffId;\r\n }\r\n\r\n galleryOptions: NgxGalleryOptions[];\r\n galleryImages: NgxGalleryImage[];\r\n ngOnInit(): void {\r\n this.isDataLoading = true;\r\n // this.activatedRoute.queryParams.subscribe(param => {\r\n // this.staffId = param[\"id\"];\r\n // if (\r\n // param[\"loc\"] != \"\" &&\r\n // param[\"loc\"] != null &&\r\n // param[\"loc\"] != undefined\r\n // )\r\n // this.locationId = this.commonService.encryptValue(param[\"loc\"], false);\r\n // });\r\n\r\n this.getStaffDetail();\r\n this.getAverageRating();\r\n this.galleryOptions = [\r\n {\r\n width: \"100px\",\r\n height: \"50px\",\r\n thumbnailsColumns: 2,\r\n image: false,\r\n thumbnailsRemainingCount: true,\r\n imageAnimation: NgxGalleryAnimation.Slide\r\n },\r\n // max-width 800\r\n {\r\n breakpoint: 800,\r\n width: \"100%\",\r\n height: \"600px\",\r\n imagePercent: 80,\r\n thumbnailsPercent: 20,\r\n thumbnailsMargin: 20,\r\n thumbnailMargin: 20\r\n },\r\n // max-width 400\r\n {\r\n breakpoint: 400,\r\n preview: false\r\n }\r\n ];\r\n\r\n this.galleryImages = [\r\n {\r\n small: \"assets/img/doctor-3big.jpg\",\r\n big: \"assets/img/doctor-3big.jpg\"\r\n },\r\n {\r\n small: \"assets/img/dentistroom.jpg\",\r\n big: \"assets/img/dentistroom.jpg\"\r\n },\r\n {\r\n small: \"assets/img/dentistroom1.jpg\",\r\n big: \"assets/img/dentistroom1.jpg\"\r\n }\r\n ];\r\n this.tabs = [\r\n {\r\n tabName: \"Overview\"\r\n },\r\n {\r\n tabName: \"Location\"\r\n },\r\n {\r\n tabName: \"Reviews\"\r\n }\r\n ];\r\n }\r\n loadChild(event: any) {\r\n switch (event.tab.textLabel) {\r\n case this.tabs[0].tabName:\r\n this.getStaffDetail();\r\n break;\r\n case this.tabs[1].tabName:\r\n this.getLocationAvailability();\r\n break;\r\n case this.tabs[2].tabName:\r\n this.getReviewRating();\r\n break;\r\n }\r\n }\r\n getStaffDetail() {\r\n if (this.staffId != \"\") {\r\n this.homeService.getProviderDetail(this.staffId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.isDataLoading = false;\r\n this.userInfo = res.data;\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n }\r\n });\r\n }\r\n }\r\n getAverageRating() {\r\n if (this.staffId != \"\") {\r\n this.homeService.getAverageRating(this.staffId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.averageRating = res.data;\r\n }\r\n });\r\n }\r\n }\r\n StaffLocationAvailabilities: any[] = [];\r\n getLocationAvailability() {\r\n if (this.staffId != \"\") {\r\n this.homeService\r\n .getProviderLocationAndAvailibilityDetail(this.staffId)\r\n .subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.StaffLocationAvailabilities = res.data;\r\n this.markers = [];\r\n this.StaffLocationAvailabilities.forEach(loc => {\r\n this.markers.push({\r\n lat: loc.assignedLocationsModel.latitude,\r\n lng: loc.assignedLocationsModel.longitude,\r\n label: loc.assignedLocationsModel.location,\r\n draggable: true\r\n });\r\n });\r\n }\r\n });\r\n }\r\n }\r\n reviewRatingList: any[] = [];\r\n getReviewRating(pageNumber: number = 1, pageSize: number = 5) {\r\n if (this.staffId != \"\") {\r\n this.homeService\r\n .getRatingReviews(this.staffId, true, pageNumber, pageSize)\r\n .subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.reviewRatingList = res.data;\r\n this.reviewRatingMeta = res.meta;\r\n }\r\n });\r\n }\r\n }\r\n\r\n onReviewRatingPageOrSortChange(changeState?: any) {\r\n this.setReviewRatingtPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getReviewRating(changeState.pageNumber, 5);\r\n }\r\n\r\n setReviewRatingtPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.reviewRatingfilterModel.pageNumber = pageNumber;\r\n this.reviewRatingfilterModel.pageSize = pageSize;\r\n this.reviewRatingfilterModel.sortOrder = sortOrder;\r\n this.reviewRatingfilterModel.sortColumn = sortColumn;\r\n }\r\n\r\n /*\r\n Google Map\r\n */\r\n // google maps zoom level\r\n zoom: number = 2;\r\n\r\n // initial center position for the map\r\n lat: number = 30.6767304;\r\n lng: number = 76.70975070431633;\r\n\r\n clickedMarker(label: string, index: number) {\r\n // console.log(`clicked the marker: ${label || index}`);\r\n }\r\n\r\n mapClicked($event: MouseEvent) {\r\n this.markers.push({\r\n lat: $event.coords.lat,\r\n lng: $event.coords.lng,\r\n draggable: true\r\n });\r\n }\r\n\r\n markerDragEnd(m: marker, $event: MouseEvent) {\r\n // console.log(\"dragEnd\", m, $event);\r\n }\r\n\r\n markers: marker[] = [\r\n {\r\n lat: 30.6767304,\r\n lng: 76.70975070431633,\r\n label: \"A\",\r\n draggable: true\r\n }\r\n ];\r\n openDialogBookAppointment() {\r\n this.dialogModalRef.close()\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n // this.headerComp.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // this.headerComp.redirectToDashboard(\"/web\");\r\n // } else {\r\n\r\n //this.headerComp.IsLogin = true;\r\n //this.headerComp.checkUserLogin();\r\n location.reload();\r\n //}\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n // if (result != null && result.response.access_token != \"\") {\r\n\r\n // this.headerComp.IsLogin == true;\r\n // this.headerComp.checkUserLogin();\r\n // }\r\n if (this.typeOfAppt && this.typeOfAppt === 'secondOpinion') {\r\n this.router.navigate(['/web/client/second-opinion/booking'], { queryParams: { id: this.encryptedStaffId } });\r\n }\r\n });\r\n } else if (this.typeOfAppt && this.typeOfAppt === 'secondOpinion') {\r\n this.router.navigate(['/web/client/second-opinion/booking'], { queryParams: { id: this.encryptedStaffId } });\r\n } else {\r\n this.createDailogForBookAppoitment();\r\n }\r\n }\r\n\r\n createDailogForBookAppoitment() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(BookAppointmentComponent, {\r\n hasBackdrop: true,\r\n width: '90%',\r\n data: {\r\n staffId: this.userInfo.id,\r\n userInfo: this.userInfo,\r\n providerId: \"\",\r\n locationId: this.locationId\r\n }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n if (result == \"booked\") {\r\n }\r\n }\r\n });\r\n }\r\n backToListing() {\r\n location.href = \"/doctor-list\";\r\n //this.router.navigateByUrl(\"/doctor-list\");\r\n }\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n}\r\n\r\n// just an interface for type safety.\r\ninterface marker {\r\n lat: number;\r\n lng: number;\r\n label?: string;\r\n draggable: boolean;\r\n}\r\n\r\n\r\n","module.exports = \".login-wrapper {\\r\\n display: table-cell;\\r\\n vertical-align: middle;\\r\\n}\\r\\n\\r\\n.login-fields {\\r\\n width: 100%;\\r\\n background: #fff;\\r\\n margin: 0 auto;\\r\\n display: block;\\r\\n padding:0px;\\r\\n box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.90);\\r\\n}\\r\\n\\r\\n.login-fields form{padding: 10px 30px 30px;}\\r\\n\\r\\n.login-fields h3 a {\\r\\n font-size: 13px;\\r\\n font-weight: 400;\\r\\n padding-left: 30px;\\r\\n color: #2a3134;\\r\\n opacity: .7;\\r\\n}\\r\\n\\r\\n.login-fields h3 a:hover {\\r\\n color: #258df2;\\r\\n}\\r\\n\\r\\n.login-fields h3 i {\\r\\n font-size: 5rem;\\r\\n}\\r\\n\\r\\n.login-fields h3.title-404 {\\r\\n font-size: 7.5rem;\\r\\n}\\r\\n\\r\\n.login-fields .alert-danger {\\r\\n margin-top: 10px;\\r\\n }\\r\\n\\r\\n.login_bg {\\r\\n height: 100%;\\r\\n display: table;\\r\\n width: 100%;\\r\\n background-image: url('login_bg.jpg');\\r\\n background-size: cover;\\r\\n background-position: center;\\r\\n}\\r\\n\\r\\n.loginlogo {\\r\\n text-align: center;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.login-headtabs{display: flex; justify-content: space-between; align-items: center;}\\r\\n\\r\\n.login-headtab {\\r\\n margin: 0px;\\r\\n background-color: rgba(15, 216, 239, 0.70);\\r\\n text-align: center;\\r\\n display: flex;\\r\\n width: 100%;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.login-headtab a {\\r\\n font-size: 18px;\\r\\n font-weight: 400;\\r\\n color: #fff;\\r\\n display: block;\\r\\n padding: 11px 0px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.login-headtab.active{background-color: #003359; box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02); -webkit-box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02);}\\r\\n\\r\\n.mat-raised-button.login-btn{\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n width: 80%;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.login-content {\\r\\n align-items: center;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n color: #fff;\\r\\n font-size: 15px;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.login-content p {\\r\\n text-align: left !important;\\r\\n width: 100%;\\r\\n line-height: 23px;\\r\\n}\\r\\n\\r\\n.login-content .smartlink{color:#D92029;}\\r\\n\\r\\n.login-content span{font-weight: 500;font-size: 16px;}\\r\\n\\r\\n.rem {\\r\\n float: left;\\r\\n width: 50% !important;\\r\\n font-size: 14px !important;\\r\\n margin: 0px !important;\\r\\n}\\r\\n\\r\\n.frgtpwd {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n width: 100%;\\r\\n padding: 0rem 0rem 1rem;\\r\\n}\\r\\n\\r\\na.frgtpwd {\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.resetmail_msg {\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.resetmail_msg i {\\r\\n font-size: 50px;\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.spradmpnlpwd {\\r\\n float: left;\\r\\n text-align: right;\\r\\n width: auto;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.spradmpnlpwd a {\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.createnew {\\r\\n border-top: 1px solid #f5f5f5;\\r\\n color: #7a7a7a;\\r\\n display: flex;\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n justify-content: center;\\r\\n margin-top: 20px;\\r\\n padding-top: 10px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.createnew a {\\r\\n padding-left: 10px;\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.createnew a:hover {\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.frgtcont {\\r\\n color: #7a7a7a;\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n line-height: 18px;\\r\\n margin: 20px 0 0;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.loginas {\\r\\n text-align: center;\\r\\n color:rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.loginas span {\\r\\n display: block;\\r\\n font-size: 14px;\\r\\n margin: 10px 0px 5px;\\r\\n}\\r\\n\\r\\n.loginas p {\\r\\n margin: 0px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.loginas p a{color:#003359; }\\r\\n\\r\\n.loginas p a:hover, .frgtpwd a:hover, .backtologin a:hover{text-decoration: underline;}\\r\\n\\r\\n.backtologin {\\r\\n display: block;\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n.backtologin a {\\r\\n display: inline-block;\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.custom_form .backtologin i {\\r\\n position: inherit;\\r\\n float: left;\\r\\n padding-top: 1px;\\r\\n padding-right: 10px;\\r\\n color: rgba(0, 0, 0, 0.70);\\r\\n}\\r\\n\\r\\n/*For register page only*/\\r\\n\\r\\n.signup-btn\\r\\n{\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n width: 50%;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.user-registed {\\r\\n width: 100%;\\r\\n background: #fff;\\r\\n padding: 30px;\\r\\n box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.90);\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.user-registed h3\\r\\n{\\r\\n font-size: 30px;\\r\\n}\\r\\n\\r\\n.user-registed p\\r\\n{\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.register-btn {\\r\\n background: #003359;\\r\\n border: 0;\\r\\n color: #fff;\\r\\n font-weight: bold;\\r\\n padding: 10px;\\r\\n width: 200px;\\r\\n display: inline-block;\\r\\n margin-top:10px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Sign up\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter first Name\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter last Name\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter dob\\r\\n \\r\\n \\r\\n Age should be greater than 18 years\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{genderVal.value}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter phone number\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter email\\r\\n \\r\\n \\r\\n Please enter a valid email address\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter username\\r\\n \\r\\n \\r\\n Username '{{formControls.userName.value}}' already exists\\r\\n \\r\\n \\r\\n Username '{{formControls.userName.value}}' not valid, allowed only alphanumeric characters.\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter password\\r\\n \\r\\n \\r\\n Password should have number, special character, lowercase, uppercase letters and minimunm length should be 8. \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please re-enter password\\r\\n \\r\\n \\r\\n Password doesn't match\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n

{{Message.title}}

\\r\\n

{{Message.message}}

\\r\\n \\\"user-register-icon\\\"\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n

CareHub system (SH) is a Cloud Based system that facilitates managing the functioning of the Agencies. CareHub system will help in making the whole functioning paperless. It integrates all the information regarding\\r\\n patients, doctors, staff, agency administrative details etc. into one place

\\r\\n

Safe and Secure Process to safe guard patients privacy and rights by following HIPAA.

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

Copyright @ 2021 All Right Reserved.

\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import {\r\n Component,\r\n OnInit,\r\n ComponentRef,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { RegisterService } from \"src/app/front/register/register.service\";\r\nimport { UserModel } from \"src/app/platform/modules/agency-portal/users/users.model\";\r\nimport { PasswordValidator } from \"src/app/shared/password-validator\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { InvitationRegisterModel } from \"src/app/front/register/register.model\";\r\nimport { ErrorStateMatcher } from \"@angular/material/core\";\r\nimport { FormGroupDirective } from \"@angular/forms\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { AbstractControl, ValidationErrors } from \"@angular/forms\";\r\nimport { Observable } from \"rxjs\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { SubDomainService } from \"src/app/subDomain.service\";\r\n\r\nexport function AgeValidator(\r\n control: AbstractControl\r\n): { [key: string]: boolean } | null {\r\n var selectedDate = new Date(control.value);\r\n var today = new Date();\r\n var year = today.getFullYear();\r\n var month = today.getMonth() + 1;\r\n var day = today.getDate();\r\n var yy = selectedDate.getFullYear();\r\n var mm = selectedDate.getMonth() + 1;\r\n var dd = selectedDate.getDate();\r\n var years, months, days;\r\n // months\r\n months = month - mm;\r\n if (day < dd) {\r\n months = months - 1;\r\n }\r\n // years\r\n years = year - yy;\r\n if (month * 100 + day < mm * 100 + dd) {\r\n years = years - 1;\r\n months = months + 12;\r\n }\r\n // days\r\n days = Math.floor(\r\n (today.getTime() - new Date(yy + years, mm + months - 1, dd).getTime()) /\r\n (24 * 60 * 60 * 1000)\r\n );\r\n if (years < 18) return { age: true };\r\n else return null;\r\n //\r\n //return { years: years, months: months, days: days };\r\n}\r\n@Component({\r\n selector: \"app-register\",\r\n templateUrl: \"./register.component.html\",\r\n styleUrls: [\"./register.component.css\"],\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n invitationId: string = \"\";\r\n userForm: FormGroup;\r\n userModel: UserModel;\r\n registerInvitationModel: InvitationRegisterModel;\r\n submitted: boolean = false;\r\n masterGender: any = [];\r\n isTokenValid: boolean = true;\r\n isUsernameExisted: boolean = false;\r\n Message: any;\r\n logoUrl: string = null;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private registerService: RegisterService,\r\n private route: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private notifier: NotifierService,\r\n private subDomainService: SubDomainService\r\n ) {\r\n if (this.userModel == null) this.userModel = new UserModel();\r\n if (this.registerInvitationModel == null)\r\n this.registerInvitationModel = new InvitationRegisterModel();\r\n }\r\n ngOnInit() {\r\n this.Message = {\r\n title: \"Oops\",\r\n message:\r\n \"Either token isn't legitimate or lapsed or client previously enrolled with this token id, it would be ideal if you contact organization for additional help.\",\r\n imgSrc: \"../assets/img/user-register-icon.png\",\r\n };\r\n this.activatedRoute.queryParams.subscribe((params) => { \r\n if ( params[\"id\"] != null &&\r\n params[\"id\"] != undefined &&\r\n params[\"id\"] != \"\"\r\n )\r\n this.invitationId = params[\"id\"];\r\n });\r\n let unamePattern = \"^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])([a-zA-Z0-9]+)$\";\r\n this.userForm = this.formBuilder.group(\r\n {\r\n invitationId:[this.invitationId],\r\n firstName: [this.userModel.firstName],\r\n lastName: [this.userModel.lastName],\r\n middleName: [this.userModel.middleName],\r\n phone: [this.userModel.phoneNumber],\r\n dob: [this.userModel.dob, [AgeValidator.bind(this)]],\r\n email: [this.userModel.email, [Validators.required, Validators.email]],\r\n gender: [this.userModel.gender, [Validators.required]],\r\n userName: [\r\n this.userModel.userName,\r\n {\r\n validators: [Validators.required],\r\n asyncValidators: [this.validateUsername.bind(this)],\r\n updateOn: \"blur\",\r\n },\r\n ],\r\n password: [\r\n this.userModel.password,\r\n [Validators.required, PasswordValidator.strong],\r\n ],\r\n confirmPassword: [this.userModel.confirmPassword],\r\n },\r\n {\r\n validator: this.validateForm.bind(this),\r\n }\r\n );\r\n\r\n if (this.invitationId != \"\") {\r\n this.registerService\r\n .checkTokenAccessibility(this.invitationId)\r\n .subscribe((res) => {\r\n if (res.statusCode != 200) {\r\n this.isTokenValid = false;\r\n } else {\r\n this.userModel = res.data;\r\n this.userForm.patchValue(this.userModel);\r\n this.isTokenValid = true;\r\n }\r\n });\r\n }\r\n this.registerService.getMasterData(\"MASTERGENDER\").subscribe((response) => {\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n });\r\n this.subDomainService.getSubDomainInfo().subscribe((domainInfo) => {\r\n if (domainInfo)\r\n this.logoUrl =\r\n \"data:image/png;base64,\" + domainInfo.organization.logoBase64;\r\n });\r\n }\r\n get formControls() {\r\n return this.userForm.controls;\r\n }\r\n\r\n validateForm(formGroup: FormGroup) {\r\n let pass = formGroup.controls.password.value;\r\n let confirmPass = formGroup.controls.confirmPassword.value;\r\n\r\n if (!confirmPass.length) return null;\r\n return pass && confirmPass && pass === confirmPass\r\n ? null\r\n : formGroup.controls.confirmPassword.setErrors({ notSame: true });\r\n }\r\n validateUsername(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise((resolve) => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n let userName = ctrl.value;\r\n this.registerService\r\n .checkUserNameExistance(userName)\r\n .subscribe((response: any) => {\r\n if (response.statusCode != 200) resolve({ uniqueName: true });\r\n else resolve();\r\n });\r\n }\r\n });\r\n }\r\n openLoginSelection()\r\n {\r\n this.route.navigate([\"/web/login-selection\"]);\r\n }\r\n onSubmit() {\r\n if (!this.userForm.invalid) {\r\n this.submitted = true;\r\n // this.userForm.controls.invitationId.setValue(this.invitationId);\r\n this.registerService\r\n .registerNewUser(this.userForm.value)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.isTokenValid = false;\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your account has been successfully created with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","export class InvitationRegisterModel {\r\n email: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n phoneNumber: string;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { HttpHeaders, HttpClient } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class RegisterService {\r\n private checkTokenAccessibilityUrl: string = \"UserRegister/CheckTokenAccessibility?id=\";\r\n private registerNewUserUrl: string = \"UserRegister/RegisterWithToken\";\r\n private registerNewUserWithoutTokenUrl: string = \"UserRegister/Register\";\r\n private rejectInvitationUrl: string = \"UserRegister/RejectInvitation\";\r\n private checkUsernameUrl: string = \"UserRegister/CheckUsernameExistance?username=\";\r\n private masterDataUrl: string = \"UserRegister/MasterDataByName\";\r\n private loadingStateSubject = new Subject();\r\n public loadingState = this.loadingStateSubject.asObservable();\r\n constructor(private commonService: CommonService, private http: HttpClient) {}\r\n\r\n checkTokenAccessibility(\r\n id: string,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this.checkTokenAccessibilityUrl}${id}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(res => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n registerNewUser(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.registerNewUserUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(res => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n //return this.commonService.post(`${this.registerNewUserUrl}`, postData);\r\n }\r\n registerNewUserWithoutToken(\r\n postData: any,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.registerNewUserWithoutTokenUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(res => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n //return this.commonService.post(`${this.registerNewUserUrl}`, postData);\r\n }\r\n getMasterData(\r\n value: string = \"\",\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.masterDataUrl}`,\r\n { masterdata: value },\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(res => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n checkUserNameExistance(\r\n username: string,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n let url = `${environment.api_url}/${this.checkUsernameUrl}${username}`;\r\n return this.http.get(url, { headers: headers }).pipe(\r\n map(res => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n //return this.commonService.post(`${this.registerNewUserUrl}`, postData);\r\n }\r\n rejectInvitation(postData: any, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.rejectInvitationUrl}`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(res => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n //return this.commonService.post(`${this.registerNewUserUrl}`, postData);\r\n }\r\n}\r\n","module.exports = \".login-wrapper {\\r\\n display: table-cell;\\r\\n vertical-align: middle;\\r\\n}\\r\\n\\r\\n.login-fields {\\r\\n width: 100%;\\r\\n background: #fff;\\r\\n margin: 0 auto;\\r\\n display: block;\\r\\n padding:0px;\\r\\n box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.90);\\r\\n}\\r\\n\\r\\n.login-fields form{padding: 10px 30px 30px;}\\r\\n\\r\\n.login-fields h3 a {\\r\\n font-size: 13px;\\r\\n font-weight: 400;\\r\\n padding-left: 30px;\\r\\n color: #2a3134;\\r\\n opacity: .7;\\r\\n}\\r\\n\\r\\n.login-fields h3 a:hover {\\r\\n color: #258df2;\\r\\n}\\r\\n\\r\\n.login-fields h3 i {\\r\\n font-size: 5rem;\\r\\n}\\r\\n\\r\\n.login-fields h3.title-404 {\\r\\n font-size: 7.5rem;\\r\\n}\\r\\n\\r\\n.login-fields .alert-danger {\\r\\n margin-top: 10px;\\r\\n }\\r\\n\\r\\n.login_bg {\\r\\n height: 100%;\\r\\n display: table;\\r\\n width: 100%;\\r\\n background-image: url('login_bg.jpg');\\r\\n background-size: cover;\\r\\n background-position: center;\\r\\n}\\r\\n\\r\\n.loginlogo {\\r\\n text-align: center;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.login-headtabs{display: flex; justify-content: space-between; align-items: center;}\\r\\n\\r\\n.login-headtab {\\r\\n margin: 0px;\\r\\n background-color: rgba(15, 216, 239, 0.70);\\r\\n text-align: center;\\r\\n display: flex;\\r\\n width: 100%;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.login-headtab a {\\r\\n font-size: 18px;\\r\\n font-weight: 400;\\r\\n color: #fff;\\r\\n display: block;\\r\\n padding: 11px 0px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.login-headtab.active{background-color: #003359; box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02); -webkit-box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02);}\\r\\n\\r\\n.mat-raised-button.login-btn{\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n width: 80%;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.login-content {\\r\\n align-items: center;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n color: #fff;\\r\\n font-size: 15px;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.login-content p {\\r\\n text-align: left !important;\\r\\n width: 100%;\\r\\n line-height: 23px;\\r\\n}\\r\\n\\r\\n.login-content .smartlink{color:#D92029;}\\r\\n\\r\\n.login-content span{font-weight: 500;font-size: 16px;}\\r\\n\\r\\n.rem {\\r\\n float: left;\\r\\n width: 50% !important;\\r\\n font-size: 14px !important;\\r\\n margin: 0px !important;\\r\\n}\\r\\n\\r\\n.frgtpwd {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n width: 100%;\\r\\n padding: 0rem 0rem 1rem;\\r\\n}\\r\\n\\r\\na.frgtpwd {\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.resetmail_msg {\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.resetmail_msg i {\\r\\n font-size: 50px;\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.spradmpnlpwd {\\r\\n float: left;\\r\\n text-align: right;\\r\\n width: auto;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.spradmpnlpwd a {\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.createnew {\\r\\n border-top: 1px solid #f5f5f5;\\r\\n color: #7a7a7a;\\r\\n display: flex;\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n justify-content: center;\\r\\n margin-top: 20px;\\r\\n padding-top: 10px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.createnew a {\\r\\n padding-left: 10px;\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.createnew a:hover {\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.frgtcont {\\r\\n color: #7a7a7a;\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n line-height: 18px;\\r\\n margin: 20px 0 0;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.loginas {\\r\\n text-align: center;\\r\\n color:rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.loginas span {\\r\\n display: block;\\r\\n font-size: 14px;\\r\\n margin: 10px 0px 5px;\\r\\n}\\r\\n\\r\\n.loginas p {\\r\\n margin: 0px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.loginas p a{color:#003359; }\\r\\n\\r\\n.loginas p a:hover, .frgtpwd a:hover, .backtologin a:hover{text-decoration: underline;}\\r\\n\\r\\n.backtologin {\\r\\n display: block;\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n.backtologin a {\\r\\n display: inline-block;\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.custom_form .backtologin i {\\r\\n position: inherit;\\r\\n float: left;\\r\\n padding-top: 1px;\\r\\n padding-right: 10px;\\r\\n color: rgba(0, 0, 0, 0.70);\\r\\n}\\r\\n\\r\\n/*For register page only*/\\r\\n\\r\\n.signup-btn\\r\\n{\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n width: 50%;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.user-registed, .reject-inv-reason {\\r\\n width: 100%;\\r\\n background: #fff;\\r\\n padding: 30px;\\r\\n box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.90);\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.user-registed h3\\r\\n{\\r\\n font-size: 30px;\\r\\n}\\r\\n\\r\\n.user-registed p\\r\\n{\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

Join the Service!!!

\\r\\n

It looks like you want to decline this invitation. Do you have a moment to send us a few details about what happened here? Just share your feedback with us.

\\r\\n

This sort of thing is very rare. If there was any trouble here, We want to make it right!

\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Please enter reject remarks\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n

{{Message.title}}

\\r\\n

{{Message.message}}

\\r\\n \\\"user-register-icon\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n

CareHub system (SH) is a Cloud Based system that facilitates managing the functioning of the Agencies. CareHub system will help in making the whole functioning paperless. It integrates all the information regarding\\r\\n patients, doctors, staff, agency administrative details etc. into one place

\\r\\n

Safe and Secure Process to safe guard patients privacy and rights by following HIPAA.

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

Copyright @ 2021 All Right Reserved.

\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { RegisterService } from \"src/app/front/register/register.service\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { UserModel } from \"src/app/platform/modules/agency-portal/users/users.model\";\r\nimport { SubDomainService } from \"src/app/subDomain.service\";\r\n\r\n@Component({\r\n selector: 'app-reject-invitation',\r\n templateUrl: './reject-invitation.component.html',\r\n styleUrls: ['./reject-invitation.component.css']\r\n})\r\nexport class RejectInvitationComponent implements OnInit {\r\n submitted: boolean;\r\n userForm: FormGroup;\r\n invitationId: string = \"\";\r\n userModel: UserModel;\r\n logoUrl: string = null;\r\n isTokenValid: boolean = true;\r\n Message: any;\r\n constructor(private notifier: NotifierService,\r\n private registerService: RegisterService,\r\n private activatedRoute: ActivatedRoute,\r\n private formBuilder: FormBuilder,\r\n private subDomainService: SubDomainService) { }\r\n\r\n ngOnInit() {\r\n this.Message = {\r\n title: \"Oops\",\r\n message: \"Either token isn't legitimate or lapsed or client previously rejected or registred with this token id, it would be ideal if you contact organization for additional help.\",\r\n imgSrc: \"../assets/img/user-register-icon.png\"\r\n }\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n if (params[\"token\"] != undefined && params[\"token\"] != null && params[\"token\"] != \"\")\r\n this.invitationId = params[\"token\"];\r\n });\r\n this.userForm = this.formBuilder.group({\r\n invitationId: this.invitationId,\r\n remarks: [\"\", [Validators.required]]\r\n });\r\n if (this.invitationId != \"\") {\r\n this.registerService.checkTokenAccessibility(this.invitationId).subscribe(res => {\r\n if (res.statusCode != 200) {\r\n this.isTokenValid = false;\r\n }\r\n else {\r\n this.userModel = res.data;\r\n this.userForm.patchValue(this.userModel);\r\n this.isTokenValid = true;\r\n }\r\n });\r\n }\r\n else\r\n {\r\n this.Message = {\r\n title: \"Oops\",\r\n message: \"Bad redirection, please check your email or contact administartion for further assistance\",\r\n imgSrc: \"../assets/img/user-register-icon.png\"\r\n }\r\n this.isTokenValid = false;\r\n }\r\n this.subDomainService.getSubDomainInfo().subscribe(domainInfo => {\r\n if (domainInfo)\r\n this.logoUrl = 'data:image/png;base64,' + domainInfo.organization.logoBase64;\r\n });\r\n }\r\n get formControls() { return this.userForm.controls; }\r\n onSubmit() {\r\n if (!this.userForm.invalid) {\r\n this.submitted = true;\r\n this.registerService.rejectInvitation(this.userForm.value).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.isTokenValid = false;\r\n this.Message = {\r\n title: \"Success!\",\r\n message: \"Thank you, Your request has been successfully submitted.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n }\r\n }\r\n else {\r\n this.notifier.notify('error', response.message);\r\n }\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","module.exports = \"main {\\r\\n padding: 1em;\\r\\n font-family: Arial, Helvetica, sans-serif;\\r\\n text-align: center;\\r\\n margin-top: 50px;\\r\\n display: block;\\r\\n color: greenyellow;\\r\\n}\\r\\n\\r\\nlabel {\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.upload-drop-zone {\\r\\n height: 200px;\\r\\n border-width: 2px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n/* skin.css Style*/\\r\\n\\r\\n.upload-drop-zone {\\r\\n color: #ccc;\\r\\n border-style: dashed;\\r\\n border-color: #ccc;\\r\\n line-height: 200px;\\r\\n text-align: center\\r\\n}\\r\\n\\r\\n.upload-drop-zone.drop {\\r\\n color: #222;\\r\\n border-color: #222;\\r\\n}\\r\\n\\r\\n.browse-doc {\\r\\n border-radius: 0px;\\r\\n}\\r\\n\\r\\n.browse-doc .browse {\\r\\n line-height: normal;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding: 10px 0px;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n padding-right: 15px;\\r\\n filter: grayscale(100%);\\r\\n -webkit-filter: grayscale(100%);\\r\\n opacity: 0.8;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.uploading-data p {\\r\\n width: 90%;\\r\\n font-size: 14px;\\r\\n color: rgba( 0, 0, 0, 0.80);\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.custom_modal {\\r\\n height: 400px;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions {\\r\\n padding: 15px 18px !important;\\r\\n}\\r\\n\\r\\n.uplaod_pic i {\\r\\n font-size: 24px;\\r\\n}\\r\\n\\r\\n.cancel-btn {\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 80px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.ml-auto,\\r\\n.mat-dialog-actions .mat-primary {\\r\\n margin-left: auto;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n

Upload Document

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{doc.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select document type\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter expiration date\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter 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
Files to be uploaded are:
\\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n

\\r\\n \\r\\n {{file.fileName}}\\r\\n 134 kb\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n\\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, Inject, Input } from '@angular/core';\r\n\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\n\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { UsersService } from 'src/app/platform/modules/agency-portal/users/users.service';\r\nimport { CommonService } from 'src/app/platform/modules/core/services/common.service';\r\nimport { ResponseModel } from 'src/app/platform/modules/core/modals/common-model';\r\n\r\n\r\n@Component({\r\n selector: 'app-save-document',\r\n templateUrl: './save-document.component.html',\r\n styleUrls: ['./save-document.component.css']\r\n})\r\nexport class SaveDocumentComponent implements OnInit {\r\n userId: number = null;\r\n masterDocumentTypes: any = []\r\n addDocumentForm: FormGroup;\r\n fileList: any = [];\r\n dataURL: any;\r\n submitted: boolean = false;\r\n todayDate = new Date();\r\n constructor(private dialogModalRef: MatDialogRef,\r\n private userService: UsersService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService, private formBuilder: FormBuilder, private commonService: CommonService) {\r\n this.userId = this.data;\r\n }\r\n\r\n ngOnInit() {\r\n this.addDocumentForm = this.formBuilder.group({\r\n documentType: [],\r\n expirationDate: [],\r\n title: []\r\n });\r\n this.getMasterData();\r\n }\r\n get formControls() {\r\n return this.addDocumentForm.controls;\r\n }\r\n\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n getMasterData() {\r\n this.userService.getMasterData(\"MASTERDOCUMENTTYPESSTAFF\").subscribe((response: any) => {\r\n if (response != null)\r\n this.masterDocumentTypes = response.masterDocumentTypesStaff = response.masterDocumentTypesStaff != null ? response.masterDocumentTypesStaff : [];\r\n });\r\n }\r\n\r\n handleImageChange(e) {\r\n //if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n let fileExtension = e.target.files[0].name.split('.').pop().toLowerCase();\r\n var input = e.target;\r\n var reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.fileList.push({\r\n data: this.dataURL,\r\n ext: fileExtension,\r\n fileName: e.target.files[0].name\r\n });\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n // }\r\n // else\r\n // this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n }\r\n onSubmit() {\r\n \r\n ///Please chnage this API to avoid loops\r\n if (!this.addDocumentForm.invalid) {\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: this.addDocumentForm.value.title,\r\n documentTypeIdStaff: this.addDocumentForm.value.documentType,\r\n expiration: this.addDocumentForm.value.expirationDate,\r\n key: \"STAFF\",\r\n otherDocumentType: \"\",\r\n userId: this.userId\r\n }\r\n let dic = [];\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(`\"${element.data.replace(/^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/, '')}\": \"${element.ext}\"`);\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {})\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.userService.uploadUserDocuments(formValues).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n this.notifier.notify('success', response.message);\r\n this.closeDialog(\"save\");\r\n }\r\n else this.notifier.notify('error', response.message);\r\n });\r\n }\r\n else this.notifier.notify('error', \"Please add atleast one file\");\r\n }\r\n }\r\n}\r\n","module.exports = \".policy-blk .section-heading{\\r\\n font-size: 24px;\\r\\n margin-bottom: 12px;\\r\\n margin-top: 25px;\\r\\n}\\r\\n.policy-blk .fa{\\r\\n position: absolute;\\r\\n top: -10px;\\r\\n right: -7px;\\r\\n background-color: #2f2660;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 6px 10px;\\r\\n cursor: pointer;\\r\\n z-index: 99;\\r\\n}\\r\\n.terms-block{\\r\\n height: calc(100% - 50px);\\r\\n overflow: auto;\\r\\n}\\r\\n.wedo-box {\\r\\n text-align: center;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Terms and Conditions

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

Our simple terms and conditions template can instantly generate a custom terms of service policy for your business.\\r\\n

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

Privacy Policy

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

Our simple privacy policies can help you grow your business.\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\"","\r\nimport { AfterViewInit, Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatDialogRef } from \"@angular/material\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\n\r\n@Component({\r\n //providers: [HomeHeaderComponent],\r\n selector: \"app-terms-conditions\",\r\n templateUrl: \"./terms-conditions.component.html\",\r\n styleUrls: [\"./terms-conditions.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TermsConditionModalComponent implements OnInit{\r\n \r\n constructor(private dialogModalRef: MatDialogRef){\r\n\r\n }\r\n ngOnInit() {}\r\n\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n border-bottom: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 18px;\\r\\n margin-top: 10px;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #003359;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: block;\\r\\n color: #4e4852;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 14px;\\r\\n font-weight: 600;\\r\\n color: #2f2660;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #4e4852;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #2f2660;\\r\\n font-size: 20px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n padding: 15px;\\r\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.60);\\r\\n font-size: 14px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type label {\\r\\n margin: 0px 10px 0px 0px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n width: 135px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #003359;\\r\\n border-color: #003359;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding-bottom: 10px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type .mat-radio-outer-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #63d891;\\r\\n border-radius: 0;\\r\\n display: inline-block;\\r\\n font-size: 15px !important;\\r\\n padding: 5px 10px;\\r\\n height: 36px !important;\\r\\n margin: 7px 10px 7px 0px;\\r\\n line-height: normal;\\r\\n color: #63d891;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #003359;\\r\\n color: #fff;\\r\\n background-color: #003359;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 0px;\\r\\n font-size: 16px;\\r\\n margin: 10px 0px 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n margin: 15px 0px 20px;\\r\\n line-height: 18px;\\r\\n}\\r\\n\\r\\n.fnt-sze {\\r\\n font-size: 14px;\\r\\n margin-right: 12px;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-txtarea textarea.mat-input-element {\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.custom-txtarea label {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mat-radio-label-content {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.terms-check {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/* .mat-datepicker-content .mat-calendar{\\r\\n width:550px !important;\\r\\n height: auto !important;\\r\\n} */\\r\\n\\r\\n.followupError {\\r\\n color: #f44336;\\r\\n}\\r\\n\\r\\n.hgt-scroll {\\r\\n height: 460px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n margin-top: 6px;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #2f2660;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 6px 10px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n.cstm-cancel-btn i {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.link-btn.min-w-100 {\\r\\n min-width: 100px;\\r\\n margin-right: auto !important;\\r\\n}\\r\\n\\r\\n.link-btn-1 {\\r\\n background-color: #003359;\\r\\n color: #fff;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.appointment-panel .appointment-content {\\r\\n padding: 12px 15px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-label {\\r\\n padding-top: 15px !important;\\r\\n padding-bottom: 15px !important;\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell {\\r\\n padding: 16px 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell-content {\\r\\n width: 32px !important;\\r\\n left: 34% !important;\\r\\n font-weight: 600 !important;\\r\\n height: 32px;\\r\\n}\\r\\n\\r\\n/* .appointment-content .mat-calendar-body-today:selected(.mat-calendar-body-selected) {\\r\\n border-color: #f87515;\\r\\n background-color: #f87515;\\r\\n color: #fff;\\r\\n} */\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\r\\n border-color: rgba(0, 0, 0, 0.04);\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-controls {\\r\\n margin: 0 10px !important\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-spacer {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-header {\\r\\n padding: 0px 8px 0 8px !important;\\r\\n background-color: #003359 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-period-button {\\r\\n margin: 0 auto !important;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n letter-spacing: 3px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-content {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header {\\r\\n background-color: #003359 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header th {\\r\\n font-size: 13px !important;\\r\\n color: #fff !important;\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-card {\\r\\n box-shadow: none !important;\\r\\n padding: 0 !important;\\r\\n border: 1px solid #efefef !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header-divider {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-previous-button {\\r\\n position: absolute !important;\\r\\n left: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-arrow {\\r\\n border-top-color: #fff !important;\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n position: absolute;\\r\\n bottom: 135px;\\r\\n}\\r\\n\\r\\n.urgent-care h3 {\\r\\n color: #2f2220;\\r\\n margin-bottom: 20px !important;\\r\\n}\\r\\n\\r\\n.receipt {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n\\r\\n.cstm-add {\\r\\n display: block;\\r\\n width: 75%;\\r\\n}\\r\\n\\r\\n.cstm-add input:focus-visible {\\r\\n outline: none !important\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name>div>div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.select-box {\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.select-box input {\\r\\n width: 100%;\\r\\n margin: 0 !important;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.mat-step-icon, .mat-step-icon-not-touched {\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n/* scroller hide css */\\r\\n\\r\\n/* .appointment-content .ng-scrollbar-container{\\r\\n display: none;\\r\\n} */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n

{{fullname}}

\\r\\n
{{spl.speciality}}
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (17)\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • {{userInfo.phoneNumber}}
  • \\r\\n
  • {{userInfo.email}}
  • \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
  • {{userInfo.address}} \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Urgent Care Appointment\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n Book Appointment \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{fts.label}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

Thank you!

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

Your urgent care request has been successfully sent to concerned provider, please wait for his response

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

Sorry

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

Requested provider is not available now, your money will be refunded in a couple of business days

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","import { AcceptRejectAppointmentInvitationComponent } from './../../shared/accept-reject-appointment-invitation/accept-reject-appointment-invitation.component';\r\nimport { CancelAppointmentModel } from './../../platform/modules/scheduling/scheduler/scheduler.model';\r\nimport { NotificationsModel } from './../../shared/models/headerInfo';\r\nimport { debug } from \"util\";\r\nimport { state } from \"@angular/animations\";\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\n\r\n//import { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { isatty } from \"tty\";\r\nimport { userInfo } from \"os\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MatAutocomplete, MatAutocompleteSelectedEvent, MatChipInputEvent, MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Inject,\r\n Renderer2,\r\n ViewChild,\r\n ElementRef,\r\n NgZone\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n StaffAward,\r\n StaffQualification,\r\n StaffExperience\r\n} from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format, getHours, getMinutes } from \"date-fns\";\r\nimport { map, startWith, switchMap, take } from \"rxjs/operators\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { DatePipe, DOCUMENT } from \"@angular/common\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { AddUserDocumentComponent } from \"src/app/platform/modules/agency-portal/users/user-documents/add-user-document/add-user-document.component\";\r\nimport { TermsConditionModalComponent } from \"../terms-conditions/terms-conditions.component\";\r\nimport { SaveDocumentComponent } from \"../save-document/save-document.component\";\r\nimport { ManageFeesRefundsModel } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\nimport { AppService } from 'src/app/app-service.service';\r\nimport { UrgentCareProviderActionInitModel } from 'src/app/shared/models/callModel';\r\nimport { Observable, of } from 'rxjs';\r\nimport { SymptomCheckerService } from 'src/app/shared/symptom-checker/symptom-checker.service';\r\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n//import { StripeToken, StripeSource } from \"stripe-angular\";\r\n\r\nconst getDateTimeString = (date: string, time: string): string => {\r\n const y = new Date(date).getFullYear(),\r\n m = new Date(date).getMonth(),\r\n d = new Date(date).getDate(),\r\n splitTime = time.split(\":\"),\r\n hours = parseInt(splitTime[0] || \"0\", 10),\r\n minutes = (splitTime.length > 1) ? (parseInt(splitTime[1].substring(0, 2) || \"0\", 10)) : (0),\r\n meridiem = (splitTime.length > 1) ? (splitTime[1].substring(3, 5) || \"\") : (0),\r\n updatedHours =\r\n (meridiem || \"\").toUpperCase() === \"PM\" && hours != 12\r\n ? hours + 12\r\n : hours;\r\n\r\n const startDateTime = new Date(y, m, d, updatedHours, minutes);\r\n\r\n return format(startDateTime, \"YYYY-MM-DDTHH:mm:ss\");\r\n};\r\n@Component({\r\n selector: \"app-urgentcare-appointment\",\r\n templateUrl: \"./urgentcare-appointment.component.html\",\r\n styleUrls: [\"./urgentcare-appointment.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UrgentCareAppointmentComponent implements OnInit {\r\n submitted: boolean = false;\r\n todayDate: Date = new Date();\r\n isLinear = false;\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n thirdFormGroup: FormGroup;\r\n userInfo: any;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n staffId: number;\r\n providerId: string;\r\n\r\n // appointmenType: any = [\"New\", \"Followup\", \"Free\"];\r\n //appointmenType: any = [\"New\", \"Free\"];\r\n appointmenType: any = [\"New\", \"Followup\"];\r\n appointmentMode: any = [\"Online\", \"In-Person\"];\r\n confirmation: any = { type: \"New\", mode: \"Online\" };\r\n providerAvailiabilitySlots: any = [];\r\n patientAppointments: any;\r\n staffAvailability: any;\r\n locationId: number;\r\n showLoader: boolean = false;\r\n providerAvailableDates: any = [];\r\n providerNotAvailableDates: any = [];\r\n userId: number;\r\n masterPatientLocation: Array;\r\n masterStaffs: Array;\r\n masterAddressTypes: Array;\r\n officeAndPatientLocations: Array;\r\n masterAppointmentTypes: Array;\r\n Organization: any;\r\n patientEmail: string;\r\n paymentToken: string = \"\";\r\n Message: any;\r\n isNotBooked: boolean;\r\n ApptReject: boolean = false;\r\n isProfileLoaded: boolean = false;\r\n //Notes: string = \"\";\r\n fileList: any = [];\r\n dataURL: any;\r\n // feeSettings: ManageFeesRefundsModel;\r\n hasPreviousNewMeeting = false;\r\n userControl = new FormControl();\r\n filteredSymptoms$: Observable;\r\n symptoms: any = [];\r\n @ViewChild('userInput') userInput: ElementRef;\r\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\r\n @ViewChild('autosize') autosize: CdkTextareaAutosize;\r\n age: any;\r\n gender: any;\r\n patientId: any;\r\n\r\n triggerResize() {\r\n // Wait for changes to be applied, then trigger textarea resize.\r\n this._ngZone.onStable.pipe(take(1))\r\n .subscribe(() => this.autosize.resizeToFitContent(true));\r\n }\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private route: Router,\r\n private dialogModalRef: MatDialogRef,\r\n private _formBuilder: FormBuilder,\r\n private homeService: HomeService,\r\n private commonService: CommonService,\r\n private notifierService: NotifierService,\r\n private usersService: UsersService,\r\n private schedulerService: SchedulerService,\r\n private symptomCheckerService: SymptomCheckerService,\r\n private datePipe: DatePipe,\r\n private renderer2: Renderer2,\r\n private dialogModal: MatDialog,\r\n private userService: UsersService,\r\n private notifier: NotifierService,\r\n private appService: AppService,\r\n private _ngZone: NgZone,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n\r\n this.staffId = data.staffId;\r\n this.userInfo = data.userInfo;\r\n this.locationId = data.locationId;\r\n this.providerId = data.providerId;\r\n\r\n dialogModalRef.disableClose = true;\r\n this.masterStaffs = [];\r\n this.masterPatientLocation = [];\r\n this.masterAppointmentTypes = [];\r\n this.masterAddressTypes = [];\r\n this.officeAndPatientLocations = [];\r\n this.filteredSymptoms$ = this.userControl.valueChanges\r\n\r\n .pipe(\r\n startWith(''),\r\n // use switch map so as to cancel previous subscribed events, before creating new once\r\n switchMap(value => {\r\n if (value != null && typeof (value) == \"string\") {\r\n if (value.length > 2) {\r\n return this.getPatientSymptoms(value, this.age).pipe()\r\n } else {\r\n // if no value is present, return null\r\n return of(null);\r\n }\r\n }\r\n else return of(null);\r\n })\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.Message = null;\r\n this.isNotBooked = true;\r\n this.homeService.getOrganizationDetail().subscribe(response => {\r\n if (response.statusCode == 200) {\r\n this.Organization = response.data;\r\n }\r\n });\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userId = user.data.userID;\r\n this.patientId = user.data.id;\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n this.patientEmail = user.patientData.email;\r\n }\r\n }\r\n });\r\n const s = this.renderer2.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n this.firstFormGroup = this._formBuilder.group({\r\n appointmentDate: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: [\"\", Validators.required]\r\n });\r\n this.thirdFormGroup = this._formBuilder.group({\r\n Notes: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n\r\n if (this.providerId != \"\") {\r\n\r\n this.getStaffDetail();\r\n //this.callProvideractionInitiate(426);\r\n //this.getLastNewAppointment(this.providerId);\r\n }\r\n else {\r\n this.bindStaffProfile();\r\n }\r\n\r\n\r\n // this.getProvidersFollowUpDaysAllowed(this.providerId);\r\n }\r\n\r\n /*Stripe Start */\r\n openCheckout() {\r\n this.bookNewAppointment(\"Stripe\");\r\n // let _amount = this.userInfo.urgentCarePayRate;\r\n\r\n // var handler = (window).StripeCheckout.configure({\r\n // key: this.Organization.stripeKey,\r\n // locale: \"auto\",\r\n // token: function (token: any) {\r\n // //console.log(token);\r\n // if (token.id != \"\") {\r\n // localStorage.setItem(\"payment_token\", token.id);\r\n // //this.book(token.id);\r\n // }\r\n // // You can access the token ID with `token.id`.\r\n // // Get the token ID to your server-side code for use.\r\n // }\r\n // });\r\n\r\n // handler.open({\r\n // name: this.Organization.organizationName,\r\n // description: this.Organization.description,\r\n // image: this.Organization.logo,\r\n // //amount: this.userInfo.payRate * 100,\r\n // amount: _amount * 100,\r\n // currency: \"inr\",\r\n // email: this.patientEmail,\r\n // closed: () => {\r\n // this.paymentToken = localStorage.getItem(\"payment_token\");\r\n // localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // this.bookNewAppointment(\"Stripe\");\r\n // }\r\n // });\r\n\r\n // }\r\n // else{\r\n // this.bookNewFreeAppointment(\"\", \"Free\");\r\n // }\r\n }\r\n\r\n /*Stripe End */\r\n get formGroup1() {\r\n return this.firstFormGroup.controls;\r\n }\r\n get formGroup3() {\r\n return this.thirdFormGroup.controls;\r\n }\r\n\r\n onSlotSelect(slot: any) {\r\n var index = this.providerAvailiabilitySlots.findIndex(\r\n x => x.isSelected == true\r\n );\r\n if (index != -1) {\r\n this.providerAvailiabilitySlots[index].isSelected = false;\r\n this.providerAvailiabilitySlots[index].isAvailable = true;\r\n }\r\n // this.providerAvailiabilitySlots.forEach(slot => {\r\n // slot.isSelected = false;\r\n\r\n // });\r\n this.confirmation.startTime = slot.startTime;\r\n this.confirmation.endTime = slot.endTime;\r\n slot.isSelected = true;\r\n slot.isAvailable = false;\r\n }\r\n\r\n onDateChange(event: any) {\r\n\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n //this.firstFormGroup.get('appointmentDate').setValue(event);\r\n //let interval = 30;\r\n let interval = this.userInfo.timeInterval;\r\n const filterModal = {\r\n locationIds: this.locationId,\r\n // fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n // toDate: format(event.value, \"YYYY-MM-DD\"),\r\n fromDate: format(event, \"YYYY-MM-DD\"),\r\n toDate: format(event, \"YYYY-MM-DD\"),\r\n staffIds: this.staffId,\r\n patientIds: (\"\" || []).join(\",\")\r\n };\r\n let clientAppointments: Array = [];\r\n\r\n let currentAvailabilityDay: any;\r\n let currentAvailableDates: Array = [];\r\n let currentUnAvailableDates: Array = [];\r\n let days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\"\r\n ];\r\n // let dayName = days[new Date(event.value).getDay()];\r\n let dayName = days[new Date(event).getDay()];\r\n this.staffAvailability = [];\r\n this.usersService\r\n .getStaffAvailabilityByLocation(this.staffId, this.locationId)\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n if (response.statusCode == 200) {\r\n this.schedulerService\r\n .getListData(filterModal)\r\n .subscribe((response: any) => {\r\n this.showLoader = false;\r\n if (response.statusCode == 200) {\r\n this.patientAppointments = response.data;\r\n this.patientAppointments.forEach(app => {\r\n let obj = {\r\n startTime: app.startDateTime,\r\n endTime: app.endDateTime\r\n };\r\n let timeObj = this.getStartEndTime(obj),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n if (!app.cancelTypeId || app.cancelTypeId == null && app.cancelTypeId == 0) {\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n clientAppointments.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n statusName: app.statusName\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.staffAvailability = availibiltyResponse.data.days;\r\n this.providerAvailableDates = availibiltyResponse.data.available;\r\n this.providerNotAvailableDates =\r\n availibiltyResponse.data.unavailable;\r\n\r\n //Find day wise availability\r\n currentAvailabilityDay = this.staffAvailability.filter(\r\n x => x.dayName === dayName\r\n );\r\n\r\n //Find date wise availability\r\n if (\r\n this.providerAvailableDates != null &&\r\n this.providerAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates = this.providerAvailableDates.filter(\r\n x =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n );\r\n }\r\n\r\n //find datewise unavailabilty\r\n if (\r\n this.providerNotAvailableDates != null &&\r\n this.providerNotAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates = this.providerNotAvailableDates.filter(\r\n x =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n );\r\n }\r\n let slots: Array = [];\r\n let slotsIntervals: Array = [];\r\n let unAvaiabilityIntervalArr: Array = [];\r\n let availDaySlots: Array = [];\r\n let availDateSlots: Array = [];\r\n let unAvailDateSlots: Array = [];\r\n\r\n //let curentTime = this.parseTime(currentDate);\r\n if (\r\n currentAvailabilityDay != null &&\r\n currentAvailabilityDay.length > 0\r\n ) {\r\n currentAvailabilityDay.forEach(currentDay => {\r\n let timeObj = this.getStartEndTime(currentDay),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n availDaySlots.push(x);\r\n });\r\n });\r\n }\r\n if (\r\n currentAvailableDates != null &&\r\n currentAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates.forEach(avail => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n availDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (\r\n currentUnAvailableDates != null &&\r\n currentUnAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates.forEach(avail => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach(x => {\r\n unAvailDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (availDateSlots.length == 0) {\r\n if (availDaySlots.length > 0) {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach(slot => {\r\n const foundIndex = availDaySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDaySlots = availDaySlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDaySlots;\r\n }\r\n } else {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach(slot => {\r\n const foundIndex = availDateSlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDateSlots = availDateSlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDateSlots;\r\n }\r\n\r\n if (slots.length > 0) {\r\n slots.forEach(x => {\r\n this.providerAvailiabilitySlots.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n location: \"Max Hospital, Mohali\",\r\n isAvailable: true,\r\n isSelected: false,\r\n isPassed: false,\r\n isReserved: false\r\n });\r\n });\r\n }\r\n if (clientAppointments.length > 0) {\r\n\r\n clientAppointments.forEach(slot => {\r\n let status = (slot.statusName as string).toLowerCase();\r\n if ((slot.statusName as string).toLowerCase() != \"cancel\") {\r\n const foundIndex = this.providerAvailiabilitySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isAvailable = false;\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isReserved = true;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n let currentDate = new Date();\r\n if (\r\n this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n ) {\r\n let currentStartHr = currentDate.getHours(),\r\n currentStartMin = currentDate.getMinutes(),\r\n currentTime = currentStartHr * 60 + currentStartMin;\r\n this.providerAvailiabilitySlots.forEach(slot => {\r\n if (slot.isAvailable == true) {\r\n let selStart = slot.startTime.split(\" \");\r\n let selStartTime = selStart[0];\r\n let selStartHr = +selStartTime.split(\":\")[0];\r\n let selHrMin =\r\n selStart[1] == \"AM\"\r\n ? selStartHr * 60\r\n : selStartHr == 12\r\n ? selStartHr * 60\r\n : (selStartHr + 12) * 60;\r\n let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n let selEnd = slot.endTime.split(\" \");\r\n let selEndTime = selEnd[0];\r\n let selEndHr = +selEndTime.split(\":\")[0];\r\n let selEndHrMin =\r\n selEnd[1] == \"AM\"\r\n ? selEndHr * 60\r\n : selEndHr == 12 ? selEndHr * 60 : (selEndHr + 12) * 60;\r\n let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n if (\r\n currentTime >= selStartMin &&\r\n (currentTime >= selEndMin || currentTime < selEndMin)\r\n ) {\r\n slot.isPassed = true;\r\n slot.isAvailable = false;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n this.notifierService.notify(\"error\", \"Please Set Availability\");\r\n this.closeModal();\r\n }\r\n });\r\n // this.confirmation.date = event.value;\r\n this.confirmation.date = event;\r\n }\r\n getStartEndTime(obj: any) {\r\n let startDate: Date = new Date(obj.startTime),\r\n endDate: Date = new Date(obj.endTime);\r\n\r\n let slotStartHr = startDate.getHours(),\r\n slotStartMin = startDate.getMinutes(),\r\n slotEndHr = endDate.getHours(),\r\n slotEndMin = endDate.getMinutes(),\r\n startTime = this.parseTime(slotStartHr + \":\" + slotStartMin),\r\n endTime = this.parseTime(slotEndHr + \":\" + slotEndMin);\r\n return { startTime: startTime, endTime: endTime };\r\n }\r\n parseTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n convertHours(mins: number) {\r\n let hour = Math.floor(mins / 60);\r\n mins = mins % 60;\r\n let time = \"\";\r\n if (this.pad(hour, 2) < 12) {\r\n time = this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" AM\";\r\n } else {\r\n time =\r\n this.pad(hour, 2) == 12\r\n ? this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" PM\"\r\n : this.pad(hour, 2) - 12 + \":\" + this.pad(mins, 2) + \" PM\";\r\n }\r\n //let converted = this.pad(hour, 2)+':'+this.pad(mins, 2);\r\n return time;\r\n }\r\n\r\n pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? this.pad(\"0\" + str, max) : str;\r\n }\r\n\r\n calculateTimeSlotRange(\r\n start_time: number,\r\n end_time: number,\r\n interval: number = 30\r\n ) {\r\n let i, formattedStarttime, formattedEndtime;\r\n let time_slots: Array = [];\r\n for (let i = start_time; i <= end_time - interval; i = i + interval) {\r\n formattedStarttime = this.convertHours(i);\r\n formattedEndtime = this.convertHours(i + interval);\r\n time_slots.push({\r\n startTime: formattedStarttime,\r\n endTime: formattedEndtime\r\n });\r\n }\r\n return time_slots;\r\n }\r\n\r\n onTypeChange(type: any) {\r\n this.confirmation.type = type;\r\n }\r\n onModeChange(mode: any) {\r\n this.confirmation.mode = mode;\r\n }\r\n bindStaffProfile() {\r\n\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n this.isProfileLoaded = true;\r\n\r\n this.confirmation.date = new Date(Date.now());\r\n this.onDateChange(this.confirmation.date);\r\n }\r\n getStaffDetail() {\r\n if (this.providerId != \"\") {\r\n\r\n this.homeService.getProviderDetail(this.providerId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.userInfo = res.data;\r\n //providerCancellationRules\r\n this.bindStaffProfile();\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n //location.reload();\r\n }\r\n\r\n jumpwaitingroom() {\r\n this.dialogModalRef.close('close');\r\n this.route.navigate([\"/web/client/waiting-room\"]);\r\n\r\n }\r\n\r\n bookNewAppointment(paymentMode: string): any {\r\n\r\n this.submitted = true;\r\n const patientId = null;\r\n this.confirmation.date = new Date(Date.now());\r\n\r\n let stime = null, etime = null; let found = false;\r\n this.providerAvailiabilitySlots.forEach(element => {\r\n\r\n let parsetime = (new Date(new Date().toDateString() + ' ' + element.startTime));\r\n if (element.isAvailable == true && found == false && parsetime.getTime() >= this.confirmation.date.getTime()) {\r\n stime = element.startTime;\r\n etime = element.endTime;\r\n found = true;\r\n }\r\n });\r\n\r\n\r\n let _amount = 0;\r\n if (this.confirmation.type == 'New' && this.confirmation.mode == 'Online') {\r\n _amount = this.userInfo.payRate;\r\n }\r\n else if (this.confirmation.type == 'New' && this.confirmation.mode == 'In-Person') {\r\n _amount = this.userInfo.ftFpayRate;\r\n }\r\n else if (this.confirmation.type == 'Followup') {\r\n if (!this.checkIfAllowed) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n if (stime == null) {\r\n stime = \"\";\r\n }\r\n if (etime == null) {\r\n etime = \"\";\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: this.patientId,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n stime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n etime\r\n ),\r\n\r\n //IsTelehealthAppointment: true,\r\n\r\n // StartDateTime:\"2021-12-14T10:00:00\",\r\n // EndDateTime:\"2021-12-14T10:30:00\",\r\n IsTelehealthAppointment: true,//this.confirmation.mode==\"Online\"?true:false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n // Notes: this.formGroup3.Notes.value,\r\n Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n //PayRate: this.userInfo.payRate,\r\n PayRate: _amount,\r\n PaymentToken: null,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n IsUrgentCareAppointment: true,\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n this.createAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n createAppointmentFromPatientPortal(appointmentData: any) {\r\n\r\n this.schedulerService\r\n .bookUrgentCareAppointmentFromPatientPortal(appointmentData)\r\n .subscribe(response => {\r\n\r\n //this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n this.submitted = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n // this.Message = {\r\n // title: \"Success!\",\r\n // message:\r\n // \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n // imgSrc: \"../assets/img/user-success-icon.png\"\r\n // };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n //this.saveDocuments(response.data);\r\n //this.callProvideractionInitiate(response.data);\r\n //this.dialogModalRef.close(\"SAVE\");\r\n this.route.navigate([\"/web/client/dashboard\"]);\r\n //this.opentermconditionmodal();\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n bookNewFreeAppointment(tokenId: string, paymentMode: string): any {\r\n\r\n this.submitted = true;\r\n // if (this.appointmentForm.invalid) {\r\n // this.submitted = false;\r\n // return;\r\n // }\r\n\r\n // submit form\r\n // const selectedStaffs = this.appointmentForm.get(\"StaffIDs\").value,\r\n // selectedAppointmentTypeId = this.appointmentForm.get(\"AppointmentTypeID\")\r\n // .value,\r\n // selectedPatientId = this.appointmentForm.get(\"PatientID\").value,\r\n // startDate = this.appointmentForm.get(\"startDate\").value,\r\n // startTime = this.appointmentStartTime, // this.appointmentForm.get('startTime').value,\r\n // endTime = this.appointmentEndTime; // this.appointmentForm.get('endTime').value;\r\n\r\n // let appointmentStaffs = null;\r\n // let staffIds = Array.isArray(selectedStaffs)\r\n // ? selectedStaffs\r\n // : [selectedStaffs];\r\n // appointmentStaffs = (this.appointmentModal.appointmentStaffs || []\r\n // ).map(Obj => {\r\n // return { StaffId: Obj.staffId, IsDeleted: true };\r\n // });\r\n // staffIds.forEach(staffId => {\r\n // // update case for appointment staffs ------\r\n // let staff = appointmentStaffs.find(\r\n // Obj => Obj.StaffId === staffId && Obj.IsDeleted\r\n // );\r\n // if (staff) {\r\n // let index = appointmentStaffs.indexOf(staff);\r\n // appointmentStaffs[index] = { StaffId: staff.StaffId, IsDeleted: false };\r\n // } else {\r\n // appointmentStaffs.push({ StaffId: staffId, IsDeleted: false });\r\n // }\r\n // });\r\n\r\n // let addressesObj = {\r\n // CustomAddressID: null,\r\n // CustomAddress: null,\r\n // PatientAddressID: null,\r\n // OfficeAddressID: null\r\n // };\r\n // if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OTHER\"\r\n // ) {\r\n // addressesObj.CustomAddress = this.appointmentForm.get(\r\n // \"CustomAddress\"\r\n // ).value;\r\n // addressesObj.CustomAddressID = this.appointmentForm.get(\r\n // \"CustomAddressID\"\r\n // ).value;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"PATIENT\"\r\n // ) {\r\n // addressesObj.PatientAddressID = this.selectedServiceLocation.id;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OFFICE\"\r\n // ) {\r\n // addressesObj.OfficeAddressID = this.selectedServiceLocation.id;\r\n // }\r\n\r\n const patientId = null;\r\n // selectedPatientId && typeof selectedPatientId === \"object\"\r\n // ? selectedPatientId.id\r\n // : null;\r\n //this.recurrenceRule = this.appointmentId ? \"\" : this.recurrenceRule;\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: null,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n // IsTelehealthAppointment: true,\r\n IsTelehealthAppointment: this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.formGroup3.Notes.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n // PayRate: this.userInfo.payRate,\r\n // PayRate: this.confirmation.mode==\"Online\"?this.userInfo.payRate:this.userInfo.ftFpayRate ,\r\n PayRate: 0.00,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n this.createFreeAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n createFreeAppointmentFromPatientPortal(appointmentData: any) {\r\n this.schedulerService\r\n .bookNewFreeAppointmentFromPatientPortal(appointmentData)\r\n .subscribe(response => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n // this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n openfreeapptCheckout() {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n }\r\n\r\n createModal() {\r\n\r\n let documentModal;\r\n documentModal = this.dialogModal.open(SaveDocumentComponent, { data: 0 })\r\n documentModal.afterClosed().subscribe((result: string) => {\r\n // if (result == 'save')\r\n // this.getUserDocuments();\r\n });\r\n }\r\n show: boolean = false;\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width: '70%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n //\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n this.show = true;\r\n });\r\n }\r\n\r\n checkboxchecked() {\r\n\r\n }\r\n\r\n handleImageChange(e) {\r\n //if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n let fileExtension = e.target.files[0].name.split('.').pop().toLowerCase();\r\n var input = e.target;\r\n var reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.fileList.push({\r\n data: this.dataURL,\r\n ext: fileExtension,\r\n fileName: e.target.files[0].name\r\n });\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n // }\r\n // else\r\n // this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n }\r\n\r\n saveDocuments(apptId: number) {\r\n ///Please chnage this API to avoid loops\r\n\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: \"Document\",\r\n documentTypeIdStaff: 225,\r\n expiration: \"\",\r\n key: \"STAFF\",\r\n otherDocumentType: \"\",\r\n userId: 0,\r\n patientAppointmentId: apptId\r\n }\r\n let dic = [];\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(`\"${element.data.replace(/^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/, '')}\": \"${element.ext}\"`);\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {})\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.userService.uploadUserDocuments(formValues).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n\r\n //this.notifier.notify('success', response.message);\r\n //this.closeDialog(\"save\");\r\n }\r\n else this.notifier.notify('error', response.message);\r\n });\r\n }\r\n else {\r\n //this.notifier.notify('error', \"Please add atleast one file\");\r\n }\r\n }\r\n\r\n // getProvidersFollowUpDaysAllowed(staffId){\r\n // this.schedulerService.getStaffFeeSettings(staffId).subscribe(response => {\r\n // if (response.statusCode === 200) {\r\n // this.feeSettings = response.data as ManageFeesRefundsModel;\r\n // }\r\n // })\r\n // }\r\n\r\n get checkIfAllowed() {\r\n if (this.confirmation.type == 'Followup') {\r\n if (this.userInfo && this.userInfo.followUpDays &&\r\n this.firstFormGroup.controls.appointmentDate.value) {\r\n\r\n return this.hasPreviousNewMeeting;\r\n // const startDate = new Date(this.firstFormGroup.controls.appointmentDate.value);\r\n // const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds\r\n // const diffDates: any = (this.lastAppointmentDateTime - startDate);\r\n // const diffDays = Math.round(Math.abs((diffDates) / oneDay))\r\n // if (diffDays > -1 && diffDays <= this.userInfo.followUpDays) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n\r\n } else { return false; }\r\n } else { return true; }\r\n }\r\n\r\n getLastNewAppointment(staffId) {\r\n\r\n this.schedulerService.getGetLastNewAppointment(staffId).subscribe(response => {\r\n if (response.statusCode === 200) {\r\n this.hasPreviousNewMeeting = response.data ? true : false;\r\n // if (lastAppointment) {\r\n // this.lastAppointmentDateTime = new Date(lastAppointment.startDateTime);\r\n // this.hasPreviousNewMeeting = true;\r\n // }\r\n }\r\n });\r\n }\r\n\r\n closeModal() {\r\n this.dialogModal.closeAll();\r\n }\r\n\r\n callProvideractionInitiate(pateintapptid: number) {\r\n\r\n if (pateintapptid > 0 && this.userId > 0) {\r\n this.appService\r\n .getUrgentCareProviderActionInitiate(pateintapptid, this.userId)\r\n .subscribe((res) => {\r\n\r\n console.log(res);\r\n });\r\n }\r\n // let callInitModel: UrgentCareProviderActionInitModel = new UrgentCareProviderActionInitModel();\r\n // callInitModel.AppointmentId = pateintapptid;\r\n // //callInitModel.CallStatus = CallStatus.Picked;\r\n // this.appService.ProviderActioncallStarted(callInitModel);\r\n }\r\n\r\n showproviderunavailable() {\r\n this.isNotBooked = true;\r\n this.ApptReject = true;\r\n\r\n }\r\n\r\n getPatientSymptoms(searchText: string = 'headache', age): any {\r\n return this.symptomCheckerService.getPatientSymptoms(searchText, age)\r\n .pipe(map(x => {\r\n return x;\r\n }));\r\n }\r\n setParameters(id: any) {\r\n this.symptomCheckerService\r\n .GetPatientsDetailedInfo(id)\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n var clientModel = response.data;\r\n this.age = clientModel.age;\r\n this.gender = clientModel.gender.toLowerCase();\r\n }\r\n });\r\n }\r\n add(event: MatChipInputEvent): void {\r\n\r\n // Add fruit only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n if (!this.matAutocomplete.isOpen) {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n // Add our fruit\r\n if ((value || '').trim()) {\r\n this.symptoms.push(value.trim());\r\n }\r\n\r\n // Reset the input value\r\n if (input) {\r\n input.value = '';\r\n }\r\n\r\n this.userControl.setValue(null);\r\n }\r\n }\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n\r\n this.symptoms.push({\r\n id: event.option.value.id,\r\n value: event.option.viewValue,\r\n choice_id: \"present\"\r\n\r\n });\r\n //this.optionChecked=true;\r\n this.userInput.nativeElement.value = event.option.viewValue;\r\n this.userControl.setValue(event.option.viewValue);\r\n\r\n }\r\n\r\n}\r\n","module.exports = \".mb-7 {\\r\\n margin-bottom: 70px;\\r\\n}\\r\\n\\r\\n.mat-card {\\r\\n padding: 15px !important;\\r\\n}\\r\\n\\r\\n.search-filter .mat-checkbox {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.link-btn-1 {\\r\\n background-color: #003359;\\r\\n color: #fff;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header {\\r\\n padding: 0px 15px;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header-title {\\r\\n align-items: center;\\r\\n color: #2f2660;\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.search-filter .mat-expansion-panel-header-title i {\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n.search-filter .ng-select .ng-clear-wrapper .ng-clear {\\r\\n padding-top: 3px;\\r\\n}\\r\\n\\r\\n.search-filter .ng-select .ng-select-container {\\r\\n border: 1px solid #ccc !important;\\r\\n}\\r\\n\\r\\n.mat-raised-button {\\r\\n box-shadow: none !important;\\r\\n -webkit-box-shadow: none !important;\\r\\n border-radius: 10px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select {\\r\\n width: 100%;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 2px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container {\\r\\n border: 0px;\\r\\n border-radius: 0px;\\r\\n -webkit-border-radius: 0px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input {\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n.ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 36px;\\r\\n}\\r\\n\\r\\n.count-list {\\r\\n background: #003359;\\r\\n /* Old browsers */\\r\\n color: #fff;\\r\\n padding: 15px;\\r\\n margin-bottom: 15px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.sort-by {\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.custom-ng-select {\\r\\n width: 135px;\\r\\n display: inline-block;\\r\\n margin-left: 10px;\\r\\n height: 30px;\\r\\n padding: 0px;\\r\\n border: 1px solid #ddd;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.ng-select-single .ng-select-container {\\r\\n height: 25px;\\r\\n min-height: 25px;\\r\\n}\\r\\n\\r\\n.sort-by .ng-select.custom-ng-select .ng-select-container .ng-value-container .ng-input>input {\\r\\n height: 25px;\\r\\n}\\r\\n\\r\\n.count-list h3 {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-input {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.search-filter .filter-widget .custom-ng-datepicker .ngx-datepicker-container .ngx-datepicker-calendar-container {\\r\\n z-index: 1;\\r\\n top: inherit;\\r\\n}\\r\\n\\r\\n.search-filter .ngx-datepicker-container .ngx-datepicker-input {\\r\\n border: 1px solid #ccc !important;\\r\\n border-radius: 4px !important;\\r\\n -webkit-border-radius: 4px !important;\\r\\n min-height: 36px;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-selected,\\r\\n.main-calendar-days .day-unit:hover {\\r\\n background: #003359 !important;\\r\\n}\\r\\n\\r\\n.main-calendar-days .day-unit.is-today {\\r\\n background: #63d891 !important;\\r\\n}\\r\\n\\r\\n.filter-widget .mat-checkbox {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.filter-widget .more-widget {\\r\\n color: #003359;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.filter-widget .ng-scrollbar-view {\\r\\n overflow: auto;\\r\\n}\\r\\n\\r\\n.filter-btn {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.doctor-widget {\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.doctor-widget .doc-info {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.doc-info-left {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.doctor-img {\\r\\n width: 180px;\\r\\n height: 180px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n overflow: hidden;\\r\\n margin-right: 15px;\\r\\n /* flex: 0 0 180px; */\\r\\n /* display: flex; */\\r\\n}\\r\\n\\r\\n.doctor-widget .doc-name {\\r\\n font-size: 20px;\\r\\n font-weight: 500;\\r\\n margin-bottom: 3px;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.doc-name a {\\r\\n color: #2f2660;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.doc-name a:hover {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.mat-card-content p.doc-speciality {\\r\\n font-size: 14px;\\r\\n color: #757575;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.doc-department {\\r\\n color: #2f2660;\\r\\n font-size: 14px;\\r\\n margin-bottom: 0;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.list-grid-btn {\\r\\n font-size: 20px;\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n\\r\\n.list-grid-btn .active {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.list-grid-btn i {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.cfee {\\r\\n margin-bottom: 7px;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n.clinic-services {\\r\\n color: #272b41;\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n display: inline-block;\\r\\n font-size: 12px;\\r\\n padding: 3px 10px;\\r\\n}\\r\\n\\r\\n.clinic-services span {\\r\\n margin-right: 5px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n.clinic-booking {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n border-top: 1px solid #ddd;\\r\\n padding-top: 15px;\\r\\n margin-top: 15px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.clinic-booking .mat-raised-button {\\r\\n box-shadow: none;\\r\\n -ms-box-shadow: none;\\r\\n min-width: 120px;\\r\\n border-radius: 10px;\\r\\n padding: 3px;\\r\\n}\\r\\n\\r\\n.clinic-booking button.mat-accent {\\r\\n background-color: transparent;\\r\\n color: #003359;\\r\\n border: 2px solid #003359;\\r\\n}\\r\\n\\r\\na.link-btn {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.mat-checkbox-checkmark-path {\\r\\n stroke: #003359 !important;\\r\\n}\\r\\n\\r\\n.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,\\r\\n.mat-checkbox-checked.mat-accent .mat-checkbox-background {\\r\\n background-color: #fff !important;\\r\\n border: 2px solid #b9b9b9 !important;\\r\\n}\\r\\n\\r\\n.mat-checkbox-frame {\\r\\n border-color: #b9b9b9 !important;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.link-btn:hover {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.chk-availability label {\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.chk-availability button {\\r\\n background: #fff;\\r\\n border: 1px solid #b9b9b9;\\r\\n border-radius: 5px;\\r\\n font-size: 13px;\\r\\n color: #b9b9b9;\\r\\n font-weight: 500;\\r\\n margin-right: 10px;\\r\\n margin-bottom: 10px;\\r\\n padding: 5px 10px;\\r\\n line-height: 13px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.chk-availability button:disabled {\\r\\n cursor: not-allowed;\\r\\n border: 1px solid #e5e5e5;\\r\\n}\\r\\n\\r\\n.chk-availability button.active {\\r\\n border-color: #e7d9f8;\\r\\n color: #2f2660;\\r\\n background: #e7d9f8;\\r\\n}\\r\\n\\r\\n.chk-availability button:not(:disabled):hover {\\r\\n background: #189bed;\\r\\n color: #fff;\\r\\n border-color: #189bed;\\r\\n}\\r\\n\\r\\n.clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.clini-infos ul li {\\r\\n display: block;\\r\\n line-height: 25px;\\r\\n word-break: break-word;\\r\\n color: #2f2660;\\r\\n position: relative;\\r\\n padding-left: 25px;\\r\\n padding-right: 5px;\\r\\n font-size: 15px;\\r\\n}\\r\\n\\r\\n.clini-infos ul li a {\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.clini-infos ul li .direction {\\r\\n color: #003359;\\r\\n cursor: pointer;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.clini-infos ul li i {\\r\\n font-size: 15px;\\r\\n min-width: 20px;\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n top: 6px;\\r\\n}\\r\\n\\r\\n.doc-info-cont .row {\\r\\n margin-left: 0;\\r\\n}\\r\\n\\r\\n.mat-form-field+.mat-form-field {\\r\\n margin-left: 8px;\\r\\n}\\r\\n\\r\\n/* grid view */\\r\\n\\r\\n/* .grid-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n\\r\\n/* .grid-profile .clinic-services {\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.grid-profile .doc-info,\\r\\n.grid-profile .doc-info-left {\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-img {\\r\\n float: left;\\r\\n height: 160px;\\r\\n width: 160px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.grid-profile .clinic-btn {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.grid-profile button {\\r\\n margin-top: 15px;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-info-right {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-info-right .clini-infos {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.grid-profile .addres {\\r\\n min-height: 39px;\\r\\n}\\r\\n\\r\\n.grid-profile .doc-department {\\r\\n /* min-height: 30px; */\\r\\n word-break: break-all;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.grid-profile .doctor-widget .doc-info {\\r\\n display: inherit;\\r\\n}\\r\\n\\r\\n/* list view */\\r\\n\\r\\n/* .list-profile {\\r\\n transition: all 0.1s ease;\\r\\n} */\\r\\n\\r\\n.list-profile a {\\r\\n margin-right: 15px;\\r\\n}\\r\\n\\r\\n@media (max-width: 1199px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 160px;\\r\\n height: 160px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 991px) {\\r\\n .grid-profile .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n }\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: column;\\r\\n }\\r\\n .clinic-btn {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n }\\r\\n .list-profile a {\\r\\n margin-right: 0px;\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n .list-grid-btn,\\r\\n .sort-by {\\r\\n margin-top: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n .count-list {\\r\\n justify-content: flex-start;\\r\\n flex-wrap: wrap;\\r\\n align-items: center;\\r\\n }\\r\\n .count-list h3 {\\r\\n margin: 5px 15px 5px 0px;\\r\\n font-size: 18px;\\r\\n }\\r\\n .sort-by {\\r\\n float: none;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 575px) {\\r\\n .doctor-widget .doc-info {\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n }\\r\\n .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 160px;\\r\\n height: 160px;\\r\\n float: left;\\r\\n }\\r\\n .clini-infos ul li {\\r\\n display: inline-block;\\r\\n padding-right: 10px;\\r\\n }\\r\\n .clini-infos ul li i {\\r\\n min-width: auto;\\r\\n }\\r\\n .doc-info-left {\\r\\n width: 100%;\\r\\n display: inherit;\\r\\n }\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: row;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 480px) {\\r\\n .grid-profile .doctor-img,\\r\\n .doctor-img {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n }\\r\\n .clinic-booking,\\r\\n .grid-profile .clinic-booking {\\r\\n flex-direction: column;\\r\\n }\\r\\n .clinic-btn {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n.ngx-datepicker-calendar-container {\\r\\n z-index: 2 !important;\\r\\n}\\r\\n\\r\\n.ngx-slider .ngx-slider-bubble {\\r\\n font-weight: 500;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.doctor-widget .average-rating {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n line-height: 14px;\\r\\n padding-top: 0;\\r\\n margin-top: 8px;\\r\\n}\\r\\n\\r\\nmat-slider {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.price-range span {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.mat-slider-thumb {\\r\\n border: 8px solid transparent !important;\\r\\n background-color: #003359 !important;\\r\\n}\\r\\n\\r\\n.mat-slider-track-fill {\\r\\n background-color: #003359 !important;\\r\\n}\\r\\n\\r\\n.cancl-pol-txt {\\r\\n color: #003359 !important;\\r\\n cursor: pointer !important;\\r\\n font-weight: 500 !important;\\r\\n line-height: 20px;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.offline-dot {\\r\\n height: 16px;\\r\\n width: 16px;\\r\\n background-color: #bbb;\\r\\n border-radius: 50%;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.online-dot {\\r\\n height: 16px;\\r\\n width: 16px;\\r\\n background-color: rgb(18, 245, 67);\\r\\n border-radius: 50%;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.clinic-booking .mat-raised-button {\\r\\n padding: 3px 8px !important;\\r\\n}\\r\\n\\r\\n.hand{\\r\\n cursor: pointer;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\r\\n    \\r\\n {{totalRecords}} Matches Found - {{searchedLocation}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Search\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Select Speciality\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{spl.value}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 10 && speciality.length>10\\\"\\r\\n (click)=\\\"maxIndex = (maxIndex - 10)\\\">Less...\\r\\n More...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Select Services\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{srv.value}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 10 && services.length\\\"\\r\\n (click)=\\\"maxIndexService = (maxIndexService - 10)\\\">Less...\\r\\n More...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n
\\r\\n

{{provider.fullName}}

\\r\\n \\r\\n
\\r\\n \\r\\n {{spl.service}}\\r\\n 0 && i<=2\\\">, {{spl.service}}\\r\\n 2\\\">+{{ provider.services?.length-3}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n 0\\\"\\r\\n class=\\\"d-inline-block average-rating\\\">({{provider.totalReviews}})\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{provider.phoneNumber}}
  • \\r\\n
  • {{provider.email}}
  • \\r\\n
  • \\r\\n {{provider.address}}\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n View Profile\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
Your search did not matched any results. Please try a different search.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { BookAppointmentComponent } from \"./../book-appointment/book-appointment.component\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { HomeService } from \"./../home/home.service\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { AfterViewInit, Component, ElementRef, OnInit, QueryList, ViewChild, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { DatepickerOptions } from \"ng2-datepicker\";\r\nimport * as enLocale from \"date-fns/locale/en\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ProviderSearchFilterModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\nimport { NullInjector } from \"@angular/core/src/di/injector\";\r\nimport { BookFreeAppointmentComponent } from \"../book-freeappointment/book-freeappointment.component\";\r\nimport { of } from \"rxjs\";\r\nimport {\r\n debounceTime,\r\n map,\r\n distinctUntilChanged,\r\n filter\r\n} from \"rxjs/operators\";\r\nimport { fromEvent } from 'rxjs';\r\nimport { ProviderProfileModalComponent } from \"../provider-profile/provider-profile.component\";\r\nimport { LabelType, Options } from \"@angular-slider/ngx-slider\";\r\nimport { CancelationRule } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\nimport { ProviderFeeSettingsComponent } from \"../provider-fee-settings/provider-fee-settings.component\";\r\nimport { UrgentCareAppointmentComponent } from \"../urgentcare-appointment/urgentcare-appointment.component\";\r\n// import { Options } from \"ngx-google-places-autocomplete/objects/options/options\";\r\n// type NewType = Options;\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-urgentcareprovider-list\",\r\n templateUrl: \"./urgentcareprovider-list.component.html\",\r\n styleUrls: [\"./urgentcareprovider-list.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UrgentCareProviderListComponent implements OnInit, AfterViewInit {\r\n panelOpenState = false;\r\n specialityIconCheck: any;\r\n specialityIcon: any;\r\n showLoader: boolean = true;\r\n selectedSpeciality: any;\r\n selectedLocation: any;\r\n selectedDate: any;\r\n @ViewChild('tempselectedDate') tempselectedDate: ElementRef;\r\n @ViewChildren('temprating') temprating: QueryList;\r\n\r\n providerserachtext: string;\r\n doctorWidgetClass: string = \"col-sm-6 grid-profile\";\r\n options: DatepickerOptions;\r\n metaData: any;\r\n sortby: any[] = [\r\n { value: 1, label: \"Price Low\" },\r\n { value: 2, label: \"Price High\" },\r\n { value: 3, label: \"Rating\" }\r\n ];\r\n\r\n location: any[] = [];\r\n speciality: any[] = [];\r\n services: any[] = [];\r\n minIndex: number = 0;\r\n maxIndex: number = 10;\r\n minIndexService: number = 0;\r\n maxIndexService: number = 10;\r\n filterModel: ProviderSearchFilterModel;\r\n providers: any = [];\r\n totalRecords: number = 0;\r\n searchedLocation: string = \"\";\r\n masterGender: any = [];\r\n\r\n Slider: Options = {\r\n floor: 0,\r\n ceil: 1000,\r\n translate: (value: number, label: LabelType): string => {\r\n return \"USD \" + value;\r\n }\r\n };\r\n minrate = 0;\r\n maxrate = 1000;\r\n\r\n\r\n checkedLocations: string[] = [];\r\n checkedSpecialities: string[] = [];\r\n checkedGenders: string[] = [];\r\n checkedServices: string[] = [];\r\n checkedRates: string[] = [];\r\n reviewRates: string[] = [];\r\n @ViewChild('prosearchtext') prosearchtext: ElementRef;\r\n staffId: string;\r\n loading: boolean = true;\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private datePipe: DatePipe,\r\n private route: ActivatedRoute,\r\n private homeService: HomeService,\r\n private dialogModal: MatDialog,\r\n private headerComp: HomeHeaderComponent,\r\n private router: Router\r\n ) {\r\n let dte = new Date();\r\n dte.setDate(dte.getDate() - 1);\r\n this.options = {\r\n minYear: 1970,\r\n maxYear: 2030,\r\n displayFormat: \"MMM D[,] YYYY\",\r\n barTitleFormat: \"MMMM YYYY\",\r\n dayNamesFormat: \"dd\",\r\n firstCalendarDay: 0, // 0 - Sunday, 1 - Monday\r\n locale: enLocale,\r\n minDate: dte, // Minimal selectable date\r\n //maxDate: new Date(Date.now()), // Maximal selectable date\r\n barTitleIfEmpty: \"Click to select a date\",\r\n placeholder: \"Select Date\", // HTML input placeholder attribute (default: '')\r\n fieldId: \"my-date-picker\", // ID to assign to the input field. Defaults to datepicker-\r\n useEmptyBarTitle: false // Defaults to true. If set to false then barTitleIfEmpty will be disregarded and a date will always be shown\r\n };\r\n this.filterModel = new ProviderSearchFilterModel();\r\n }\r\n\r\n\r\n ngAfterViewInit(): void {\r\n this.searchInitilizer();\r\n }\r\n\r\n ngOnInit() {\r\n this.loading = true;\r\n window.scroll(0, 0)\r\n this.getMasterData();\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.staffId = params[\"providerId\"];\r\n this.specialityIcon = params[\"searchTerm\"];\r\n // this.checkedSpecialities.push(\r\n // this.commonService.encryptValue(params[\"sp\"], false)\r\n // );\r\n if (\r\n params[\"loc\"] != \"\" &&\r\n params[\"loc\"] != null &&\r\n params[\"loc\"] != undefined\r\n ) {\r\n this.checkedLocations.push(\r\n this.commonService.encryptValue(params[\"loc\"], false)\r\n );\r\n }\r\n this.filterModel.Date = params[\"d\"];\r\n });\r\n\r\n // this.setPaginatorModel(\r\n // this.filterModel.pageNumber,\r\n // this.filterModel.pageSize,\r\n // this.filterModel.sortColumn,\r\n // this.filterModel.sortOrder\r\n // );\r\n // this.getProviderList(this.filterModel);\r\n }\r\n public isKeySet(obj: any, key: string): boolean {\r\n let isFound = false;\r\n obj.forEach(element => {\r\n if ((element as string) == key.toString()) isFound = true;\r\n });\r\n return isFound;\r\n }\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n let date = null;\r\n if (\r\n this.selectedDate != undefined &&\r\n this.selectedDate != null &&\r\n this.selectedDate != \"\"\r\n ) {\r\n date = new Date(this.selectedDate);\r\n //date.setDate(date.getDate() + 1);\r\n }\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.Date =\r\n date != null\r\n ? this.datePipe.transform(new Date(date), \"dd-MM-yyyy\")\r\n : null;\r\n this.filterModel.Locations = this.selectedLocation;\r\n this.filterModel.Specialities = this.checkedSpecialities.toString();\r\n this.filterModel.Rates = this.checkedRates.toString();\r\n\r\n this.filterModel.MinRate = this.minrate.toString();\r\n\r\n this.filterModel.ReviewRating = this.reviewRates.toString();\r\n this.filterModel.Services = this.checkedServices.toString();\r\n this.filterModel.Gender = this.checkedGenders.toString();\r\n //this.filterModel.Genders.push(\"0\");\r\n //this.filterModel.Specialities.push(this.selectedSpeciality);\r\n this.filterModel.ProviderId = this.staffId ? this.staffId : '';\r\n }\r\n onSpecialityChange(option, event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n //this.prosearchtext.nativeElement.value = '';\r\n if (event.source.checked) {\r\n this.checkedSpecialities.push(option.id.toString());\r\n\r\n } else {\r\n for (var i = 0; i < this.checkedSpecialities.length; i++) {\r\n if (this.checkedSpecialities[i] == option.id) {\r\n this.checkedSpecialities.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n this.getMasterData(this.checkedSpecialities, 1)\r\n this.applyFilter(true);\r\n\r\n\r\n }\r\n onServiceChange(option, event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n //this.prosearchtext.nativeElement.value = '';\r\n if (event.source.checked) {\r\n this.checkedServices.push(option.id.toString());\r\n } else {\r\n for (var i = 0; i < this.checkedServices.length; i++) {\r\n if (this.checkedServices[i] == option.id) {\r\n this.checkedServices.splice(i, 1);\r\n }\r\n }\r\n }\r\n this.applyFilter(true);\r\n }\r\n onGenderChange(option, event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.prosearchtext.nativeElement.value = '';\r\n if (event.source.checked) {\r\n this.checkedGenders.push(option.id.toString());\r\n } else {\r\n for (var i = 0; i < this.checkedGenders.length; i++) {\r\n if (this.checkedGenders[i] == option.id) {\r\n this.checkedGenders.splice(i, 1);\r\n }\r\n }\r\n }\r\n this.applyFilter(true);\r\n }\r\n\r\n // onConsultationFeeChange(event) {\r\n // this.filterModel.ProviderId = '';\r\n // this.staffId = '';\r\n // this.prosearchtext.nativeElement.value = '';\r\n // if (event.source.checked) {\r\n // this.checkedRates.push(event.source.id.toString());\r\n // } else {\r\n // for (var i = 0; i < this.checkedRates.length; i++) {\r\n // if (this.checkedRates[i] == event.source.id) {\r\n // this.checkedRates.splice(i, 1);\r\n // }\r\n // }\r\n // }\r\n\r\n // this.applyFilter(true);\r\n // }\r\n\r\n onConsultationFeeChange(event) {\r\n\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n //this.prosearchtext.nativeElement.value = '';\r\n this.checkedRates = [this.maxrate.toString()];\r\n\r\n this.applyFilter(true);\r\n }\r\n\r\n onReviewRatingChange(event) {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.prosearchtext.nativeElement.value = '';\r\n if (event.source.checked) {\r\n this.reviewRates.push(event.source.id.toString());\r\n } else {\r\n for (var i = 0; i < this.reviewRates.length; i++) {\r\n if (this.reviewRates[i] == event.source.id) {\r\n this.reviewRates.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n this.applyFilter(true);\r\n }\r\n\r\n onDateChange(event) {\r\n\r\n this.applyFilter(true);\r\n }\r\n\r\n // onFeeChange(option, event) {\r\n // if (event.source.checked) {\r\n // this.checkedRates.push(option.id.toString());\r\n // } else {\r\n // for (var i = 0; i < this.checkedRates.length; i++) {\r\n // if (this.checkedRates[i] == option.id) {\r\n // this.checkedRates.splice(i, 1);\r\n // }\r\n // }\r\n // }\r\n // }\r\n clearFilter() {\r\n\r\n this.prosearchtext.nativeElement.value = '';\r\n this.checkedGenders = [];\r\n this.checkedRates = [];\r\n this.checkedServices = [];\r\n this.checkedSpecialities = [];\r\n this.selectedSpeciality = [];\r\n this.reviewRates = [];\r\n if (this.tempselectedDate) {\r\n this.tempselectedDate['displayValue'] = '';\r\n }\r\n this.temprating.forEach(element => {\r\n element.checked = false;\r\n });\r\n // this.selectedSpeciality = \"\";\r\n // this.route.queryParams.subscribe(params => {\r\n // this.selectedSpeciality = +this.commonService.encryptValue(\r\n // params[\"sp\"],\r\n // false\r\n // );\r\n // });\r\n // this.checkedSpecialities.push(this.selectedSpeciality);\r\n\r\n //To reset the Consultation Fees slider.\r\n this.maxrate = 1000;\r\n this.minrate = 0;\r\n\r\n this.applyFilter(false);\r\n }\r\n applyFilter(isSearching: boolean = true) {\r\n this.setPaginatorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder\r\n );\r\n this.getProviderList(this.filterModel, isSearching);\r\n }\r\n seaching: boolean = false;\r\n clearing: boolean = false;\r\n getProviderList(\r\n filterModel: ProviderSearchFilterModel,\r\n Isflitering: boolean = false\r\n ) {\r\n this.loading = true;\r\n if (Isflitering) this.seaching = true;\r\n else this.clearing = true;\r\n\r\n this.homeService.getUrgentCareProviderList(filterModel).subscribe((response: any) => {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n this.providers = response.data;\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords;\r\n } else {\r\n this.loading = false;\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n this.showLoader = false;\r\n this.seaching = false;\r\n this.clearing = false;\r\n }, error => {\r\n this.loading = false;\r\n }, () => {\r\n if (this.providers.length >= 0) {\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n getMasterData(globalCodeId: any[] = [], requestType: any = 0) {\r\n\r\n\r\n\r\n this.route.queryParams.subscribe(params => {\r\n\r\n var prvSelectedValue = this.commonService.encryptValue(params[\"sp\"], false)\r\n var prvSelectedService = this.commonService.encryptValue(params[\"srvc\"], false)\r\n if (prvSelectedService != '' && prvSelectedService != null && this.checkedServices.length == 0 && requestType == 0) {\r\n this.checkedServices.push(prvSelectedService);\r\n }\r\n if (prvSelectedValue != '' && prvSelectedValue != null && this.checkedSpecialities.length == 0 && requestType == 0) {\r\n this.checkedSpecialities.push(prvSelectedValue);\r\n }\r\n\r\n });\r\n\r\n\r\n this.homeService\r\n .getMasterData(\r\n \"masterLocation,MASTERTAXONOMY,MASTERSTAFFSERVICE,MASTERSPECIALITY,MASTERGENDER\", true, this.checkedSpecialities\r\n\r\n )\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n // this.speciality =\r\n // response.masterTaxonomy != null ? response.masterTaxonomy : [];\r\n this.speciality =\r\n response.masterSpeciality != null ? response.masterSpeciality : [];\r\n this.location =\r\n response.masterLocation != null ? response.masterLocation : [];\r\n this.services =\r\n response.masterStaffServices != null\r\n ? response.masterStaffServices\r\n : [];\r\n\r\n this.route.queryParams.subscribe(params => {\r\n // this.selectedSpeciality\r\n // if( this.commonService.encryptValue(params[\"sp\"], false)!=undefined && this.commonService.encryptValue(params[\"sp\"], false)!=null)\r\n\r\n // {\r\n\r\n // this.checkedSpecialities.push(\r\n // this.commonService.encryptValue(params[\"sp\"], false)\r\n // );\r\n // }\r\n if (\r\n params[\"loc\"] != \"\" &&\r\n params[\"loc\"] != null &&\r\n params[\"loc\"] != undefined\r\n ) {\r\n this.selectedLocation = +this.commonService.encryptValue(\r\n params[\"loc\"],\r\n false\r\n ); //\r\n\r\n this.searchedLocation = this.location.find(\r\n x => (x.id = this.selectedLocation)\r\n ).locationName;\r\n }\r\n this.selectedDate = params[\"d\"]; // this.datePipe.transform(params['d'], 'yyyy-MM-dd');\r\n });\r\n }\r\n if (!this.specialityIcon) {\r\n this.applyFilter();\r\n }\r\n else {\r\n this.Providersearchtext(this.specialityIcon);\r\n }\r\n }, error => {\r\n this.loading = false;\r\n }, () => {\r\n\r\n });\r\n }\r\n bookAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n // this.headerComp.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // this.headerComp.redirectToDashboard(\"/web\");\r\n // } else {\r\n //this.headerComp.isPatient = result.isPatient;\r\n //this.headerComp.IsLogin = true;\r\n //this.headerComp.loading = true;\r\n //this.headerComp.setispateintlogin();\r\n // location.reload();\r\n this.openDialogBookAppointment(staffId, providerId);\r\n //}\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n // if (result != null && result.response.access_token != \"\") {\r\n\r\n // this.headerComp.IsLogin == true;\r\n // this.headerComp.checkUserLogin();\r\n // }\r\n });\r\n } else {\r\n this.openDialogBookAppointment(staffId, providerId);\r\n }\r\n //let staffId = this.commonService.encryptValue(id);\r\n }\r\n openDialogBookAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(UrgentCareAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffId: staffId,\r\n userInfo: null,\r\n providerId: providerId,\r\n locationId: this.selectedLocation || 0\r\n },\r\n width: \"60%\"\r\n //,height:\"50%\"\r\n\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n // if (result == \"booked\") {\r\n // }\r\n //location.reload();\r\n }\r\n });\r\n }\r\n // redirectToProfilePage(providerId: string) {\r\n // if (\r\n // this.selectedLocation != undefined &&\r\n // this.selectedLocation != null &&\r\n // this.selectedLocation != \"\"\r\n // )\r\n // this.router.navigate([\"/doctor-profile\"], {\r\n // queryParams: {\r\n // id: providerId,\r\n // loc: this.commonService.encryptValue(this.selectedLocation, true)\r\n // }\r\n // });\r\n // else\r\n // this.router.navigate([\"/doctor-profile\"], {\r\n // queryParams: {\r\n // id: providerId\r\n // }\r\n // });\r\n // }\r\n\r\n redirectToProfilePage(providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(ProviderProfileModalComponent, {\r\n hasBackdrop: true,\r\n data: { id: providerId },\r\n width: '70%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n });\r\n }\r\n\r\n bookFreeAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n if (!localStorage.getItem(\"access_token\")) {\r\n dbModal = this.dialogModal.open(LoginModelComponent, {\r\n hasBackdrop: true,\r\n data: { selectedIndex: 1 }\r\n });\r\n dbModal.afterClosed().subscribe((result: any) => {\r\n let response = result.response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.statusCode === 205) {\r\n //this.errorMessage = response.message;\r\n this.headerComp.loading = false;\r\n } else if (response.access_token) {\r\n // this.headerComp.isPatient = result.isPatient;\r\n // if (result.isPatient == false) {\r\n // this.headerComp.redirectToDashboard(\"/web\");\r\n // } else {\r\n\r\n //this.headerComp.IsLogin = true;\r\n //this.headerComp.checkUserLogin();\r\n location.reload();\r\n //}\r\n } else {\r\n this.headerComp.openDialogSecurityQuestion();\r\n }\r\n // if (result != null && result.response.access_token != \"\") {\r\n\r\n // this.headerComp.IsLogin == true;\r\n // this.headerComp.checkUserLogin();\r\n // }\r\n });\r\n } else {\r\n this.openDialogBookFreeAppointment(staffId, providerId);\r\n }\r\n //let staffId = this.commonService.encryptValue(id);\r\n }\r\n openDialogBookFreeAppointment(staffId: number, providerId: string) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(BookFreeAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffId: staffId,\r\n userInfo: null,\r\n providerId: providerId,\r\n locationId: this.selectedLocation || 0\r\n }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n if (result == \"booked\") {\r\n }\r\n }\r\n });\r\n }\r\n\r\n onSortChange(event) {\r\n\r\n this.filterModel.SortType = event.value.toString();\r\n this.applysortFilter(true);\r\n }\r\n\r\n applysortFilter(isSearching: boolean = true) {\r\n\r\n this.setPaginatorModel(\r\n this.filterModel.pageNumber,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder\r\n );\r\n this.getSortProviderList(this.filterModel, isSearching);\r\n }\r\n sortseaching: boolean = false;\r\n sortclearing: boolean = false;\r\n getSortProviderList(\r\n filterModel: ProviderSearchFilterModel,\r\n Isflitering: boolean = false\r\n ) {\r\n\r\n if (Isflitering) this.sortseaching = true;\r\n else this.sortclearing = true;\r\n\r\n this.homeService.getSortUrgentCareProviderList(filterModel).subscribe((response: any) => {\r\n this.filterModel.ProviderId = '';\r\n this.staffId = '';\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n this.providers = response.data;\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords;\r\n } else {\r\n this.loading = false;\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n }\r\n this.showLoader = false;\r\n this.seaching = false;\r\n this.clearing = false;\r\n });\r\n }\r\n\r\n\r\n searchInitilizer() {\r\n fromEvent(this.prosearchtext.nativeElement, 'keyup').pipe(\r\n\r\n map((event: any) => {\r\n return event.target.value;\r\n })\r\n , filter(res => res.length > 2 || res.length == 0)\r\n , debounceTime(1000)\r\n , distinctUntilChanged()\r\n ).subscribe((text: string) => {\r\n\r\n this.Providersearchtext(text);\r\n })\r\n }\r\n\r\n Providersearchtext(text: string) {\r\n this.loading = true;\r\n this.filterModel.ProvidersearchText = text;\r\n this.filterModel.ProviderId = '';\r\n this.homeService.getsearchtextUrgentCareProviderList(this.filterModel).subscribe((response: any) => {\r\n this.providers = [];\r\n this.metaData = [];\r\n this.totalRecords = 0;\r\n if (response != null && response.statusCode == 200) {\r\n this.providers = response.data;\r\n this.metaData = response.meta;\r\n this.totalRecords = this.metaData.totalRecords;\r\n } else {\r\n //this.userInvitationModel = []; this.metaData = new Metadata();\r\n this.loading = false;\r\n }\r\n this.showLoader = false;\r\n this.seaching = false;\r\n this.clearing = false;\r\n }, error => {\r\n this.loading = false;\r\n }, () => {\r\n if (this.providers.length >= 0) {\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n openCancellationRulesPopup(rules) {\r\n rules = rules ? rules : [];\r\n const dbModal = this.dialogModal.open(ProviderFeeSettingsComponent, {\r\n hasBackdrop: true,\r\n data: rules as CancelationRule[],\r\n width: '400px',\r\n maxWidth: '400px',\r\n minWidth: '40%'\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \".wedo-banner {\\r\\n background-image: url('what-wo-do-banner.jpg');\\r\\n background-repeat: no-repeat;\\r\\n background-position: center;\\r\\n width: 100%;\\r\\n position: relative;\\r\\n background-size: cover;\\r\\n height: 550px;\\r\\n}\\r\\n\\r\\n.whatwedo-content {\\r\\n background: rgb(24 155 237 / 30%);\\r\\n color: #fff;\\r\\n text-align: center;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n width: 55%;\\r\\n height: 550px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n right: 0;\\r\\n border-top-left-radius: 100%;\\r\\n}\\r\\n\\r\\n.whatwedo-content h2 {\\r\\n font-size: 2.6rem;\\r\\n padding-top: 50px;\\r\\n text-align: right;\\r\\n line-height: 62px;\\r\\n}\\r\\n\\r\\nsection.the-benefits,\\r\\n.meet-doctor,\\r\\nsection.categories,\\r\\nsection.book-doctor,\\r\\n.happy-client {\\r\\n padding: 60px 0;\\r\\n}\\r\\n\\r\\nsection.blue-line {\\r\\n background: #7E9693;\\r\\n padding: 30px 0;\\r\\n}\\r\\n\\r\\nsection.blue-line h2,\\r\\nsection.blue-line a {\\r\\n color: #ffffff;\\r\\n margin: 0;\\r\\n font-size: 1.6rem;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\nsection.blue-line a {\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.wedo-box h4 {\\r\\n text-align: center;\\r\\n line-height: 36px;\\r\\n font-size: 1.5rem;\\r\\n color: #000;\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.category-items {\\r\\n padding: 10% 0 2% 0;\\r\\n background-color: #fff;\\r\\n margin-bottom: 30px;\\r\\n min-height: 430px;\\r\\n}\\r\\n\\r\\n.category-items img {\\r\\n max-width: 100px;\\r\\n /* margin-bottom: 30px; */\\r\\n}\\r\\n\\r\\n.category-items p {\\r\\n font-size: 2rem;\\r\\n color: #000;\\r\\n line-height: 54px;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.primary-care {\\r\\n background-image: url('primary-care.png');\\r\\n background-repeat: no-repeat;\\r\\n background-position: right;\\r\\n height: 530px;\\r\\n background-size: 70%;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin: 60px 0;\\r\\n transition: 0.3s;\\r\\n}\\r\\n\\r\\n.primary-care:hover {\\r\\n -webkit-transform: translateY(-5px);\\r\\n transform: translateY(-5px);\\r\\n box-shadow: 0 2rem 1.2rem -1.2rem rgb(33 37 41 / 20%), 0 0 0.5rem 0rem rgb(33 37 41 / 5%) !important;\\r\\n}\\r\\n\\r\\n.primary-left {\\r\\n background-image: url('teleHealth-small.png');\\r\\n background-repeat: no-repeat;\\r\\n background-position: left;\\r\\n}\\r\\n\\r\\n.primary-left .inside-box {\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n.mental-health {\\r\\n background-image: url('mental-health.png');\\r\\n background-repeat: no-repeat;\\r\\n background-position: right;\\r\\n}\\r\\n\\r\\n.bill-claim {\\r\\n background-image: url('claim-bills.jpg');\\r\\n background-repeat: no-repeat;\\r\\n background-position: left;\\r\\n}\\r\\n\\r\\n.inside-box {\\r\\n background: #fff;\\r\\n max-width: 600px;\\r\\n padding: 30px 0px 30px 30px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.inside-box p {\\r\\n border-right: 6px solid #7E9693;\\r\\n padding-right: 20px;\\r\\n}\\r\\n\\r\\n.inside-box h2,\\r\\n.inside-box a {\\r\\n color: #7E9693;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\nsection.prime-care-box {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.secure-categories .section-heading {\\r\\n text-align: center;\\r\\n color: #7E9693;\\r\\n margin: 15px 5px;\\r\\n font-weight: 600;\\r\\n font-size: 1.5rem;\\r\\n}\\r\\n\\r\\n.category-items p {\\r\\n font-size: 1.2rem;\\r\\n color: #000;\\r\\n line-height: 27px;\\r\\n font-weight: 400;\\r\\n padding: 0 12px;\\r\\n}\\r\\n\\r\\nsection.secure-categories {\\r\\n padding: 40px 0;\\r\\n}\\r\\n\\r\\n.how_works_section {\\r\\n padding-top: 50px;\\r\\n padding-bottom: 100px;\\r\\n background: #F7FAFD;\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n .how_works_section {\\r\\n padding-top: 60px;\\r\\n padding-bottom: 60px;\\r\\n }\\r\\n .whatwedo-content {\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n border-radius: 0;\\r\\n }\\r\\n}\\r\\n\\r\\n.how_works_section .single_place {\\r\\n background: #fff;\\r\\n border-radius: 5px;\\r\\n overflow: hidden;\\r\\n -webkit-transform: scale(1);\\r\\n transform: scale(1);\\r\\n transition: 0.3s ease-in-out;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place .thumb {\\r\\n position: relative;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place .thumb img {\\r\\n width: 100%;\\r\\n -webkit-transform: scale(1);\\r\\n transform: scale(1);\\r\\n transition: 0.3s;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place .place_info {\\r\\n padding: 27px 20px 25px 20px;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place .place_info h3 {\\r\\n font-size: 23px;\\r\\n font-weight: 500;\\r\\n color: #7E9693;\\r\\n margin-bottom: 10px;\\r\\n transition: 0.3s;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place .place_info p {\\r\\n font-size: 18px;\\r\\n font-weight: 400;\\r\\n color: #7A838B;\\r\\n margin-top: 2px;\\r\\n margin-bottom: 7px;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place .place_info .rating_days span i {\\r\\n font-size: 12px;\\r\\n color: #FDAE5C;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place .place_info .rating_days span a {\\r\\n font-size: 14px;\\r\\n color: #7A838B;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.how_works_section .single_place:hover .thumb img {\\r\\n -webkit-transform: scale(1);\\r\\n transform: scale(1.1);\\r\\n}\\r\\n\\r\\n.how_works_section .single_place:hover .place_info h3 {\\r\\n color: #003359 !important\\r\\n}\\r\\n\\r\\n/* new css added */\\r\\n\\r\\n.grid {\\r\\n position: relative;\\r\\n padding: 0.5em 0 0em;\\r\\n max-width: 1000px;\\r\\n list-style: none;\\r\\n text-align: center;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.grid figure {\\r\\n position: relative;\\r\\n float: left;\\r\\n overflow: hidden;\\r\\n margin: 10px 4.3% 2% 0%;\\r\\n min-width: 340px;\\r\\n max-width: 480px;\\r\\n max-height: 330px;\\r\\n width: 32%;\\r\\n background: #3085a3;\\r\\n text-align: center;\\r\\n border-radius: 5px;\\r\\n}\\r\\n\\r\\n.grid figure img {\\r\\n position: relative;\\r\\n display: block;\\r\\n min-height: 100%;\\r\\n max-width: 100%;\\r\\n opacity: 0.8;\\r\\n}\\r\\n\\r\\n.grid figure figcaption {\\r\\n padding: 2em;\\r\\n color: #fff;\\r\\n text-transform: uppercase;\\r\\n font-size: 1.25em;\\r\\n -webkit-backface-visibility: hidden;\\r\\n backface-visibility: hidden;\\r\\n}\\r\\n\\r\\n.grid figure figcaption::before,\\r\\n.grid figure figcaption::after {\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.grid figure figcaption,\\r\\n.grid figure figcaption>a {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n cursor: default;\\r\\n}\\r\\n\\r\\n.grid figure figcaption>a {\\r\\n z-index: 1000;\\r\\n text-indent: 200%;\\r\\n white-space: nowrap;\\r\\n font-size: 0;\\r\\n opacity: 0;\\r\\n cursor: default;\\r\\n}\\r\\n\\r\\n.grid figure h2 {\\r\\n word-spacing: -0.15em;\\r\\n font-weight: 300;\\r\\n font-size: 1.5rem;\\r\\n}\\r\\n\\r\\n.grid figure h2 span {\\r\\n font-weight: 800;\\r\\n}\\r\\n\\r\\n.grid figure h2,\\r\\n.grid figure p {\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.grid figure p {\\r\\n letter-spacing: 1px;\\r\\n font-size: 68.5%;\\r\\n}\\r\\n\\r\\nfigure.effect-feature img {\\r\\n max-width: none;\\r\\n width: calc(100% + 50px);\\r\\n opacity: 0.5;\\r\\n transition: opacity 0.35s, -webkit-transform 0.35s;\\r\\n transition: opacity 0.35s, transform 0.35s;\\r\\n transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;\\r\\n -webkit-transform: translate3d(-40px, 0, 0);\\r\\n transform: translate3d(-40px, 0, 0);\\r\\n}\\r\\n\\r\\nfigure.effect-feature figcaption {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\nfigure.effect-feature figcaption>div {\\r\\n position: absolute;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n padding: 0 15px;\\r\\n width: 100%;\\r\\n height: 50%;\\r\\n}\\r\\n\\r\\nfigure.effect-feature h2,\\r\\nfigure.effect-feature p {\\r\\n -webkit-transform: translate3d(0, 40px, 0);\\r\\n transform: translate3d(0, 40px, 0);\\r\\n}\\r\\n\\r\\nfigure.effect-feature h2 {\\r\\n transition: -webkit-transform 0.35s;\\r\\n transition: transform 0.35s;\\r\\n transition: transform 0.35s, -webkit-transform 0.35s;\\r\\n}\\r\\n\\r\\nfigure.effect-feature p {\\r\\n color: rgba(255, 255, 255, 0.8);\\r\\n opacity: 0;\\r\\n transition: opacity 0.2s, -webkit-transform 0.35s;\\r\\n transition: opacity 0.2s, transform 0.35s;\\r\\n transition: opacity 0.2s, transform 0.35s, -webkit-transform 0.35s;\\r\\n}\\r\\n\\r\\nfigure.effect-feature:hover img {\\r\\n opacity: .8;\\r\\n}\\r\\n\\r\\nfigure.effect-feature:hover p {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\nfigure.effect-feature:hover img,\\r\\nfigure.effect-feature:hover h2,\\r\\nfigure.effect-feature:hover p {\\r\\n -webkit-transform: translate3d(0, 0, 0);\\r\\n transform: translate3d(0, 0, 0);\\r\\n}\\r\\n\\r\\nfigure.effect-feature:hover h2 {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\nfigure.effect-feature:hover p {\\r\\n transition-delay: 0.05s;\\r\\n transition-duration: 0.35s;\\r\\n}\\r\\n\\r\\n@media (max-width:575px) {\\r\\n .whatwedo-content h2 {\\r\\n font-size: 2rem;\\r\\n }\\r\\n .whatwedo-content {\\r\\n padding: 20px 0;\\r\\n }\\r\\n .wedo-banner {\\r\\n height: 400px;\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n .wedo-box h4,\\r\\n .category-items p {\\r\\n font-size: 1.2rem;\\r\\n line-height: 34px;\\r\\n }\\r\\n section.blue-line h2,\\r\\n section.blue-line a {\\r\\n font-size: 1.3rem;\\r\\n }\\r\\n section.blue-line {\\r\\n padding: 20px 0;\\r\\n }\\r\\n .category-items {\\r\\n -webkit-transform: none;\\r\\n transform: none;\\r\\n }\\r\\n .primary-care {\\r\\n height: 530px;\\r\\n background-size: cover;\\r\\n margin: 30px 0;\\r\\n }\\r\\n section.prime-care-box {\\r\\n margin-bottom: 0px;\\r\\n }\\r\\n .grid {\\r\\n display: block;\\r\\n }\\r\\n .grid figure {\\r\\n min-width: auto;\\r\\n max-width: initial;\\r\\n width: 100%;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Top Rated Secure and Easy Telehealth Solutions

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

Why to use IAMA?

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

Developed using the latest technologies and security compliances CareHub is a SaaS based solution which can be customized to match your offerings. Integrate with third party software, medical devices (IoT) and EHR’s and manage activities\\r\\n and reports, all through the provider dashboard. Create a unified experience through web or mobile based experience for improved outcomes and patient engagement.\\r\\n

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

CareHub has recently partnered with 200+ new doctors. \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"saas\\\"\\r\\n
\\r\\n
\\r\\n

SaaS-based Architecture

\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"search\\\"\\r\\n
\\r\\n
\\r\\n

Advanced Search Features

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"booking\\\"\\r\\n
\\r\\n
\\r\\n

Appointment Booking & Scheduling

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"vedio\\\"\\r\\n
\\r\\n
\\r\\n

Video Consultation

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"soap\\\"\\r\\n
\\r\\n
\\r\\n

Dynamic SOAP Notes

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"healthcare\\\"\\r\\n
\\r\\n
\\r\\n

Healthcare System Integration

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"eprescription\\\"\\r\\n
\\r\\n
\\r\\n

e-prescription

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Symptom\\\"\\r\\n
\\r\\n
\\r\\n

Symptom Checker

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"portal\\\"\\r\\n
\\r\\n
\\r\\n

Advanced Provider Portal

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

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

We provide our patients with a high level of confidentiality. \\r\\n \\r\\n

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

Health Risk Assessment

\\r\\n

Detect care gaps, health risks and health scores for chronic diseases. Intelligently assess risks through AI, chatbots (virtual coaches), cusotm algorithms, symtom checker, dynamic assessment forms, care plan and health records\\r\\n analysis.\\r\\n

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

Remote Monitoring

\\r\\n

The integration of medical devices such as stethoscope, ophthalmoscope, dermatoscope, otoscope, etc. and wearables from Apple, Samsung, Google health provides real-time data and help in health monitoring, disease detection and\\r\\n prevention.\\r\\n

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

Clinical Workflow Management

\\r\\n

Integrate your telehealth platform with EHR/EMR, pharmacies and labs for an effective communication for better patient outcomes. Benefit from interoperability, healthcare analytical engine, waiting room solutions, CDSS, dynamic\\r\\n reporting.\\r\\n

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

Billing and Claim Processing

\\r\\n

HIPAA compliant solutions to help mitigate audit risks and aceelearate cash flow through optimizing claim processing & reimbursements, charge capture, document management, claim scrubbing, denial management, claim adjudication.

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

How It Works for You

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"1\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n

Product Understanding

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

Consultation on the product features, costing and tentative timelines.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"2\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n

Designing & Customization

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

Add-ons and design changes. Use of project management tools, daily progress update, biweekly releases.

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"3\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n

Resource/ Team Alignment

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

Identification of right team with right skillset. Detailed project plan, schedules and timelines.

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"4\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n

Application Testing & Deployment

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

Bugs reporting and fixing, regression testing, application deployment on servers. Post deployment support

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","\r\nimport { AfterViewInit, Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { HomeHeaderComponent } from \"src/app/front/home-header/home-header.component\";\r\n\r\n@Component({\r\n providers: [HomeHeaderComponent],\r\n selector: \"app-what-we-do\",\r\n templateUrl: \"./what-we-do.component.html\",\r\n styleUrls: [\"./what-we-do.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class WhatWeDoComponent implements OnInit{\r\n \r\n ngOnInit() {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { environment } from \"../environments/environment\";\r\nconst signalR = require(\"@aspnet/signalr\");\r\n// import * as signalR from '@aspnet/signalr/dist/browser/signalr.js';\r\n// import signalR from '@aspnet/signalr';\r\n\r\nexport class HubConnection {\r\n hubConnection: any;\r\n constructor() {\r\n //this.hubConnection = new HubConnection();\r\n this.createHubConnection = this.createHubConnection.bind(this);\r\n }\r\n\r\n createHubConnection = (access_token) => {\r\n\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(`${environment.api_url}/chathub`, {\r\n accessTokenFactory: () => access_token,\r\n })\r\n .configureLogging(signalR.LogLevel.Error)\r\n .build();\r\n\r\n this.hubConnection.serverTimeoutInMilliseconds = 600000; // 10 minutes\r\n console.log(\"Hub Connected\");\r\n // return this.hubConnection.start();\r\n return this.hubConnection.start()\r\n .then(() => console.log('SignalR connection established'))\r\n .catch(err => console.error('Error while establishing SignalR connection:', err));\r\n };\r\n\r\n getHubConnection() {\r\n console.log('this.hubConnection - getHubConnection', this.hubConnection);\r\n //console.log(this.hubConnection);\r\n return this.hubConnection;\r\n }\r\n\r\n restartHubConnection() {\r\n console.log('restartHubConnection');\r\n\r\n let self = this;\r\n return new Promise((resolve, reject) => {\r\n console.log('restartHubConnection - Promise');\r\n\r\n if (self.isDisconnected()) {\r\n self.hubConnection\r\n .start()\r\n .then((hubConnection) => {\r\n resolve(hubConnection);\r\n })\r\n .catch((err) => {\r\n //console.log(\"signalr Error\", err);\r\n console.log('restartHubConnection - signalr Error', err);\r\n reject(err);\r\n });\r\n }\r\n });\r\n }\r\n // getHandler() {\r\n // return this.sb;\r\n // }\r\n\r\n isConnected() {\r\n console.log('hubConnection - isConnected');\r\n return (\r\n this.hubConnection && this.hubConnection.connection.connectionState === 1\r\n );\r\n }\r\n\r\n isDisconnected() {\r\n console.log('hubConnection - isDisconnected');\r\n\r\n return (\r\n this.hubConnection && this.hubConnection.connection.connectionState === 2\r\n );\r\n }\r\n\r\n // ConnectToServerWithUserId(userId) {\r\n // return this.hubConnection.invoke('Connect', userId);\r\n // }\r\n ConnectToServerWithUserId(userId: number, roomId: number) {\r\n console.log('hubConnection - ConnectToServerWithUserId', userId, roomId);\r\n\r\n var room = this.hubConnection.invoke(\"Connect\", userId, roomId);\r\n\r\n return room;\r\n }\r\n ConnectWithAccessToken() {\r\n console.log('hubConnection - ConnectWithAccessToken');\r\n\r\n var room = this.hubConnection.invoke(\"ConnectWithAccessToken\");\r\n return room;\r\n }\r\n ConnectWithBussinessToken(userId: number) {\r\n console.log('hubConnection - ConnectWithBussinessToken', userId);\r\n\r\n const room = this.hubConnection.invoke(\"ConnectWithBussinessToken\", userId)\r\n .then(res => {\r\n console.log('hubConnection - ConnectWithBussinessToken - res', res);\r\n return res;\r\n });\r\n\r\n console.log('hubConnection - ConnectWithBussinessToken - room', room);\r\n\r\n return room;\r\n }\r\n}\r\n","import {\r\n PaymentFilterModel,\r\n RefundFilterModel\r\n} from \"./../../core/modals/common-model\";\r\n\r\nimport { Observable } from \"rxjs\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ManageFeesRefundsModel } from \"./payment.models\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class PaymentService {\r\n private getPaymentUrl = \"AppointmentPayment/Payments\";\r\n private getRefundUrl = \"AppointmentPayment/Refunds\";\r\n private getMasterDataURL = 'api/MasterData/MasterDataByName';\r\n private exportPaymentPdfURL = \"AppointmentPayment/GetPaymentPdf\";\r\n private getProvidersUrl = \"Staffs/GetProviders\";\r\n private getProvidersFeesAndRefundsSettingsUrl = 'api/Payment/GetProvidersFeesAndRefundsSettings';\r\n private updateProvidersFeesAndRefundsSettingsUrl = 'api/Payment/UpdateProvidersFeesAndRefundsSettings';\r\n private getLoggedinUserUrl = 'Staffs/GetLoggedinUserDetail';\r\n constructor(private commonService: CommonService) { }\r\n\r\n getAppointmentPayments(postData: PaymentFilterModel): Observable {\r\n return this.commonService.post(this.getPaymentUrl, postData, true);\r\n }\r\n getAppointmentRefunds(postData: RefundFilterModel): Observable {\r\n return this.commonService.post(this.getRefundUrl, postData, true);\r\n }\r\n exportPaymentPdf(dataModel: PaymentFilterModel) {\r\n const queryParams = `?PatientName=${dataModel.PatientName}&AppDate=${dataModel.AppDate}&PayDate=${dataModel.PayDate}&Status=${dataModel.Status}&RangeStartDate=${dataModel.RangeStartDate}&RangeEndDate=${dataModel.RangeEndDate}`;\r\n return this.commonService.download(this.exportPaymentPdfURL + queryParams, {});\r\n }\r\n\r\n downLoadFile(blob: Blob, filetype: string, filename: string) {\r\n var newBlob = new Blob([blob], { type: filetype });\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement('a');\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(function () {\r\n\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n\r\n\r\n getMasterData(value: string = '') {\r\n return this.commonService.post(this.getMasterDataURL, { masterdata: value });\r\n }\r\n\r\n getProviders() {\r\n return this.commonService.get(this.getProvidersUrl, true);\r\n }\r\n\r\n getProvidersFeesAndRefundsSettings(providerIds: number[]) {\r\n return this.commonService.post(this.getProvidersFeesAndRefundsSettingsUrl, providerIds, true);\r\n }\r\n\r\n updateProvidersFeesAndRefundsSettings(model: ManageFeesRefundsModel) {\r\n return this.commonService.post(this.updateProvidersFeesAndRefundsSettingsUrl, model, true);\r\n }\r\n\r\n getUserRole() {\r\n return this.commonService.get(this.getLoggedinUserUrl, true);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { DashboardComponent } from \"./dashboard/dashboard.component\";\r\nimport { AgencyRoutingModule } from \"./agency-routing.module\";\r\nimport { SharedModule } from \"../../../shared/shared.module\";\r\nimport { MatDialogModule, MatMenuModule } from \"@angular/material\";\r\nimport { AuthListComponent } from \"./dashboard/auth-list/auth-list.component\";\r\nimport { AgencyPermissionGuard } from \"./agency_routing_permission.guard\";\r\nimport { ScrollbarModule } from \"ngx-scrollbar\";\r\nimport { RatingModule } from 'ng-starrating';\r\nimport { ReviewsRatingsComponent } from './reviews-ratings/reviews-ratings.component';\r\nimport { ViewRatingsComponent } from './view-ratings/view-ratings.component';\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { FormioModule } from \"angular-formio\";\r\nimport { ChartsModule } from \"ng2-charts\";\r\nimport { NgxMatSelectSearchModule } from \"ngx-mat-select-search\";\r\nimport { PlatformMaterialModule } from \"../../platform.material.module\";\r\nimport { ProvideReviewRatingComponent } from \"./provide-review-rating/provide-review-rating.component\";\r\nimport { UsersModule } from \"./users/users.module\";\r\nimport { PerformanceComponent } from './performance/performance.component';\r\nimport { BarChartComponent } from \"./performance/bar-chart/bar-chart.component\";\r\nimport { ManagePodcastComponent } from './manage-podcast/manage-podcast.component';\r\nimport { ManageCoursesComponent } from './manage-courses/manage-courses.component';\r\nimport { AddCourseComponent } from './manage-courses/add-course/add-course.component';\r\nimport { ManageCompaniesComponent } from './manage-companies/manage-companies.component';\r\nimport { AddCompanyModalComponent } from './manage-companies/add-company-modal/add-company-modal.component';\r\nimport { ManageQuizComponent } from './manage-quiz/manage-quiz.component';\r\nimport { QuizCompaniesComponent } from './manage-quiz/quiz-companies/quiz-companies.component';\r\nimport { MembersParticipatingComponent } from './manage-quiz/members-participating/members-participating.component';\r\nimport { QuizResultComponent } from './manage-quiz/quiz-result/quiz-result.component';\r\nimport { AddNewQuizComponent } from './manage-quiz/add-new-quiz/add-new-quiz.component';\r\nimport { QuestionnaireComponent } from './manage-quiz/questionnaire/questionnaire.component';\r\nimport { ManageVideosModule } from \"./manage-videos/manage-videos.module\";\r\nimport { AdminRewardPointComponent } from \"./manage-company/admin-reward-point/admin-reward-point.component\";\r\nimport { ClientsService } from \"../client-portal/clients.service\";\r\nimport { DownloadCertificateComponent } from \"../client-portal/reward-points/download-certificate/download-certificate.component\";\r\nimport { CorporateUserListComponent } from './manage-company/corporate-user-list/corporate-user-list.component';\r\nimport { PatientvitalComponent } from \"../consultant-portal/patientvital/patientvital.component\";\r\nimport { ReportsModule } from \"./reports/reports.module\";\r\nimport { ManageReportComponent } from \"./reports/manage-report/manage-report.component\";\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n AgencyRoutingModule,\r\n SharedModule,\r\n MatMenuModule,\r\n ScrollbarModule,\r\n RatingModule,\r\n MatDialogModule,\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SharedModule,\r\n MatDialogModule,\r\n PlatformMaterialModule,\r\n ChartsModule,\r\n NgxMatSelectSearchModule,\r\n CommonModule,\r\n //ScrollbarModule,\r\n FormioModule,\r\n UsersModule,\r\n ManageVideosModule,\r\n //ReportsModule\r\n ],\r\n providers: [AgencyPermissionGuard,ClientsService],\r\n entryComponents:[ViewRatingsComponent, AddCourseComponent, AddCompanyModalComponent, ProvideReviewRatingComponent,AdminRewardPointComponent,DownloadCertificateComponent],\r\n declarations: [\r\n DashboardComponent,\r\n AuthListComponent,\r\n ReviewsRatingsComponent,\r\n ViewRatingsComponent,\r\n ProvideReviewRatingComponent,\r\n PerformanceComponent,\r\n BarChartComponent,\r\n ManageCoursesComponent,\r\n AddCourseComponent,\r\n ManageCompaniesComponent,\r\n AddCompanyModalComponent,\r\n ManageQuizComponent,\r\n QuizCompaniesComponent,\r\n MembersParticipatingComponent,\r\n QuizResultComponent,\r\n AddNewQuizComponent,\r\n AdminRewardPointComponent,\r\n PatientvitalComponent,\r\n ManageReportComponent\r\n \r\n // CorporateUserListComponent,\r\n // QuestionnaireComponent,\r\n //DiagnosisModalComponent\r\n ]\r\n //exports: [DiagnosisModalComponent],\r\n //entryComponents: [DiagnosisModalComponent]\r\n})\r\nexport class AgencyPortalModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { DashboardComponent } from \"./dashboard/dashboard.component\";\r\nimport { AgencyPermissionGuard } from \"./agency_routing_permission.guard\";\r\nimport { ReviewsRatingsComponent } from \"./reviews-ratings/reviews-ratings.component\";\r\nimport { ManageCoursesComponent } from \"./manage-courses/manage-courses.component\";\r\nimport { ManageCompaniesComponent } from \"./manage-companies/manage-companies.component\";\r\nimport { ManageQuizComponent } from \"./manage-quiz/manage-quiz.component\";\r\nimport { QuizCompaniesComponent } from \"./manage-quiz/quiz-companies/quiz-companies.component\";\r\nimport { MembersParticipatingComponent } from \"./manage-quiz/members-participating/members-participating.component\";\r\nimport { QuizResultComponent } from \"./manage-quiz/quiz-result/quiz-result.component\";\r\nimport { AddNewQuizComponent } from \"./manage-quiz/add-new-quiz/add-new-quiz.component\";\r\nimport { QuestionnaireComponent } from \"./manage-quiz/questionnaire/questionnaire.component\";\r\nimport { PatientvitalComponent } from \"../consultant-portal/patientvital/patientvital.component\";\r\nimport { ManageReportComponent } from \"./reports/manage-report/manage-report.component\";\r\n\r\nconst routes: Routes = [\r\n // {\r\n // path: \"\",\r\n // redirectTo: \"/web/dashboard\"\r\n // },\r\n {\r\n path: \"dashboard\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: DashboardComponent\r\n },\r\n {\r\n path: \"reviews-ratings\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: ReviewsRatingsComponent\r\n },\r\n {\r\n path: \"manage-courses\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: ManageCoursesComponent\r\n },\r\n {\r\n path: \"manage-companies\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: ManageCompaniesComponent\r\n },\r\n {\r\n path: \"manage-quiz\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: ManageQuizComponent\r\n },\r\n {\r\n path: \"manage-quiz-companies\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: QuizCompaniesComponent\r\n },\r\n {\r\n path: \"members-participating\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: MembersParticipatingComponent\r\n },\r\n {\r\n path: \"quiz-result\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: QuizResultComponent\r\n },\r\n {\r\n path: \"add-new-quiz\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: AddNewQuizComponent\r\n },\r\n \r\n {\r\n path: \"question-quiz\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: QuestionnaireComponent\r\n },\r\n {\r\n path: \"patientvital\",\r\n canActivate: [AgencyPermissionGuard],\r\n component: PatientvitalComponent\r\n },\r\n {\r\n path:\"manage-report\",\r\n component:ManageReportComponent\r\n }\r\n ,\r\n // {\r\n // path: \"performance\",\r\n // canActivate: [AgencyPermissionGuard],\r\n // component: PerformanceComponent\r\n // },\r\n {\r\n path: \"Masters\",\r\n loadChildren: \"./masters/masters.module#MastersModule\"\r\n },\r\n\r\n {\r\n path: \"manage-users\",\r\n loadChildren: \"./users/users.module#UsersModule\"\r\n },\r\n {\r\n path: \"scheduling\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"../scheduling/scheduling.module#SchedulingModule\"\r\n },\r\n {\r\n path: \"encounter\",\r\n // canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"./encounter/encounter.module#EncounterModule\"\r\n },\r\n {\r\n path: \"clearing-house\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"./clearing-house/clearing-house.module#ClearingHouseModule\"\r\n },\r\n {\r\n path: \"client\",\r\n loadChildren: \"./clients/clients.module#ClientsModule\"\r\n },\r\n {\r\n path: \"manage-ngo\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"../agency-portal/manage-ngo/manage-ngo.model#ManageNgoMdel\"\r\n },\r\n {\r\n path: \"manage-company\",\r\n loadChildren: \"../agency-portal/manage-company/manage-company.model#CompanyModel\"\r\n },\r\n {\r\n path: \"manage-videos\",\r\n loadChildren: \"../agency-portal/manage-videos/manage-videos.module#ManageVideosModule\"\r\n },\r\n {\r\n path: \"manage-podcast\",\r\n loadChildren: \"../agency-portal/manage-podcast/manage-podcast.module#ManagePodcastModule\"\r\n },\r\n {\r\n path: \"Logs\",\r\n loadChildren: \"./logs/logs.module#LogsModule\"\r\n },\r\n {\r\n path: \"Billing\",\r\n loadChildren: \"./billing/billing.module#BillingModule\"\r\n },\r\n {\r\n path: \"payers\",\r\n loadChildren: \"./payers/payers.module#PayersModule\"\r\n },\r\n {\r\n path: \"payroll\",\r\n loadChildren: \"./payroll/payroll.module#PayrollModule\"\r\n },\r\n {\r\n path: \"mailbox\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"../mailing/mailing.module#MailingModule\"\r\n },\r\n {\r\n path: \"app-config\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"./app-config/app-config.module#AppConfigModule\"\r\n },\r\n {\r\n // path: \"questionnaire\",\r\n path: \"questionnairess\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"./questionnaire/questionnaire.module#QuestionnaireModule\"\r\n },\r\n {\r\n path: \"assign-questionnaire\",\r\n // canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"./providerquestionnaire/providerquestionnaire.module#ProviderquestionnaireModule\"\r\n },\r\n {\r\n path: \"membership\",\r\n loadChildren: \"./membership-plan/membership-plan.module#MembershipPlanModule\"\r\n },\r\n // {\r\n // path: \"add-keyword\",\r\n // canActivate: [AgencyPermissionGuard],\r\n // loadChildren: \"./keyword/keyword.module#KeywordModule\" \r\n // },\r\n {\r\n path: \"payment\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"./Payments/payment.module#PaymentModule\"\r\n },\r\n // {\r\n // path: \"Report\",\r\n // canActivate: [AgencyPermissionGuard],\r\n // loadChildren: \"./Report/Report.module#ReportModule\"\r\n // },\r\n {\r\n path: \"educational-content\",\r\n canActivate: [AgencyPermissionGuard],\r\n loadChildren: \"./provider-documents/provider-documents.module#ProviderDocumentModule\"\r\n },\r\n {\r\n path: \"waiting-room/:id\",\r\n loadChildren: \"../waiting-room/waiting-room.module#WaitingRoomModule\"\r\n },\r\n {\r\n path: \"waiting-room\",\r\n loadChildren: \"../waiting-room/waiting-room.module#WaitingRoomModule\"\r\n },\r\n \r\n\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AgencyRoutingModule { }\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n Router,\r\n CanActivate,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot\r\n} from \"@angular/router\";\r\nimport { take } from \"rxjs/operators\";\r\nimport { CommonService } from \"../core/services\";\r\n\r\n@Injectable()\r\nexport class AgencyPermissionGuard implements CanActivate {\r\n constructor(private router: Router, private commonService: CommonService) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n if (this.commonService.isRoutePermission(state.url)) {\r\n return true;\r\n } else {\r\n this.router.navigate([\"/web/not-allowed\"]);\r\n return false;\r\n }\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

CHANGE 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 Please enter current password\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter new password\\r\\n \\r\\n \\r\\n Password should have number, special character, lowercase, uppercase letters and minimunm length should be 8. \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please re-enter new password\\r\\n \\r\\n \\r\\n Password doesn't match\\r\\n \\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 { ChangePasswordService } from './change-password.service';\r\nimport { ResponseModel } from '../../../../super-admin-portal/core/modals/common-model';\r\nimport { Subscription } from 'rxjs';\r\nimport { CommonService } from '../../core/services';\r\nimport { LoginUser } from '../../core/modals/loginUser.modal';\r\nimport { MatDialogRef } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { PasswordValidator } from '../../../../shared/password-validator';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.css']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n changePasswordForm: FormGroup;\r\n submitted: boolean = false;\r\n subscription: Subscription;\r\n userId: number;\r\n isShowConfirmPassword = false;\r\n isShowCurrentPassword = false;\r\n isShowNewPassword = false;\r\n constructor(\r\n private notifier: NotifierService,\r\n private dialogModalRef: MatDialogRef,\r\n private commonService: CommonService,\r\n private formBuilder: FormBuilder,\r\n private changePasswordService: ChangePasswordService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.changePasswordForm = this.formBuilder.group({\r\n currentPassword: ['', Validators.required],\r\n newPassword: ['', [PasswordValidator.strong]],\r\n confirmNewPassword: ['', Validators.required]\r\n }, { validator: this.validateForm.bind(this) });\r\n\r\n this.subscription = this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userId = user.data.userID;\r\n }\r\n if(user.data.userRoles.roleName == \"Ngo\")\r\n {\r\n this.userId = user.data.id;\r\n }\r\n });\r\n }\r\n get formControls() {\r\n return this.changePasswordForm.controls;\r\n }\r\n validateForm(formGroup: FormGroup) {\r\n let pass = formGroup.controls.newPassword.value;\r\n let confirmPass = formGroup.controls.confirmNewPassword.value;\r\n\r\n if (confirmPass == undefined || !confirmPass.length)\r\n return null;\r\n\r\n return pass && confirmPass && pass === confirmPass ? null : formGroup.controls.confirmNewPassword.setErrors({ notSame: true })\r\n }\r\n\r\n onSubmit() {\r\n if (!this.changePasswordForm.invalid) {\r\n let data = this.changePasswordForm.value;\r\n data.userID = this.userId;\r\n this.submitted = true;\r\n this.changePasswordService.updateNewPassword(data).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message);\r\n this.closeDialog('save');\r\n }\r\n else\r\n this.notifier.notify('error', response.message);\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../../core/services\";\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ChangePasswordService {\r\n private updateNewPasswordURL = 'user/UpdateUserPassword';\r\n constructor(private commonService: CommonService) {\r\n }\r\n updateNewPassword(data: any) {\r\n return this.commonService.patch(this.updateNewPasswordURL, data);\r\n }\r\n}\r\n\r\n\r\n","export class PatientBasicHeaderInfo {\r\n patientID: number;\r\n name: string='';\r\n dob: string='';\r\n gender: string='';\r\n ssn: string='';\r\n mrn: string='';\r\n status: string;\r\n phone: string='';\r\n email: string='';\r\n address: string='';\r\n photoPath: string;\r\n photoThumbnailPath: string='';\r\n primaryProvider: string='';\r\n userId: number = null;\r\n}\r\n\r\nexport class PatientTagsHeaderInfo {\r\n tag: string='';\r\n colorCode: string;\r\n colorName: string;\r\n fontColorCode: string;\r\n}\r\n\r\nexport class PatientPhoneHeaderInfo {\r\n phoneNumber: string;\r\n phoneNumberType: string;\r\n preference: string;\r\n}\r\n\r\nexport class PatientAllergyHeaderInfo {\r\n allergen: string='';\r\n allergyType: string;\r\n reaction: string;\r\n note: string;\r\n}\r\n\r\nexport class ClientHeaderModel {\r\n patientBasicHeaderInfo=new PatientBasicHeaderInfo();\r\n patientTagsHeaderInfo=new Array();\r\n patientPhoneHeaderInfo=new Array();\r\n patientAllergyHeaderInfo=new Array();\r\n}","module.exports = \"/*Import Button*/\\r\\n.importccd {\\r\\n height: 30px;\\r\\n}\\r\\n.importccd button {\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\"","module.exports = \"
0\\\">\\r\\n
\\r\\n

{{headerText}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n \\r\\n {{tag.tag}}\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
    • \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.phone||''}}
    • \\r\\n
    • \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.email||''}}
    • \\r\\n
    • \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.address||''}}
    • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.primaryProvider||''}}\\r\\n -\\r\\n

    \\r\\n

    {{allergy.allergen||''}}

    \\r\\n

    No allergies found

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"profilePic\\\"\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n

\\r\\n D.O.B :\\r\\n {{clientHeaderModel.patientBasicHeaderInfo.dob||''}}\\r\\n

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

\\r\\n MRN : \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.mrn||''}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, Input, AfterViewInit, AfterViewChecked } from '@angular/core';\r\nimport { ClientsService } from '../clients.service';\r\nimport { ResponseModel } from '../../../core/modals/common-model';\r\nimport { ClientModel } from '../client.model';\r\nimport { ClientHeaderModel } from '../client-header.model';\r\nimport { format } from 'date-fns';\r\nimport { Router } from '@angular/router';\r\nimport { CommonService } from '../../../core/services';\r\n\r\n@Component({\r\n selector: 'app-client-header',\r\n templateUrl: './client-header.component.html',\r\n styleUrls: ['./client-header.component.css']\r\n})\r\nexport class ClientHeaderComponent implements OnInit {\r\n @Input() clientId: number;\r\n @Input() headerText: string = \"Manage Patient\";\r\n clientHeaderModel: ClientHeaderModel;\r\n constructor(\r\n private clientService: ClientsService,\r\n private router: Router,\r\n private commonService: CommonService\r\n ) {\r\n this.clientHeaderModel = new ClientHeaderModel();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n getClientHeaderInfo() {\r\n this.clientService.getClientHeaderInfo(this.clientId).subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.clientHeaderModel = response.data;\r\n this.clientHeaderModel.patientBasicHeaderInfo != null ? this.clientHeaderModel.patientBasicHeaderInfo.dob = format(this.clientHeaderModel.patientBasicHeaderInfo.dob, \"MM/DD/YYYY\") : '';\r\n const userId = this.clientHeaderModel.patientBasicHeaderInfo && this.clientHeaderModel.patientBasicHeaderInfo.userId;\r\n this.clientService.updateClientNavigations(this.clientId, userId);\r\n }\r\n });\r\n }\r\n ngOnChanges(value: any) {\r\n\r\n if (this.clientId != undefined && this.clientId != null)\r\n this.getClientHeaderInfo();\r\n }\r\n\r\n\r\n onNavigate(url: string) {\r\n if(this.clientId)\r\n this.router.navigate([url], { queryParams: { id: this.commonService.encryptValue(this.clientId, true) } });\r\n }\r\n\r\n}\r\n","export class ClientModel {\r\n id: number;\r\n dob: string;\r\n gender: number;\r\n ssn: string;\r\n mrn: string;\r\n email: string;\r\n photoPath: string;\r\n photoThumbnailPath: string;\r\n isPortalActivate: boolean;\r\n isBlock: boolean;\r\n isActive: boolean;\r\n userID: number;\r\n firstName: string;\r\n lastName: string;\r\n middleName: string;\r\n note: string;\r\n locationID: number;\r\n optOut: boolean;\r\n race: number=null;\r\n secondaryRaceID: number=null;\r\n renderingProviderID: number;\r\n userName: string;\r\n icdid: number;\r\n isPortalRequired: boolean=false;\r\n patientDiagnosis: PatientDiagnosis[];\r\n patientTags: PatientTag[];\r\n tag: number[];\r\n ethnicity: number=null;\r\n primaryProvider: string;\r\n emergencyContactRelationship: number;\r\n emergencyContactFirstName: string;\r\n emergencyContactLastName: string;\r\n emergencyContactPhone: string;\r\n PhotoBase64: string;\r\n company_id:number;\r\n mobile_number:number;\r\n}\r\nexport class ClientUserModel {\r\n id: number;\r\n ssn: string;\r\n mrn: string;\r\n dob: string;\r\n gender: number;\r\n email: string;\r\n photoPath: string;\r\n isBlock: boolean;\r\n isActive: boolean;\r\n userID: number;\r\n firstName: string;\r\n lastName: string;\r\n locationID: number;\r\n userName: string;\r\n company_id:number;\r\n mobile_number:number;\r\n packageId:number;\r\n categorytype:string;\r\n}\r\nexport class NewClientUserModel {\r\n id: number;\r\n ssn: string;\r\n mrn: string;\r\n dob: string;\r\n gender: number;\r\n email: string;\r\n photoPath: string;\r\n isBlock: boolean;\r\n isActive: boolean;\r\n userID: number;\r\n firstName: string;\r\n lastName: string;\r\n locationID: number;\r\n userName: string;\r\n company_id:number;\r\n mobile_number:number;\r\n packageId:number;\r\n categorytype:string;\r\n country_Id:any;\r\n stateId:any;\r\n address:string;\r\n niC_number:string;\r\n}\r\nexport class PatientDiagnosis {\r\n id?: number;\r\n patientID?: number;\r\n icdid?: number;\r\n isPrimary?: boolean;\r\n}\r\n\r\nexport class PatientTag {\r\n id?: number;\r\n patientID?: number;\r\n tagID?: number;\r\n isDeleted: boolean;\r\n}\r\n\r\nexport class SocialHistoryModel\r\n{\r\n id:number;\r\n alcohalID:number;\r\n drugID:number;\r\n patientID:number;\r\n occupation:string;\r\n tobaccoID:number;\r\n travelID:number;\r\n}\r\n\r\nexport class AddUserDocumentModel {\r\n base64: any[]\r\n documentTitle: string\r\n documentTypeIdStaff: number\r\n expiration: string\r\n key: string\r\n otherDocumentType: string\r\n userId: number\r\n}\r\n\r\nexport class UserDocumentModel {\r\n id: number;\r\n userId: number;\r\n documentTitle: string;\r\n url: string;\r\n documentTypeIdStaff: number;\r\n documentTypeNameStaff: string;\r\n expiration: Date;\r\n extenstion: string;\r\n otherDocumentType: string;\r\n createdDate: Date;\r\n key: string;\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport {\r\n ClientModel,\r\n AddUserDocumentModel,\r\n SocialHistoryModel,\r\n ClientUserModel\r\n} from \"./client.model\";\r\nimport { GuardianModel } from \"./guardian.model\";\r\nimport { AddressModel } from \"./address.model\";\r\nimport { DiagnosisModel } from \"./diagnosis/diagnosis.model\";\r\nimport { PatientInsuranceModel } from \"./insurance.model\";\r\nimport { ClientCustomLabelModel } from \"./clientCustomLabel.model\";\r\nimport { PatientMedicalFamilyHistoryModel } from \"./family-history/family-history.model\";\r\nimport { ImmunizationModel } from \"./immunization/immunization.model\";\r\nimport { FilterModel, VitalgraphMOdel } from \"../../core/modals/common-model\";\r\nimport { VitalModel } from \"./vitals/vitals.model\";\r\nimport { AllergyModel } from \"./allergies/allergies.model\";\r\nimport { AuthModel } from \"./authorization/authorization.model\";\r\nimport { MedicationModel } from \"./medication/medication.model\";\r\nimport { ClientLedgerPaymentDetailsModel } from \"./client-ledger/client-ledger.model\";\r\nimport { PrescriptionModel, PrescriptionFaxModel, PrescriptionDownloadModel } from \"./prescription/prescription.model\";\r\nimport { Observable } from \"rxjs/internal/Observable\";\r\nimport { StringifyOptions } from \"querystring\";\r\nimport { SurgicalModel } from \"./surgical-history/surgical-model.Model\";\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ClientsService {\r\n reuestarray = [];\r\n private getPatientsDashboardDetailsURL = \"Patients/GetPatientsDashboardDetails\";\r\n private GetPatientsDetailedInfo = \"Patients/GetPatientsDetailedInfo\";\r\n private getMasterDataByNameURL = \"api/MasterData/MasterDataByName\";\r\n private createURL = \"Patients/CreateUpdatePatient\";\r\n private getClientByIdURL = \"Patients/GetPatientById\";\r\n private getClientHeaderInfoURL = \"Patients/GetPatientHeaderInfo\";\r\n private getClientProfileInfoURL = \"Patients/GetPatientsDetails\";\r\nprivate getAllURL = \"Patients/GetPatients\";\r\n private updateClientStatusURL = \"patients/UpdatePatientActiveStatus\";\r\n private updateUserStatusURL = \"user/UpdateUserStatus\";\r\n private getPatientCCDAURL = \"patients/GetPatientCCDA\";\r\n private deletepatientbyid = \"Patients/DeletePatients\";\r\n private updatePatientPortalVisibilityURL = \"patients/UpdatePatientPortalVisibility\";\r\n private getplans = \"Membership/GetPlanType\";\r\n\r\n //Eligibility Enquiry Methods\r\n private getPayerByPatientURL = \"GetPayerByPatient\";\r\n private getEligibilityEnquiryServiceCodesURL = \"EligibilityCheck/GetEligibilityEnquiryServiceCodes\";\r\n private download270URL = \"EligibilityCheck/Download270\";\r\n\r\n //Allergy URL\r\n private createAllergyURL = \"PatientsAllergy/SaveAllergy\";\r\n private getAllergyListURL = \"PatientsAllergy/GetAllergies\";\r\n private getAllergyByIdURL = \"PatientsAllergy/GetAllergyById\";\r\n private deleteAllergyURL = \"PatientsAllergy/DeleteAllergy\";\r\n\r\n //Authorization\r\n private getAllAuthorizationsForPatientURL = \"Authorizations/GetAllAuthorizationsForPatient\";\r\n private getAuthorizationByIdURL = \"Authorizations/GetAuthorizationById\";\r\n private deleteAuthorizationURL = \"Authorizations/DeleteAutorization\";\r\n private getPatientPayerServiceCodesAndModifiersURL = \"patients/GetPatientPayerServiceCodesAndModifiers\";\r\n private createAuthorizationURL = \"Authorizations/SaveAuthorization\";\r\n\r\n //Vitals URL\r\n private createVitalURL = \"PatientsVitals/SaveVital\";\r\n private getVitalListURL = \"PatientsVitals/GetVitals\";\r\n private getVitalByIdURL = \"PatientsVitals/GetVitalById\";\r\n private deleteVitalURL = \"PatientsVitals/DeleteVital\";\r\n private getvitalsforgraph =\"PatientsVitals/GetVitalsDataFromGraph\";\r\n private demoGetvitalsforgraph =\"PatientsVitals/DemoGetVitalsForGraph\";\r\n private getvitalSleepforgraph =\"PatientsVitals/GetSleepDataForGraphWeb\";\r\n\r\n //Immunization URL\r\n private createImmunizationURL = \"PatientsImmunization/SavePatientImmunization\";\r\n private getImmunizationListURL = \"PatientsImmunization/GetImmunization\";\r\n private getImmunizationByIdURL = \"PatientsImmunization/GetImmunizationById\";\r\n private deleteImmunizationURL = \"PatientsImmunization/DeleteImmunization\";\r\n\r\n //Immunization URL\r\n private createMedicationURL = \"PatientsMedication/SaveMedication\";\r\n private getMedicationListURL = \"PatientsMedication/GetMedication\";\r\n private getMedicationByIdURL = \"PatientsMedication/GetMedicationById\";\r\n private deleteMedicationURL = \"PatientsMedication/DeleteMedication\";\r\n\r\n //Guardian URL\r\n private createGuardianURL = \"PatientsGuardian/CreateUpdatePatientGuardian\";\r\n private getGuardianListURL = \"PatientsGuardian/GetPatientGuardian\";\r\n private getGuardianByIdURL = \"PatientsGuardian/GetPatientGuardianById\";\r\n private deleteGuardianURL = \"PatientsGuardian/DeletePatientGuardian\";\r\n\r\n //Address URL\r\n private getAddressAndPhoneNumbersURL = \"PatientsAddress/GetPatientPhoneAddress\";\r\n private saveAddressAndPhoneNumbersURL = \"PatientsAddress/SavePhoneAddress\";\r\n\r\n // social history\r\n private getPatientSocialHistoryURL = \"PatientsSocialHistory/GetPatientSocialHistory\";\r\n private savePatientSocialHistoryURL = \"PatientsSocialHistory/SavePatientSocialHistory\";\r\n\r\n //Diagnosis URL\r\n private getDiagnosisListURL = \"PatientsDiagnosis/GetDiagnosis\";\r\n private getSoapNotePatientDiagnosisListURL = \"patient-encounter/GetPatientDiagnosisDetails/\";\r\n private getDiagnosisByIdURL = \"PatientsDiagnosis/GetDiagnosisById\";\r\n private createDiagnosisURL = \"PatientsDiagnosis/SavePatientDiagnosis\";\r\n private deleteDiagnosisURL = \"PatientsDiagnosis/DeleteDiagnosis\";\r\n //Patient Insurance URL\r\n private getPatientInsurances = \"PatientsInsurance/GetPatientInsurances\";\r\n private savePatientInsurances = \"PatientsInsurance/SavePatientInsurance\";\r\n // Patient Custom Label\r\n private getPatientCustomLabels = \"PatientsCustomLabel/GetPatientCustomLabels\";\r\n private savePatientCustomLabels = \"PatientsCustomLabel/SavePatientCustomLabels\";\r\n\r\n // Patient Family History URL\r\n private getPatientMedicalFamilyHistoryListURL = \"PatientMedicalFamilyHistory/GetPatientMedicalFamilyHistoryById\";\r\n private deletePatientMedicalFamilyHistoryURL = \"PatientMedicalFamilyHistory/DeletePatientMedicalFamilyHistory\";\r\n private savePatientFamilyHistoryDataURL = \"PatientMedicalFamilyHistory/SavePatientMedicalfamilyHistory\";\r\n\r\n //Patient Encounters\r\n private getPatientEncountersListURL = \"patient-encounter/GetPatientEncounter\";\r\n\r\n //Ledger URL\r\n private getClaimsForLedgerURL = \"Claim/GetClaimsForPatientLedger\";\r\n private getClaimServiceLineForPatientLedgerURL = \"Claim/GetClaimServiceLinesForPatientLedger\";\r\n private getPatientGuarantorURL = \"patients/GetPatientGuarantor\";\r\n private getPaymentDetailByIdURL = \"api/Payment/GetPaymentDetailsById\";\r\n private saveServiceLinePaymentURL = \"api/Payment/SaveServiceLinePayment\";\r\n private deleteServiceLinePaymentURL = \"api/Payment/DeleteServiceLinePayment\";\r\n\r\n //dpcuments\r\n private getUserDocumentsURL = \"userDocument/GetUserDocuments\";\r\n private getUserByLocationURL = \"api/PatientAppointments/GetStaffAndPatientByLocation\";\r\n private getUserDocumentURL = \"userDocument/GetUserDocument\";\r\n private deleteUserDocumentURL = \"userDocument/DeleteUserDocument\";\r\n private uploadUserDocumentURL = \"userDocument/UploadUserDocuments\";\r\n private getPateintApptDocumentsURL = \"userDocument/GetPateintAppointmenttDocuments\";\r\n //chat\r\n private getChatHistoryURL = \"Chat/GetChatHistory\";\r\n\r\n private importCCDAURL = \"patients/ImportPatientCCDA\";\r\n\r\n //Prescription\r\n private getPrescriptionlistURL = \"PatientsPrescription/GetprescriptionDrugList\"\r\n private createPrescriptionURL = \"PatientsPrescription/SavePrescription\";\r\n private getPrescriptionListURL = \"PatientsPrescription/GetPrescriptions\";\r\n private getPrescriptionByIdURL = \"PatientsPrescription/GetPrescriptionById\";\r\n private deletePrescriptionURL = \"PatientsPrescription/DeletePrescription\";\r\n private downloadPrescription = \"PatientsPrescription/GetPrescriptionPdf\";\r\n private sendfax = \"PatientsPrescription/SendFax\";\r\n private searchMasterPrescriptionDrugsURL = \"PatientsPrescription/GetMasterprescriptionDrugs\";\r\n private searchMasterPharmacyURL = \"PatientsPrescription/GetMasterPharmacy\";\r\n private getSentPrescriptionListURL = \"PatientsPrescription/GetSentPrescriptions\";\r\n // Misc\r\n private getPatientWithAppointmentIdURL = \"api/PatientAppointments/getPatientWithAppointmentId\";\r\n\r\n //Surgical URL\r\n private createSurgicalHistoryURL = \"PatientSurgicalHistory/SavePatientSurgicalHistory\";\r\n private getSurgicalHistoryByIdURL = \"PatientSurgicalHistory/GetPatientSurgicalHistoryById\";\r\n private getSurgicalHistoryListURL = \"PatientSurgicalHistory/GetPatientSurgicalHistory\";\r\n private deleteSurgicalHistoryURL = \"PatientSurgicalHistory/DeletePatientSurgicalHistory\";\r\n\r\n constructor(private commonService: CommonService) { }\r\n create(data: ClientModel) {\r\n return this.commonService.post(this.createURL, data);\r\n }\r\n addcreate(data: ClientUserModel) {\r\n return this.commonService.post(this.createURL, data);\r\n }\r\n getMasterData(value: string = \"\") {\r\n return this.commonService.post(this.getMasterDataByNameURL, {\r\n masterdata: value\r\n });\r\n }\r\n updateClientNavigations(id: number, userId: number = null) {\r\n this.commonService.updateClientNaviagations(id, userId);\r\n }\r\n getClientById(id: number) {\r\n return this.commonService.getById(\r\n this.getClientByIdURL + \"?patientId=\" + id,\r\n {}\r\n );\r\n }\r\n getClientHeaderInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getClientHeaderInfoURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n getClientProfileInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getClientProfileInfoURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n GetPatientsDetailedInfoo(id: number) {\r\n return this.commonService.getById(\r\n this.GetPatientsDetailedInfo + \"?patientId=\" + id,\r\n {}\r\n );\r\n }\r\n getplan() {\r\n let url = this.getplans;\r\n return this.commonService.getAll(url, {});\r\n }\r\n updateClientStatus(patientId: number, isActive: boolean) {\r\n return this.commonService.patch(\r\n this.updateClientStatusURL +\r\n \"?patientID=\" +\r\n patientId +\r\n \"&isActive=\" +\r\n isActive,\r\n {}\r\n );\r\n }\r\n\r\n updateUserStatus(patientId: number, isActive: boolean) {\r\n return this.commonService.patch(\r\n this.updateUserStatusURL + \"/\" + patientId + \"/\" + isActive,\r\n {}\r\n );\r\n }\r\n getPatientCCDA(patientId: number) {\r\n return this.commonService.download(\r\n this.getPatientCCDAURL + \"?id=\" + patientId,\r\n {}\r\n );\r\n }\r\n updatePatientPortalVisibility(\r\n patientId: number,\r\n userId: number,\r\n value: boolean\r\n ) {\r\n let url =\r\n this.updatePatientPortalVisibilityURL +\r\n \"?patientID=\" +\r\n patientId +\r\n \"&userID=\" +\r\n userId +\r\n \"&isPortalActive=\" +\r\n value;\r\n return this.commonService.patch(url, {});\r\n }\r\n\r\n //Eligibility Enquiry Method\r\n getPayerByPatient(patientID: number, key: string) {\r\n return this.commonService.getAll(\r\n this.getPayerByPatientURL + \"?PatientID=\" + patientID + \"&Key=\" + key,\r\n {}\r\n );\r\n }\r\n\r\n getEligibilityEnquiryServiceCodes() {\r\n return this.commonService.getAll(\r\n this.getEligibilityEnquiryServiceCodesURL,\r\n {}\r\n );\r\n }\r\n download270(\r\n patientId: number,\r\n patientInsuranceId: number,\r\n serviceTypeCodeIds: string,\r\n serviceCodeIds: string\r\n ) {\r\n let url =\r\n this.download270URL +\r\n \"?patientId=\" +\r\n patientId +\r\n \"&patientInsuranceId=\" +\r\n patientInsuranceId +\r\n \"&serviceTypeCodeIds=\" +\r\n serviceTypeCodeIds +\r\n \"&serviceCodeIds=\" +\r\n serviceCodeIds;\r\n return this.commonService.download(url, {});\r\n }\r\n\r\n //Guardian Method -- Remove all if not needed\r\n createGuardian(data: GuardianModel) {\r\n return this.commonService.post(this.createGuardianURL, data);\r\n }\r\n getGuardianList(clientId: number, pageNumber: number, pageSize: number) {\r\n let url =\r\n this.getGuardianListURL +\r\n \"?pageNumber=\" +\r\n pageNumber +\r\n \"&pageSize=\" +\r\n pageSize +\r\n \"&PatientId=\" +\r\n clientId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getGuardianById(id: number) {\r\n return this.commonService.getById(\r\n this.getGuardianByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deleteGuardian(id: number) {\r\n return this.commonService.post(this.deleteGuardianURL + \"?id=\" + id, {});\r\n }\r\n\r\n //Address Method -- Remove all if not needed\r\n getPatientAddressesAndPhoneNumbers(clientId: number) {\r\n return this.commonService.getById(\r\n this.getAddressAndPhoneNumbersURL + \"?patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n //Patient Inurance\r\n getPatientInsurance(clientId: number) {\r\n return this.commonService.getById(\r\n this.getPatientInsurances + \"?patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n\r\n savePatientAddressesAndPhoneNumbers(data: any) {\r\n return this.commonService.post(this.saveAddressAndPhoneNumbersURL, data);\r\n }\r\n\r\n // social history\r\n getPatientSocialHistory(patientId: number) {\r\n return this.commonService.getById(\r\n this.getPatientSocialHistoryURL + \"?patientId=\" + patientId,\r\n {}, true\r\n );\r\n }\r\n createSocialHistory(data: SocialHistoryModel) {\r\n return this.commonService.post(this.savePatientSocialHistoryURL, data);\r\n }\r\n\r\n //Diagnosis\r\n getDiagnosisList(clientId: number) {\r\n // let url=this.getDiagnosisListURL+\"?PatientId=\"+clientId;\r\n return this.commonService.getAll(\r\n this.getDiagnosisListURL + \"?PatientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n getSoapNoteDiagnosisList(clientId: number) {\r\n // let url=this.getDiagnosisListURL+\"?PatientId=\"+clientId;\r\n return this.commonService.getAll(\r\n this.getSoapNotePatientDiagnosisListURL + clientId,\r\n {}\r\n );\r\n }\r\n getDiagnosisById(id: number) {\r\n return this.commonService.getById(\r\n this.getDiagnosisByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n createDiagnosis(data: DiagnosisModel) {\r\n return this.commonService.post(this.createDiagnosisURL, data);\r\n }\r\n deleteDiagnosis(id: number) {\r\n return this.commonService.patch(this.deleteDiagnosisURL + \"?id=\" + id, {});\r\n }\r\n savePatientInsurance(data: Array) {\r\n return this.commonService.post(this.savePatientInsurances, data);\r\n }\r\n //Patient Custom Label\r\n getPatientCustomLabel(clientId: number) {\r\n return this.commonService.getById(\r\n this.getPatientCustomLabels + \"?patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n\r\n savePatientCustomLabel(data: Array) {\r\n return this.commonService.post(this.savePatientCustomLabels, data);\r\n }\r\n\r\n //Patient Medical Family History\r\n getPatientMedicalFamilyHistoryList(clientId: number) {\r\n return this.commonService.getAll(\r\n this.getPatientMedicalFamilyHistoryListURL + \"?patientID=\" + clientId,\r\n {}\r\n );\r\n }\r\n getPatientMedicalFamilyHistoryById(id: number) {\r\n return this.commonService.getById(\r\n this.getPatientMedicalFamilyHistoryListURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deletePatientMedicalFamilyHistory(id: number) {\r\n return this.commonService.patch(\r\n this.deletePatientMedicalFamilyHistoryURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n savePatientFamilyHistoryData(data: PatientMedicalFamilyHistoryModel) {\r\n return this.commonService.post(this.savePatientFamilyHistoryDataURL, data);\r\n }\r\n\r\n downloadFile(blob: Blob, filetype: string, filename: string) {\r\n var newBlob = new Blob([blob], { type: filetype });\r\n // IE doesn't allow using a blob object directly as link href\r\n // instead it is necessary to use msSaveOrOpenBlob\r\n if (window.navigator && (window.navigator as any).msSaveOrOpenBlob) {\r\n (window.navigator as any).msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n // For other browsers:\r\n // Create a link pointing to the ObjectURL containing the blob.\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(function () {\r\n // For Firefox it is necessary to delay revoking the ObjectURL\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n //Immunization Method\r\n createImmunization(data: ImmunizationModel) {\r\n return this.commonService.post(this.createImmunizationURL, data);\r\n }\r\n getImmunizationList(clientId: number) {\r\n let url = this.getImmunizationListURL + \"?patientId=\" + clientId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getImmunizationById(id: number) {\r\n return this.commonService.getById(\r\n this.getImmunizationByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deleteImmunization(id: number) {\r\n return this.commonService.patch(\r\n this.deleteImmunizationURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n //Medication Method\r\n createMedication(data: MedicationModel) {\r\n return this.commonService.post(this.createMedicationURL, data);\r\n }\r\n getMedicationList(data: any) {\r\n let url = this.getMedicationListURL;\r\n return this.commonService.post(url,data);\r\n }\r\n getmedicationById(id: number) {\r\n return this.commonService.getById(\r\n this.getMedicationByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deleteMedication(id: number) {\r\n return this.commonService.patch(this.deleteMedicationURL + \"?id=\" + id, {});\r\n }\r\n\r\n //Vitals Method\r\n createVital(data: VitalModel) {\r\n return this.commonService.post(this.createVitalURL, data);\r\n }\r\n getVitalList(clientId: number, filterModel: FilterModel) {\r\n let url =\r\n this.getVitalListURL +\r\n \"?pageNumber=\" + \r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&PatientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getVitalListWithoutFilter(clientId: number) {\r\n return this.commonService.getAll(this.getVitalListURL+\"?PatientId=\"+clientId,{});\r\n }\r\n\r\n getVitalById(id: number) {\r\n return this.commonService.getById(this.getVitalByIdURL + \"?id=\" + id, {});\r\n \r\n }\r\n deleteVital(id: number) {\r\n return this.commonService.patch(this.deleteVitalURL + \"?id=\" + id, {});\r\n }\r\n\r\n //Allergy Method\r\n createAllergy(data: AllergyModel) {\r\n return this.commonService.post(this.createAllergyURL, data);\r\n }\r\n getAllergyList(clientId: number, filterModel: FilterModel) {\r\n let url =\r\n this.getAllergyListURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&PatientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getAllergyById(id: number) {\r\n return this.commonService.getById(this.getAllergyByIdURL + \"?id=\" + id, {});\r\n }\r\n deleteAllergy(id: number) {\r\n return this.commonService.patch(this.deleteAllergyURL + \"?id=\" + id, {});\r\n }\r\n\r\n //authorization Methods\r\n getAllAuthorization(clientId: number, filterModel: any) {\r\n let url =\r\n this.getAllAuthorizationsForPatientURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&patientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&authType=\" +\r\n filterModel.authType;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getAuthorizationById(authorizationId: number) {\r\n return this.commonService.getById(\r\n this.getAuthorizationByIdURL + \"?authorizationId=\" + authorizationId,\r\n {}\r\n );\r\n }\r\n deleteAuthorization(id: number) {\r\n return this.commonService.patch(\r\n this.deleteAuthorizationURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n getPatientPayerServiceCodesAndModifiers(\r\n clientId: number,\r\n payerId: number,\r\n patientInsuranceId: number\r\n ) {\r\n let url =\r\n this.getPatientPayerServiceCodesAndModifiersURL +\r\n \"?patientId=\" +\r\n clientId +\r\n \"&PayerPreference=\" +\r\n \"Primary\" +\r\n \"&date=\" +\r\n new Date() +\r\n \"&payerId=\" +\r\n payerId +\r\n \"&patientInsuranceId=\" +\r\n patientInsuranceId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n createAuthorization(data: AuthModel) {\r\n return this.commonService.post(this.createAuthorizationURL, data);\r\n }\r\n\r\n //client encounter Methods\r\n getClientEncounters(\r\n filterModel: any,\r\n clientId: number,\r\n appointmentType: string,\r\n staffName: string,\r\n status: string,\r\n fromDate: string,\r\n toDate: string\r\n ) {\r\n let url =\r\n this.getPatientEncountersListURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&patientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder;\r\n if (appointmentType && appointmentType.length > 0)\r\n url = url + \"&appointmentType=\" + appointmentType;\r\n if (staffName && staffName != \"\") url = url + \"&staffName=\" + staffName;\r\n if (status && status != \"\") url = url + \"&status=\" + status;\r\n if (fromDate && fromDate != \"\") url = url + \"&fromDate=\" + fromDate;\r\n if (toDate && toDate != \"\") url = url + \"&toDate=\" + toDate;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getClaimsForClientLegder(clientId: number, filterModel: FilterModel) {\r\n let url =\r\n this.getClaimsForLedgerURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&patientId=\" +\r\n clientId +\r\n \"&sortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&sortOrder=\" +\r\n filterModel.sortOrder;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getClaimServiceLinesForPatient(claimId: number) {\r\n return this.commonService.getById(\r\n this.getClaimServiceLineForPatientLedgerURL + \"?claimId=\" + claimId,\r\n {}\r\n );\r\n }\r\n getPaymentDetailById(paymentDetailId: number) {\r\n return this.commonService.getById(\r\n this.getPaymentDetailByIdURL + \"?paymentDetailId=\" + paymentDetailId,\r\n {}\r\n );\r\n }\r\n getPatientGuarantor(patientId: number) {\r\n return this.commonService.getById(\r\n this.getPatientGuarantorURL + \"?patientId=\" + patientId,\r\n {}\r\n );\r\n }\r\n saveServiceLinePayment(paymentModel: ClientLedgerPaymentDetailsModel) {\r\n return this.commonService.post(\r\n this.saveServiceLinePaymentURL,\r\n paymentModel\r\n );\r\n }\r\n deleteServiceLinePaymentDetail(id: number) {\r\n return this.commonService.patch(\r\n this.deleteServiceLinePaymentURL + \"/\" + id,\r\n {}\r\n );\r\n }\r\n\r\n getUserDocuments(userId: number, from: string, toDate: string) {\r\n return this.commonService.getAll(\r\n this.getUserDocumentsURL +\r\n \"?userId=\" +\r\n userId +\r\n \"&from=\" +\r\n from +\r\n \"&to=\" +\r\n toDate,\r\n {}\r\n );\r\n }\r\n\r\n getPateintApptDocuments(apptId: number) {\r\n return this.commonService.getAll(\r\n this.getPateintApptDocumentsURL +\r\n \"?apptId=\" +\r\n apptId,\r\n {}\r\n );\r\n }\r\n\r\n getUserByLocation(locationId: number) {\r\n let url =\r\n this.getUserByLocationURL +\r\n \"?locationIds=\" +\r\n locationId +\r\n \"&permissionKey=SCHEDULING_LIST_VIEW_OTHERSTAFF_SCHEDULES&isActiveCheckRequired=YES\";\r\n return this.commonService.getAll(url, {});\r\n }\r\n getUserDocument(id: number) {\r\n return this.commonService.download(\r\n this.getUserDocumentURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deleteUserDocument(id: number) {\r\n return this.commonService.patch(\r\n this.deleteUserDocumentURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n uploadUserDocuments(data: AddUserDocumentModel) {\r\n return this.commonService.post(this.uploadUserDocumentURL, data);\r\n }\r\n\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n return this.commonService.getUserScreenActionPermissions(\r\n moduleName,\r\n screenName\r\n );\r\n }\r\n //chat\r\n getChatHistory(fromUserId: number, toUserId: number) {\r\n return this.commonService.getAll(\r\n `${this.getChatHistoryURL}?FromUserId=${fromUserId}&ToUserId=${toUserId}`,\r\n {}\r\n );\r\n }\r\n importCCDA(data: any) {\r\n return this.commonService.post(this.importCCDAURL, { file: data });\r\n }\r\n\r\n //Medication Method\r\n createPrescription(data: PrescriptionModel) {\r\n return this.commonService.post(this.createPrescriptionURL, data);\r\n }\r\n\r\n getPrescriptionDrugList(id: number) {\r\n return this.commonService.getById(this.getPrescriptionlistURL + \"?id=\" + id, {});\r\n }\r\n\r\n getPrescriptionList(clientId: number, filterModel: FilterModel) {\r\n let url = this.getPrescriptionListURL + \"?pageNumber=\" + filterModel.pageNumber + \"&pageSize=\" + filterModel.pageSize + \"&PatientId=\" + clientId + \"&SortColumn=\" + filterModel.sortColumn + \"&SortOrder=\" + filterModel.sortOrder;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getPrescriptionById(id: number) {\r\n return this.commonService.getById(this.getPrescriptionByIdURL + \"?id=\" + id, {});\r\n }\r\n\r\n deletePrescription(id: number) {\r\n return this.commonService.patch(this.deletePrescriptionURL + \"?id=\" + id, {});\r\n }\r\n\r\n DownloadPrescription(dataModel: PrescriptionDownloadModel) {\r\n const queryParams = `?PrescriptionId=${dataModel.PrescriptionId}&patientId=${dataModel.patientId}&Issentprescription=${dataModel.Issentprescription}&IsMedicationDownload=${dataModel.IsMedicationDownload}`;\r\n return this.commonService.download(this.downloadPrescription + queryParams, {});\r\n }\r\n //\r\n downLoadFile(blob: Blob, filetype: string, filename: string) {\r\n var newBlob = new Blob([blob], { type: filetype });\r\n // IE doesn't allow using a blob object directly as link href\r\n // instead it is necessary to use msSaveOrOpenBlob\r\n if (window.navigator && (window.navigator as any).msSaveOrOpenBlob) {\r\n (window.navigator as any).msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n // For other browsers:\r\n // Create a link pointing to the ObjectURL containing the blob.\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement('a');\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(function () {\r\n // For Firefox it is necessary to delay revoking the ObjectURL\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n\r\n sendFax(data: PrescriptionFaxModel) {\r\n return this.commonService.post(this.sendfax, data);\r\n }\r\n\r\n getMasterPrescriptionDrugsByFilter(searchText: string) {\r\n const params = `?searchText=${searchText}&pageNumber=1&pageSize=10`\r\n return this.commonService.getAll(this.searchMasterPrescriptionDrugsURL + params, {}, false);\r\n }\r\n\r\n getMasterPharmacyByFilter(searchText: string) {\r\n const params = `?searchText=${searchText}&pageNumber=1&pageSize=10`\r\n return this.commonService.getAll(this.searchMasterPharmacyURL + params, {}, false);\r\n }\r\n getSentPrescriptionList(clientId: number, filterModel: FilterModel) {\r\n let url = this.getSentPrescriptionListURL + \"?pageNumber=\" + filterModel.pageNumber + \"&pageSize=\" + filterModel.pageSize + \"&PatientId=\" + clientId + \"&SortColumn=\" + filterModel.sortColumn + \"&SortOrder=\" + filterModel.sortOrder;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getPatientWithAppointmentId(appointmentId: number): Observable {\r\n return this.commonService.getById(this.getPatientWithAppointmentIdURL + \"?appointmentId=\" + appointmentId, {});\r\n\r\n }\r\n // Surgical History Methods\r\n getSurgicalById(id: number) {\r\n return this.commonService.getById(`${this.getSurgicalHistoryByIdURL}?id=${id}`, {});\r\n }\r\n getSurgicalList(clientId: number) {\r\n return this.commonService.getAll(`${this.getSurgicalHistoryListURL}?patientId=${clientId}`, {});\r\n }\r\n createSurgical(data: SurgicalModel) {\r\n return this.commonService.post(this.createSurgicalHistoryURL, data);\r\n }\r\n deleteSurgical(id: number) {\r\n return this.commonService.delete(`${this.deleteSurgicalHistoryURL}?id=${id}`);\r\n }\r\n getAll(\r\n filterModel: FilterModel,\r\n tags: any,\r\n roleIds: any,\r\n locationId: number\r\n ) {\r\n let url =\r\n this.getAllURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&sortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&sortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&LocationIDs=\" +\r\n locationId +\r\n \"&searchKey=\" +\r\n (filterModel.searchText || \"\") +\r\n \"&RoleIds=\" +\r\n roleIds +\r\n \"&Tags=\" +\r\n tags;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getpatientAll(\r\n filterModel: FilterModel,\r\n tags: any,\r\n roleIds: any,\r\n locationId: number,\r\n companyId:number\r\n ) {\r\n let url =\r\n this.getAllURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&sortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&sortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&LocationIDs=\" +\r\n locationId +\r\n \"&searchKey=\" +\r\n (filterModel.searchText || \"\") +\r\n \"&RoleIds=\" +\r\n roleIds +\r\n \"&Tags=\" +\r\n tags+\r\n \"&companyId=\"+\r\n companyId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getClientProfileDashboardInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getPatientsDashboardDetailsURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deletePatientbyId(id: number) {\r\n return this.commonService.put(this.deletepatientbyid + \"?patientid=\" + id, {});\r\n }\r\n getvitalsdetails(VitalgraphMOdel: VitalgraphMOdel){\r\n let url =\r\n this.getvitalsforgraph +\r\n \"?FromDate=\" +\r\n VitalgraphMOdel.FromDate +\r\n \"&ToDate=\" +\r\n VitalgraphMOdel.ToDate +\r\n \"&VitalName=\" +\r\n VitalgraphMOdel.VitalName +\r\n \"&Key=\" +\r\n VitalgraphMOdel.Key +\r\n \"&PatientId=\" +\r\n VitalgraphMOdel.PatientId ;\r\n return this.commonService.get(url);\r\n }\r\n\r\n deomoGetvitalsdetails(VitalgraphMOdel: VitalgraphMOdel){\r\n let url =this.demoGetvitalsforgraph+\r\n \"?FromDate=\" +\r\n VitalgraphMOdel.FromDate +\r\n \"&ToDate=\" +\r\n VitalgraphMOdel.ToDate +\r\n \"&VitalName=\" +\r\n VitalgraphMOdel.VitalName +\r\n \"&Key=\" +\r\n VitalgraphMOdel.Key +\r\n \"&PatientId=\" +\r\n VitalgraphMOdel.PatientId ; \r\n return this.commonService.get(url);\r\n }\r\n \r\n getVitalSleepsDetails(VitalgraphMOdel: VitalgraphMOdel){\r\n let url =\r\n this.getvitalSleepforgraph +\r\n \"?FromDate=\" +\r\n VitalgraphMOdel.FromDate +\r\n \"&ToDate=\" +\r\n VitalgraphMOdel.ToDate +\r\n \"&VitalName=\" +\r\n VitalgraphMOdel.VitalName +\r\n \"&Key=\" +\r\n VitalgraphMOdel.Key +\r\n \"&PatientId=\" +\r\n VitalgraphMOdel.PatientId ;\r\n return this.commonService.get(url);\r\n }\r\n}\r\n\r\n","export class DiagnosisModel {\r\n id: number;\r\n icdid: number;\r\n patientID: number;\r\n diagnosisDate: Date;\r\n isActive: boolean = true;\r\n isPrimary: boolean;\r\n resolveDate: string;\r\n isDeleted: boolean;\r\n diagnosis: string;\r\n}\r\n\r\n\r\nexport class PatientEncounterNotesModel {\r\n id: number;\r\n StaffId: number;\r\n patientID: number;\r\n AppointmentID: number;\r\n encounterNotes: string;\r\n}","export class MedicationModel {\r\n id: number;\r\n patientId: number;\r\n medicine: string;\r\n dose: string;\r\n strength: string;\r\n startDate: any;\r\n endDate: any;\r\n frequencyID: number;\r\n \r\n}\r\nexport class FilterModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 5;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n selectedOfficeLocations: Array;\r\n }\r\n\r\n export class ReviewFilterModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 5;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n staffId:any;\r\n searchText: string = \"\";\r\n selectedOfficeLocations: Array;\r\n }\r\n","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Drug Name {{element.drugName}} Strength {{element.strength}} Directions {{element.directions}} Start Date {{element.startDate}} End Date {{element.endDate}} Actions \\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 { ActivatedRoute } from '@angular/router';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { MatDialog, MatTableDataSource } from '@angular/material';\r\nimport { format } from 'date-fns';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { PrescriptionModel, PrescriptionDownloadModel } from '../prescription.model';\r\nimport { FilterModel } from 'src/app/platform/modules/core/modals/common-model';\r\nimport { ClientsService } from '../../clients.service';\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\nimport { DialogService } from 'src/app/shared/layout/dialog/dialog.service';\r\nimport { PrescriptionModalComponent } from '../prescription-modal/prescription-modal.component';\r\nimport { PrescriptionFaxModalComponent } from '../prescription-fax-modal/prescription-fax-modal.component';\r\n\r\n@Component({\r\n selector: 'app-add-prescription',\r\n templateUrl: './prescription-addprescription.component.html',\r\n styleUrls: ['./prescription-addprescription.component.css']\r\n})\r\nexport class AddPrescriptionComponent implements OnInit {\r\n allergyData: PrescriptionModel;\r\n prescriptionListingData: PrescriptionModel[];\r\n prescriptiondownloadmodel = new PrescriptionDownloadModel();\r\n filterModel: FilterModel;\r\n metaData: any;\r\n stringprescriptionIds: string;\r\n actionButtons: Array;\r\n clientId: number;\r\n addPermission: boolean;\r\n header: string = \"Patient Prescription\";\r\n selection = new SelectionModel(true, []);\r\n dataSource = new MatTableDataSource();\r\n public prescriptionIds: string[] = [];\r\n displayedColumns: string[] = ['select', 'drugName', 'strength', 'directions', 'startDate', 'endDate', 'actions'];\r\n @Input(\"showbuttons\") showbuttons = true;\r\n constructor(private activatedRoute: ActivatedRoute, private notifier: NotifierService, private clientsService: ClientsService, public activityModal: MatDialog, private dialogService: DialogService, private commonService: CommonService) {\r\n this.metaData = {};\r\n }\r\n\r\n //on inital load\r\n ngOnInit() {\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.clientId = params.id == undefined ? null : this.commonService.encryptValue(params.id, false); //\r\n });\r\n //initialize filter model\r\n this.filterModel = new FilterModel();\r\n\r\n //call listing method\r\n this.getPrescriptionList(this.filterModel);\r\n this.getUserPermissions();\r\n }\r\n //listing of allergies\r\n getPrescriptionList(filterModel) {\r\n \r\n this.clientsService.getPrescriptionList(this.clientId, this.filterModel)\r\n .subscribe(\r\n (response: any) => {\r\n \r\n if (response.statusCode === 200) {\r\n this.prescriptionListingData = response.data;\r\n this.dataSource.data = this.prescriptionListingData;\r\n this.prescriptionListingData = (response.data || []).map((obj: any) => {\r\n obj.createdDate = format(obj.createdDate, 'MM/DD/YYYY');\r\n obj.startDate = format(obj.startDate, 'MM/DD/YYYY');\r\n obj.endDate = format(obj.endDate, 'MM/DD/YYYY');\r\n obj.status = obj.isActive ? 'ACTIVE' : 'INACTIVE';\r\n return obj;\r\n });\r\n this.metaData = response.meta || {};\r\n } else {\r\n this.prescriptionListingData = [];\r\n this.metaData = {};\r\n }\r\n });\r\n }\r\n\r\n //page load and sorting\r\n onPageOrSortChange(changeState?: any) {\r\n \r\n changeState.pageNumber = changeState.pageIndex + 1;\r\n this.setPaginatorModel(changeState.pageNumber, this.filterModel.pageSize, '', '', this.filterModel.searchText);\r\n this.getPrescriptionList(this.filterModel);\r\n }\r\n\r\n //table action\r\n onTableActionClick(actionObj?: any) {\r\n \r\n const id = actionObj.data && actionObj.data.id;\r\n switch ((actionObj.action || '').toUpperCase()) {\r\n case 'EDIT':\r\n this.openDialog(id);\r\n break;\r\n case 'DELETE':\r\n this.deleteDetails(id);\r\n break;\r\n case 'DOWNLOAD':\r\n this.DownloadPrescription();\r\n break;\r\n case 'FAX':\r\n this.openfaxDialog(id);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n //open popup\r\n openDialog(id: number) {\r\n \r\n if (id != null && id > 0) {\r\n this.clientsService.getPrescriptionById(id).subscribe((response: any) => {\r\n \r\n if (response != null && response.data != null) {\r\n this.allergyData = response.data;\r\n this.createModel(this.allergyData);\r\n }\r\n });\r\n } else {\r\n this.allergyData = new PrescriptionModel();\r\n this.createModel(this.allergyData);\r\n }\r\n }\r\n\r\n //create modal\r\n createModel(allergyData: PrescriptionModel) {\r\n \r\n allergyData.patientId = this.clientId;\r\n const modalPopup = this.activityModal.open(PrescriptionModalComponent, {\r\n hasBackdrop: true,\r\n data: { allergy: allergyData, refreshGrid: this.refreshGrid.bind(this) }\r\n });\r\n \r\n modalPopup.afterClosed().subscribe(result => {\r\n \r\n if (result === 'SAVE') {\r\n this.getPrescriptionList(this.filterModel);\r\n }\r\n });\r\n }\r\n refreshGrid() {\r\n this.getPrescriptionList(this.filterModel);\r\n }\r\n deleteDetails(id: number) {\r\n this.dialogService.confirm('Are you sure you want to delete this prescription?').subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientsService.deletePrescription(id)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify('success', response.message)\r\n this.getPrescriptionList(this.filterModel);\r\n } else if (response.statusCode === 401) {\r\n this.notifier.notify('warning', response.message)\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n })\r\n }\r\n })\r\n }\r\n\r\n setPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string, searchText: string) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions = this.clientsService.getUserScreenActionPermissions('CLIENT', 'CLIENT_ALLERGIES_LIST');\r\n const { CLIENT_ALLERGIES_LIST_ADD, CLIENT_ALLERGIES_LIST_UPDATE, CLIENT_ALLERGIES_LIST_DELETE } = actionPermissions;\r\n if (!CLIENT_ALLERGIES_LIST_UPDATE) {\r\n let spliceIndex = this.actionButtons.findIndex(obj => obj.key == 'edit');\r\n this.actionButtons.splice(spliceIndex, 1)\r\n }\r\n if (!CLIENT_ALLERGIES_LIST_DELETE) {\r\n let spliceIndex = this.actionButtons.findIndex(obj => obj.key == 'delete');\r\n this.actionButtons.splice(spliceIndex, 1)\r\n }\r\n\r\n this.addPermission = CLIENT_ALLERGIES_LIST_ADD || false;\r\n\r\n }\r\n\r\n DownloadPrescription() {\r\n if (this.stringprescriptionIds) {\r\n this.prescriptiondownloadmodel.PrescriptionId = this.stringprescriptionIds;\r\n this.prescriptiondownloadmodel.patientId = this.clientId;\r\n this.prescriptiondownloadmodel.Issentprescription = false;\r\n this.prescriptiondownloadmodel.IsMedicationDownload = false;\r\n this.clientsService.DownloadPrescription(this.prescriptiondownloadmodel)\r\n .subscribe((response: any) => {\r\n \r\n this.clientsService.downLoadFile(response, 'application/pdf', `PrescriptionReport`)\r\n });\r\n }\r\n else {\r\n this.notifier.notify('warning', 'Please select Medication')\r\n }\r\n\r\n }\r\n\r\n //open popup\r\n openfaxDialog(id: number) {\r\n if (this.stringprescriptionIds) {\r\n if (id != null && id > 0) {\r\n this.clientsService.getPrescriptionById(id).subscribe((response: any) => {\r\n \r\n if (response != null && response.data != null) {\r\n this.allergyData = response.data;\r\n this.createFaxModel(this.allergyData);\r\n }\r\n });\r\n } else {\r\n this.allergyData = new PrescriptionModel();\r\n this.createFaxModel(this.allergyData);\r\n }\r\n }\r\n else {\r\n this.notifier.notify('warning', 'Please select Medication')\r\n }\r\n\r\n }\r\n\r\n //create modal\r\n createFaxModel(allergyData: PrescriptionModel) {\r\n allergyData.patientId = this.clientId;\r\n allergyData.PrescriptionId = this.stringprescriptionIds;\r\n allergyData.Issentprescription = false;\r\n const modalPopup = this.activityModal.open(PrescriptionFaxModalComponent, {\r\n hasBackdrop: true,\r\n data: { allergy: allergyData, refreshGrid: this.refreshGrid.bind(this) }\r\n });\r\n modalPopup.afterClosed().subscribe(result => {\r\n \r\n if (result === 'SAVE') {\r\n //this.getPrescriptionList(this.filterModel);\r\n }\r\n });\r\n }\r\n\r\n isAllSelected() {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.dataSource.data.length;\r\n return numSelected === numRows;\r\n }\r\n toggle(event, row) {\r\n let name = row.id;\r\n\r\n if (event.checked) {\r\n if (this.prescriptionIds.indexOf(name) === -1) {\r\n this.prescriptionIds.push(name);\r\n this.selection.select(row);\r\n }\r\n\r\n } else {\r\n const index = this.prescriptionIds.indexOf(name);\r\n if (index > -1) {\r\n this.prescriptionIds.splice(index, 1);\r\n this.selection.deselect(row);\r\n }\r\n }\r\n\r\n //console.log(this.prescriptionIds);\r\n this.stringprescriptionIds = this.prescriptionIds.toString();\r\n //console.log(this.stringprescriptionIds);\r\n }\r\n\r\n /** Selects all rows if they are not all selected; otherwise clear selection. */\r\n masterToggle(ev) {\r\n this.isAllSelected() ?\r\n this.selection.clear() :\r\n this.dataSource.data.forEach(row => {\r\n this.selection.select(row)\r\n });\r\n\r\n this.prescriptionIds = [];\r\n this.dataSource.data.forEach(row => {\r\n if (this.selection.isSelected(row)) {\r\n this.prescriptionIds.push(row.id);\r\n }\r\n });\r\n //console.log(this.prescriptionIds);\r\n this.stringprescriptionIds = this.prescriptionIds.toString();\r\n //console.log(this.stringprescriptionIds);\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n 7072154400\\r\\n 8669996776\\r\\n \\r\\n \\r\\n Please select source Fax Number \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rel.countryName}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select country \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rel.stateName}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select state \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rel.cityName}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select city \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select Pharmacy Name \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\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, Output, EventEmitter, Inject } from '@angular/core';\r\n//import { MedicationModel } from '../medication.model';\r\nimport { FormBuilder, FormGroup, FormControl } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { ClientsService } from '../../clients.service';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { ReplaySubject, Subject, of, Observable } from 'rxjs';\r\nimport { filter, tap, takeUntil, debounceTime, map, finalize, delay, catchError } from 'rxjs/operators';\r\nimport { format } from \"date-fns\";\r\nimport { MedicationModel } from '../../medication/medication.model';\r\nimport { PrescriptionModel, PrescriptionFaxModel } from '../prescription.model';\r\n\r\nclass PharmacyModelData {\r\n \"id\"?: number;\r\n \"pharmacyName\"?: string;\r\n \"value\"?: string;\r\n \"pharmacyAddress\"?: string;\r\n \"pharmacyFaxNumber\"?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-prescriptionfax-modal',\r\n templateUrl: './prescription-fax-modal.component.html',\r\n styleUrls: ['./prescription-fax-modal.component.css']\r\n})\r\nexport class PrescriptionFaxModalComponent implements OnInit {\r\n prescriptionFaxModel: PrescriptionFaxModel;\r\n prescriptionFaxForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = 'Fax Prescription';\r\n masterFrequencyType: any[];\r\n masterPrescriptionType: any[];\r\n patientId: number;\r\n createdBy:number;\r\n createdDate:string;\r\n maxDate = new Date();\r\n masterCountry: any = [];\r\n masterState: any = [];\r\n masterCity: any = [];\r\n masterPharmacy: any = [];\r\n masterPharmacynames: any = [];\r\n\r\n // autocomplete\r\n filterCtrl: FormControl = new FormControl();\r\n public searching: boolean = false;\r\n public filteredServerSideprescription: ReplaySubject = new ReplaySubject(1);\r\n fetchedFilteredServerSideprescription: Array;\r\n selectFilteredServerSideprescription: any = [];\r\n protected _onDestroy = new Subject();\r\n\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n\r\n //construtor\r\n constructor(private formBuilder: FormBuilder, private medicationDialogModalRef: MatDialogRef,\r\n private clientService: ClientsService, @Inject(MAT_DIALOG_DATA) public data: any, private notifier: NotifierService) {\r\n this.prescriptionFaxModel = data.allergy;\r\n this.refreshGrid.subscribe(data.refreshGrid);\r\n this.patientId = this.prescriptionFaxModel.patientId;\r\n\r\n //header text updation\r\n if (this.prescriptionFaxModel.id != null && this.prescriptionFaxModel.id > 0)\r\n this.headerText = 'Fax Prescription';\r\n else\r\n this.headerText = 'Fax Prescription';\r\n this.patientId = this.prescriptionFaxModel.patientId;\r\n }\r\n\r\n // on initial load\r\n ngOnInit() {\r\n this.prescriptionFaxForm = this.formBuilder.group({\r\n id: [this.prescriptionFaxModel.id],\r\n sourceFaxNumber: [this.prescriptionFaxModel.sourceFaxNumber],\r\n countryID: [this.prescriptionFaxModel.countryID],\r\n stateID: [this.prescriptionFaxModel.stateID],\r\n cityID: [this.prescriptionFaxModel.cityID],\r\n pharmacyID: [this.prescriptionFaxModel.pharmacyID],\r\n pharmacyAddress: [this.prescriptionFaxModel.pharmacyAddress],\r\n pharmacyFaxNumber: [this.prescriptionFaxModel.pharmacyFaxNumber]\r\n \r\n });\r\n this.getMasterData();\r\n\r\n this._filter(\"\").subscribe(filteredMembers => {\r\n \r\n this.fetchedFilteredServerSideprescription = filteredMembers; this.filteredServerSideprescription.next(filteredMembers);\r\n },\r\n error => {\r\n // no errors in our simulated example\r\n // this.searching = false;\r\n // handle error...\r\n });\r\n\r\n this.filterCtrl.valueChanges\r\n .pipe(\r\n filter(search => !!search),\r\n tap(() => this.searching = true),\r\n takeUntil(this._onDestroy),\r\n debounceTime(200),\r\n map(search => {\r\n\r\n // simulate server fetching and filtering data\r\n if (search.length > 2) {\r\n return this._filter(search).pipe(\r\n finalize(() => this.searching = false),\r\n )\r\n } else {\r\n // if no value is present, return null\r\n return of([]);\r\n }\r\n }),\r\n delay(500)\r\n )\r\n .subscribe(filteredMembers => {\r\n this.searching = false;\r\n filteredMembers.subscribe(res => { this.fetchedFilteredServerSideprescription = res; this.filteredServerSideprescription.next(res) });\r\n },\r\n error => {\r\n // no errors in our simulated example\r\n this.searching = false;\r\n // handle error...\r\n });\r\n \r\n\r\n }\r\n\r\n _filter(value: string): Observable {\r\n const filterValue = value.toLowerCase();\r\n return this.clientService\r\n .getMasterPharmacyByFilter(filterValue)\r\n .pipe(\r\n map(\r\n (response: any) => {\r\n if (response.statusCode != 200)\r\n return [];\r\n else\r\n return (response.data || []).map((dObj: any) => {\r\n \r\n const Obj: PharmacyModelData = {\r\n id: dObj.id,\r\n value: `${(dObj.pharmacyName || '')}`,\r\n pharmacyAddress: dObj.pharmacyAddress,\r\n pharmacyFaxNumber: dObj.pharmacyFaxNumber,\r\n }\r\n return Obj;\r\n });\r\n }),\r\n catchError(_ => {\r\n return [];\r\n })\r\n );\r\n }\r\n \r\n get getSlectFilteredServerSideMedication() {\r\n return (this.selectFilteredServerSideprescription || []).filter(x => {\r\n if ((this.fetchedFilteredServerSideprescription || []).findIndex(y => y.id == x.id) > -1)\r\n return false;\r\n else\r\n return true;\r\n })\r\n }\r\n\r\n \r\n //call master data for drop down\r\n getMasterData() {\r\n let data = \"masterCountry,masterState,masterCity,masterPharmacy\";\r\n this.clientService.getMasterData(data).subscribe((response: any) => {\r\n \r\n if (response != null) {\r\n \r\n this.masterCountry = response.masterCountry != null ? response.masterCountry : [];\r\n this.masterState = response.masterState != null ? response.masterState : [];\r\n this.masterCity=response.masterCity!= null? response.masterCity:[];\r\n this.masterPharmacy=response.masterPharmacy!= null? response.masterPharmacy:[];\r\n }\r\n });\r\n }\r\n\r\n // get all the controls\r\n get formControls() { return this.prescriptionFaxForm.controls; }\r\n\r\n// //submit the form\r\n onSubmit(event: any) {\r\n \r\n if (!this.prescriptionFaxForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.prescriptionFaxModel = this.prescriptionFaxForm.value;\r\n this.prescriptionFaxModel.patientId = this.patientId;\r\n this.prescriptionFaxModel.createdBy = this.createdBy;\r\n this.clientService.sendFax(this.prescriptionFaxModel).subscribe((response: any) => {\r\n \r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message)\r\n if (clickType == \"Send Fax\")\r\n this.closeDialog('SAVE');\r\n // else if (clickType == \"SaveAddMore\") {\r\n // this.refreshGrid.next();\r\n // this.prescriptionFaxForm.reset();\r\n // //this.medicationDialogModalRef.close('SAVE');\r\n // }\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n });\r\n }\r\n }\r\n\r\n //to close popup\r\n closeDialog(action: string): void {\r\n this.medicationDialogModalRef.close(action);\r\n }\r\n\r\nonprharmacySelect(id) {\r\n \r\n let diagnosisArray = this.fetchedFilteredServerSideprescription || [];\r\n diagnosisArray = [...this.selectFilteredServerSideprescription, ...diagnosisArray];\r\n diagnosisArray = Array.from(new Set(diagnosisArray.map(s => s)));\r\n this.selectFilteredServerSideprescription = diagnosisArray.filter(x => x.id == id);\r\n\r\n this.prescriptionFaxForm.patchValue({\r\n pharmacyAddress: this.selectFilteredServerSideprescription[0].pharmacyAddress,\r\n pharmacyFaxNumber: this.selectFilteredServerSideprescription[0].pharmacyFaxNumber,\r\n });\r\n}\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select prescription drugs \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter dose\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{rel.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select frequency\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter strength\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter start date\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter end 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\"","import { Component, OnInit, Output, EventEmitter, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormControl } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { ClientsService } from '../../clients.service';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { ReplaySubject, Subject, of, Observable } from 'rxjs';\r\nimport { filter, tap, takeUntil, debounceTime, map, finalize, delay, catchError } from 'rxjs/operators';\r\nimport { format } from \"date-fns\";\r\nimport { MedicationModel } from '../../medication/medication.model';\r\nimport { PrescriptionModel } from '../prescription.model';\r\n\r\nclass DrugModelData {\r\n \"id\"?: number;\r\n \"drugName\"?: string;\r\n \"value\"?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-prescription-modal',\r\n templateUrl: './prescription-modal.component.html',\r\n styleUrls: ['./prescription-modal.component.css']\r\n})\r\nexport class PrescriptionModalComponent implements OnInit {\r\n prescriptionModel: PrescriptionModel;\r\n prescriptionForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = 'Add Medication';\r\n masterFrequencyType: any[];\r\n masterPrescriptionType: any[];\r\n patientId: number;\r\n createdBy:number;\r\n createdDate:string;\r\n maxDate = new Date();\r\n\r\n // autocomplete\r\n filterCtrl: FormControl = new FormControl();\r\n public searching: boolean = false;\r\n public filteredServerSideprescription: ReplaySubject = new ReplaySubject(1);\r\n fetchedFilteredServerSideprescription: Array;\r\n selectFilteredServerSideprescription: Array;\r\n selectstrengthdoseServerSideprescription: Array;\r\n protected _onDestroy = new Subject();\r\n\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n\r\n //construtor\r\n constructor(private formBuilder: FormBuilder, private medicationDialogModalRef: MatDialogRef,\r\n private clientService: ClientsService, @Inject(MAT_DIALOG_DATA) public data: any, private notifier: NotifierService) {\r\n this.prescriptionModel = data.allergy;\r\n this.refreshGrid.subscribe(data.refreshGrid);\r\n this.patientId = this.prescriptionModel.patientId;\r\n\r\n //header text updation\r\n if (this.prescriptionModel.id != null && this.prescriptionModel.id > 0)\r\n this.headerText = 'Edit Medication';\r\n else\r\n this.headerText = 'Add Medication';\r\n this.patientId = this.prescriptionModel.patientId;\r\n this.createdBy=this.prescriptionModel.createdBy;\r\n this.createdDate=this.prescriptionModel.createdDate;\r\n //this.selectFilteredServerSideprescription = this.prescriptionModel.id ? [{ id: this.prescriptionModel.masterMedicationId, value: this.prescriptionModel.medicine }] : [];\r\n this.selectFilteredServerSideprescription = this.prescriptionModel.id ? [{ id: this.prescriptionModel.id, value: this.prescriptionModel.id }] : [];\r\n }\r\n\r\n\r\n // on initial load\r\n ngOnInit() {\r\n this.prescriptionForm = this.formBuilder.group({\r\n id: [this.prescriptionModel.id],\r\n dose: [this.prescriptionModel.dose],\r\n endDate: [this.prescriptionModel.endDate],\r\n frequencyID: [this.prescriptionModel.frequencyID],\r\n medicine: [this.prescriptionModel.medicine],\r\n startDate: [this.prescriptionModel.startDate],\r\n strength: [this.prescriptionModel.strength],\r\n masterMedicationId: [this.prescriptionModel.masterMedicationId],\r\n duration: [this.prescriptionModel.duration],\r\n notes: [this.prescriptionModel.notes],\r\n drugID: [this.prescriptionModel.drugID],\r\n directions:[this.prescriptionModel.directions]\r\n });\r\n this.getMasterData();\r\n\r\n this._filter(\"\").subscribe(filteredMembers => {\r\n this.fetchedFilteredServerSideprescription = filteredMembers; this.filteredServerSideprescription.next(filteredMembers);\r\n },\r\n error => {\r\n // no errors in our simulated example\r\n // this.searching = false;\r\n // handle error...\r\n });\r\n\r\n this.filterCtrl.valueChanges\r\n .pipe(\r\n // filter(search => !!search),\r\n tap(() => this.searching = true),\r\n takeUntil(this._onDestroy),\r\n debounceTime(200),\r\n map(search => {\r\n \r\n // simulate server fetching and filtering data\r\n if (search.length > 2 || search.length == 0) {\r\n return this._filter(search).pipe(\r\n finalize(() => this.searching = false),\r\n )\r\n } \r\n else {\r\n // if no value is present, return null\r\n return of([]);\r\n }\r\n }),\r\n delay(500)\r\n )\r\n .subscribe(filteredMembers => {\r\n this.searching = false;\r\n filteredMembers.subscribe(res => { this.fetchedFilteredServerSideprescription = res; this.filteredServerSideprescription.next(res) });\r\n },\r\n error => {\r\n // no errors in our simulated example\r\n this.searching = false;\r\n // handle error...\r\n });\r\n \r\n }\r\n\r\n _filter(value: string): Observable {\r\n const filterValue = value.toLowerCase();\r\n return this.clientService\r\n .getMasterPrescriptionDrugsByFilter(filterValue)\r\n .pipe(\r\n map(\r\n (response: any) => {\r\n if (response.statusCode != 200)\r\n return [];\r\n else\r\n return (response.data || []).map((dObj: any) => {\r\n \r\n const Obj: DrugModelData = {\r\n id: dObj.id,\r\n value: `${(dObj.drugName || '')}`\r\n }\r\n return Obj;\r\n });\r\n }),\r\n catchError(_ => {\r\n return [];\r\n })\r\n );\r\n }\r\n \r\n get getSlectFilteredServerSideMedication() {\r\n return (this.selectFilteredServerSideprescription || []).filter(x => {\r\n if ((this.fetchedFilteredServerSideprescription || []).findIndex(y => y.id == x.id) > -1)\r\n return false;\r\n else\r\n return true;\r\n })\r\n }\r\n \r\n //call master data for drop down\r\n getMasterData() {\r\n let data = \"FREQUENCYTYPE,PRESCRIPTIONTYPE\";\r\n this.clientService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n \r\n this.masterFrequencyType = response.masterFrequencyType != null ? response.masterFrequencyType : [];\r\n this.masterPrescriptionType=response.masterPrescriptionDrugs != null ? response.masterPrescriptionDrugs : [];\r\n }\r\n });\r\n }\r\n\r\n // get all the controls\r\n get formControls() { return this.prescriptionForm.controls; }\r\n\r\n //submit the form\r\n onSubmit(event: any) { \r\n if (!this.prescriptionForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.prescriptionModel = this.prescriptionForm.value;\r\n this.prescriptionModel.patientId = this.patientId;\r\n this.prescriptionModel.createdBy = this.createdBy;\r\n this.prescriptionModel.createdDate=this.createdDate;\r\n this.prescriptionModel.startDate = format(this.prescriptionModel.startDate, 'YYYY-MM-DD'),\r\n this.prescriptionModel.endDate = format(this.prescriptionModel.endDate, 'YYYY-MM-DD'),\r\n this.clientService.createPrescription(this.prescriptionModel).subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message)\r\n if (clickType == \"Save\")\r\n this.closeDialog('SAVE');\r\n else if (clickType == \"SaveAddMore\") {\r\n \r\n this.refreshGrid.next();\r\n this.prescriptionForm.reset();\r\n }\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n });\r\n }\r\n }\r\n\r\n //to close popup\r\n closeDialog(action: string): void {\r\n this.medicationDialogModalRef.close(action);\r\n }\r\n\r\ngetPrescriptionDrugList(){\r\n this.clientService.getPrescriptionDrugList(1)\r\n .subscribe((response: any) => {\r\n if (response.statusCode !== 200) {\r\n this.selectFilteredServerSideprescription = [];\r\n } else {\r\n this.selectFilteredServerSideprescription = response.data;\r\n }\r\n })\r\n}\r\n \r\n\r\nonPrescriptionSelect(id) {\r\n // let diagnosisArray = this.masterPrescriptionType || [];\r\n // diagnosisArray = Array.from(new Set(diagnosisArray.map(s => s)));\r\n // this.selectFilteredServerSideprescription= diagnosisArray.filter(x => x.id == id);\r\n // this.prescriptionForm.patchValue({\r\n // strength: this.selectFilteredServerSideprescription[0].strength,\r\n // dose: this.selectFilteredServerSideprescription[0].dose,\r\n // });\r\n\r\n }\r\n\r\n onprescriptSelect(id) {\r\n \r\n // let diagnosisArray = this.fetchedFilteredServerSideprescription || [];\r\n // diagnosisArray = [...this.selectFilteredServerSideprescription, ...diagnosisArray];\r\n // diagnosisArray = Array.from(new Set(diagnosisArray.map(s => s)));\r\n // this.selectFilteredServerSideprescription = diagnosisArray.filter(x => x.id == id);\r\n\r\n // let strengthdoseArray = this.masterPrescriptionType || [];\r\n // this.selectstrengthdoseServerSideprescription= strengthdoseArray.filter(x => x.id == id);\r\n // this.prescriptionForm.patchValue({\r\n // strength: this.selectstrengthdoseServerSideprescription[0].strength,\r\n // dose: this.selectstrengthdoseServerSideprescription[0].dose,\r\n // });\r\n\r\n }\r\n\r\n}\r\n","export class PrescriptionModel {\r\n id: number;\r\n patientId: number;\r\n medicine: string;\r\n dose: string;\r\n strength: string;\r\n startDate: string;\r\n endDate: string;\r\n frequencyID: number;\r\n masterMedicationId: number;\r\n duration: string;\r\n notes: string;\r\n drugID: number;\r\n createdBy: number;\r\n createdDate: string;\r\n directions: string;\r\n PrescriptionId: string;\r\n Issentprescription: boolean;\r\n}\r\n\r\n\r\nexport class PrescriptionFaxModel {\r\n id: number;\r\n patientId: number;\r\n sourceFaxNumber: number;\r\n countryID: number;\r\n stateID: number;\r\n cityID: number;\r\n pharmacyID: number;\r\n pharmacyAddress: string;\r\n pharmacyFaxNumber: number;\r\n createdBy: number;\r\n PrescriptionId: string;\r\n Issentprescription: boolean;\r\n}\r\n\r\nexport class PrescriptionDownloadModel {\r\n patientId: number;\r\n PrescriptionId: string;\r\n Issentprescription: boolean;\r\n IsMedicationDownload:any;\r\n}\r\n","export class VitalModel {\r\n id?: number;\r\n patientID: number;\r\n bpDiastolic: number;\r\n bpSystolic: number;\r\n heightIn: number;\r\n weightLbs: number;\r\n heartRate: number;\r\n pulse: number;\r\n respiration: number;\r\n bmi: number;\r\n temperature: number;\r\n vitalDate: Date;\r\n createdDate: Date;\r\n totalRecords: number;\r\n steps: number;\r\n calories: number;\r\n sleepPattern: number;\r\n //Custom display keys\r\n displayheight: string;\r\n displayBP: string;\r\n appointmentId: number;\r\n stress: number;\r\n spo2: number;\r\n ecg: number;\r\n bloodGlucose: number;\r\n achievedSteps: number;\r\n targetSteps: number;\r\n totalCalories:number;\r\n}","module.exports = \".remain-unit-circle {\\r\\n color: #fff;\\r\\n border: 1px solid transparent;\\r\\n width: 80px;\\r\\n text-align: center;\\r\\n display: block;\\r\\n border-radius: 30px;\\r\\n font-size: 13px;\\r\\n }\\r\\n \"","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n CLIENT NAME\\r\\n \\r\\n REMAINED UNIT(S)\\r\\n \\r\\n EXPIRY DATE\\r\\n \\r\\n ACTIONS\\r\\n
\\r\\n {{auth.clientName}}\\r\\n \\r\\n {{auth.remainedUnits + ' Unit(s)'}}\\r\\n \\r\\n {{auth.endDate | date:'MM/dd/yyyy'}}\\r\\n \\r\\n \\r\\n
\\r\\n \"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatPaginator, MatSort } from '@angular/material';\r\nimport { DashboardService } from '../dashboard.service';\r\nimport { Metadata, FilterModel, ResponseModel } from '../../../../../super-admin-portal/core/modals/common-model';\r\nimport { AuthorizationModel } from '../dashboard.model';\r\nimport { merge } from 'rxjs';\r\nimport { CommonService } from '../../../core/services';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-auth-list',\r\n templateUrl: './auth-list.component.html',\r\n styleUrls: ['./auth-list.component.css']\r\n})\r\nexport class AuthListComponent implements OnInit {\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n authMeta: Metadata;\r\n authList: Array = [];\r\n authFilterModel: FilterModel;\r\n constructor(\r\n private dashboardService:DashboardService,\r\n private commonService: CommonService,\r\n private route: Router\r\n ) {\r\n this.authMeta = new Metadata();\r\n this.authFilterModel=new FilterModel()\r\n }\r\n ngOnInit() {\r\n this.getAuthListForDashboard();\r\n this.onSortOrPageChanges();\r\n }\r\n getAuthListForDashboard() {\r\n this.dashboardService.getAuthListForDashboard(this.authFilterModel).subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.authList = response.data != null && response.data.length > 0 ? response.data : [];\r\n this.authMeta = response.meta;\r\n }\r\n });\r\n }\r\n\r\n onSortOrPageChanges() {\r\n this.sort.sortChange.subscribe(() => this.paginator.pageIndex = 0);\r\n merge(this.paginator.page)\r\n .subscribe(() => {\r\n const changeState = {\r\n sort: this.sort.active || '',\r\n order: this.sort.direction || '',\r\n pageNumber: (this.paginator.pageIndex + 1)\r\n }\r\n this.setAuthPaginatorModel(changeState.pageNumber, this.authFilterModel.pageSize, changeState.sort, changeState.order);\r\n this.getAuthListForDashboard();\r\n })\r\n }\r\n onAuthTableActionClick(clientId: number) {\r\n this.route.navigate([\"web/client/authorization\"], { queryParams: { id: this.commonService.encryptValue(clientId, true) } });\r\n }\r\n setAuthPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string) {\r\n this.authFilterModel.pageNumber = pageNumber;\r\n this.authFilterModel.pageSize = pageSize;\r\n this.authFilterModel.sortOrder = sortOrder;\r\n this.authFilterModel.sortColumn = sortColumn;\r\n }\r\n}\r\n","module.exports = \".provider-container {\\r\\n width: 100%;\\r\\n font-family: 'Poppins', sans-serif !important;\\r\\n background-color: #fff;\\r\\n padding: 20px 30px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.provider-container p {\\r\\n margin-bottom: 7px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.border-none {\\r\\n border: none !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.padding-none {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box {\\r\\n background: #003359 0% 0% no-repeat padding-box;\\r\\n border-radius: 15px;\\r\\n padding: 20px;\\r\\n margin-bottom: 25px;\\r\\n min-height: 236px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.cstm-mat-grid .dash-table table thead,\\r\\n.group-table.table thead {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.white-box {\\r\\n background: #FFFFFF;\\r\\n border-radius: 15px;\\r\\n opacity: 1;\\r\\n /*min-height:360px;*/\\r\\n padding: 20px;\\r\\n margin-bottom: 20px;\\r\\n position: relative;\\r\\n border: 1px solid rgba(134,164,126,0.5);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.white-box h3 {\\r\\n text-align: left;\\r\\n font-weight: 700;\\r\\n font-size: 16px;\\r\\n color: #000000;\\r\\n margin-bottom: 30px;\\r\\n border-bottom: 1px solid rgba(0, 48, 91, 0.1);\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.white-box .consultantheader {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n line-height: 27px;\\r\\n letter-spacing: 0em;\\r\\n text-align: left;\\r\\n color: #3F3F3F;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.consultantsubheader {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n line-height: 21px;\\r\\n letter-spacing: 0em;\\r\\n text-align: left;\\r\\n color: #3F3F3F;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.consultantnumheader {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-size: 18px;\\r\\n font-weight: 400;\\r\\n line-height: 27px;\\r\\n letter-spacing: 0em;\\r\\n text-align: left;\\r\\n color: #86A47E;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.consulatntnameheader {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-size: 24px;\\r\\n font-weight: 400;\\r\\n line-height: 36px;\\r\\n letter-spacing: 0em;\\r\\n color: #3F3F3F;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.consulatntspecheader {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-size: 16px;\\r\\n font-weight: 400;\\r\\n line-height: 24px;\\r\\n letter-spacing: 0em;\\r\\n color: #86A47E;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.border-btm-none {\\r\\n border-bottom: none !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\nh3.border-btm-none {\\r\\n margin-bottom: 18px !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.box-sizing {\\r\\n /* min-width: 247px; */\\r\\n width: calc(25% - 28px);\\r\\n height: 157px;\\r\\n border-radius: 5px;\\r\\n margin: 0 0 15px 0;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.small-box {\\r\\n text-align: center;\\r\\n border-radius: 5px;\\r\\n border: 1px solid rgba(0, 48, 91, 0.1);\\r\\n width: 100%;\\r\\n height: 157px;\\r\\n padding-top: 20px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.small-box .lght-txt {\\r\\n font-family: 'Poppins', sans-serif !important;\\r\\n font-size: 16px;\\r\\n font-style: normal;\\r\\n font-weight: 500;\\r\\n font-size: 16px;\\r\\n line-height: 24px;\\r\\n color: #fff;\\r\\n padding-top: 8px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.small-box .white-txt {\\r\\n font-family: 'Poppins', sans-serif !important;\\r\\n font-style: normal;\\r\\n font-weight: 600;\\r\\n font-size: 24px;\\r\\n line-height: 36px;\\r\\n color: #fff;\\r\\n padding-top: 10px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.green_box {\\r\\n background: #EDFFEA;\\r\\n border: 1px solid #D0EBCC;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue_box {\\r\\n background: #F5F8FF;\\r\\n border: 1px solid #E1E7F4;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.orange_box {\\r\\n background: #FFF7F7;\\r\\n border: 1px solid #F5D5D5;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.purple_box {\\r\\n background: #F4F2FF;\\r\\n border: 1px solid #DAD5F7\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.grey-box {\\r\\n opacity: 1;\\r\\n padding: 20px;\\r\\n margin-bottom: 20px;\\r\\n position: relative;\\r\\n background: rgba(0, 51, 89, 0.03);\\r\\n border: 1px solid rgba(0, 51, 89, 0.06);\\r\\n border-radius: 15px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.grey-box h3 {\\r\\n text-align: left;\\r\\n font-weight: 700;\\r\\n font-size: 16px;\\r\\n color: #00305B;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.svg-color {\\r\\n -webkit-filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);\\r\\n filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);\\r\\n height: 44px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.care-btn {\\r\\n position: absolute;\\r\\n top: 10px;\\r\\n right: 10px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.care-btn button {\\r\\n font-size: 14px !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box-inner {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box-detail .col-md-6 {\\r\\n display: block;\\r\\n transition: ease-in .2s;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box-detail .col-md-6:hover {\\r\\n -webkit-transform: scale(1.10);\\r\\n transform: scale(1.10);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box h3 {\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n color: #fff;\\r\\n margin-bottom: 30px\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box-detail {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box-detail .lght-txt {\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n color: #FFFFFF;\\r\\n opacity: 0.6;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box-detail .white-txt {\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n color: #fff;\\r\\n transition: ease-in .2s;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card {\\r\\n border: 1.5px solid #86A47E;\\r\\n border-radius: 135px;\\r\\n height: 35px;\\r\\n margin-bottom: 15px;\\r\\n\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card:nth-last-child(1) {\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .btn-header-link {\\r\\n display: block;\\r\\n text-align: left;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n color: #00305B;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .btn-header-link img {\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .btn-header-link i {\\r\\n font-size: 16px;\\r\\n padding-right: 5px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .btn-header-link:focus {\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .btn-header-link:after {\\r\\n content: \\\"\\\\f077\\\";\\r\\n font-family: 'FontAwesome';\\r\\n font-weight: 500;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .btn-header-link.collapsed:after {\\r\\n content: \\\"\\\\f078\\\";\\r\\n font-family: 'FontAwesome';\\r\\n -webkit-transform: rotate(-90deg);\\r\\n transform: rotate(-90deg);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .btn-header-link {\\r\\n color: #86A47E;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 12px;\\r\\n line-height: 18px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .collapsing {\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .collapse {\\r\\n border: 0;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .card-body {\\r\\n padding: 10px 0;\\r\\n\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .card-body .mat-raised-button {\\r\\n background-color: #00305B !important;\\r\\n border-radius: 5px !important;\\r\\n font-size: 13px !important;\\r\\n padding: 0 10px !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.service-blk ul {\\r\\n padding-left: 0;\\r\\n\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.service-blk ul li {\\r\\n list-style: none;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.service-blk ul li {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 14px;\\r\\n line-height: 21px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.service-blk ul li img {\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n padding: 6px;\\r\\n margin-right: 1rem;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.angle-right-green {\\r\\n color: #86A47E !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.service-blk ul li i {\\r\\n color: #00305B;\\r\\n font-size: 20px;\\r\\n position: absolute;\\r\\n right: 1rem;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.service-blk ul li:nth-last-child(1) {\\r\\n border-bottom: none;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.m-b-0 {\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.group-table thead tr th,\\r\\ntr.mat-header-row {\\r\\n height: 48px;\\r\\n /* background-color: #7E9693 !important; */\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.col-md-6 {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/* .iconbox-single {\\r\\n background: #fff;\\r\\n padding: 11px 18px;\\r\\n margin-bottom: 30px;\\r\\n border-radius: 10px;\\r\\n -webkit-border-radius: 10px;\\r\\n -ms-flex-pack: justify;\\r\\n justify-content: space-between;\\r\\n flex-wrap: wrap;\\r\\n position: relative;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n.iconbox-single .box-title,\\r\\n.iconbox-single .circle-icon {\\r\\n position: relative;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n.iconbox-single .circle-icon {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n margin-right: 15px;\\r\\n border-radius: 50%;\\r\\n -webkit-border-radius: 50%;\\r\\n}\\r\\n.iconbox-single .circle-icon .material-icons,\\r\\n.iconbox-single .circle-icon svg,\\r\\n.iconbox-single .circle-icon img {\\r\\n color: #2f2660;\\r\\n font-size: 36px;\\r\\n width: 55px;\\r\\n height: 55px;\\r\\n}\\r\\n.iconbox-single .circle-icon.white-icon .material-icons,\\r\\n.iconbox-single .circle-icon.white-icon svg,\\r\\n.iconbox-single .circle-icon.white-icon img {\\r\\n color: #fff;\\r\\n\\r\\n}\\r\\n.iconbox-single p {\\r\\n margin: 0;\\r\\n font-weight: 600;\\r\\n font-size: 22px;\\r\\n color: #2f2660;\\r\\n}\\r\\n.iconbox-single p.white-txt{ color:#ffffff;}\\r\\n.iconbox-single h5 {\\r\\n margin: 0;\\r\\n font-size: 35px;\\r\\n font-weight: 500;\\r\\n color:#2f2660;\\r\\n width: 100%;\\r\\n text-align: center;\\r\\n padding:15px 15px 5px 15px;\\r\\n}\\r\\n.iconbox-single.white-txt h5 {\\r\\n color:#ffffff;\\r\\n}\\r\\n.dashboard-panel > div {\\r\\n height: 30px;\\r\\n}\\r\\n.dashboard-panel button {\\r\\n width: 30px !important;\\r\\n height: 30px !important;\\r\\n padding: 0px !important;\\r\\n line-height: normal;\\r\\n}\\r\\n.dashboard_body table th {\\r\\n height: auto !important;\\r\\n color: #000 !important;\\r\\n font-weight: 500 !important;\\r\\n font-size: 11px !important;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n.dashboard_body .DivPager {\\r\\n padding: 0px 25px;\\r\\n}\\r\\n.remain-unit-circle {\\r\\n color: #fff;\\r\\n border: 1px solid transparent;\\r\\n width: 80px;\\r\\n text-align: center;\\r\\n display: block;\\r\\n border-radius: 30px;\\r\\n font-size: 13px;\\r\\n}\\r\\n.mb-minus-15 {\\r\\n margin-bottom: -15px;\\r\\n}\\r\\n.update-pwd {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n.update-pwd i {\\r\\n cursor: pointer;\\r\\n}\\r\\n.dashboard-box .chart svg {\\r\\n width: 100%;\\r\\n}\\r\\n.show-hand{\\r\\n cursor: pointer;\\r\\n}\\r\\n@media (min-width: 992px) and (max-width: 1199px) {\\r\\n .iconbox-single {\\r\\n padding-left: 15px;\\r\\n padding-right: 15px;\\r\\n }\\r\\n .iconbox-single p {\\r\\n font-size: 20px;\\r\\n }\\r\\n .iconbox-single .circle-icon {\\r\\n width: 36px;\\r\\n height: 36px;\\r\\n margin-right: 5px;\\r\\n }\\r\\n .dashboard-box .chart > div {\\r\\n width: 50px !important;\\r\\n }\\r\\n}\\r\\n@media (max-width: 480px) {\\r\\n .dashboard-box .chart > div {\\r\\n width: 60px !important;\\r\\n }\\r\\n .iconbox-single .circle-icon {\\r\\n margin-right: 10px;\\r\\n }\\r\\n}\\r\\n\\r\\n.sticky-table .table-hover tbody tr:hover {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.no-fixed {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n.no-fixed .table {\\r\\n table-layout: inherit;\\r\\n width: 100%;\\r\\n\\r\\n margin: 0px;\\r\\n}\\r\\n.no-fixed .table tr.mat-header-row th {\\r\\n position: static !important;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.bar-dash > div {\\r\\n min-height: 320px;\\r\\n}\\r\\n\\r\\n\\r\\n */\\r\\n\\r\\n\\r\\n\\r\\n.profile-detail {\\r\\n text-align: center;\\r\\n margin-bottom: 130px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.profile-detail .profile-pic {\\r\\n width: 120px;\\r\\n height: 120px;\\r\\n overflow: hidden;\\r\\n border-radius: 50%;\\r\\n margin: 0 auto;\\r\\n margin-top: 10px;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.profile-detail .profile-pic img {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n border-radius: 50%;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.profile-detail h2 {\\r\\n text-align: center;\\r\\n font-size: 22px;\\r\\n font-weight: 600;\\r\\n color: #464646;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.profile-detail p.age-txt {\\r\\n text-align: center;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n color: #464646;\\r\\n opacity: 0.6;\\r\\n margin-bottom: 25px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.profile-detail .edit-btn {\\r\\n background: #86A47E 0% 0% no-repeat padding-box;\\r\\n border-radius: 5px;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n color: #FFFFFF;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.appbox .lght-txt {\\r\\n text-align: left;\\r\\n color: #3F3F3F !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.appbox .white-txt {\\r\\n text-align: left;\\r\\n color: #86A47E !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.hide {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.cardbutton {\\r\\n height: 35px;\\r\\n border: 1.5px solid #86A47E;\\r\\n border-radius: 135px;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 12px;\\r\\n line-height: 18px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.cardbody {\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n@media(max-width:768px) {\\r\\n .box-sizing {\\r\\n /* min-width: 247px; */\\r\\n width: 48%;\\r\\n margin: 0 1% 2%;\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n@media(max-width:576px) {\\r\\n .box-sizing {\\r\\n /* min-width: 247px; */\\r\\n width: 100%;\\r\\n margin: 0 0 2%;\\r\\n }\\r\\n .provider-container {\\r\\n padding: 20px 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.appboxs{\\r\\n margin: 15px !important;\\r\\n border-radius: 5px;\\r\\n border: 1px solid #DADADA;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.appboxs .lght-txt {\\r\\n text-align: center;\\r\\n color: #3F3F3F !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.appboxs .white-txt {\\r\\n text-align: center;\\r\\n color: #86A47E !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.imgicon{\\r\\n width: 40px;\\r\\n margin-left: calc(50% - 20px);\\r\\n margin-right: calc(50% - 20px);\\r\\n margin-top: 10px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.white-box .consultantheader {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n line-height: 27px;\\r\\n letter-spacing: 0em;\\r\\n text-align: left;\\r\\n color: #3F3F3F;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.consultantsubheader {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n line-height: 21px;\\r\\n letter-spacing: 0em;\\r\\n text-align: left;\\r\\n color: #3F3F3F;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.consultantnumheader {\\r\\n margin-top: 10px;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-size: 30px;\\r\\n font-weight: 400;\\r\\n line-height: 27px;\\r\\n letter-spacing: 0em;\\r\\n text-align: left;\\r\\n color: #86A47E;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.card.block{\\r\\n background-color: transparent !important;\\r\\n border: 1.5px solid #86A47E !important;\\r\\n color: #86A47E;\\r\\n border-radius: 135px !important;\\r\\n width: auto;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n Welcome {{firstname}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
{{companycount}}
\\r\\n
Companies Registered
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
{{userscount}}
\\r\\n
Corporate Users
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n {{\\r\\n dashboardData.totalAppointmentsAmount+refund| number:\\r\\n '2.0-2'\\r\\n }}\\r\\n
\\r\\n
Total Revenue
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
{{dashboardData.totalAppointmentsCount}}
\\r\\n
Appointments Booked
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
{{consultantcount}}
\\r\\n
Healthcare Consultant
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
{{ngocount}}
\\r\\n
NGO
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
{{consultantavlcount}}
\\r\\n
Available Consultants
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
{{membershipcount}}
\\r\\n
Membership Plans
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Corporate user Statistics

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

Membership plan statistics

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Approved Appointments\\r\\n
\\r\\n
\\r\\n {{todaysapp}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Declined Appointments\\r\\n
\\r\\n
{{upcomingapp}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Pending Appointments\\r\\n
\\r\\n
\\r\\n {{pastapp}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Cancelled Appointments\\r\\n
\\r\\n
\\r\\n {{cancelledapp}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Appointment

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

Performance Chart (Steps)

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

Profile

\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
{{consultantname}}
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{subSpecialities}}
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Appointments

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Today\\r\\n
\\r\\n
\\r\\n {{dashboardData.todayAppointmentsCount}}\\r\\n
\\r\\n
\\r\\n This\\r\\n Month\\r\\n
\\r\\n
{{dashboardData.totalAppointments}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n Last\\r\\n Month\\r\\n
\\r\\n
\\r\\n {{dashboardData.todayAppointments}}\\r\\n
\\r\\n
Total
\\r\\n
\\r\\n {{dashboardData.totalAppointmentsCount}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Payments

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Today\\r\\n
\\r\\n
\\r\\n {{dashboardData.todaysAppointmentsAmount+currentDateRefund}}\\r\\n
\\r\\n
\\r\\n This\\r\\n Month\\r\\n
\\r\\n
\\r\\n {{consultanttotalrevenu + currentMonthRefund}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Last\\r\\n Month\\r\\n
\\r\\n
\\r\\n {{dashboardData.previousMonthAppointmentsAmount+lastMonthRefund}}\\r\\n
\\r\\n
Total
\\r\\n
\\r\\n {{dashboardData.totalAppointmentsAmount+refund}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Service
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\" New\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\" Follow-Up\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Top Services
\\r\\n
    \\r\\n
  • \\r\\n \\\"\\\" {{serv.serviceName}}\\r\\n\\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Appointment

\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\"","import { SchedulingRoutingModule } from './../../scheduling/scheduling-routing.module';\r\nimport { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { DashboardService } from './dashboard.service';\r\nimport { FilterModel, ResponseModel } from '../../../../super-admin-portal/core/modals/common-model';\r\nimport { EncounterModel, AuthorizationModel, DashboardModel, ClientStatusChartModel } from './dashboard.model';\r\nimport { FilterMemberShipModel, Metadata } from '../../core/modals/common-model';\r\nimport { Router } from '@angular/router';\r\nimport { CommonService } from '../../core/services';\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { merge, Subscription, Subject } from 'rxjs';\r\n\r\nimport { MatDialog, MatPaginator, MatSort } from '@angular/material';\r\nimport { format, isSameMonth } from 'date-fns';\r\nimport { AuthenticationService } from '../../../../super-admin-portal/auth/auth.service';\r\nimport { LoginUser } from '../../core/modals/loginUser.modal';\r\nimport { SchedulerService } from '../../scheduling/scheduler/scheduler.service';\r\nimport { UsersService } from '../users/users.service';\r\nimport { StaffProfileModel } from '../users/users.model';\r\nimport { UrgentCareListingdialogComponent } from 'src/app/shared/urgentcarelisting-dialog/urgentcarelisting-dialog.component';\r\nimport { RefundFilterModel } from \"../../core/modals/common-model\";\r\nimport { PaymentService } from \"./../../agency-portal/Payments/payment.service\";\r\nimport { CalendarDayViewHourSegmentComponent } from 'angular-calendar/modules/day/calendar-day-view-hour-segment.component';\r\nimport * as Chart from 'chart.js';\r\nimport { utils } from 'protractor';\r\nimport { ManageNgoService } from '../manage-ngo/manage-ngo.service';\r\nimport { CompanyService } from '../manage-company/company.service';\r\nimport { ClientsService } from '../clients/clients.service';\r\nimport { MembershipService } from '../membership-plan/membership.service';\r\nimport { AppointmentGraphService } from 'src/app/shared/appointment-graph/appointment-graph.service';\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.css'],\r\n providers: [DatePipe]\r\n\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n private getAllURL = \"Staffs/GetStaffs\";\r\n userrolename: any;\r\n membershipcount: number = 0;\r\n averageStar: any;\r\n encFilterModel: FilterModel;\r\n reviewRatingFilterModel: FilterModel;\r\n filterModel: RefundFilterModel;\r\n filtermemberModel: FilterMemberShipModel;\r\n encounterList: Array = [];\r\n dashboardData: DashboardModel;\r\n clientStatusChartData: Array = [];\r\n encMeta: Metadata;\r\n subscription: Subscription;\r\n isAuth: boolean = true;\r\n refund: any = 0;\r\n currentDateRefund: any = 0;\r\n currentMonthRefund: any = 0;\r\n lastMonthRefund: any = 0;\r\n status: boolean = false;\r\n passwordExpiryColorCode: string = '';\r\n passwordExpiryMessage: string = '';\r\n showMessage: boolean = true;\r\n accessToken = 'YOUR_ACCESS_TOKEN';\r\n message: Subject = new Subject();\r\n pendingAppointmentMeta: Metadata;\r\n cancelledAppointmentMeta: Metadata;\r\n tentativeAppointmentMeta: Metadata;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n curDate: any;\r\n aprovedAppointmentsDisplayedColumns: Array;\r\n aprovedAppointmentsActionButtons: Array;\r\n pendingDisplayedColumns: Array;\r\n pendingActionButtons: Array;\r\n cancelledDisplayedColumns: Array;\r\n cancelledActionButtons: Array;\r\n pendingAptfilterModel: FilterModel;\r\n cancelledAptfilterModel: FilterModel;\r\n pendingPatientAppointment: Array = [];\r\n filterParamsForAppointents: {\r\n statusIds: Array;\r\n appointmentTimeIntervalId: number;\r\n //isCheckTotalEnrollments: boolean\r\n CareManagerIds: Array;\r\n };\r\n cancelledPatientAppointment: Array = [];\r\n usercountid: Array = [];\r\n usercount: Array = [];\r\n selectedIndex: number = 0\r\n //Charts\r\n lineChartData: Array = [\r\n { data: [], label: '' },\r\n { data: [], label: '' }\r\n ];\r\n lineChartLabels: Array = [];\r\n lineChartType: string = 'line';\r\n headerText: string = 'Authorization';\r\n userId: string;\r\n staffId: number;\r\n urgentcareapptid: number;\r\n showurgentcarebtn: boolean = false;\r\n staffProfile: StaffProfileModel;\r\n firstname: string;\r\n dughtpieobject: any;\r\n todaysapp: number = 0;\r\n upcomingapp: number = 0;\r\n pastapp: number = 0;\r\n cancelledapp: number = 0;\r\n ngocount: number = 0;\r\n companycount: number = 0;\r\n consultantcount: number = 0;\r\n consultantavlcount: number = 0;\r\n userscount: number = 0;\r\n consultantname: any;\r\n photoPath: any;\r\n consultanttotalrevenu: number = 0;\r\n subSpecialities: any;\r\n collapse1tf: boolean = false;\r\n collapse2tf: boolean = false;\r\n public pieChartLabelss: string[] = ['Chrome', 'Safari'];\r\n public pieChartDatas: number[] = [40, 20];\r\n public pieChartTypes: string = 'pie';\r\n constructor(private appointmentGraphService: AppointmentGraphService, private membership: MembershipService, private dashoboardService: DashboardService, private ngoService: ManageNgoService, private _companyService: CompanyService, private datePipe: DatePipe, private route: Router, private paymentService: PaymentService, private commonService: CommonService, private schedulerService: SchedulerService, private userService: UsersService, private dialogModal: MatDialog, private clientservice: ClientsService) {\r\n this.encFilterModel = new FilterModel();\r\n this.reviewRatingFilterModel = new FilterModel();\r\n this.filterModel = new RefundFilterModel();\r\n this.encMeta = new Metadata();\r\n this.dashboardData = new DashboardModel();\r\n this.staffProfile = new StaffProfileModel()\r\n this.filtermemberModel = new FilterMemberShipModel();\r\n // this.encDisplayedColumns = [\r\n // { displayName: 'Practitioner', key: 'staffName', class: '', width: '20%' },\r\n // { displayName: 'Client Name', key: 'clientName', class: '', width: '20%' },\r\n // { displayName: 'Day', key: 'day', width: '10%' },\r\n // { displayName: 'DOS', key: 'dateOfService', width: '20%', type: 'date' },\r\n // { displayName: 'Status', key: 'status', width: '20%' },\r\n // { displayName: 'Actions', key: 'Actions', width: '10%' }\r\n // ];\r\n // this.encActionButtons = [\r\n // { displayName: 'View', key: 'view', class: 'fa fa-eye' }\r\n // ];\r\n this.pendingAptfilterModel = new FilterModel();\r\n this.cancelledAptfilterModel = new FilterModel();\r\n this.pendingDisplayedColumns = [\r\n { displayName: 'Care Manager', key: 'staffName', width: '110px', sticky: true },\r\n { displayName: 'Member Name', key: 'fullName', width: '120px', type: 'link', url: '/web/member/profile', queryParamsColumn: 'queryParamsPatientObj', sticky: true },\r\n { displayName: 'Appt. Type', key: 'appointmentType', width: '80px' },\r\n { displayName: 'Date Time', key: 'dateTimeOfService', width: '250px', type: 'link', url: '/web/member/scheduling', queryParamsColumn: 'queryParamsObj' },\r\n { displayName: 'Actions', key: 'Actions', width: '80px', sticky: true }\r\n ]\r\n this.pendingActionButtons = [\r\n { displayName: 'Approve', key: 'approve', class: 'fa fa-check' },\r\n { displayName: 'Cancel', key: 'cancel', class: 'fa fa-ban' },\r\n ];\r\n\r\n this.cancelledDisplayedColumns = [\r\n { displayName: 'Care Manager', key: 'staffName', width: '100px', sticky: true },\r\n { displayName: 'Member Name', key: 'fullName', width: '120px', type: 'link', url: '/web/member/profile', queryParamsColumn: 'queryParamsPatientObj', sticky: true },\r\n { displayName: 'Appt. Type', key: 'appointmentType', width: '80px' },\r\n { displayName: 'Date Time', key: 'dateTimeOfService', width: '200px', type: 'link', url: '/web/member/scheduling', queryParamsColumn: 'queryParamsObj' },\r\n { displayName: 'Cancel Type', kefy: 'cancelType', width: '140px' },\r\n { displayName: 'Cancel Reason', key: 'cancelReason', width: '150px' },\r\n { displayName: 'Actions', key: 'Actions', width: '60px', sticky: true }\r\n ]\r\n this.cancelledActionButtons = [];\r\n\r\n this.aprovedAppointmentsDisplayedColumns = [\r\n { displayName: 'Practitioner', key: 'staffName', class: '', width: '20%' },\r\n { displayName: 'Client Name', key: 'clientName', class: '', width: '20%' },\r\n { displayName: 'Day', key: 'day', width: '10%' },\r\n { displayName: 'DOS', key: 'dateOfService', width: '20%', type: 'date' },\r\n { displayName: 'Status', key: 'status', width: '20%' },\r\n { displayName: 'Actions', key: 'Actions', width: '10%' }\r\n ]\r\n this.aprovedAppointmentsActionButtons = [];\r\n this.filterParamsForAppointents = {\r\n statusIds: [],\r\n appointmentTimeIntervalId: null,\r\n CareManagerIds: []\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n this.usercountid = [];\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n // console.log(\"value\", user.data)\r\n this.staffId = user.data.id;\r\n this.averageStar = user.data.averageRating;\r\n // this.getStaffReviewData();\r\n this.userId = user.data.userID\r\n //this.photoPath = user.data.photoPath;\r\n this.firstname = user.data.firstName;\r\n this.consultantname = user.data.firstName + \" \" + user.data.lastName\r\n this.userrolename = user.data.userRoles.roleName;\r\n this.subSpecialities = user.data.subSpecialities;\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"PROVIDER\") {\r\n this.getLastUrgentCareCallStatus();\r\n }\r\n }\r\n });\r\n\r\n this.dughtpieobject = [];\r\n const data: any = {\r\n pageNumber: 1,\r\n pageSize: 200000,\r\n sortColumn: '',\r\n sortOrder: '',\r\n searchKey: '',\r\n }\r\n var RoleIds = '';\r\n var avlcount = [];\r\n this.userService.getAll(data, '', RoleIds, 156).subscribe((response: ResponseModel) => {\r\n\r\n if (response && response.statusCode == 200) {\r\n response.data.forEach((rep: any) => {\r\n\r\n this.dughtpieobject.push(rep);\r\n this.consultantcount = this.dughtpieobject.length;\r\n if (rep.isActive == true) {\r\n avlcount.push(rep);\r\n this.consultantavlcount = avlcount.length;\r\n } else {\r\n this.consultantavlcount = 0\r\n }\r\n\r\n });\r\n } else {\r\n this.consultantavlcount = 0\r\n }\r\n });\r\n\r\n // var interval = setInterval(() => {\r\n // if (this.dughtpieobject != 0) {\r\n // clearInterval(interval);\r\n\r\n // }\r\n\r\n // }, 1000);\r\n var datango = [];\r\n this.ngoService.getAll().subscribe((response: any) => {\r\n response.forEach((datares: any) => {\r\n if (datares.isActive == true) {\r\n datango.push(datares)\r\n this.ngocount = datango.length;\r\n } else {\r\n this.ngocount = 0;\r\n }\r\n });\r\n });\r\n var datangos = [];\r\n this.encFilterModel.pageSize = 20000;\r\n this._companyService.getAll(this.encFilterModel).subscribe((response: any) => {\r\n if (response && response.statusCode == 200) {\r\n // response.data.forEach((data: any) => {\r\n // });\r\n response.data.forEach((dataress: any) => {\r\n if (dataress.status == true) {\r\n datangos.push(dataress)\r\n this.companycount = datangos.length;\r\n } else {\r\n this.companycount = 0;\r\n }\r\n });\r\n\r\n }\r\n\r\n });\r\n const dataid: any = {\r\n pageNumber: 1,\r\n pageSize: 200000,\r\n sortColumn: '',\r\n sortOrder: '',\r\n searchKey: '',\r\n }\r\n var RoleIds = '';\r\n this.clientservice.getpatientAll(dataid, '', RoleIds, 156, 0).subscribe((response: ResponseModel) => {\r\n\r\n if (response.statusCode == 200) {\r\n this.usercountid = response.data\r\n } else {\r\n this.usercountid = [];\r\n }\r\n\r\n });\r\n var counta = 0;\r\n\r\n var intervalid = setInterval(() => {\r\n //console.log(\"userid\", this.usercountid.length, counta)\r\n if (typeof this.usercountid != undefined && this.usercountid != null && this.usercountid.length != null && this.usercountid.length > 0) {\r\n clearInterval(intervalid);\r\n this.userscount = this.usercountid.length\r\n // for (var i = 0; i <= (this.usercountid.length-1); i++) {\r\n // this.usercountid[i].forEach((data: any) => {\r\n // this.usercount.push(data);\r\n // console.log(this.usercount)\r\n // this.userscount = this.usercount.length;\r\n // });\r\n // }\r\n var a = [];\r\n var b = [];\r\n var c = [];\r\n var d = 0;\r\n var age1 = 0;\r\n var age2 = 0;\r\n var age3 = 0;\r\n var age4 = 0;\r\n var age5 = 0;\r\n var age6 = 0;\r\n this.usercountid.forEach((user: any) => {\r\n if (user.isActive == true) {\r\n a.push(user);\r\n } else {\r\n b.push(user);\r\n }\r\n if (user.isBlock == true) {\r\n c.push(user);\r\n }\r\n if (user.age <= 17) {\r\n age1 = user.step + age1;\r\n } else if (user.age <= 25 && user.age >= 18) {\r\n age2 = user.step + age2;\r\n } else if (user.age <= 35 && user.age >= 26) {\r\n age3 = user.step + age3;\r\n // console.log(user)\r\n } else if (user.age <= 45 && user.age >= 36) {\r\n age4 = user.step + age4;\r\n } else if (user.age >= 45 && user.age <= 65) {\r\n age5 = user.step + age5;\r\n } else {\r\n age6 = user.step + age6;\r\n }\r\n });\r\n d = a.length + b.length + c.length;\r\n var e = (a.length * 100 / d).toFixed(2);\r\n var f = (b.length * 100 / d).toFixed(2);\r\n var g = (c.length * 100 / d).toFixed(2);\r\n \r\n const datad = {\r\n labels: [\r\n e + '% Active User',\r\n f + '% Inactive User',\r\n g + '% Locked User'\r\n ],\r\n borderJoinStyle: ['round'],\r\n datasets: [{\r\n // data:[30,60,10],\r\n data: [a.length, b.length, c.length],\r\n \r\n backgroundColor: [\r\n '#00897B',\r\n '#65ABF3',\r\n '#A4D24F'\r\n ],\r\n\r\n \r\n borderWidth: 0,\r\n hoverOffset: 1,\r\n }],\r\n };\r\n new Chart('chart_0', {\r\n type: 'RoundedDoughnut',\r\n data: datad,\r\n options: {\r\n cutoutPercentage: 74,\r\n //rotation: 30,\r\n animation: {\r\n animateScale: true\r\n },\r\n\r\n }\r\n });\r\n const datapie = {\r\n labels: [\r\n 'CAVAL Be',\r\n 'CAVAL Track'\r\n ],\r\n borderJoinStyle: ['round'],\r\n datasets: [{\r\n data: [25, 75],\r\n backgroundColor: [\r\n '#67CED5',\r\n '#0094C7',\r\n ],\r\n borderWidth: 0,\r\n hoverOffset: 1,\r\n }],\r\n };\r\n new Chart('chart_1', {\r\n type: 'pie',\r\n data: datapie,\r\n options: {\r\n rotation: 180,\r\n animation: {\r\n animateScale: true\r\n }\r\n }\r\n });\r\n const databar = {\r\n labels: [\r\n '0-17',\r\n '18-25',\r\n '26-35',\r\n '36-45',\r\n '46-65',\r\n '66-80'\r\n ],\r\n datasets: [{\r\n label: 'Steps',\r\n barPercentage: 0.5,\r\n barThickness: 30,\r\n maxBarThickness: 40,\r\n minBarLength: 2,\r\n data: [age1, age2, age3, age4, age5, age6],\r\n backgroundColor: [\r\n 'rgba(255, 99, 132)',\r\n 'rgba(255, 159, 64)',\r\n 'rgba(255, 205, 86)',\r\n 'rgba(75, 192, 192)',\r\n 'rgba(54, 162, 235)',\r\n 'rgba(153, 102, 255)'\r\n ],\r\n borderColor: [\r\n 'rgb(255, 99, 132)',\r\n 'rgb(255, 159, 64)',\r\n 'rgb(255, 205, 86)',\r\n 'rgb(75, 192, 192)',\r\n 'rgb(54, 162, 235)',\r\n 'rgb(153, 102, 255)'\r\n ],\r\n borderWidth: 0\r\n }]\r\n };\r\n new Chart('chart_2', {\r\n type: 'bar',\r\n data: databar,\r\n options: {\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }]\r\n }\r\n }\r\n });\r\n } else if (counta == 6) {\r\n clearInterval(intervalid);\r\n var d = 0;\r\n var age1 = 0;\r\n var age2 = 0;\r\n var age3 = 0;\r\n var age4 = 0;\r\n var age5 = 0;\r\n var age6 = 0;\r\n this.userscount = 0\r\n const datad = {\r\n labels: [\r\n '0% Active User',\r\n '0% Inactive User',\r\n '0% Locked User'\r\n ],\r\n \r\n borderJoinStyle: ['round'],\r\n datasets: [{\r\n data: [0, 0, 0],\r\n \r\n backgroundColor: [\r\n '#00897B',\r\n '#65ABF3',\r\n '#A4D24F'\r\n ],\r\n borderWidth: 0,\r\n hoverOffset: 1,\r\n }],\r\n };\r\n new Chart('chart_0', {\r\n type: 'RoundedDoughnut',\r\n data: datad,\r\n options: {\r\n cutoutPercentage: 74,\r\n //rotation: 30,\r\n animation: {\r\n animateScale: true\r\n }\r\n }\r\n });\r\n const datapie = {\r\n labels: [\r\n 'CAVAL Be',\r\n 'CAVAL Track'\r\n ],\r\n borderJoinStyle: ['round'],\r\n datasets: [{\r\n data: [25, 75],\r\n backgroundColor: [\r\n '#67CED5',\r\n '#0094C7',\r\n ],\r\n borderWidth: 0,\r\n hoverOffset: 1,\r\n }],\r\n };\r\n new Chart('chart_1', {\r\n type: 'pie',\r\n data: datapie,\r\n options: {\r\n rotation: 180,\r\n animation: {\r\n animateScale: true\r\n }\r\n }\r\n });\r\n const databar = {\r\n labels: [\r\n '0-17',\r\n '18-25',\r\n '26-35',\r\n '36-45',\r\n '46-65',\r\n '66-80'\r\n ],\r\n datasets: [{\r\n label: 'Steps',\r\n barPercentage: 0.5,\r\n barThickness: 30,\r\n maxBarThickness: 40,\r\n minBarLength: 2,\r\n data: [age1, age2, age3, age4, age5, age6],\r\n backgroundColor: [\r\n 'rgba(255, 99, 132)',\r\n 'rgba(255, 159, 64)',\r\n 'rgba(255, 205, 86)',\r\n 'rgba(75, 192, 192)',\r\n 'rgba(54, 162, 235)',\r\n 'rgba(153, 102, 255)'\r\n ],\r\n borderColor: [\r\n 'rgb(255, 99, 132)',\r\n 'rgb(255, 159, 64)',\r\n 'rgb(255, 205, 86)',\r\n 'rgb(75, 192, 192)',\r\n 'rgb(54, 162, 235)',\r\n 'rgb(153, 102, 255)'\r\n ],\r\n borderWidth: 0\r\n }]\r\n };\r\n new Chart('chart_2', {\r\n type: 'bar',\r\n data: databar,\r\n options: {\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }]\r\n }\r\n }\r\n });\r\n } else {\r\n counta++;\r\n }\r\n }, 1000);\r\n this.membership.getAll(this.filtermemberModel).subscribe((response: ResponseModel) => {\r\n this.membershipcount = response.data.length;\r\n });\r\n this.setPaginatorModel();\r\n this.getPayments(this.filterModel);\r\n this.getEncounterListForDashboard();\r\n this.getDashboardBasicInfo();\r\n this.getPasswordExpiryMessage();\r\n this.getStaffProfileData();\r\n Chart.defaults.RoundedDoughnut = Chart.helpers.clone(Chart.defaults.doughnut);\r\n Chart.controllers.RoundedDoughnut = Chart.controllers.doughnut.extend({\r\n draw: function (ease) {\r\n var ctx = this.chart.ctx;\r\n var easingDecimal = ease || 1;\r\n var arcs = this.getMeta().data;\r\n Chart.helpers.each(arcs, function (arc, i) {\r\n arc.transition(easingDecimal).draw();\r\n\r\n var pArc = arcs[i === 0 ? arcs.length - 1 : i - 1];\r\n var pColor = pArc._view.backgroundColor;\r\n\r\n var vm = arc._view;\r\n var radius = (vm.outerRadius + vm.innerRadius) / 2;\r\n var thickness = (vm.outerRadius - vm.innerRadius) / 2;\r\n var startAngle = Math.PI - vm.startAngle - Math.PI / 2;\r\n var angle = Math.PI - vm.endAngle - Math.PI / 2;\r\n\r\n ctx.save();\r\n ctx.translate(vm.x, vm.y);\r\n\r\n ctx.fillStyle = i === 0 ? vm.backgroundColor : pColor;\r\n ctx.beginPath();\r\n ctx.arc(radius * Math.sin(startAngle), radius * Math.cos(startAngle), thickness, 0, 2 * Math.PI);\r\n ctx.fill();\r\n\r\n ctx.fillStyle = vm.backgroundColor;\r\n ctx.beginPath();\r\n ctx.arc(radius * Math.sin(angle), radius * Math.cos(angle), thickness, 0, 2 * Math.PI);\r\n ctx.fill();\r\n\r\n ctx.restore();\r\n });\r\n }\r\n });\r\n\r\n this.getDataForAppointmentdetailChart();\r\n }\r\n getDataForAppointmentdetailChart() {\r\n var a = 0;\r\n var b = 0;\r\n var c = 0;\r\n var d = 0;\r\n this.filterParamsForAppointents.statusIds = ['375090', '375091', '375092', '375093', '375094', '375095', '375230', '375225'];\r\n this.filterParamsForAppointents.appointmentTimeIntervalId = 375119;\r\n this.filterParamsForAppointents.CareManagerIds = [];\r\n this.appointmentGraphService\r\n .getLineChartDataForAppointments(this.filterParamsForAppointents)\r\n .subscribe((response: ResponseModel) => {\r\n response.data.forEach((appdata: any) => {\r\n if (appdata.appointmentStatus == \"Approved\") {\r\n a = appdata.appointmentCount + a;\r\n this.todaysapp = a;\r\n } else if (appdata.appointmentStatus == \"Declined\") {\r\n b = appdata.appointmentCount + b;\r\n this.upcomingapp = b;\r\n } else if (appdata.appointmentStatus == \"Pending\") {\r\n c = appdata.appointmentCount + c;\r\n this.pastapp = c;\r\n } else if (appdata.appointmentStatus == \"Cancelled\") {\r\n d = appdata.appointmentCount + d;\r\n this.cancelledapp = d;\r\n }\r\n });\r\n\r\n });\r\n }\r\n getPayments(filterModel: RefundFilterModel) {\r\n\r\n this.paymentService\r\n .getAppointmentRefunds(filterModel)\r\n .subscribe((response: any) => {\r\n\r\n if (response != null && response.statusCode == 302) {\r\n\r\n var refund = 0;\r\n var currentDateRefund = 0;\r\n var lastMonthRefund = 0;\r\n var currentMonthRefund = 0;\r\n var date = new Date();\r\n var curDate = format(new Date(), \"MM/DD/YYYY\");\r\n var firstDay = format(new Date(date.getFullYear(), date.getMonth(), 1), \"MM/DD/YYYY\");\r\n var lastDay = format(new Date(date.getFullYear(), date.getMonth() + 1, 0), \"MM/DD/YYYY\");\r\n var PreMonthLastDay = format(new Date(date.getFullYear(), date.getMonth(), 0), \"MM/DD/YYYY\");\r\n var PreMonthFirstDay = format(new Date(date.getFullYear() - (date.getMonth() > 0 ? 0 : 1), (date.getMonth() - 1 + 12) % 12, 1), \"MM/DD/YYYY\");\r\n response.data.forEach(a => this.refund += a.netAmount);\r\n response.data.forEach(function (item: any) {\r\n if (format(item.startDateTime, \"MM/DD/YYYY\") == curDate) {\r\n currentDateRefund += item.netAmount;\r\n }\r\n });\r\n response.data.forEach(function (item: any) {\r\n if (format(item.startDateTime, \"MM/DD/YYYY\") >= firstDay && format(item.startDateTime, \"MM/DD/YYYY\") <= lastDay) {\r\n currentMonthRefund += item.netAmount;\r\n }\r\n });\r\n response.data.forEach(function (item: any) {\r\n if (format(item.startDateTime, \"MM/DD/YYYY\") >= PreMonthFirstDay && format(item.startDateTime, \"MM/DD/YYYY\") <= PreMonthLastDay) {\r\n lastMonthRefund += item.netAmount;\r\n }\r\n });\r\n\r\n this.refund = refund;\r\n this.lastMonthRefund = lastMonthRefund;\r\n this.currentMonthRefund = currentMonthRefund;\r\n\r\n }\r\n });\r\n }\r\n\r\n gotoscheduler(month: any, appttype: any, apptmode: any) {\r\n\r\n this.route.navigate([\"/web/scheduling\"], { queryParams: { calendermonth: month, appttype: appttype, apptmode: apptmode } });\r\n }\r\n gotopayments() {\r\n this.route.navigate([\"/web/payment/payment-history\"]);\r\n }\r\n\r\n gotousers() {\r\n this.route.navigate([\"/web/manage-company/view-corperate-user-list\"]);\r\n localStorage.setItem('id', '0');\r\n }\r\n gotohealthconsultant() {\r\n\r\n this.route.navigate([\"/web/manage-users\"]);\r\n }\r\n gotongo() {\r\n\r\n this.route.navigate([\"/web/manage-ngo\"]);\r\n }\r\n gotocompany() {\r\n\r\n this.route.navigate([\"/web/manage-company\"]);\r\n }\r\n gotomembership() {\r\n\r\n this.route.navigate([\"/web/membership\"]);\r\n }\r\n gotoschedulerTotal() {\r\n\r\n this.route.navigate([\"/web/scheduling\"]);\r\n }\r\n\r\n gotopaymentslastmonth(monthstatus: any) {\r\n this.route.navigate([\"/web/payment/payment-history\"], { queryParams: { monthstatus: monthstatus } });\r\n }\r\n\r\n hideMessageClick() {\r\n this.showMessage = false;\r\n }\r\n changeWidget(value: string = '') {\r\n if (value == 'authorization') {\r\n this.isAuth = true;\r\n this.headerText = 'Authorization';\r\n }\r\n else if (value == 'clientstatus') {\r\n this.getClientStatusChart();\r\n }\r\n }\r\n\r\n\r\n onTabChanged(event: any) {\r\n this.selectedIndex = event.value\r\n if (event.index == 0) {\r\n // this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n this.getEncounterListForDashboard();\r\n } else if (event.index == 1) {\r\n this.getPendignPatientAppointmentList();\r\n } else if (event.index == 2) {\r\n this.getCancelledPatientAppointmentList();\r\n }\r\n // else if (event.index == 3) {\r\n // } else if (event.index == 4) {\r\n // this.getTentativePatientAppointmentList();\r\n // }\r\n }\r\n\r\n getEncounterListForDashboard() {\r\n this.dashoboardService.getEncounterListForDashboard(this.encFilterModel).subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.encounterList = response.data != null && response.data.length > 0 ? response.data : [];\r\n this.encMeta = response.meta;\r\n }\r\n });\r\n }\r\n getPendignPatientAppointmentList() {\r\n\r\n this.dashoboardService.getPendingPatientAppointment(this.pendingAptfilterModel).subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.pendingPatientAppointment = response.data != null && response.data.length > 0 ? response.data : [];\r\n this.pendingAppointmentMeta = response.meta;\r\n }\r\n else {\r\n this.pendingPatientAppointment = [];\r\n this.pendingAppointmentMeta = null;\r\n }\r\n })\r\n }\r\n\r\n getLastUrgentCareCallStatus() {\r\n\r\n this.schedulerService.getLastUrgentCareCallStatus(this.userId).subscribe(response => {\r\n if (response.statusCode === 200) {\r\n\r\n if (response.data != undefined) {\r\n this.urgentcareapptid = response.data.id;\r\n //this.hasPreviousNewMeeting = response.data ? true : false;\r\n this.showurgentcarebtn = true;\r\n }\r\n else {\r\n this.showurgentcarebtn = false;\r\n }\r\n\r\n }\r\n });\r\n }\r\n\r\n Redirect() {\r\n this.route.navigate([\"/web/encounter/soap\"], {\r\n queryParams: {\r\n apptId: this.urgentcareapptid,\r\n encId: 0\r\n },\r\n });\r\n }\r\n\r\n\r\n onPendingPageOrSortChange(changeState?: any) {\r\n this.setPendingPaginatorModel(changeState.pageNumber, changeState.pageSize, changeState.sort, changeState.order);\r\n this.getPendignPatientAppointmentList();\r\n }\r\n onCancelledPageOrSortChange(changeState?: any) {\r\n this.setCancelledPaginatorModel(changeState.pageNumber, changeState.pageSize, changeState.sort, changeState.order);\r\n this.getCancelledPatientAppointmentList();\r\n }\r\n setPendingPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string) {\r\n this.pendingAptfilterModel.pageNumber = pageNumber;\r\n this.pendingAptfilterModel.pageSize = pageSize;\r\n this.pendingAptfilterModel.sortOrder = sortOrder;\r\n this.pendingAptfilterModel.sortColumn = sortColumn;\r\n }\r\n setCancelledPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string) {\r\n this.cancelledAptfilterModel.pageNumber = pageNumber;\r\n this.cancelledAptfilterModel.pageSize = pageSize;\r\n this.cancelledAptfilterModel.sortOrder = sortOrder;\r\n this.cancelledAptfilterModel.sortColumn = sortColumn;\r\n }\r\n getCancelledPatientAppointmentList() {\r\n this.dashoboardService.getCancelledPatientAppointment(this.cancelledAptfilterModel).subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.cancelledPatientAppointment = response.data != null && response.data.length > 0 ? response.data : [];\r\n this.cancelledAppointmentMeta = response.meta;\r\n }\r\n else {\r\n this.cancelledPatientAppointment = [];\r\n this.cancelledAppointmentMeta = null;\r\n }\r\n })\r\n }\r\n getPasswordExpiryMessage() {\r\n this.subscription = this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.passwordExpiryStatus) {\r\n this.passwordExpiryColorCode = user.passwordExpiryStatus.colorCode;\r\n this.passwordExpiryMessage = user.passwordExpiryStatus.message;\r\n this.status = user.passwordExpiryStatus.status;\r\n }\r\n });\r\n }\r\n\r\n getDashboardBasicInfo() {\r\n this.dashoboardService.getDashboardBasicInfo().subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.dashboardData = response.data != null ? response.data : new DashboardModel();\r\n this.consultanttotalrevenu = this.dashboardData.appointmentTotalRevenue.totalRevenue;\r\n }\r\n });\r\n }\r\n getClientStatusChart() {\r\n this.dashoboardService.getClientStatusChart().subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.isAuth = false;\r\n this.headerText = 'Patient Status';\r\n this.clientStatusChartData = response.data != null ? response.data : new ClientStatusChartModel();\r\n if (this.clientStatusChartData.length > 0) {\r\n this.lineChartLabels = this.clientStatusChartData.map(({ registeredDate }) => format(registeredDate, 'MM/DD/YYYY'));\r\n this.lineChartData = [\r\n { data: this.clientStatusChartData.map(({ active }) => active), label: 'Active' },\r\n { data: this.clientStatusChartData.map(({ inactive }) => inactive), label: 'Inactive' },\r\n ];\r\n }\r\n }\r\n });\r\n }\r\n onEncPageOrSortChange(changeState?: any) {\r\n this.setEncPaginatorModel(changeState.pageNumber, this.encFilterModel.pageSize, changeState.sort, changeState.order);\r\n this.getEncounterListForDashboard();\r\n }\r\n\r\n onEncTableActionClick(actionObj?: any) {\r\n const id = actionObj.data && actionObj.data.id;\r\n const name = actionObj.data && actionObj.data.name,\r\n appointmentId = actionObj.data && actionObj.data.patientAppointmentId,\r\n patientEncounterId = actionObj.data && actionObj.data.id,\r\n isBillableEncounter = actionObj.data && actionObj.data.isBillableEncounter;\r\n switch ((actionObj.action || '').toUpperCase()) {\r\n case 'VIEW':\r\n const redirectUrl = isBillableEncounter ? \"/web/waiting-room/\" : \"/web/encounter/non-billable-soap\";\r\n if (isBillableEncounter) {\r\n this.route.navigate([\"/web/waiting-room/\" + appointmentId]);\r\n } else {\r\n this.route.navigate([redirectUrl], {\r\n queryParams: {\r\n apptId: appointmentId,\r\n encId: patientEncounterId\r\n }\r\n });\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n setEncPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string) {\r\n this.encFilterModel.pageNumber = pageNumber;\r\n this.encFilterModel.pageSize = pageSize;\r\n this.encFilterModel.sortOrder = sortOrder;\r\n this.encFilterModel.sortColumn = sortColumn;\r\n }\r\n\r\n getStaffProfileData() {\r\n\r\n this.userService.getStaffProfileData(this.staffId).subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null) {\r\n this.staffProfile = response.data;\r\n this.photoPath = response.data.photoPath;\r\n // console.log(\"Profile\", this.staffProfile)\r\n }\r\n });\r\n }\r\n\r\n getStaffReviewData() {\r\n\r\n this.userService.getReviewRatingById(this.staffId, this.reviewRatingFilterModel).subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null) {\r\n\r\n //this.staffProfile = response.data;\r\n }\r\n });\r\n }\r\n\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(UrgentCareListingdialogComponent, {\r\n hasBackdrop: true,\r\n width: '60%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n // \r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n //this.show=true;\r\n });\r\n }\r\n setPaginatorModel(\r\n\r\n ) {\r\n this.filterModel.pageNumber = 1;\r\n this.filterModel.pageSize = 1000;\r\n this.filterModel.sortOrder = \"\";\r\n this.filterModel.sortColumn = \"\";\r\n this.filterModel.PatientName = \"\";\r\n this.filterModel.RefundDate = \"\";\r\n this.filterModel.AppDate = \"\";\r\n }\r\n collapse1() {\r\n if (this.collapse1tf == false) {\r\n document.getElementById(\"collapse1\").classList.remove(\"hide\")\r\n document.getElementById(\"collapse2\").classList.add(\"hide\")\r\n this.collapse1tf = true\r\n this.collapse2tf = false\r\n } else {\r\n this.collapse1tf = false\r\n this.collapse2tf = false\r\n document.getElementById(\"collapse1\").classList.add(\"hide\")\r\n document.getElementById(\"collapse2\").classList.add(\"hide\")\r\n }\r\n\r\n }\r\n collapse2() {\r\n if (this.collapse2tf == false) {\r\n document.getElementById(\"collapse2\").classList.remove(\"hide\")\r\n document.getElementById(\"collapse1\").classList.add(\"hide\")\r\n this.collapse2tf = true\r\n this.collapse1tf = false\r\n } else {\r\n this.collapse2tf = false\r\n this.collapse1tf = false\r\n document.getElementById(\"collapse1\").classList.add(\"hide\")\r\n document.getElementById(\"collapse2\").classList.add(\"hide\")\r\n }\r\n\r\n }\r\n editProfile() {\r\n this.route.navigate([\"/web/manage-users/user-profile\"]);\r\n }\r\n}\r\n","export class EncounterModel {\r\n id: number;\r\n clientId: number;\r\n staffName: string;\r\n clientName: string;\r\n patientAppointmentId: number;\r\n day: string;\r\n dateOfService: string;\r\n status: string;\r\n totalRecords: number;\r\n isBillableEncounter: boolean;\r\n locationName: string;\r\n serviceType: string;\r\n billableEncounterColorCode: string;\r\n}\r\n\r\nexport class AuthorizationModel {\r\n authorizationId: number;\r\n clientId: number;\r\n clientName: string;\r\n endDate: string;\r\n remainedUnits: string;\r\n totalRecords: number;\r\n warningColorCode: string;\r\n style: string = \"\";\r\n}\r\n\r\nexport class DashboardModel {\r\n organizationTotalClients: number;\r\n onlineUser: number;\r\n organizationTotalRevenu: any;\r\n totalAppointments: any;\r\n todayAppointments: any;\r\n appointmentNetRevenue: number;\r\n appointmentTotalRevenue:any;\r\n todayAppointmentsCount:any;\r\n totalAppointmentsCount:any;\r\n todaysAppointmentsAmount:any;\r\n previousMonthAppointmentsAmount:any;\r\n totalAppointmentsAmount:any;\r\n}\r\n\r\nexport class ClientStatusChartModel {\r\n registeredDate: string;\r\n active: number;\r\n inactive: number;\r\n activeClients: number;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { isatty } from \"tty\";\r\nimport { FilterModel } from \"../../../../super-admin-portal/core/modals/common-model\";\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DashboardService {\r\n private getEncounterListForDashboardURL = 'AdminDashboard/GetOrganizationEncounter';\r\n private getAuthListForDashboardURL = 'AdminDashboard/GetOrganizationAuthorization';\r\n private getAdminDashboardDataURL=\"AdminDashboard/GetAdminDashboardData\";\r\n private getClientStatusChartURL=\"AdminDashboard/GetClientStatusChart\";\r\n private getDashboardBasicInfoURL=\"AdminDashboard/GetDashboardBasicInfo\";\r\n private getPendingPatientAppointmentURL = 'api/PatientAppointments/GetPendingAppointmentList';\r\n private getCancelledPatientAppointmentURL = 'api/PatientAppointments/GetCancelledAppointmentList';\r\n \r\n constructor(private commonService: CommonService) {\r\n }\r\n\r\n getEncounterListForDashboard(filterModel:FilterModel)\r\n {\r\n let url=this.getEncounterListForDashboardURL+\"?pageNumber=\"+filterModel.pageNumber+\"&pageSize=\"+filterModel.pageSize;\r\n return this.commonService.getAll(url,{});\r\n }\r\n\r\n getAuthListForDashboard(filterModel:FilterModel)\r\n {\r\n let url=this.getAuthListForDashboardURL+\"?pageNumber=\"+filterModel.pageNumber+\"&pageSize=\"+filterModel.pageSize;\r\n return this.commonService.getAll(url,{});\r\n }\r\n getAdminDashboardData()\r\n {\r\n return this.commonService.getAll(this.getAdminDashboardDataURL,{});\r\n }\r\n getClientStatusChart()\r\n {\r\n return this.commonService.getAll(this.getClientStatusChartURL,{});\r\n }\r\n getDashboardBasicInfo()\r\n {\r\n return this.commonService.getAll(this.getDashboardBasicInfoURL,{});\r\n }\r\n getPendingPatientAppointment(filterModel: FilterModel) {\r\n const URL = this.getPendingPatientAppointmentURL + '?pageNumber=' + filterModel.pageNumber + '&pageSize=' + filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n getCancelledPatientAppointment(filterModel: FilterModel) {\r\n const URL = this.getCancelledPatientAppointmentURL + '?pageNumber=' + filterModel.pageNumber + '&pageSize=' + filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n}","module.exports = \"\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{rel.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select a diagnosis\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{rel.value}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter valid 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 Please enter valid 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\"","import { DiagnosisService } from \"./../diagnosis.service\";\r\nimport { Component, OnInit, EventEmitter, Output, Inject } from \"@angular/core\";\r\n\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\nimport { DiagnosisModel } from \"src/app/platform/modules/agency-portal/clients/diagnosis/diagnosis.model\";\r\n\r\n@Component({\r\n selector: \"app-diagnosis-modal\",\r\n templateUrl: \"./diagnosis-modal.component.html\",\r\n styleUrls: [\"./diagnosis-modal.component.css\"]\r\n})\r\nexport class DiagnosisModalComponent implements OnInit {\r\n statusList: any[];\r\n diagnosisModel: DiagnosisModel;\r\n diagnosisForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = \"Add Diagnosis\";\r\n masterICD: any[];\r\n patientId: number;\r\n maxDate = new Date();\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private diagnosisDialogModalRef: MatDialogRef,\r\n private diagnosisService: DiagnosisService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService\r\n ) {\r\n this.diagnosisModel = data.diagnosis;\r\n this.refreshGrid.subscribe(data.refreshGrid);\r\n\r\n if (this.diagnosisModel.id != null && this.diagnosisModel.id > 0)\r\n this.headerText = \"Edit Diagnosis\";\r\n else this.headerText = \"Add Diagnosis\";\r\n\r\n this.patientId = this.diagnosisModel.patientID;\r\n\r\n this.statusList = [\r\n { id: true, value: \"Active\" },\r\n { id: false, value: \"Inactive\" }\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n this.diagnosisForm = this.formBuilder.group({\r\n id: [this.diagnosisModel.id],\r\n icdid: [this.diagnosisModel.icdid],\r\n isActive: [this.diagnosisModel.isActive],\r\n diagnosisDate: [this.diagnosisModel.diagnosisDate],\r\n resolveDate: [this.diagnosisModel.resolveDate]\r\n });\r\n this.getMasterData();\r\n this.formControlValueChanged();\r\n }\r\n\r\n get formControls() {\r\n return this.diagnosisForm.controls;\r\n }\r\n onSubmit(event: any) {\r\n if (!this.diagnosisForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.diagnosisModel = this.diagnosisForm.value;\r\n this.diagnosisModel.patientID = this.patientId;\r\n this.diagnosisModel.resolveDate = this.diagnosisModel.isActive\r\n ? null\r\n : this.diagnosisModel.resolveDate;\r\n this.diagnosisService\r\n .createDiagnosis(this.diagnosisModel)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n if (clickType == \"Save\") this.closeDialog(\"save\");\r\n else if (clickType == \"SaveAddMore\") {\r\n this.refreshGrid.next();\r\n this.diagnosisForm.reset();\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n formControlValueChanged() {\r\n const resolveDateControl = this.diagnosisForm.get(\"resolveDate\");\r\n this.diagnosisForm.get(\"isActive\").valueChanges.subscribe((mode: any) => {\r\n if (mode == false) {\r\n resolveDateControl.setValidators([Validators.required]);\r\n } else {\r\n resolveDateControl.clearValidators();\r\n }\r\n resolveDateControl.updateValueAndValidity();\r\n });\r\n }\r\n closeDialog(action: string): void {\r\n this.diagnosisDialogModalRef.close(action);\r\n }\r\n\r\n getMasterData() {\r\n let data = \"MASTERICD\";\r\n this.diagnosisService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterICD = response.masterICD != null ? response.masterICD : [];\r\n }\r\n });\r\n }\r\n}\r\n","import { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { DiagnosisModel } from \"./../../clients/diagnosis/diagnosis.model\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DiagnosisService {\r\n private createDiagnosisURL = \"PatientsDiagnosis/SavePatientDiagnosis\";\r\n private getMasterDataByNameURL = \"api/MasterData/MasterDataByName\";\r\n private getSoapNotePatientDiagnosisListURL = \"patient-encounter/GetPatientDiagnosisDetails/\";\r\n private getDiagnosisByIdURL = \"PatientsDiagnosis/GetDiagnosisById\";\r\n private deleteDiagnosisURL = \"PatientsDiagnosis/DeleteDiagnosis\";\r\n constructor(private commonService: CommonService) {}\r\n createDiagnosis(data: DiagnosisModel) {\r\n return this.commonService.post(this.createDiagnosisURL, data);\r\n }\r\n getMasterData(value: string = \"\") {\r\n return this.commonService.post(this.getMasterDataByNameURL, {\r\n masterdata: value\r\n });\r\n }\r\n getSoapNoteDiagnosisList(clientId: number) {\r\n // let url=this.getDiagnosisListURL+\"?PatientId=\"+clientId;\r\n return this.commonService.getAll(\r\n this.getSoapNotePatientDiagnosisListURL + clientId,\r\n {}\r\n );\r\n }\r\n getDiagnosisById(id: number) {\r\n return this.commonService.getById(\r\n this.getDiagnosisByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deleteDiagnosis(id: number) {\r\n return this.commonService.patch(this.deleteDiagnosisURL + \"?id=\" + id, {});\r\n }\r\n}\r\n","import { ThankYouComponent } from \"./thank-you/thank-you.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { SoapComponent } from \"./soap/soap.component\";\r\nimport { NonBillableSoapComponent } from \"./non-billable-soap/non-billable-soap.component\";\r\nimport { VideoCallComponent } from \"./video-call/video-call.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"soap\",\r\n component: SoapComponent\r\n },\r\n {\r\n path: \"non-billable-soap\",\r\n component: NonBillableSoapComponent\r\n },\r\n {\r\n path: \"video-call\",\r\n component: VideoCallComponent\r\n },\r\n {\r\n path: \"thank-you\",\r\n component: ThankYouComponent\r\n },\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class EncounterRoutingModule {}\r\n","import { SharedModule } from \"./../../../../shared/shared.module\";\r\nimport { DiagnosisService } from \"./diagnosis/diagnosis.service\";\r\n//import { DiagnosisModalComponent } from \"./../clients/diagnosis/diagnosis-modal/diagnosis-modal.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SoapComponent } from \"./soap/soap.component\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport {\r\n MatInputModule,\r\n MatButtonModule,\r\n MatOptionModule,\r\n MatSelectModule,\r\n MAT_DIALOG_DEFAULT_OPTIONS,\r\n MatDialogModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatDatepickerModule,\r\n MatCardModule\r\n} from \"@angular/material\";\r\nimport { EncounterRoutingModule } from \"./encounter-routing.module\";\r\nimport { EncounterService } from \"./encounter.service\";\r\nimport { SignaturePadModule } from \"angular2-signaturepad\";\r\nimport { SignDialogComponent } from \"./sign-dialog/sign-dialog.component\";\r\nimport { NonBillableSoapComponent } from \"./non-billable-soap/non-billable-soap.component\";\r\nimport { VideoChatComponent } from \"./video-chat/video-chat.component\";\r\nimport { PublisherComponent } from \"./video-chat/publisher/publisher.component\";\r\nimport { SubscriberComponent } from \"./video-chat/subscriber/subscriber.component\";\r\nimport { VideoCallComponent } from \"./video-call/video-call.component\";\r\nimport { FormioModule } from \"angular-formio\";\r\nimport { TemplateFormComponent } from \"./template-form/template-form.component\";\r\nimport { ResizableModule } from \"angular-resizable-element\";\r\nimport { DragAndDropModule } from \"angular-draggable-droppable\";\r\n//import { SocketIoModule, SocketIoConfig } from \"ngx-socket-io\";\r\n//import { MeanVideoComponent } from \"src/app/platform/modules/agency-portal/encounter/mean-video/mean-video.component\";\r\n//import { ChatService } from \"src/app/platform/modules/agency-portal/encounter/mean-video/chat.service\";\r\nimport { ScrollbarModule } from \"ngx-scrollbar\";\r\nimport { DiagnosisModalComponent } from \"./diagnosis/diagnosis-modal/diagnosis-modal.component\";\r\nimport { AddServiceCodeModalComponent } from \"src/app/platform/modules/agency-portal/encounter/service-code-modal/add-service-code-modal.component\";\r\nimport { ThankYouComponent } from \"./thank-you/thank-you.component\";\r\nimport { VideoButtonComponent } from './video-chat/video-button/video-button.component';\r\nimport { PatientEncounterNotesModalComponent } from \"./patientencounternotes-modal/patientencounternotes.component\";\r\nimport { AgencyPortalModule } from \"../agency-portal.module\";\r\n//import { DiagnosisModelComponent } from \"./diagnosis/diagnosis-model/diagnosis-model.component\";\r\n// const config: SocketIoConfig = {\r\n// url: \"https://turn.stagingsdei.com:5187\",\r\n// options: {}\r\n// };\r\n//import { DndModule } from 'ngx-drag-drop';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormioModule,\r\n EncounterRoutingModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatOptionModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n SignaturePadModule,\r\n MatDatepickerModule,\r\n ResizableModule,\r\n DragAndDropModule,\r\n //SocketIoModule.forRoot(config),\r\n ScrollbarModule,\r\n // DndModule,\r\n SharedModule,\r\n MatCardModule,\r\n AgencyPortalModule\r\n ],\r\n declarations: [\r\n SoapComponent,\r\n SignDialogComponent,\r\n NonBillableSoapComponent,\r\n VideoChatComponent,\r\n PublisherComponent,\r\n SubscriberComponent,\r\n VideoCallComponent,\r\n TemplateFormComponent,\r\n DiagnosisModalComponent,\r\n AddServiceCodeModalComponent,\r\n ThankYouComponent,\r\n VideoButtonComponent,\r\n //MeanVideoComponent,\r\n PatientEncounterNotesModalComponent,\r\n ],\r\n providers: [\r\n EncounterService,\r\n DiagnosisService,\r\n //ChatService,\r\n\r\n {\r\n provide: MAT_DIALOG_DEFAULT_OPTIONS,\r\n useValue: {\r\n hasBackdrop: true,\r\n disableClose: true,\r\n minWidth: \"55%\",\r\n maxWidth: \"90%\"\r\n }\r\n }\r\n ],\r\n entryComponents: [\r\n SignDialogComponent,\r\n TemplateFormComponent,\r\n DiagnosisModalComponent,\r\n AddServiceCodeModalComponent,\r\n PatientEncounterNotesModalComponent\r\n ],\r\n exports: [PublisherComponent, SubscriberComponent, SoapComponent,\r\n SignDialogComponent,\r\n NonBillableSoapComponent,VideoCallComponent,\r\n TemplateFormComponent,\r\n DiagnosisModalComponent,\r\n AddServiceCodeModalComponent,\r\n ThankYouComponent,\r\n VideoButtonComponent,\r\n //MeanVideoComponent,\r\n PatientEncounterNotesModalComponent]\r\n})\r\nexport class EncounterModule {}\r\n","import { Injectable, ElementRef } from \"@angular/core\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { Observable, BehaviorSubject } from \"rxjs\";\r\nimport { PatientEncounterNotesModel } from \"../clients/diagnosis/diagnosis.model\";\r\n\r\nconst getQueryParamsFromObject = (filterModal: object): string => {\r\n let queryParams = \"\";\r\n let index = 0;\r\n for (const key of Object.keys(filterModal)) {\r\n if (index === 0) queryParams += `?${key}=${filterModal[key]}`;\r\n else queryParams += `&${key}=${filterModal[key]}`;\r\n\r\n index++;\r\n }\r\n return queryParams;\r\n};\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class EncounterService {\r\n private changeSOAPPanelStateSubject = new BehaviorSubject({});\r\n public SOAPPanelData = this.changeSOAPPanelStateSubject.asObservable();\r\n\r\n getMasterDataURL = \"api/MasterData/MasterDataByName\";\r\n getPatientEncounterDetailsURL = \"patient-encounter/GetPatientEncounterDetails\";\r\n getNonBillableEncounterDetailsURL = \"patient-encounter/GetPatientNonBillableEncounterDetails\";\r\n getAppConfigurationsURL = \"AppConfigurations/GetAppConfigurations\";\r\n savePatientEncounterURL = \"patient-encounter/SavePatientEncounter\";\r\n updatePatientEncounterURL = \"patient-encounter/UpdatePatientEncounter\";\r\n DeleteNoteEncounter=\"patient-encounter/DeletePatientEncounterNotes?id=\";\r\n getPatientEncounterNotesURL = \"patient-encounter/GetPatientEncounterNotes\";\r\n saveNonBillableEncounterURL = \"patient-encounter/SavePatientNonBillableEncounter\";\r\n saveEncounterSignatureURL = \"patient-encounter/SaveEncounterSignature\";\r\n createClaimURL = \"Claim/CreateClaim\";\r\n private getClientHeaderInfoURL = \"Patients/GetPatientHeaderInfo\";\r\n getTelehealthSessionURL = \"api/Telehealth/GetTelehealthSession?appointmentId=\";\r\n getMasterTemplatesURL = \"MasterTemplates/GetMasterTemplates\";\r\n GetTemplateByIdURL = \"patient-encounter/GetPatientEncounterTemplateData\";\r\n SaveTemplateDataURL = \"patient-encounter/SaveEncounterTemplateData\";\r\n private getPreviousEncountersURL = \"patient-encounter/GetPreviousEncounters\";\r\n private getPreviousEncountersDataURL = \"patient-encounter/GetPreviousEncountersData\";\r\n private checkServiceCodeAvailabilityURL = \"patient-encounter/CheckServiceCodeAvailability\";\r\n getTelehealthSessionForInvitedAppointmentIdURL = \"api/Telehealth/GetTelehealthSessionByInvitedAppointmentId?appointmentId=\";\r\n private savePatientEncounterNotesURL = \"patient-encounter/SavePatientEncounterNotes\";\r\n updateAppointmentStatusURL = \"api/PatientAppointments/UpdateAppointmentStatus\";\r\n\r\n\r\n private SOAPPanel: ElementRef;\r\n constructor(private commonService: CommonService) {}\r\n\r\n changeSOAPPanelData(\r\n changedState: boolean,\r\n extraParams: any,\r\n isSaved: boolean = false\r\n ) {\r\n this.changeSOAPPanelStateSubject.next({\r\n changedState,\r\n ...extraParams,\r\n isSaved\r\n });\r\n }\r\n get SOAPPanelRef() {\r\n return this.SOAPPanel;\r\n }\r\n CheckServiceCodeAvailability(\r\n patientAppointmentId: number,\r\n serviceCodeId: string\r\n ) {\r\n const queryParams = `?patientAppointmentId=${patientAppointmentId}&serviceCodeId=${serviceCodeId}`;\r\n return this.commonService.post(\r\n this.checkServiceCodeAvailabilityURL + queryParams,\r\n {}\r\n );\r\n }\r\n public setClientPanel(clientPanel: ElementRef) {\r\n this.SOAPPanel = clientPanel;\r\n }\r\n getMasterData(masterData: any): Observable {\r\n return this.commonService.post(this.getMasterDataURL, masterData);\r\n }\r\n\r\n GetPatientEncounterDetails(apptId: number, encId: number, isAdmin: boolean) {\r\n const queryParams = `/${apptId}/${encId}?isAdmin=${isAdmin}`;\r\n return this.commonService.getAll(\r\n this.getPatientEncounterDetailsURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getNonBillableEncounterDetails(\r\n apptId: number,\r\n encId: number,\r\n isAdmin: boolean\r\n ) {\r\n const queryParams = `/${apptId}/${encId}?isAdmin=${isAdmin}`;\r\n return this.commonService.getAll(\r\n this.getNonBillableEncounterDetailsURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getAppConfigurations() {\r\n return this.commonService.getAll(this.getAppConfigurationsURL, {});\r\n }\r\n\r\n SavePatientEncounter(postData: any, isAdmin: boolean) {\r\n \r\n const queryParams = `?isAdmin=${isAdmin}`;\r\n return this.commonService.post(\r\n this.savePatientEncounterURL + queryParams,\r\n postData\r\n );\r\n }\r\n updatePatientEncounter(postData: any) {\r\n \r\n return this.commonService.post(\r\n this.updatePatientEncounterURL,\r\n postData\r\n );\r\n }\r\n\r\n saveNonBillableEncounter(postData: any, isAdmin: boolean) {\r\n const queryParams = `?isAdmin=${isAdmin}`;\r\n return this.commonService.post(\r\n this.saveNonBillableEncounterURL + queryParams,\r\n postData\r\n );\r\n }\r\n\r\n saveEncounterSignature(postData: any) {\r\n return this.commonService.post(this.saveEncounterSignatureURL, postData);\r\n }\r\n\r\n createClaim(encounterId: number, isAdmin: boolean) {\r\n const queryParams = `?patientEncounterId=${encounterId}&isAdmin=${isAdmin}`;\r\n return this.commonService.post(this.createClaimURL + queryParams, {});\r\n }\r\n\r\n getClientHeaderInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getClientHeaderInfoURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n getTelehealthSession(appointmentId: number) {\r\n console.log(\"12 Gettelehealthsesson called from encounter service \");\r\n //const queryParams = getQueryParamsFromObject(filters);\r\n return this.commonService.getAll(\r\n `${this.getTelehealthSessionURL}${appointmentId}`,\r\n {}\r\n );\r\n }\r\n getTelehealthSessionForInvitedAppointmentId(appointmentId: number) {\r\n //const queryParams = getQueryParamsFromObject(filters);\r\n return this.commonService.getAll(\r\n `${this.getTelehealthSessionForInvitedAppointmentIdURL}${appointmentId}`,\r\n {}\r\n );\r\n }\r\n\r\n getMasterTemplates() {\r\n return this.commonService.getAll(this.getMasterTemplatesURL, {});\r\n }\r\n\r\n getTemplateForm(patientEncounterId: number, templateId: number) {\r\n const queryParams = `?patientEncounterId=${patientEncounterId}&masterTemplateId=${templateId}`;\r\n return this.commonService.getById(\r\n this.GetTemplateByIdURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n saveTemplateData(postData: any) {\r\n return this.commonService.post(this.SaveTemplateDataURL, postData);\r\n }\r\n getPreviousEncounters(patientId: number, fromDate: string, toDate: string) {\r\n let url =\r\n this.getPreviousEncountersURL +\r\n \"?patientId=\" +\r\n patientId +\r\n \"&fromDate=\" +\r\n fromDate +\r\n \"&toDate=\" +\r\n toDate;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getPreviousEncountersData(previousEncounterId: number) {\r\n \r\n let url =\r\n this.getPreviousEncountersDataURL +\r\n \"?previousEncounterId=\" +\r\n previousEncounterId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n savePatientEncounterNotes(data: PatientEncounterNotesModel) {\r\n return this.commonService.post(this.savePatientEncounterNotesURL, data);\r\n }\r\n\r\n GetPatientEncounterNotes(apptId: number){\r\n const queryParams = `/${apptId}`;\r\n\r\n return this.commonService.getAll(this.getPatientEncounterNotesURL+ queryParams, {});\r\n }\r\n\r\n deleteNote(Id:number){\r\n return this.commonService.put(this.DeleteNoteEncounter+ Id,\"\")\r\n }\r\n updateAppointmentStatus(appointmentData: any): Observable {\r\n return this.commonService.post(\r\n this.updateAppointmentStatusURL,\r\n appointmentData\r\n );\r\n }\r\n}\r\n","module.exports = \"/*Soap Page*/\\r\\n\\r\\n.soap_detail p {\\r\\n margin: 0px 0px 15px;\\r\\n}\\r\\n\\r\\n.soap_detail b {\\r\\n color: #7a7a7a;\\r\\n font-weight: 400;\\r\\n font-size: 12px;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.soap_detail span {\\r\\n color: #000;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.soap_content {\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.soapmodal_btn {\\r\\n margin-top: 7px;\\r\\n}\\r\\n\\r\\n.sign h3{\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.sign h3>span {\\r\\n font-size: 13px;\\r\\n font-weight: 400;\\r\\n margin: 0px;\\r\\n color:#7a7a7a;\\r\\n}\\r\\n\\r\\n.sign p, .sign p>span{\\r\\n font-size: 12px;\\r\\n margin: 3px 0px 0px;\\r\\n color:#7a7a7a;\\r\\n}\\r\\n\\r\\n.sign {\\r\\n border: 1px solid #eceeef;\\r\\n padding: 10px;\\r\\n overflow: hidden;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n\\r\\n.sign img{margin-bottom: 10px;}\\r\\n\\r\\n.readmin-panel{width: 100%;display: inline-block;}\\r\\n\\r\\n@media (max-width: 1199px) {\\r\\n /*soap page*/\\r\\n .soap_detail b {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n /*Soap Page*/\\r\\n .soap_detail p {\\r\\n width: 50%;\\r\\n }\\r\\n}\\r\\n\\r\\n@media(max-width: 480px) {\\r\\n /*Soap Note*/\\r\\n .detail_wd p, .soap_detail p {\\r\\n width: 100%;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n

Visit 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 {{tag.tag}}\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
    • \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.phone||''}}
    • \\r\\n
    • \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.email||''}}
    • \\r\\n
    • \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.address||''}}
    • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n

    \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.primaryProvider||''}}\\r\\n -\\r\\n

    \\r\\n

    {{allergy.allergen||''}}

    \\r\\n

    No allergies found

    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

\\r\\n Gender :\\r\\n {{clientHeaderModel.patientBasicHeaderInfo.gender||''}}\\r\\n

\\r\\n

\\r\\n D.O.B :\\r\\n {{clientHeaderModel.patientBasicHeaderInfo.dob||''}}\\r\\n

\\r\\n

\\r\\n SSN: \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.ssn||''}}\\r\\n

\\r\\n

\\r\\n MRN : \\r\\n {{clientHeaderModel.patientBasicHeaderInfo.mrn||''}}\\r\\n

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

Appointment

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

\\r\\n Appointment :\\r\\n {{patientAppointmentDetails && patientAppointmentDetails.patientName}}\\r\\n

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

\\r\\n Appointment Date :\\r\\n {{patientAppointmentDetails && patientAppointmentDetails.startDateTime|date:\\\"MM/dd/yyyy\\\"}}\\r\\n

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

\\r\\n Appointment Time:\\r\\n {{appointmentStartTime + ' - ' + appointmentEndTime}}\\r\\n

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

\\r\\n Seen By :\\r\\n {{ staffDetails && staffDetails.staffName }}\\r\\n

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

\\r\\n Service Type :\\r\\n {{ (patientAppointmentDetails && patientAppointmentDetails.isDirectService) ? 'Direct' : 'Indirect'\\r\\n }}\\r\\n \\r\\n

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

\\r\\n Service Location :\\r\\n {{patientAppointmentDetails && patientAppointmentDetails.serviceLocationID}}\\r\\n

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

\\r\\n Start Time\\r\\n {{appointmentStartTime}}\\r\\n

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

\\r\\n End time\\r\\n {{appointmentEndTime}}\\r\\n

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

Notes

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

\\r\\n Description \\r\\n {{' '+PatientEncounterNotes}}\\r\\n

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

Signature

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{employeeSign.name}}\\r\\n (Employee)\\r\\n

\\r\\n

\\r\\n Date :{{employeeSign.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

{{patientSign.name}}\\r\\n (Client)\\r\\n

\\r\\n

\\r\\n Date :{{patientSign.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

{{guardianSign.name}}\\r\\n (Guardian)\\r\\n

\\r\\n

\\r\\n Date :{{guardianSign.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\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { EncounterService } from '../encounter.service';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { format } from 'date-fns';\r\nimport { MatDialog } from '@angular/material';\r\nimport { SignDialogComponent } from '../sign-dialog/sign-dialog.component';\r\nimport { ClientHeaderModel } from '../../clients/client-header.model';\r\nimport { CommonService } from '../../../core/services';\r\nimport {Location} from '@angular/common';\r\nimport { FormioOptions } from 'angular-formio';\r\n\r\nclass signModal {\r\n id: number = 0;\r\n bytes: string = null;\r\n date: string = null;\r\n name: string = null;\r\n}\r\n\r\n@Component({\r\n selector: 'app-non-billable-soap',\r\n templateUrl: './non-billable-soap.component.html',\r\n styleUrls: ['./non-billable-soap.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class NonBillableSoapComponent implements OnInit {\r\n soapForm: FormGroup;\r\n previousEncounterId: number;\r\n templateFormId: number = null;\r\n \r\n public jsonFormData: Object = {\r\n components: [],\r\n };\r\n initialFormValues: Object = {\r\n data: {},\r\n };\r\n formioOptions: FormioOptions = {\r\n disableAlerts: true,\r\n };\r\n tempDataId:number;\r\n appointmentId: number;\r\n encounterId: number;\r\n soapNoteId: number;\r\n submitted: boolean;\r\n submittedSign: boolean;\r\n appConfiguration: Array;\r\n patientAppointmentDetails: any;\r\n soapNotes: any;\r\n encounterSignature: Array;\r\n staffDetails: any;\r\n appointmentStartTime: string;\r\n appointmentEndTime: string;\r\n patientSign: signModal = new signModal();\r\n employeeSign: signModal = new signModal();\r\n guardianSign: signModal = new signModal();\r\n isGuardianSigned: boolean;\r\n isClientSigned: boolean;\r\n isEmployeeSigned: boolean;\r\n isAllSigned: boolean;\r\n isSoapCompleted: boolean;\r\n\r\n // client header info \r\n clientHeaderModel: ClientHeaderModel;\r\n PatientEncounterDetails: any;\r\n PatientEncounterNotes: any;\r\n constructor(\r\n private signDailog: MatDialog,\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private encounterService: EncounterService,\r\n private notifierService: NotifierService,\r\n private commonService: CommonService,\r\n private location:Location\r\n ) {\r\n this.submitted = false;\r\n this.submittedSign = false;\r\n this.soapNoteId = 0;\r\n this.appConfiguration = [];\r\n this.patientAppointmentDetails = null;\r\n this.soapNotes = null;\r\n this.encounterSignature = [];\r\n this.staffDetails = null;\r\n this.appointmentStartTime = null;\r\n this.appointmentEndTime = null;\r\n this.isGuardianSigned = false;\r\n this.isClientSigned = false;\r\n this.isEmployeeSigned = false;\r\n this.isAllSigned = false;\r\n this.isSoapCompleted = false;\r\n\r\n this.clientHeaderModel = new ClientHeaderModel();\r\n\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.appointmentId = params.apptId == undefined ? 0 : parseInt(params.apptId);\r\n this.encounterId = params.encId == undefined ? 0 : parseInt(params.encId);\r\n \r\n this.getNonBillableEncounterDetails();\r\n this.GetPatientEncounterDetails();\r\n this.getSelectedPreviousEncountersData();\r\n this.GetPatientEncounterNotes();\r\n \r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.soapForm = this.formBuilder.group({\r\n 'nonBillableNotes': [''],\r\n });\r\n this.getAppConfigurations();\r\n \r\n \r\n }\r\n\r\n get formControls() {\r\n return this.soapForm.controls;\r\n }\r\n\r\n onBackClick() {\r\n // this.router.navigate(['/web/client/scheduling']);\r\n this.location.back();\r\n }\r\n\r\n onNavigate(url: string) {\r\n const clientId = this.patientAppointmentDetails && this.patientAppointmentDetails.patientID;\r\n if(clientId)\r\n this.router.navigate([url], { queryParams: { id: this.commonService.encryptValue(clientId, true) } });\r\n }\r\n\r\n checkIsRequiredSigned() {\r\n let employee_signRequired = false,\r\n client_signRequired = false,\r\n guardian_signRequired = false;\r\n if (this.appConfiguration && this.appConfiguration.length) {\r\n this.appConfiguration.forEach((Obj) => {\r\n if (Obj.configType === 1) {\r\n switch (Obj.key) {\r\n case 'CLINICIAN_SIGN':\r\n employee_signRequired = (Obj.value.toString().toLowerCase() === 'true');\r\n break;\r\n case 'PATIENT_SIGN':\r\n client_signRequired = (Obj.value.toString().toLowerCase() === 'true');\r\n break;\r\n case 'GUARDIAN_SIGN':\r\n guardian_signRequired = (Obj.value.toString().toLowerCase() === 'true');\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n let employee_Signed = true, client_signed = true, guardian_signed = true;\r\n if (employee_signRequired) {\r\n if (this.isEmployeeSigned) {\r\n employee_Signed = true;\r\n } else {\r\n employee_Signed = false;\r\n }\r\n }\r\n if (client_signRequired) {\r\n if (this.isClientSigned) {\r\n client_signed = true;\r\n } else {\r\n client_signed = false;\r\n }\r\n }\r\n if (guardian_signRequired) {\r\n if (this.isGuardianSigned) {\r\n guardian_signed = true;\r\n } else {\r\n guardian_signed = false;\r\n }\r\n }\r\n // finally check if all required are signed ...\r\n if (employee_Signed && client_signed && guardian_signed) {\r\n this.isAllSigned = true;\r\n } else {\r\n this.isAllSigned = false;\r\n }\r\n }\r\n\r\n openSignDialog() {\r\n const staffsList = [{\r\n id: this.staffDetails && this.staffDetails.staffId,\r\n value: this.staffDetails && this.staffDetails.staffName,\r\n }]\r\n const clientDetails = {\r\n id: this.patientAppointmentDetails && this.patientAppointmentDetails.patientID,\r\n value: this.patientAppointmentDetails && this.patientAppointmentDetails.patientName\r\n }\r\n const modalPopup = this.signDailog.open(SignDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffsList,\r\n clientDetails,\r\n SignatoryLists : ['Employee']\r\n }\r\n });\r\n\r\n modalPopup.afterClosed().subscribe(result => {\r\n if (result) {\r\n switch ((result.Signatory || '').toUpperCase()) {\r\n case 'EMPLOYEE':\r\n this.employeeSign = {\r\n ...this.employeeSign,\r\n date: format(new Date(), 'YYYY-MM-DDTHH:mm:ss'),\r\n name: result.name,\r\n bytes: (result.bytes || '').split(',')[1]\r\n }\r\n this.isEmployeeSigned=true;\r\n break;\r\n case 'CLIENT':\r\n this.patientSign = {\r\n ...this.patientSign,\r\n date: format(new Date(), 'YYYY-MM-DDTHH:mm:ss'),\r\n name: result.name,\r\n bytes: (result.bytes || '').split(',')[1]\r\n }\r\n this.isClientSigned=true;\r\n break;\r\n case 'GUARDIAN':\r\n this.guardianSign = {\r\n ...this.guardianSign,\r\n date: format(new Date(), 'YYYY-MM-DDTHH:mm:ss'),\r\n name: result.name,\r\n bytes: (result.bytes || '').split(',')[1]\r\n }\r\n this.isGuardianSigned=true;\r\n break;\r\n }\r\n this.checkIsRequiredSigned();\r\n }\r\n });\r\n }\r\n\r\n\r\n onSubmitTemplate(event: any) {\r\n \r\n const jsonData = {\r\n id:this.tempDataId,\r\n templateData: JSON.stringify(event),\r\n };\r\n let postData: Array = [];\r\n postData.push(jsonData);\r\n\r\n this.onSubmit(postData);\r\n }\r\n onSubmit(formioData: any) {\r\n if (this.soapForm.invalid) {\r\n return null;\r\n }\r\n \r\n const postData = {\r\n PatientEncounterTemplate: formioData,\r\n };\r\n this.savePatientEncounter(postData);\r\n }\r\n savePatientEncounter(postData: any, isAdmin: boolean = false) {\r\n \r\n this.encounterService\r\n .updatePatientEncounter(postData)\r\n .subscribe((response) => {\r\n \r\n if (response.statusCode == 200) {\r\n this.notifierService.notify(\"success\", response.message);\r\n \r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n getAppConfigurations() {\r\n this.encounterService.getAppConfigurations()\r\n .subscribe(\r\n response => {\r\n if (response.statusCode == 200) {\r\n this.appConfiguration = response.data || [];\r\n } else {\r\n this.appConfiguration = [];\r\n }\r\n this.checkIsRequiredSigned();\r\n }\r\n )\r\n }\r\n\r\n getNonBillableEncounterDetails() {\r\n \r\n this.encounterService.getNonBillableEncounterDetails(this.appointmentId, this.encounterId, false)\r\n .subscribe(\r\n response => {\r\n \r\n if (response.statusCode == 200) {\r\n this.patientAppointmentDetails = response.data.patientAppointment || [];\r\n this.soapNotes = response.data.nonBillableNotes || null;\r\n this.encounterSignature = response.data.encounterSignature || [];\r\n this.isSoapCompleted = (response.data.status || '').toUpperCase() === 'RENDERED';\r\n this.filterDetails();\r\n } else {\r\n this.patientAppointmentDetails = null;\r\n this.soapNotes = null;\r\n this.encounterSignature = [];\r\n this.isSoapCompleted = false;\r\n }\r\n }\r\n )\r\n }\r\n\r\n GetPatientEncounterDetails() {\r\n \r\n this.encounterService.GetPatientEncounterDetails(this.appointmentId, this.encounterId, false)\r\n .subscribe(\r\n response => {\r\n \r\n if (response.statusCode == 200) {\r\n \r\n this.PatientEncounterDetails = JSON.parse(response.data.patientEncounterTemplate[0].templateData).data;\r\n \r\n this.tempDataId=JSON.parse(response.data.patientEncounterTemplate[0].id);\r\n }\r\n }\r\n )\r\n }\r\n GetPatientEncounterNotes() {\r\n \r\n this.encounterService.GetPatientEncounterNotes(this.appointmentId)\r\n .subscribe(\r\n response => {\r\n \r\n if (response.statusCode == 200) {\r\n this.PatientEncounterNotes =(response.data[0].encounterNotes);\r\n \r\n }\r\n }\r\n )\r\n }\r\n getSelectedPreviousEncountersData() {\r\n this.encounterService\r\n .getPreviousEncountersData(this.encounterId)\r\n .subscribe((response) => {\r\n \r\n if (response.statusCode == 200) {\r\n this.templateFormId =\r\n (response.data.patientEncounterTemplate &&\r\n response.data.patientEncounterTemplate[0].masterTemplateId) ||\r\n 0;\r\n // this.filterDetails();\r\n }\r\n \r\n if (this.encounterId) {\r\n this.getTemplateForm(this.templateFormId);\r\n }\r\n \r\n });\r\n }\r\n getTemplateForm(id: number) {\r\n \r\n this.encounterService\r\n .getTemplateForm(this.encounterId, id)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n \r\n let formJson = { components: [] },\r\n formData = { data: {} };\r\n try {\r\n formJson = JSON.parse(response.data.templateJson);\r\n formData = JSON.parse(response.data.templateData);\r\n } catch (err) {}\r\n \r\n this.jsonFormData = response.data.templateJson\r\n ? formJson\r\n : this.jsonFormData;\r\n \r\n this.initialFormValues = response.data.templateData\r\n ? formData\r\n : this.initialFormValues;\r\n this.templateFormId = id;\r\n \r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n filterDetails() {\r\n if (this.patientAppointmentDetails) {\r\n const { appointmentStaffs, endDateTime, startDateTime } = this.patientAppointmentDetails;\r\n if (appointmentStaffs && appointmentStaffs.length) {\r\n this.staffDetails = appointmentStaffs[0];\r\n }\r\n this.appointmentStartTime = `${format(startDateTime, 'hh:mm a')}`\r\n this.appointmentEndTime = `${format(endDateTime, 'hh:mm a')}`\r\n\r\n if (this.patientAppointmentDetails.patientID)\r\n this.getClientHeaderInfo(this.patientAppointmentDetails.patientID);\r\n }\r\n\r\n if (this.soapNotes) {\r\n this.soapForm.patchValue({ nonBillableNotes: this.soapNotes })\r\n }\r\n\r\n if (this.encounterSignature && this.encounterSignature.length) {\r\n this.encounterSignature.forEach((signObj) => {\r\n if (signObj.guardianSign) {\r\n let data = {\r\n id: signObj.id,\r\n bytes: signObj.guardianSign,\r\n date: signObj.guardianSignDate,\r\n name: signObj.guardianName,\r\n };\r\n this.isGuardianSigned = true;\r\n this.guardianSign = data;\r\n }\r\n if (signObj.patientSign) {\r\n let data = {\r\n id: signObj.id,\r\n bytes: signObj.patientSign,\r\n date: signObj.patientSignDate,\r\n name: this.patientAppointmentDetails && this.patientAppointmentDetails.patientName,\r\n };\r\n this.isClientSigned = true;\r\n this.patientSign = data;\r\n }\r\n if (signObj.clinicianSign) {\r\n let data = {\r\n id: signObj.id,\r\n bytes: signObj.clinicianSign,\r\n date: signObj.clinicianSignDate,\r\n name: this.staffDetails && this.staffDetails.staffName,\r\n };\r\n this.isEmployeeSigned = true;\r\n this.employeeSign = data;\r\n }\r\n });\r\n }\r\n this.checkIsRequiredSigned();\r\n }\r\n\r\n saveNonBillableEncounter(postData: any, isAdmin: boolean = false) {\r\n this.submitted = true;\r\n this.encounterService.saveNonBillableEncounter(postData, isAdmin)\r\n .subscribe(\r\n response => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifierService.notify('success', response.message);\r\n if (!this.encounterId) {\r\n this.encounterId = response.data.id || 0;\r\n this.router.navigate([\"/web/encounter/non-billable-soap\"], {\r\n queryParams: {\r\n apptId: this.appointmentId,\r\n encId: this.encounterId\r\n }\r\n });\r\n }\r\n } else {\r\n this.notifierService.notify('error', response.message)\r\n }\r\n }\r\n )\r\n }\r\n\r\n getClientHeaderInfo(patientID: number) {\r\n this.encounterService.getClientHeaderInfo(patientID).subscribe((response: any) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.clientHeaderModel = response.data;\r\n this.clientHeaderModel.patientBasicHeaderInfo != null ? this.clientHeaderModel.patientBasicHeaderInfo.dob = format(this.clientHeaderModel.patientBasicHeaderInfo.dob, \"MM/DD/YYYY\") : '';\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as OT from '@opentok/client';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OpentokService {\r\n\r\n session: OT.Session;\r\n token: string;\r\n\r\n constructor() { }\r\n\r\n getOT() {\r\n return OT;\r\n }\r\n\r\n initSession(config: any) {\r\n if (config.API_KEY && config.TOKEN && config.SESSION_ID) {\r\n this.session = this.getOT().initSession(config.API_KEY, config.SESSION_ID);\r\n this.token = config.TOKEN;\r\n return Promise.resolve(this.session);\r\n } else {\r\n return fetch(config.SAMPLE_SERVER_BASE_URL + '/session')\r\n .then((data) => data.json())\r\n .then((json) => {\r\n this.session = this.getOT().initSession(json.apiKey, json.sessionId);\r\n this.token = json.token;\r\n return this.session;\r\n });\r\n }\r\n }\r\n\r\n connect() {\r\n return new Promise((resolve, reject) => {\r\n this.session.connect(this.token, (err) => {\r\n if (err) {\r\n reject(err);\r\n } else {\r\n resolve(this.session);\r\n }\r\n });\r\n });\r\n }\r\n}","module.exports = \"\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\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 { DiagnosisService } from \"./../diagnosis.service\";\r\nimport { Component, OnInit, EventEmitter, Output, Inject } from \"@angular/core\";\r\n\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\nimport { DiagnosisModel, PatientEncounterNotesModel } from \"src/app/platform/modules/agency-portal/clients/diagnosis/diagnosis.model\";\r\nimport { EncounterService } from \"../encounter.service\";\r\n\r\n@Component({\r\n selector: \"app-patientencounternotes-modal\",\r\n templateUrl: \"./patientencounternotes.component.html\",\r\n styleUrls: [\"./patientencounternotes.component.css\"]\r\n})\r\nexport class PatientEncounterNotesModalComponent implements OnInit {\r\n \r\n patientencounternotesModel: PatientEncounterNotesModel;\r\n patientencounternotesForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = \"Add Notes\";\r\n \r\n patientId: number;\r\n \r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private patientencounternotesModalRef: MatDialogRef,\r\n private encounterService: EncounterService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService\r\n ) {\r\n \r\n this.patientencounternotesModel = data.patientencounternote;\r\n //this.refreshGrid.subscribe(data.refreshGrid);\r\n\r\n // if (this.patientencounternotesModel.id != null && this.patientencounternotesModel.id > 0)\r\n // this.headerText = \"Edit Diagnosis\";\r\n // else \r\n this.headerText = \"Add Notes\";\r\n\r\n this.patientId = this.patientencounternotesModel.patientID;\r\n\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.patientencounternotesForm = this.formBuilder.group({\r\n //id: [this.patientencounternotesModel.id],\r\n encounternotes: [this.patientencounternotesModel.encounterNotes]\r\n \r\n });\r\n \r\n }\r\n\r\n get formControls() {\r\n return this.patientencounternotesForm.controls;\r\n }\r\n onSubmit(event: any) { \r\n if (!this.patientencounternotesForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.patientencounternotesModel.encounterNotes = this.patientencounternotesForm.get('encounternotes').value; \r\n this.encounterService\r\n .savePatientEncounterNotes(this.patientencounternotesModel)\r\n .subscribe((response: any) => { \r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", 'Note has been created successfully');\r\n if (clickType == \"Save\") this.closeDialog(\"save\");\r\n else if (clickType == \"SaveAddMore\") {\r\n //this.refreshGrid.next();\r\n //this.diagnosisForm.reset();\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n \r\n\r\n closeDialog(action: string): void {\r\n this.patientencounternotesModalRef.close(action);\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Service Code

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select service 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\"","import { Component, OnInit, Inject, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\n\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ServiceCodeModal } from \"src/app/platform/modules/agency-portal/masters/service-codes/service-code.modal\";\r\nimport { ServiceCodeService } from \"src/app/platform/modules/agency-portal/masters/service-codes/service-code.service\";\r\n\r\n@Component({\r\n selector: \"app-add-service-code-modal\",\r\n templateUrl: \"./add-service-code-modal.component.html\",\r\n styleUrls: [\"./add-service-code-modal.component.css\"]\r\n})\r\nexport class AddServiceCodeModalComponent implements OnInit {\r\n serviceCodeModel: ServiceCodeModal;\r\n serviceCodeForm: FormGroup;\r\n masterServiceCode: any = [];\r\n submitted: boolean = false;\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private serviceCodeDialogModalRef: MatDialogRef<\r\n AddServiceCodeModalComponent\r\n >,\r\n private serviceCodeService: ServiceCodeService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService\r\n ) {\r\n this.serviceCodeModel = data;\r\n this.refreshGrid.subscribe(data.refreshGrid);\r\n }\r\n\r\n ngOnInit() {\r\n this.serviceCodeForm = this.formBuilder.group({\r\n id: [this.serviceCodeModel.id],\r\n serviceCode: [this.serviceCodeModel.serviceCode]\r\n });\r\n this.getMasterData();\r\n }\r\n getMasterData() {\r\n this.serviceCodeService\r\n .getMasterData({ masterdata: \"MASTERSERVICECODE\" })\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterServiceCode =\r\n response.masterServiceCode != null\r\n ? response.masterServiceCode\r\n : [];\r\n }\r\n });\r\n }\r\n get formControls() {\r\n return this.serviceCodeForm.controls;\r\n }\r\n onSubmit() {\r\n if (!this.serviceCodeForm.invalid) {\r\n this.submitted = true;\r\n this.serviceCodeModel = this.serviceCodeForm.value;\r\n this.serviceCodeService\r\n .create(this.serviceCodeModel)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.closeDialog(\"save\");\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n onAddServiceCode() {\r\n this.refreshGrid.next(this.serviceCodeModel);\r\n this.closeDialog(\"close\");\r\n }\r\n closeDialog(action: string): void {\r\n this.serviceCodeDialogModalRef.close(action);\r\n }\r\n onServiceCodeSelection(event: any) {\r\n this.serviceCodeModel = new ServiceCodeModal();\r\n this.serviceCodeModel.serviceCode = event.value.serviceCode;\r\n this.serviceCodeModel.serviceCodeId = event.value.id;\r\n this.serviceCodeModel.description = event.value.description;\r\n this.serviceCodeModel.modifierModel =\r\n event.value.masterServiceCodeModifiers;\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Add Signature

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option}}\\r\\n \\r\\n \\r\\n \\r\\n Please select signatory\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select employee\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select guardian\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\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, Inject, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { SignaturePadModule } from 'angular2-signaturepad';\r\n\r\n@Component({\r\n selector: 'app-sign-dialog',\r\n templateUrl: './sign-dialog.component.html',\r\n styleUrls: ['./sign-dialog.component.css']\r\n})\r\nexport class SignDialogComponent implements OnInit {\r\n signForm: FormGroup;\r\n SignatoryLists: Array;\r\n StaffLists: Array;\r\n clientDetails: any;\r\n signDataUrl : string;\r\n submitted: boolean;\r\n @ViewChild(SignaturePadModule) signaturePad: SignaturePadModule;\r\n \r\n signaturePadOptions: Object = { // passed through to szimek/signature_pad constructor\r\n 'dotSize': parseFloat('0.1'),\r\n 'minWidth': 5,\r\n 'canvasWidth': 600,\r\n 'canvasHeight': 300\r\n };\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n public dialogPopup: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n ) {\r\n this.signDataUrl = null;\r\n this.submitted =false;\r\n this.SignatoryLists = data.SignatoryLists;\r\n this.StaffLists = data.staffsList || [];\r\n this.clientDetails = data.clientDetails || null;\r\n }\r\n\r\n ngOnInit() {\r\n this.signForm = this.formBuilder.group({\r\n 'Signatory': [''],\r\n 'StaffID': [''],\r\n 'Client': [this.clientDetails && this.clientDetails.value],\r\n 'Guardian': ['']\r\n })\r\n }\r\n\r\n get formControls() {\r\n return this.signForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n if (this.signForm.invalid || !this.signDataUrl) {\r\n return null;\r\n }\r\n\r\n const { StaffID, Signatory, Guardian } = this.signForm.value;\r\n\r\n let clientName = this.clientDetails && this.clientDetails.value,\r\n staffName = this.StaffLists.find(obj => obj.id == StaffID) && this.StaffLists.find(obj => obj.id == StaffID).value,\r\n guardianName = Guardian;\r\n\r\n const result = {\r\n 'Signatory': Signatory,\r\n 'name': Signatory == this.SignatoryLists[0] ? staffName : Signatory == this.SignatoryLists[1] ? clientName : guardianName,\r\n 'bytes': this.signDataUrl,\r\n }\r\n this.dialogPopup.close(result);\r\n }\r\n\r\n onClose() {\r\n this.dialogPopup.close();\r\n }\r\n\r\n onClear() {\r\n (this.signaturePad as any).clear();\r\n this.signDataUrl = null;\r\n }\r\n\r\n // sign pad\r\n ngAfterViewInit() {\r\n // this.signaturePad is now available\r\n // setTimeout(() => {\r\n // console.log('signature pad', this.signaturePad);\r\n // }, 1000);\r\n (this.signaturePad as any).set('minWidth', 5); // set szimek/signature_pad options at runtime\r\n (this.signaturePad as any).clear(); // invoke functions from szimek/signature_pad API\r\n }\r\n \r\n drawComplete() {\r\n // will be notified of szimek/signature_pad's onEnd event\r\n // console.log(this.signaturePad.toDataURL());\r\n //this.signDataUrl = this.signaturePad.toDataURL();\r\n }\r\n \r\n}\r\n","module.exports = \"/*Soap Page*/\\r\\n\\r\\n.soap_detail p {\\r\\n margin: 0px 0px 15px;\\r\\n}\\r\\n\\r\\n.soap_detail b {\\r\\n color: #7a7a7a;\\r\\n font-weight: 400;\\r\\n font-size: 12px;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.soap_detail span {\\r\\n color: #000;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.soap_content {\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.soapmodal_btn {\\r\\n margin-top: 7px;\\r\\n}\\r\\n\\r\\n.panel_title .flaticon {\\r\\n top: 18px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.panel_title .flaticon.flaticon-gym {\\r\\n top: 0;\\r\\n}\\r\\n\\r\\n.sign h3 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.sign h3>span {\\r\\n font-size: 13px;\\r\\n font-weight: 400;\\r\\n margin: 0px;\\r\\n color: #7a7a7a;\\r\\n}\\r\\n\\r\\n.sign p,\\r\\n.sign p>span {\\r\\n font-size: 12px;\\r\\n margin: 3px 0px 0px;\\r\\n color: #7a7a7a;\\r\\n}\\r\\n\\r\\n.sign {\\r\\n border: 1px solid #eceeef;\\r\\n padding: 10px;\\r\\n overflow: hidden;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n\\r\\n.sign img {\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n@media (max-width: 1199px) {\\r\\n /*soap page*/\\r\\n .soap_detail b {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 767px) {\\r\\n /*Soap Page*/\\r\\n .soap_detail p {\\r\\n width: 50%;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 480px) {\\r\\n /*Soap Note*/\\r\\n .detail_wd p,\\r\\n .soap_detail p {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n.mwlResizable {\\r\\n /* required for the enableGhostResize option to work */\\r\\n box-sizing: border-box;\\r\\n}\\r\\n\\r\\n.resize-handle-top,\\r\\n.resize-handle-bottom {\\r\\n position: absolute;\\r\\n height: 5px;\\r\\n cursor: row-resize;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.resize-handle-top {\\r\\n top: 0;\\r\\n}\\r\\n\\r\\n.resize-handle-bottom {\\r\\n bottom: 0;\\r\\n}\\r\\n\\r\\n.resize-handle-left,\\r\\n.resize-handle-right {\\r\\n position: absolute;\\r\\n height: 100%;\\r\\n cursor: col-resize;\\r\\n width: 5px;\\r\\n}\\r\\n\\r\\n.resize-handle-left {\\r\\n left: 0;\\r\\n}\\r\\n\\r\\n.resize-handle-right {\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n.soap-panel {\\r\\n border: solid 1px #121621;\\r\\n}\\r\\n\\r\\n.video-tool {\\r\\n border: solid 0px #2fd4c8;\\r\\n box-shadow: 2px 1px 14px #8eadab;\\r\\n}\\r\\n\\r\\n.formio-form-div {\\r\\n position: relative;\\r\\n min-height: 80px;\\r\\n height: 364px;\\r\\n overflow: auto;\\r\\n}\\r\\n\\r\\n.soap-note-form .formio-form {\\r\\n width: 95%;\\r\\n}\\r\\n\\r\\n.d-flex {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.readmin-form{\\r\\n max-height: 15vh !important;\\r\\n overflow: visible !important;\\r\\n}\\r\\n\\r\\n.list-group {\\r\\n flex-direction: row !important;\\r\\n \\r\\n}\"","module.exports = \"
\\r\\n

Visit 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 Gender
\\r\\n {{clientHeaderModel.patientBasicHeaderInfo.gender||''}}\\r\\n

\\r\\n

\\r\\n D.O.B:
\\r\\n {{clientHeaderModel.patientBasicHeaderInfo.dob||''}}\\r\\n

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

Appointment

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

\\r\\n Appointment: \\r\\n {{patientAppointmentDetails.mode +'\\r\\n ('+ patientAppointmentDetails.type+')'}}\\r\\n

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

\\r\\n Appointment Date: \\r\\n {{patientAppointmentDetails &&\\r\\n patientAppointmentDetails.startDateTime|date:\\\"MM/dd/yyyy\\\"}}\\r\\n

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

\\r\\n Seen By: \\r\\n {{ staffDetails && staffDetails.staffName }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n 0 , 'col-md-4':encounterId == 0 && istelehealthappt,'col-md-11':encounterId == 0 && !istelehealthappt}\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n 0 , 'col-md-4':encounterId == 0 && istelehealthappt,'col-md-11':encounterId == 0 && !istelehealthappt}\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Note List

\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n \\r\\n
  • \\r\\n {{ note.encounterNotes }}\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Service Codes

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n SERVICE CODE\\r\\n \\r\\n DESCRIPTION\\r\\n \\r\\n ACTION\\r\\n
\\r\\n No record found.\\r\\n
\\r\\n {{code.serviceCode}}\\r\\n \\r\\n {{code.description}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n

Signature

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{employeeSign.name}}\\r\\n (Physician)\\r\\n

\\r\\n

\\r\\n Date :{{employeeSign.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

{{patientSign.name}}\\r\\n (Client)\\r\\n

\\r\\n

\\r\\n Date :{{patientSign.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

{{guardianSign.name}}\\r\\n (Guardian)\\r\\n

\\r\\n

\\r\\n Date :{{guardianSign.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\"","import { DiagnosisService } from \"./../diagnosis/diagnosis.service\";\r\nimport { DialogService } from \"./../../../../../shared/layout/dialog/dialog.service\";\r\nimport { ResponseModel } from \"./../../../../../super-admin-portal/core/modals/common-model\";\r\n//import { DiagnosisModalComponent } from \"./../../clients/diagnosis/diagnosis-modal/diagnosis-modal.component\";\r\n//import { ChatService } from \"src/app/platform/modules/agency-portal/encounter/mean-video/chat.service\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ViewChild,\r\n ElementRef,\r\n Renderer2,\r\n OnDestroy,\r\n Input,\r\n} from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { Router, ActivatedRoute, NavigationExtras } from \"@angular/router\";\r\nimport { EncounterService } from \"../encounter.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format, addDays } from \"date-fns\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { SignDialogComponent } from \"../sign-dialog/sign-dialog.component\";\r\nimport { ClientHeaderModel } from \"../../clients/client-header.model\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { TemplateFormComponent } from \"../template-form/template-form.component\";\r\nimport { ServiceCodeModal } from \"../../masters/service-codes/service-code.modal\";\r\nimport { DiagnosisModel, PatientEncounterNotesModel } from \"../../clients/diagnosis/diagnosis.model\";\r\nimport { FormioOptions } from \"angular-formio\";\r\nimport { ResizeEvent } from \"angular-resizable-element\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { DiagnosisModalComponent } from \"src/app/platform/modules/agency-portal/encounter/diagnosis/diagnosis-modal/diagnosis-modal.component\";\r\nimport { AddServiceCodeModalComponent } from \"src/app/platform/modules/agency-portal/encounter/service-code-modal/add-service-code-modal.component\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { CallInitModel, CallStatus } from \"src/app/shared/models/callModel\";\r\nimport { PatientEncounterNotesModalComponent } from \"../patientencounternotes-modal/patientencounternotes.component\";\r\nimport { ClientsService } from \"../../clients/clients.service\";\r\nimport { UserDocumentModel } from \"../../users/users.model\";\r\nimport { PublisherComponent } from \"../video-chat/publisher/publisher.component\";\r\nimport { ProvideViewRatingModel } from \"../../provide-review-rating/provide-review-rating-model\";\r\nimport { ProvideReviewRatingComponent } from \"../../provide-review-rating/provide-review-rating.component\";\r\nclass signModal {\r\n id: number = 0;\r\n bytes: string = null;\r\n date: string = null;\r\n name: string = null;\r\n}\r\n\r\n\r\n@Component({\r\n selector: \"app-soap\",\r\n templateUrl: \"./soap.component.html\",\r\n styleUrls: [\"./soap.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [DatePipe],\r\n})\r\nexport class SoapComponent implements OnInit, OnDestroy {\r\n @ViewChild(\"dragsidebar\") panel: ElementRef;\r\n @ViewChild(\"videoDiv\") panelVideo: ElementRef;\r\n @ViewChild(\"SOAPPanel\") SOAPPanel: ElementRef;\r\n @ViewChild(\"videoTool\") videoTool: ElementRef;\r\n @Input() session: OT.Session;\r\n @ViewChild(PublisherComponent) publisherComponent: PublisherComponent;\r\n\r\n serviceCodeModal: ServiceCodeModal;\r\n patientEncounterServiceCodes: ServiceCodeModal[];\r\n soapForm: FormGroup;\r\n appointmentId: number;\r\n encounterId: number;\r\n soapNoteId: number;\r\n submitted: boolean;\r\n submittedSign: boolean;\r\n appConfiguration: Array;\r\n patientEncounterDiagnosisCodes: DiagnosisModel[];\r\n patientEncounterTemplate: Array;\r\n // patientEncounterServiceCodes: Array;\r\n patientAppointmentDetails: any;\r\n soapNotes: any;\r\n encounterSignature: Array;\r\n staffDetails: any;\r\n appointmentStartTime: string;\r\n appointmentEndTime: string;\r\n unitsConsumed: number;\r\n patientSign: signModal = new signModal();\r\n employeeSign: signModal = new signModal();\r\n guardianSign: signModal = new signModal();\r\n isGuardianSigned: boolean;\r\n isClientSigned: boolean;\r\n isEmployeeSigned: boolean;\r\n isAllSigned: boolean;\r\n isSoapCompleted: boolean;\r\n istelehealthappt: boolean;\r\n public style: object = {};\r\n public styleVideo: object = {};\r\n // template forms\r\n masterTemplates: Array;\r\n noteslists:any;\r\n isNoteList = false;\r\n // public jsonFormData: Object = {\r\n // components: []\r\n // };\r\n // initialFormValues: Object = {};\r\n // formioOptions: FormioOptions = {\r\n // disableAlerts: true\r\n // }\r\n templateFormId: number = null;\r\n templateFormName: string = null;\r\n diagnosisCodeModel: DiagnosisModel;\r\n // client header info\r\n clientHeaderModel: ClientHeaderModel;\r\n FormData: any;\r\n initialValue: any;\r\n isSoap: boolean = false;\r\n previousEncounters: Array;\r\n previousEncounterId: number;\r\n isPreviousEncounter: boolean = false;\r\n isSubmitted: boolean = false;\r\n templateIdFromDD: any = null;\r\n encounterTemplateId: any;\r\n showFormioDiv: any;\r\n otSessionId: number = 0;\r\n userDisplayName: string;\r\n public jsonFormData: Object = {\r\n components: [],\r\n };\r\n initialFormValues: Object = {\r\n data: {},\r\n };\r\n formioOptions: FormioOptions = {\r\n disableAlerts: true,\r\n };\r\n diagnosisModel: DiagnosisModel;\r\n patientencounternotesmodel: PatientEncounterNotesModel;\r\n clientId: number;\r\n userId: number;\r\n todayDate = new Date();\r\n fromDate: string;\r\n toDate: string;\r\n documentList: Array = [];\r\n constructor(\r\n private signDailog: MatDialog,\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private encounterService: EncounterService,\r\n private notifierService: NotifierService,\r\n private commonService: CommonService,\r\n private serviceCodeDailog: MatDialog,\r\n private datePipe: DatePipe,\r\n private renderer: Renderer2,\r\n //private chatService: ChatService,\r\n private diagnosisService: DiagnosisService,\r\n private diagnosisDialogModal: MatDialog,\r\n private patientencounternotesDialogModal: MatDialog,\r\n private dialogService: DialogService,\r\n private appService: AppService,\r\n private clientService: ClientsService,\r\n private notifier: NotifierService,\r\n private encounterservice:EncounterService,\r\n private dialogModal: MatDialog,\r\n ) {\r\n this.submitted = false;\r\n this.submittedSign = false;\r\n this.soapNoteId = 0;\r\n this.appConfiguration = [];\r\n this.patientEncounterDiagnosisCodes = [];\r\n this.patientEncounterServiceCodes = [];\r\n this.patientEncounterTemplate = [];\r\n this.patientAppointmentDetails = null;\r\n this.soapNotes = null;\r\n this.encounterSignature = [];\r\n this.staffDetails = null;\r\n this.appointmentStartTime = null;\r\n this.appointmentEndTime = null;\r\n this.unitsConsumed = 0;\r\n this.isGuardianSigned = false;\r\n this.isClientSigned = false;\r\n this.isEmployeeSigned = false;\r\n this.isAllSigned = false;\r\n this.isSoapCompleted = false;\r\n this.masterTemplates = [];\r\n console.log(\"2 constructor called from soap component\");\r\n this.clientHeaderModel = new ClientHeaderModel();\r\n if (this.activatedRoute.snapshot.url[0] && this.activatedRoute.snapshot.url[0].path == \"check-in-soap\") {\r\n const apptId = this.activatedRoute.snapshot.paramMap.get('id');\r\n this.appointmentId = Number(apptId);\r\n this.encounterId = 0;\r\n console.log(\"1\",this.encounterId)\r\n this.getPatientEncounterDetails();\r\n this.getMasterTemplates();\r\n\r\n } else {\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.appointmentId =\r\n params.apptId == undefined ? 0 : parseInt(params.apptId);\r\n this.encounterId = params.encId == undefined ? 0 : parseInt(params.encId);\r\n console.log(\"2\",this.encounterId)\r\n this.getPatientEncounterDetails();\r\n this.getMasterTemplates();\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n if (localStorage.getItem(\"access_token\")) {\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n let userInfo: any;\r\n console.log(\"3\",user.data)\r\n this.userId = user.data.userID;\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n userInfo = user.patientData;\r\n //fullName = userInfo.lastName + \" \" + userInfo.firstName;\r\n } else {\r\n userInfo = user.data;\r\n //fullName = \"Dr. \" + userInfo.lastName + \" \" + userInfo.firstName;\r\n }\r\n } else {\r\n }\r\n });\r\n }\r\n if (this.appointmentId > 0 && this.userId > 0) {\r\n this.appService\r\n .getCallInitiate(this.appointmentId, this.userId)\r\n .subscribe((res) => {\r\n console.log(res);\r\n });\r\n }\r\n let callInitModel: CallInitModel = new CallInitModel();\r\n callInitModel.AppointmentId = this.appointmentId;\r\n callInitModel.CallStatus = CallStatus.Picked;\r\n this.appService.CheckCallStarted(callInitModel);\r\n }\r\n\r\n\r\n get f() {\r\n return this.soapForm.controls;\r\n }\r\n\r\n ngOnInit() {\r\n console.log(\"3 ngoninit called from soap component\");\r\n // this.soapForm = this.formBuilder.group({\r\n // 'subjective': [''],\r\n // 'objective': [''],\r\n // 'assessment': [''],\r\n // 'plans': ['']\r\n // });\r\n let fullName = \"\";\r\n if (localStorage.getItem(\"access_token\")) {\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n \r\n if (user.data) {\r\n let userInfo: any;\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n userInfo = user.patientData;\r\n fullName = userInfo.lastName + \" \" + userInfo.firstName;\r\n } else {\r\n userInfo = user.data;\r\n fullName = userInfo.lastName + \" \" + userInfo.firstName;\r\n }\r\n } else {\r\n }\r\n });\r\n }\r\n this.initilizeFormValues();\r\n this.getAppConfigurations();\r\n this.userDisplayName = \"Provider\";\r\n // this.chatService.changename({\r\n // username: fullName,\r\n // roomname: \"room\" + this.appointmentId.toString()\r\n // });\r\n this.getUserDocuments();\r\n this.getNotes();\r\n }\r\n\r\n initilizeFormValues() {\r\n const currentDate = new Date();\r\n const previousWeekDate = addDays(currentDate, -7);\r\n\r\n this.soapForm = this.formBuilder.group({\r\n subjective: [\"\"],\r\n objective: [\"\"],\r\n assessment: [\"\"],\r\n plans: [\"\"],\r\n fromDate: [previousWeekDate],\r\n toDate: [currentDate],\r\n });\r\n }\r\n get formControls() {\r\n return this.soapForm.controls;\r\n }\r\n\r\n onBackClick() {\r\n localStorage.removeItem('called_'+this.appointmentId);\r\n //this.router.navigate([\"/web/scheduling\"]);\r\n this.router.navigate([\"/web/waiting-room/check-in-call/\"+this.appointmentId]);\r\n }\r\n\r\n onNavigate(url: string) {\r\n const clientId =\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.patientID;\r\n if (clientId)\r\n this.router.navigate([url], {\r\n queryParams: { id: this.commonService.encryptValue(clientId, true) },\r\n });\r\n }\r\n\r\n checkIsRequiredSigned() {\r\n let employee_signRequired = false,\r\n client_signRequired = false,\r\n guardian_signRequired = false;\r\n if (this.appConfiguration && this.appConfiguration.length) {\r\n this.appConfiguration.forEach((Obj) => {\r\n if (Obj.configType === 1) {\r\n switch (Obj.key) {\r\n\r\n case \"CLINICIAN_SIGN\":\r\n employee_signRequired =\r\n Obj.value.toString().toLowerCase() === \"true\";\r\n break;\r\n case \"PATIENT_SIGN\":\r\n client_signRequired =\r\n Obj.value.toString().toLowerCase() === \"true\";\r\n break;\r\n case \"GUARDIAN_SIGN\":\r\n guardian_signRequired =\r\n Obj.value.toString().toLowerCase() === \"true\";\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n let employee_Signed = true,\r\n client_signed = true,\r\n guardian_signed = true;\r\n if (employee_signRequired) {\r\n if (this.isEmployeeSigned) {\r\n employee_Signed = true;\r\n } else {\r\n employee_Signed = false;\r\n }\r\n }\r\n if (client_signRequired) {\r\n if (this.isClientSigned) {\r\n client_signed = true;\r\n } else {\r\n client_signed = false;\r\n }\r\n }\r\n if (guardian_signRequired) {\r\n if (this.isGuardianSigned) {\r\n guardian_signed = true;\r\n } else {\r\n guardian_signed = false;\r\n }\r\n }\r\n // finally check if all required are signed ...\r\n if (employee_Signed) {\r\n //&& client_signed && guardian_signed) {\r\n this.isAllSigned = true;\r\n } else {\r\n this.isAllSigned = false;\r\n }\r\n }\r\n\r\n openSignDialog() {\r\n const staffsList = [\r\n {\r\n id: this.staffDetails && this.staffDetails.staffId,\r\n value: this.staffDetails && this.staffDetails.staffName,\r\n },\r\n ];\r\n const clientDetails = {\r\n id:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.patientID,\r\n value:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.patientName,\r\n };\r\n const modalPopup = this.signDailog.open(SignDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n staffsList,\r\n clientDetails,\r\n SignatoryLists: [\"Employee\", \"Client\", \"Guardian\"],\r\n },\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result) {\r\n switch ((result.Signatory || \"\").toUpperCase()) {\r\n case \"EMPLOYEE\":\r\n this.employeeSign = {\r\n ...this.employeeSign,\r\n date: format(new Date(), \"YYYY-MM-DDTHH:mm:ss\"),\r\n name: result.name,\r\n bytes: (result.bytes || \"\").split(\",\")[1],\r\n };\r\n this.saveSignature(\r\n this.employeeSign.id,\r\n this.employeeSign,\r\n null,\r\n null\r\n );\r\n break;\r\n case \"CLIENT\":\r\n this.patientSign = {\r\n ...this.patientSign,\r\n date: format(new Date(), \"YYYY-MM-DDTHH:mm:ss\"),\r\n name: result.name,\r\n bytes: (result.bytes || \"\").split(\",\")[1],\r\n };\r\n this.saveSignature(\r\n this.patientSign.id,\r\n null,\r\n this.patientSign,\r\n null\r\n );\r\n break;\r\n case \"GUARDIAN\":\r\n this.guardianSign = {\r\n ...this.guardianSign,\r\n date: format(new Date(), \"YYYY-MM-DDTHH:mm:ss\"),\r\n name: result.name,\r\n bytes: (result.bytes || \"\").split(\",\")[1],\r\n };\r\n this.saveSignature(\r\n this.guardianSign.id,\r\n null,\r\n null,\r\n this.guardianSign\r\n );\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n onSubmitTemplate(event: any) {\r\n const jsonData = {\r\n id: null,\r\n templateData: JSON.stringify(event),\r\n masterTemplateId: this.templateFormId,\r\n patientEncounterId: this.encounterId,\r\n };\r\n let postData: Array = [];\r\n postData.push(jsonData);\r\n\r\n this.isSubmitted = true;\r\n\r\n this.onSubmit(postData);\r\n // const postData = {\r\n // id: this.encounterTemplateId > 0 ? this.encounterTemplateId : null,\r\n // templateData: JSON.stringify(event),\r\n // masterTemplateId: this.templateFormId,\r\n // patientEncounterId: this.encounterId,\r\n // }\r\n\r\n // let formPostData: Array = [];\r\n // formPostData.push(postData)\r\n // this.encounterService.saveTemplateData(postData)\r\n // .subscribe(\r\n // response => {\r\n // if (response.statusCode == 200) {\r\n // this.notifierService.notify(\"success\", response.message);\r\n // this.onSubmit(formPostData);\r\n // } else {\r\n // this.notifierService.notify(\"error\", response.message);\r\n // }\r\n // })\r\n // this.onClose(postData);\r\n }\r\n onSubmit(formioData: any) {\r\n if (this.soapForm.invalid) {\r\n return null;\r\n }\r\n const { subjective, objective, assessment, plans } = this.soapForm.value;\r\n const postData = {\r\n Id: this.encounterId,\r\n PatientID:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.patientID,\r\n AppointmentStartDateTime:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.startDateTime,\r\n AppointmentEndDateTime:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.endDateTime,\r\n PatientAppointmentId: this.appointmentId,\r\n DateOfService:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.startDateTime,\r\n StartDateTime:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.startDateTime,\r\n EndDateTime:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.endDateTime,\r\n StaffID: this.staffDetails && this.staffDetails.staffId,\r\n ServiceLocationID:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.serviceLocationID,\r\n PatientAddressID:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.patientAddressID,\r\n OfficeAddressID:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.officeAddressID,\r\n CustomAddressID:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.customAddressID,\r\n CustomAddress:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.customAddress,\r\n NotetypeId: 1,\r\n SOAPNotes: {\r\n Id: this.soapNotes && this.soapNotes.id,\r\n Subjective: subjective,\r\n Objective: objective,\r\n Assessment: assessment,\r\n Plans: plans,\r\n },\r\n PatientEncounterTemplate: formioData,\r\n PatientEncounterServiceCodes: this.patientEncounterServiceCodes || [],\r\n PatientEncounterDiagnosisCodes: this.patientEncounterDiagnosisCodes || [],\r\n isBillableEncounter:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.isBillable,\r\n };\r\n this.savePatientEncounter(postData);\r\n }\r\n\r\n getAppConfigurations() {\r\n this.encounterService.getAppConfigurations().subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.appConfiguration = response.data || [];\r\n } else {\r\n this.appConfiguration = [];\r\n }\r\n this.checkIsRequiredSigned();\r\n });\r\n }\r\n\r\n getPatientEncounterDetails() {\r\n console.log(\"3 getpatientencounterdetail called from soap component\");\r\n this.encounterService\r\n .GetPatientEncounterDetails(this.appointmentId, this.encounterId, false)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n\r\n this.patientEncounterDiagnosisCodes =\r\n response.data.patientEncounterDiagnosisCodes || [];\r\n this.patientEncounterServiceCodes =\r\n response.data.patientEncounterServiceCodes || [];\r\n this.patientAppointmentDetails =\r\n response.data.patientAppointment || [];\r\n this.clientId =\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.patientID;\r\n this.soapNotes = response.data.soapNotes || null;\r\n this.encounterSignature = response.data.encounterSignature || [];\r\n this.unitsConsumed = response.data.unitsConsumed;\r\n this.patientEncounterTemplate =\r\n response.data.patientEncounterTemplate || [];\r\n this.templateFormId =\r\n (response.data.patientEncounterTemplate &&\r\n response.data.patientEncounterTemplate[0].masterTemplateId) ||\r\n 0;\r\n this.isSoapCompleted =\r\n (response.data.status || \"\").toUpperCase() == \"RENDERED\";\r\n this.istelehealthappt=this.patientAppointmentDetails.isTelehealthAppointment;\r\n this.filterDetails();\r\n } else {\r\n this.patientEncounterDiagnosisCodes = [];\r\n this.patientEncounterServiceCodes = [];\r\n this.patientAppointmentDetails = null;\r\n this.soapNotes = null;\r\n this.encounterSignature = [];\r\n this.unitsConsumed = 0;\r\n this.isSoapCompleted = false;\r\n }\r\n if (this.encounterId) {\r\n this.getTemplateForm(this.templateFormId);\r\n }\r\n setTimeout(function () {\r\n window.scroll({\r\n top: 320,\r\n left: 0,\r\n behavior: \"smooth\",\r\n });\r\n }, 2000);\r\n });\r\n }\r\n\r\n filterDetails() {\r\n if (this.patientAppointmentDetails) {\r\n const {\r\n appointmentStaffs,\r\n endDateTime,\r\n startDateTime,\r\n } = this.patientAppointmentDetails;\r\n if (appointmentStaffs && appointmentStaffs.length) {\r\n this.staffDetails = appointmentStaffs[0];\r\n }\r\n this.appointmentStartTime = `${format(startDateTime, \"hh:mm a\")}`;\r\n this.appointmentEndTime = `${format(endDateTime, \"hh:mm a\")}`;\r\n\r\n if (this.patientAppointmentDetails.patientID)\r\n this.getClientHeaderInfo(this.patientAppointmentDetails.patientID);\r\n }\r\n\r\n if (this.soapNotes) {\r\n this.soapForm.patchValue({ ...this.soapNotes });\r\n }\r\n\r\n if (this.encounterSignature && this.encounterSignature.length) {\r\n this.encounterSignature.forEach((signObj) => {\r\n if (signObj.guardianSign) {\r\n let data = {\r\n id: signObj.id,\r\n bytes: signObj.guardianSign,\r\n date: signObj.guardianSignDate,\r\n name: signObj.guardianName,\r\n };\r\n this.isGuardianSigned = true;\r\n this.guardianSign = data;\r\n }\r\n if (signObj.patientSign) {\r\n let data = {\r\n id: signObj.id,\r\n bytes: signObj.patientSign,\r\n date: signObj.patientSignDate,\r\n name:\r\n this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.patientName,\r\n };\r\n this.isClientSigned = true;\r\n this.patientSign = data;\r\n }\r\n if (signObj.clinicianSign) {\r\n let data = {\r\n id: signObj.id,\r\n bytes: signObj.clinicianSign,\r\n date: signObj.clinicianSignDate,\r\n name: this.staffDetails && this.staffDetails.staffName,\r\n };\r\n this.isEmployeeSigned = true;\r\n this.employeeSign = data;\r\n }\r\n });\r\n }\r\n this.checkIsRequiredSigned();\r\n }\r\n\r\n savePatientEncounter(postData: any, isAdmin: boolean = false) {\r\n console.log(\"4 savepatientencounter called from soap component\");\r\n this.submitted = true;\r\n this.encounterService\r\n .SavePatientEncounter(postData, isAdmin)\r\n .subscribe((response) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifierService.notify(\"success\", response.message);\r\n if (!this.encounterId) {\r\n this.encounterId = response.data.id || 0;\r\n // this.router.navigate([\"/web/encounter/soap\"], {\r\n // queryParams: {\r\n // apptId: this.appointmentId,\r\n // encId: this.encounterId,\r\n // },\r\n // });\r\n this.router.navigate([\"/web/waiting-room/\"+this.appointmentId]);\r\n // this.router.navigate([\"/web/waiting-room/\"+this.appointmentId]);\r\n } else {\r\n this.isSoapCompleted = true;\r\n let isPatient: boolean = false;\r\n this.commonService.isPatient.subscribe((isPatient) => {\r\n if (!isPatient) this.router.navigate([\"/web/scheduling\"]);\r\n else this.router.navigate([\"/web/client/my-scheduling\"]);\r\n });\r\n\r\n //this.createClaim(this.encounterId);\r\n }\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n saveSignature(id = 0, employeeSign, patientSign, guradianSign) {\r\n let postData = {\r\n id: id,\r\n patientEncounterId: this.encounterId,\r\n patientId: patientSign\r\n ? this.patientAppointmentDetails &&\r\n this.patientAppointmentDetails.patientID\r\n : null,\r\n patientSign: patientSign ? patientSign.bytes : null,\r\n patientSignDate: patientSign ? patientSign.date : null,\r\n staffId: employeeSign\r\n ? this.staffDetails && this.staffDetails.staffId\r\n : null,\r\n clinicianSign: employeeSign ? employeeSign.bytes : null,\r\n clinicianSignDate: employeeSign ? employeeSign.date : null,\r\n guardianName: guradianSign ? guradianSign.name : null,\r\n guardianSign: guradianSign ? guradianSign.bytes : null,\r\n guardianSignDate: guradianSign ? guradianSign.date : null,\r\n };\r\n this.submittedSign = true;\r\n this.encounterService\r\n .saveEncounterSignature(postData)\r\n .subscribe((response) => {\r\n this.submittedSign = false;\r\n if (response.statusCode == 200) {\r\n this.notifierService.notify(\"success\", response.message);\r\n let signObj = response.data;\r\n if (signObj.guardianSign) {\r\n this.guardianSign = {\r\n ...this.guardianSign,\r\n id: signObj.id,\r\n };\r\n this.isGuardianSigned = true;\r\n }\r\n if (signObj.patientSign) {\r\n this.patientSign = {\r\n ...this.patientSign,\r\n id: signObj.id,\r\n };\r\n this.isClientSigned = true;\r\n }\r\n if (signObj.clinicianSign) {\r\n this.employeeSign = {\r\n ...this.employeeSign,\r\n id: signObj.id,\r\n };\r\n this.isEmployeeSigned = true;\r\n }\r\n this.checkIsRequiredSigned();\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n createClaim(encounterId: number, isAdmin: boolean = false) {\r\n this.encounterService\r\n .createClaim(encounterId, isAdmin)\r\n .subscribe((response) => {\r\n if (response.statusCode == 1) {\r\n this.notifierService.notify(\"success\", response.message);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n getClientHeaderInfo(patientID: number) {\r\n this.encounterService\r\n .getClientHeaderInfo(patientID)\r\n .subscribe((response: any) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.clientHeaderModel = response.data;\r\n this.clientHeaderModel.patientBasicHeaderInfo != null\r\n ? (this.clientHeaderModel.patientBasicHeaderInfo.dob = format(\r\n this.clientHeaderModel.patientBasicHeaderInfo.dob,\r\n \"MM/DD/YYYY\"\r\n ))\r\n : \"\";\r\n }\r\n });\r\n }\r\n \r\n getMasterTemplates() {\r\n this.encounterService.getMasterTemplates().subscribe((response) => {\r\n if (response.statusCode == 200)\r\n // this.masterTemplates = response.data;\r\n this.masterTemplates = response.data.filter(\r\n (x) => x.templateCategoryName.toLowerCase() == \"soap\"\r\n );\r\n });\r\n }\r\n onMastertemplateSelect(event: any) {\r\n this.templateIdFromDD = event.value;\r\n }\r\n getTemplateForm(id: number) {\r\n // const encryptTempId = this.commonService.encryptValue(id, true);\r\n // const encryptEncId = this.commonService.encryptValue(this.encounterId, true);\r\n // this.router.navigate(['/web/Masters/template/render'], { queryParams: { id: encryptTempId, encId: encryptEncId } });\r\n\r\n this.encounterService\r\n .getTemplateForm(this.encounterId, id)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.showFormioDiv = true;\r\n // this.openTemplateForm(response.data, id);\r\n let formJson = { components: [] },\r\n formData = { data: {} };\r\n try {\r\n formJson = JSON.parse(response.data.templateJson);\r\n formData = JSON.parse(response.data.templateData);\r\n } catch (err) {}\r\n\r\n this.encounterTemplateId = response.data.id || null;\r\n this.jsonFormData = response.data.templateJson\r\n ? formJson\r\n : this.jsonFormData;\r\n this.templateFormName = response.data.templateName || \"\";\r\n this.initialFormValues = response.data.templateData\r\n ? formData\r\n : this.initialFormValues;\r\n this.templateFormId = id;\r\n //this.encounterId = data.encounterId;\r\n // this.encounterTemplateId = response.data.id || null;\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n onStartVideoEncounterClick() {\r\n console.log(\"5 onstartvideoencounterclick called from soap component\");\r\n this.router.navigate([\"/web/encounter/video-encounter\"], {\r\n queryParams: {\r\n templateIdFromDD: this.templateIdFromDD,\r\n encounterId: this.encounterId,\r\n appointmentId: this.appointmentId,\r\n },\r\n });\r\n }\r\n openTemplateForm(jsonFormData: any, templateId: number) {\r\n const modalPopup = this.signDailog.open(TemplateFormComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n templateId,\r\n encounterId: this.encounterId,\r\n ...jsonFormData,\r\n },\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result) {\r\n this.encounterService.saveTemplateData(result).subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.notifierService.notify(\"success\", response.message);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n getPreviousEncounters(patientId, fromDate, toDate) {\r\n this.encounterService\r\n .getPreviousEncounters(patientId, fromDate, toDate)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.previousEncounters = response.data;\r\n this.previousEncounterId = response.data.id;\r\n this.previousEncounters = (response.data || []).map((obj: any) => {\r\n obj.dateOfService = format(obj.dateOfService, \"MM/DD/YYYY hh:mm a\");\r\n return obj;\r\n });\r\n } else {\r\n this.previousEncounters = [];\r\n }\r\n });\r\n }\r\n getSelectedPreviousEncountersData(event: any) {\r\n this.previousEncounterId = event;\r\n this.encounterService\r\n .getPreviousEncountersData(this.previousEncounterId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n //this.previousEncounters=response.data;\r\n if (response.statusCode == 200) {\r\n this.isPreviousEncounter = true;\r\n this.encounterId = 0;\r\n this.soapNotes = response.data.soapNotes || null;\r\n this.patientEncounterTemplate =\r\n response.data.patientEncounterTemplate || [];\r\n this.templateFormId =\r\n (response.data.patientEncounterTemplate &&\r\n response.data.patientEncounterTemplate[0].masterTemplateId) ||\r\n 0;\r\n // this.filterDetails();\r\n } else {\r\n this.soapNotes = null;\r\n this.unitsConsumed = 0;\r\n this.isSoapCompleted = false;\r\n }\r\n if (this.previousEncounterId) {\r\n this.getTemplateForm(this.templateFormId);\r\n }\r\n }\r\n });\r\n }\r\n onResizing(event: ResizeEvent): boolean {\r\n const perValue =\r\n (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n if (perValue > 70 || perValue < 20) {\r\n return false;\r\n }\r\n this.renderer.setStyle(this.panel.nativeElement, \"width\", `${perValue}%`);\r\n // let SOAPPanel = this.encounterService.SOAPPanelRef;\r\n // if (this.SOAPPanel)\r\n // this.renderer.setStyle(this.SOAPPanel.nativeElement, 'margin-right', `${event.rectangle.width}px`)\r\n }\r\n onDragChat(event: any) {\r\n let bottom = this.panel.nativeElement.style.bottom,\r\n right = this.panel.nativeElement.style.right;\r\n\r\n (bottom = bottom.replace(\"px\", \"\")), (right = right.replace(\"px\", \"\"));\r\n (bottom = (parseInt(bottom) || 0) + -event.y),\r\n (right = (parseInt(right) || 0) + -event.x);\r\n this.renderer.setStyle(this.panel.nativeElement, \"bottom\", `${bottom}px`);\r\n this.renderer.setStyle(this.panel.nativeElement, \"right\", `${right}px`);\r\n }\r\n // onValidateResize(event: ResizeEvent): boolean {\r\n // let perValue = (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n // if (perValue > 70 || perValue < 20) {\r\n // return false;\r\n // }\r\n // return true;\r\n // }\r\n onValidateResize(event: ResizeEvent): boolean {\r\n // let perValue = (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n // const MIN_DIMENSIONS_PX: number = 50;\r\n // if (\r\n // event.rectangle.width &&\r\n // event.rectangle.height &&\r\n // (event.rectangle.width < MIN_DIMENSIONS_PX ||\r\n // event.rectangle.height < MIN_DIMENSIONS_PX) && (perValue > 70 || perValue < 20)\r\n // ) {\r\n // return false;\r\n // }\r\n return true;\r\n }\r\n onResizeEnd(event: ResizeEvent): void {\r\n this.style = {\r\n position: \"fixed\",\r\n left: `${event.rectangle.left}px`,\r\n top: `${event.rectangle.top}px`,\r\n width: `${event.rectangle.width}px`,\r\n height: `${event.rectangle.height}px`,\r\n // bottom: `${event.rectangle.bottom}px`,\r\n // right: `${event.rectangle.right}px`,\r\n };\r\n }\r\n\r\n onResizingVideo(event: ResizeEvent): boolean {\r\n const perValue =\r\n (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n if (perValue > 70 || perValue < 20) {\r\n return false;\r\n }\r\n this.renderer.setStyle(\r\n this.panelVideo.nativeElement,\r\n \"width\",\r\n `${perValue}%`\r\n );\r\n // let SOAPPanel = this.encounterService.SOAPPanelRef;\r\n // if (this.SOAPPanel)\r\n // this.renderer.setStyle(this.SOAPPanel.nativeElement, 'margin-right', `${event.rectangle.width}px`)\r\n }\r\n onDragVideo(event: any) {\r\n let bottom = this.panelVideo.nativeElement.style.bottom,\r\n right = this.panelVideo.nativeElement.style.right;\r\n\r\n (bottom = bottom.replace(\"px\", \"\")), (right = right.replace(\"px\", \"\"));\r\n (bottom = (parseInt(bottom) || 0) + -event.y),\r\n (right = (parseInt(right) || 0) + -event.x);\r\n this.renderer.setStyle(\r\n this.panelVideo.nativeElement,\r\n \"bottom\",\r\n `${bottom}px`\r\n );\r\n this.renderer.setStyle(\r\n this.panelVideo.nativeElement,\r\n \"right\",\r\n `${right}px`\r\n );\r\n }\r\n // onValidateResize(event: ResizeEvent): boolean {\r\n // let perValue = (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n // if (perValue > 70 || perValue < 20) {\r\n // return false;\r\n // }\r\n // return true;\r\n // }\r\n onValidateResizeVideo(event: ResizeEvent): boolean {\r\n // let perValue = (event.rectangle.width * 100) / document.documentElement.clientWidth;\r\n // const MIN_DIMENSIONS_PX: number = 50;\r\n // if (\r\n // event.rectangle.width &&\r\n // event.rectangle.height &&\r\n // (event.rectangle.width < MIN_DIMENSIONS_PX ||\r\n // event.rectangle.height < MIN_DIMENSIONS_PX) && (perValue > 70 || perValue < 20)\r\n // ) {\r\n // return false;\r\n // }\r\n return true;\r\n }\r\n onResizeVideoEnd(event: ResizeEvent): void {\r\n this.styleVideo = {\r\n position: \"fixed\",\r\n left: `${event.rectangle.left}px`,\r\n top: `${event.rectangle.top}px`,\r\n width: `${event.rectangle.width}px`,\r\n height: `${event.rectangle.height}px`,\r\n // bottom: `${event.rectangle.bottom}px`,\r\n // right: `${event.rectangle.right}px`,\r\n };\r\n }\r\n openDiagnosisDialog(id?: number) {\r\n if (id != null && id > 0) {\r\n this.diagnosisService.getDiagnosisById(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.diagnosisModel = response.data;\r\n this.createDiagnosisModal(this.diagnosisModel);\r\n }\r\n });\r\n } else {\r\n this.diagnosisModel = new DiagnosisModel();\r\n this.createDiagnosisModal(this.diagnosisModel);\r\n }\r\n }\r\n\r\n createDiagnosisModal(diagnosisModel: DiagnosisModel) {\r\n this.diagnosisModel.patientID = this.clientId;\r\n let diagnosisModal;\r\n diagnosisModal = this.diagnosisDialogModal.open(DiagnosisModalComponent, {\r\n data: {\r\n diagnosis: diagnosisModel,\r\n refreshGrid: this.refreshGrid.bind(this),\r\n },\r\n });\r\n diagnosisModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") this.getDiagnosisList();\r\n });\r\n }\r\n refreshGrid() {\r\n this.getDiagnosisList();\r\n }\r\n\r\n deleteDiagnosisCode(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this diagnosis?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.diagnosisService\r\n .deleteDiagnosis(id)\r\n .subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n if (response.statusCode == 200) {\r\n this.notifierService.notify(\"success\", response.message);\r\n this.getDiagnosisList();\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n getDiagnosisList() {\r\n this.diagnosisService\r\n .getSoapNoteDiagnosisList(this.clientId)\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response != null &&\r\n response.data != null &&\r\n response.data.length > 0\r\n ) {\r\n this.patientEncounterDiagnosisCodes = response.data;\r\n //this.diagnosisList = response.data;\r\n }\r\n });\r\n }\r\n\r\n getNotes() {\r\n this.encounterservice\r\n .GetPatientEncounterNotes(this.appointmentId)\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response != null &&\r\n response.data != null &&\r\n response.data.length > 0\r\n ) {\r\n this.noteslists = response.data;\r\n if(this.noteslists.length > 0)\r\n {\r\n this.isNoteList = true;\r\n }\r\n //this.diagnosisList = response.data;\r\n }\r\n });\r\n }\r\n\r\n\r\n \r\n\r\n // openServiceDialog(id?: number) {\r\n // if (id != null && id > 0) {\r\n // this.clientsService.getDiagnosisById(id).subscribe((response: any) => {\r\n // if (response != null && response.data != null) {\r\n // this.diagnosisModel = response.data;\r\n // this.createServiceModal(this.diagnosisModel);\r\n // }\r\n // });\r\n // } else {\r\n // this.diagnosisModel = new DiagnosisModel();\r\n // this.createServiceModal(this.diagnosisModel);\r\n // }\r\n // }\r\n\r\n // createServiceModal(diagnosisModel: DiagnosisModel) {\r\n // this.diagnosisModel.patientID = this.clientId;\r\n // let diagnosisModal;\r\n // // diagnosisModal = this.diagnosisDialogModal.open(DiagnosisModalComponent, {\r\n // // data: {\r\n // // diagnosis: diagnosisModel,\r\n // // refreshGrid: this.refreshServiceGrid.bind(this)\r\n // // }\r\n // // });\r\n // // diagnosisModal.afterClosed().subscribe((result: string) => {\r\n // // if (result == \"save\") this.getServiceList();\r\n // // });\r\n // }\r\n // refreshServiceGrid() {\r\n // this.getServiceList();\r\n // }\r\n\r\n // deleteServiceCode(id: number) {\r\n // this.dialogService\r\n // .confirm(\"Are you sure you want to delete this diagnosis?\")\r\n // .subscribe((result: any) => {\r\n // if (result == true) {\r\n // this.clientsService.deleteDiagnosis(id).subscribe((response: any) => {\r\n // if (response != null && response.data != null) {\r\n // if (response.statusCode == 200) {\r\n // this.notifierService.notify(\"success\", response.message);\r\n // this.getServiceList();\r\n // } else {\r\n // this.notifierService.notify(\"error\", response.message);\r\n // }\r\n // }\r\n // });\r\n // }\r\n // });\r\n // }\r\n // getServiceList() {\r\n // this.clientsService\r\n // .getSoapNoteDiagnosisList(this.clientId)\r\n // .subscribe((response: ResponseModel) => {\r\n // if (\r\n // response != null &&\r\n // response.data != null &&\r\n // response.data.length > 0\r\n // ) {\r\n // this.patientEncounterDiagnosisCodes = response.data;\r\n // //this.diagnosisList = response.data;\r\n // }\r\n // });\r\n // }\r\n openServiceDialog(id?: number): void {\r\n this.serviceCodeModal = {\r\n id: id || 0,\r\n };\r\n if (!this.serviceCodeModal.id) {\r\n this.createServiceModel(this.serviceCodeModal);\r\n }\r\n }\r\n createServiceModel(serviceCodeModal: ServiceCodeModal) {\r\n const serviceCodeModalPopup = this.serviceCodeDailog.open(\r\n AddServiceCodeModalComponent,\r\n {\r\n hasBackdrop: true,\r\n data: {\r\n serviceCodeModal: serviceCodeModal || new ServiceCodeModal(),\r\n refreshGrid: this.refreshServiceGrid.bind(this),\r\n },\r\n }\r\n );\r\n serviceCodeModalPopup.afterClosed().subscribe((result) => {\r\n // if (result === 'SAVE')\r\n // this.getServiceCodeListData()\r\n });\r\n }\r\n refreshServiceGrid(data: any) {\r\n let ServiceCodes: string;\r\n this.patientEncounterServiceCodes.push(data);\r\n ServiceCodes = this.patientEncounterServiceCodes\r\n .map((obj) => obj.serviceCodeId)\r\n .toString();\r\n\r\n this.encounterService\r\n .CheckServiceCodeAvailability(this.appointmentId, ServiceCodes)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n return this.notifierService.notify(\"success\", response.message);\r\n } else {\r\n this.patientEncounterServiceCodes;\r\n if (this.patientEncounterServiceCodes.length > 0) {\r\n this.patientEncounterServiceCodes.splice(\r\n this.patientEncounterServiceCodes.length - 1,\r\n 1\r\n );\r\n }\r\n return this.notifierService.notify(\"warning\", response.message);\r\n }\r\n });\r\n }\r\n deleteCPTCode(id: number) {\r\n this.patientEncounterServiceCodes.splice(id, 1);\r\n }\r\n deleteNote(id:any){\r\n this.encounterService.deleteNote(id).subscribe((response)=>{\r\n console.log(response,\"DeleteId\")\r\n if(response=true){\r\n this.getNotes();\r\n }\r\n })\r\n }\r\n openPatientEncounterNotesDialog(id?: number,notesdata?:any) {\r\nthis.patientencounternotesmodel = new PatientEncounterNotesModel();\r\nif(notesdata!=null &¬esdata!=\"\")\r\n{\r\n this.patientencounternotesmodel=notesdata;\r\n}\r\n \r\n this.createPatientEncounterNotesModal(this.patientencounternotesmodel);\r\n// this.deleteNote(this.patientencounternotesmodel.id)\r\n // if (id != null && id > 0) {\r\n // this.encounterService.getDiagnosisById(id).subscribe((response: any) => {\r\n // if (response != null && response.data != null) {\r\n // this.diagnosisModel = response.data;\r\n // this.createDiagnosisModal(this.diagnosisModel);\r\n // }\r\n // });\r\n // } else {\r\n // this.diagnosisModel = new DiagnosisModel();\r\n // this.createDiagnosisModal(this.diagnosisModel);\r\n // }\r\n \r\n }\r\n\r\n createPatientEncounterNotesModal(patientencounternotesmodel: PatientEncounterNotesModel) {\r\n //this.patientencounternotesmodel.patientID = this.clientId;\r\n this.patientencounternotesmodel.patientID=this.clientId,\r\n this.patientencounternotesmodel.StaffId=this.staffDetails.staffId,\r\n this.patientencounternotesmodel.AppointmentID= this.appointmentId\r\n let patientencounternotesModal;\r\n patientencounternotesModal = this.patientencounternotesDialogModal.open(PatientEncounterNotesModalComponent, {\r\n data: {\r\n patientencounternote: patientencounternotesmodel,\r\n //refreshGrid: this.refreshGrid.bind(this),\r\n },\r\n });\r\n patientencounternotesModal.afterClosed().subscribe((result: string) => { \r\n if (result == \"save\"){\r\n this.getNotes();\r\n }\r\n // this.getDiagnosisList();\r\n \r\n });\r\n }\r\n\r\n\r\n getUserDocuments() {\r\n\r\n if (this.appointmentId != null) {\r\n // this.fromDate =\r\n // this.fromDate == null\r\n // ? \"1990-01-01\"\r\n // : format(this.fromDate, \"YYYY-MM-DD\");\r\n // this.toDate =\r\n // this.toDate == null\r\n // ? format(this.todayDate, \"YYYY-MM-DD\")\r\n // : format(this.toDate, \"YYYY-MM-DD\");\r\n this.clientService\r\n .getPateintApptDocuments(this.appointmentId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n this.documentList =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n }\r\n });\r\n }\r\n }\r\n\r\n getUserDocument(value: UserDocumentModel) {\r\n this.clientService.getUserDocument(value.id).subscribe((response: any) => {\r\n this.clientService.downloadFile(response, response.type, value.url);\r\n });\r\n }\r\n\r\n deleteUserDocument(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this document?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientService\r\n .deleteUserDocument(id)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getUserDocuments();\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n handleCompleteAppoitnment() {\r\n let videoCall = document.getElementsByClassName(\"video-call\");\r\n if(videoCall.length > 0)\r\n {\r\n this.endCall();\r\n }\r\n\r\n this.dialogService\r\n .confirm(\"Are you sure you want to complete this appointment?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n const appointmentData = {\r\n id:this.appointmentId,\r\n status: \"Completed\",\r\n };\r\n this.encounterService\r\n .updateAppointmentStatus(appointmentData)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifierService.notify(\"success\", response.message);\r\n this.router.navigate([\"/web/scheduling\"])\r\n //this.fetchEvents();\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n endCall() {\r\n console.log(\"15 endcall called from publisher \");\r\n let callInitModel: CallInitModel = new CallInitModel();\r\n callInitModel.AppointmentId = 0;\r\n callInitModel.CallStatus = CallStatus.Over;\r\n this.appService.CheckCallStarted(callInitModel);\r\n let videoCall = document.getElementsByClassName(\"video-call\");\r\n videoCall[0].classList.add(\"video-call-hide\");\r\n let videoTool = document.getElementsByClassName(\"video-tool\");\r\n videoTool[0].classList.add(\"video-tool-hide\");\r\n var apptId = 0;\r\n this.activatedRoute.queryParams.subscribe((param) => {\r\n apptId = param[\"apptId\"];\r\n });\r\n localStorage.removeItem(\"otSession\");\r\n sessionStorage.removeItem(\"otSession\");\r\n this.commonService.isPatient.subscribe((isPatient) => {\r\n if (isPatient) {\r\n console.log(\"16 ispatient condition in endcall called from publisher \");\r\n this.session.on(\"streamDestroyed\", (e) => e.preventDefault());\r\n this.session.disconnect();\r\n this.router.navigate([\"/web/encounter/thank-you\"], {\r\n queryParams: {\r\n apptId: apptId,\r\n },\r\n });\r\n \r\n \r\n } else {\r\n console.log(\"17 ispatient false in endcall called from publisher \");\r\n this.session.on(\"streamDestroyed\", (e) => e.preventDefault());\r\n this.session.disconnect();\r\n \r\n }\r\n \r\n });\r\n // setTimeout(() => {\r\n // if (localStorage.getItem(\"access_token\")) {\r\n // this.commonService.userRole.subscribe((res) => {\r\n \r\n // if (localStorage.getItem(\"UserRole\").toLowerCase()==\"client\" || res.toLowerCase()==\"client\") //\r\n // {\r\n // this.router.navigate([\"/web/client/my-scheduling\"]);\r\n \r\n // }\r\n // else {\r\n // this.router.navigate([\"/web/scheduling\"]);\r\n // }\r\n \r\n // });\r\n // }\r\n // }, 1000);\r\n \r\n \r\n \r\n \r\n if (this.appointmentId > 0 && Number(localStorage.getItem(\"UserId\")) > 0) {\r\n this.appService\r\n .getEndCall(this.appointmentId, Number(localStorage.getItem(\"UserId\")))\r\n .subscribe((res) => {\r\n \r\n });\r\n \r\n }\r\n \r\n // var reviewRatingModel = new ProvideViewRatingModel();\r\n // reviewRatingModel.isPublic = false;\r\n // reviewRatingModel.patientAppointmentId = this.appointmentId;\r\n // let dbModal;\r\n // dbModal = this.dialogModal.open(ProvideReviewRatingComponent, {\r\n // data: { reviewRatingModel }\r\n // });\r\n // dbModal.afterClosed().subscribe((result: string) => {\r\n \r\n // });\r\n \r\n }\r\n\r\n ngOnDestroy(): void {\r\n // this.appService.newSelectedScreenSizeSubject.next(\"1:4\");\r\n this.appService.newSelectedScreenSizeSubject.next(\"1:2\");\r\n\r\n const top = screen.height * .10;\r\n const left = screen.width * .70;\r\n this.appService.newSelectedVideoPositionSubject.next(left+\",\"+top);\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{templateFormName}}

\\r\\n
\\r\\n \\r\\n
\\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, Inject } from '@angular/core';\r\nimport { FormioOptions } from 'angular-formio';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-template-form',\r\n templateUrl: './template-form.component.html',\r\n styleUrls: ['./template-form.component.css']\r\n})\r\nexport class TemplateFormComponent {\r\n public jsonFormData: Object = {\r\n components: []\r\n };\r\n initialFormValues: Object = {\r\n data: {}\r\n };\r\n formioOptions: FormioOptions = {\r\n disableAlerts: true\r\n }\r\n encounterTemplateId: number = null;\r\n templateFormId: number = null;\r\n encounterId: number = null;\r\n templateFormName: string = null;\r\n\r\n constructor(\r\n public dialogPopup: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n ) {\r\n\r\n let formJson = {components: []}, formData = {data: {}};\r\n try{\r\n formJson = JSON.parse(data.templateJson);\r\n formData = JSON.parse(data.templateData);\r\n } catch(err) { }\r\n\r\n this.encounterTemplateId = data.id || null;\r\n this.jsonFormData = data.templateJson ? formJson : this.jsonFormData;\r\n this.templateFormName = data.templateName || '';\r\n this.initialFormValues = data.templateData ? formData : this.initialFormValues;\r\n this.templateFormId = data.templateId;\r\n this.encounterId = data.encounterId;\r\n }\r\n\r\n onSubmitTemplate(event: any) {\r\n const postData = {\r\n id: this.encounterTemplateId,\r\n templateData: JSON.stringify(event),\r\n masterTemplateId: this.templateFormId,\r\n patientEncounterId: this.encounterId,\r\n }\r\n this.onClose(postData);\r\n }\r\n\r\n onClose(data?: any) {\r\n this.dialogPopup.close(data);\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Thank You!

\\r\\n

Please share your valuable feedback and for further assistance feel free to contact.

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

\\r\\n Having trouble? Contact us\\r\\n

\\r\\n

\\r\\n Continue to Dashboard\\r\\n

\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-thank-you',\r\n templateUrl: './thank-you.component.html',\r\n styleUrls: ['./thank-you.component.css']\r\n})\r\nexport class ThankYouComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n {{staffDetails.staffName}}\\r\\n

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

\\r\\n Appointment Date : \\r\\n {{patientAppointmentDetails.startDateTime||'' | date:'mediumDate'}}\\r\\n

\\r\\n

\\r\\n Time : \\r\\n {{patientAppointmentDetails.startDateTime||''| date:'shortTime'}} - {{patientAppointmentDetails.endDateTime||''| date:'shortTime'}}\\r\\n

\\r\\n\\r\\n
\\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 { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { EncounterService } from \"../encounter.service\";\r\n//import { ChatService } from \"src/app/platform/modules/agency-portal/encounter/mean-video/chat.service\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { HubService } from \"../../../main-container/hub.service\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { CallInitModel, CallStatus } from \"src/app/shared/models/callModel\";\r\nimport { AddKeywordComponent } from \"../../keyword/add-keyword/add-keyword.component\";\r\nimport { a } from \"@angular/core/src/render3\";\r\n\r\n@Component({\r\n selector: \"app-video-call\",\r\n templateUrl: \"./video-call.component.html\",\r\n styleUrls: [\"./video-call.component.css\"],\r\n})\r\nexport class VideoCallComponent implements OnInit, OnDestroy {\r\n appointmentId: number;\r\n encounterId: number;\r\n patientAppointmentDetails: any;\r\n patientAppointment: any;\r\n staffDetails: any;\r\n userId: number = 0;\r\n\r\n constructor(\r\n private activateRoute: ActivatedRoute,\r\n private encounterService: EncounterService,\r\n //private chatService: ChatService,\r\n private commonService: CommonService,\r\n private hubSevice: HubService,\r\n private appService: AppService\r\n ) {\r\n this.appointmentId = 0;\r\n this.encounterId = 0;\r\n this.patientAppointmentDetails = null;\r\n this.staffDetails = null;\r\n this.patientAppointment = null;\r\n }\r\n\r\n ngOnInit() {\r\n console.log(\"13 oninit called from video call component \");\r\n let fullName = \"\";\r\n if (localStorage.getItem(\"access_token\")) {\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n let userInfo: any;\r\n\r\n this.userId = user.data.userID;\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n userInfo = user.patientData;\r\n fullName = userInfo.lastName + \" \" + userInfo.firstName;\r\n } else {\r\n userInfo = user.data;\r\n fullName = userInfo.lastName + \" \" + userInfo.firstName;\r\n }\r\n } else {\r\n }\r\n });\r\n }\r\n\r\n if (this.activateRoute.snapshot.url[0] && this.activateRoute.snapshot.url[0].path == \"check-in-video-call\") {\r\n\r\n const apptId = this.activateRoute.snapshot.paramMap.get('id');\r\n this.appointmentId = Number(apptId);\r\n this.encounterId = 0;\r\n \r\n if(this.appointmentId)\r\n this.getPatientAppointmentDetails();\r\n\r\n } else {\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n this.appointmentId =\r\n params.apptId == undefined ? 0 : parseInt(params.apptId);\r\n if (this.appointmentId) {\r\n this.getPatientAppointmentDetails();\r\n //this.hubSevice.handleIncomingCall(this.appointmentId, this.userId);\r\n // this.chatService.changename({\r\n // username: fullName,\r\n // roomname: \"room\" + this.appointmentId.toString()\r\n // });\r\n }\r\n });\r\n }\r\n if (this.appointmentId > 0 && this.userId > 0) {\r\n console.log(\"10 call initiate called from video call\");\r\n console.log(\"call initiated from here\")\r\n console.log(\"appointmentid=\"+this.appointmentId)\r\n this.appService\r\n .getCallInitiate(this.appointmentId, this.userId)\r\n .subscribe((res) => {\r\n console.log(res);\r\n });\r\n }\r\n let callInitModel: CallInitModel = new CallInitModel();\r\n //console.log(\"call\",callInitModel)\r\n callInitModel.AppointmentId = this.appointmentId;\r\n callInitModel.CallStatus = CallStatus.Picked;\r\n this.appService.CheckCallStarted(callInitModel);\r\n }\r\n\r\n getPatientAppointmentDetails() {\r\n\r\n this.encounterService\r\n .GetPatientEncounterDetails(this.appointmentId, this.encounterId, false)\r\n .subscribe((response) => {\r\n console.log(\"detialsd\",response)\r\n if (response.statusCode == 200) {\r\n \r\n this.patientAppointmentDetails =\r\n response.data.patientAppointment || null;\r\n \r\n if (\r\n this.patientAppointmentDetails.appointmentStaffs != null &&\r\n this.patientAppointmentDetails.appointmentStaffs != undefined &&\r\n this.patientAppointmentDetails.appointmentStaffs.length > 0\r\n )\r\n this.staffDetails = this.patientAppointmentDetails.appointmentStaffs[0];\r\n } else {\r\n this.patientAppointmentDetails = null;\r\n this.staffDetails = null;\r\n }\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n // this.appService.newSelectedScreenSizeSubject.next(\"1:4\");\r\n this.appService.newSelectedScreenSizeSubject.next(\"1:2\");\r\n const top = screen.height * .10;\r\n const left = screen.width * .70;\r\n this.appService.newSelectedVideoPositionSubject.next(left+\",\"+top);\r\n }\r\n}\r\n","module.exports = \".video-button {\\r\\n position: absolute;\\r\\n bottom: 25px;\\r\\n z-index: 1;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ s.size }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n videocam\\r\\n \\r\\n \\r\\n videocam_off\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\"","import { AppService } from \"./../../../../../../app-service.service\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { AddNewCallerComponent } from \"./../../../../../../shared/add-new-caller/add-new-caller.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { CommonService } from \"./../../../../core/services/common.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport {\r\n Component,\r\n ElementRef,\r\n AfterViewInit,\r\n ViewChild,\r\n Input,\r\n OnDestroy,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { OpentokService } from \"../../opentok.service\";\r\nimport { ChatInitModel } from \"src/app/shared/models/chatModel\";\r\nimport { TextChatService } from \"src/app/shared/text-chat/text-chat.service\";\r\nimport { VideoRecordModel } from \"src/app/shared/models/videoRecordModel\";\r\nimport { CallInitModel, CallStatus } from \"src/app/shared/models/callModel\";\r\nimport { ViewRatingModel } from \"../../../view-ratings/view-rating-model\";\r\nimport { ViewRatingsComponent } from \"../../../view-ratings/view-ratings.component\";\r\nimport { ProvideViewRatingModel } from \"../../../provide-review-rating/provide-review-rating-model\";\r\nimport { ProvideReviewRatingComponent } from \"../../../provide-review-rating/provide-review-rating.component\";\r\nimport { DialogService } from \"src/app/shared/layout/dialog/dialog.service\";\r\n\r\n@Component({\r\n selector: \"app-publisher\",\r\n templateUrl: \"./publisher.component.html\",\r\n styleUrls: [\"./publisher.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PublisherComponent implements AfterViewInit, OnDestroy {\r\n @ViewChild(\"publisherDiv\") publisherDiv: ElementRef;\r\n @Input() session: OT.Session;\r\n @Input() patientAppointmentId: number;\r\n @Input() otSessionId: number;\r\n publisher: OT.Publisher;\r\n publishing: Boolean;\r\n isScreenShare: boolean;\r\n isVideo: boolean = true;\r\n userRole: any;\r\n isVideoBtn: boolean = false;\r\n isFullScreen: boolean = false;\r\n isProvider: boolean = false;\r\n isPatient: boolean = false;\r\n screenSize: Array = [\r\n { id: 1, size: \"1:8\", class: \"one-forth-width\" },\r\n { id: 2, size: \"1:4\", class: \"half-width\" },\r\n { id: 3, size: \"1:2\", class: \"\" },\r\n { id: 4, size: \"1:1\", class: \"video-call-fixed\" },\r\n ];\r\n screenId: any;\r\n isVideoRecord: boolean = false;\r\n archiveId: string = \"\";\r\n constructor(\r\n private opentokService: OpentokService,\r\n private commonService: CommonService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private dialogModal: MatDialog,\r\n private appService: AppService,\r\n private textChatService: TextChatService,\r\n private dialogService: DialogService,\r\n ) {\r\n\r\n this.publishing = false;\r\n\r\n\r\n this.screenId = this.screenSize[2];\r\n // console.log(this.screenId);\r\n this.archiveId = \"\";\r\n }\r\n ngOnInit() {\r\n console.log(\"14 oninit called from publisher \");\r\n this.appService.videoRecordingStarted.subscribe(\r\n (videoRecordModel: VideoRecordModel) => {\r\n this.isVideoRecord = videoRecordModel.isRecording;\r\n this.archiveId = \"\";\r\n if (videoRecordModel.isRecording)\r\n this.archiveId = videoRecordModel.archiveId;\r\n }\r\n );\r\n // this.subscription = this.commonService.loginUser.subscribe(\r\n // (user: LoginUser) => {\r\n // if (user && user.data) \r\n // {\r\n\r\n // const userRoleName =\r\n // user.data.users3 && user.data.users3.userRoles.userType;\r\n // if ((userRoleName || \"\").toUpperCase() === \"CLIENT\") {\r\n // this.isPatient = true;\r\n // } else {\r\n\r\n // this.isPatient = false;\r\n // }\r\n // }\r\n // });\r\n this.appService.newSelectedScreenSize.subscribe(s => {\r\n if (s) {\r\n const size = this.screenSize.find(x => x.size == s);\r\n const eventSize = { value: size }\r\n this.setScreenSize(eventSize);\r\n }\r\n })\r\n\r\n\r\n\r\n };\r\n\r\n\r\n // ngAfterViewInit() {\r\n // this.startVideoCall();\r\n // }\r\n\r\n // cycleVideo() {\r\n // this.publisher && this.publisher.cycleVideo();\r\n // }\r\n\r\n // toggleScreen() {\r\n // if (this.isScreenShare)\r\n // this.startVideoCall();\r\n // else\r\n // this.screenshare()\r\n // this.isScreenShare = !this.isScreenShare;\r\n // }\r\n\r\n // startVideoCall() {\r\n // const OT = this.opentokService.getOT();\r\n // this.publisher = OT.initPublisher(this.publisherDiv.nativeElement,\r\n // { name: 'OpenTok', style: {}, insertMode: 'append', width: '70px', height: '50px', showControls: true, },\r\n // (err) => {\r\n // err && alert(err.message);\r\n // });\r\n\r\n // if (this.session) {\r\n // if (this.session['isConnected']()) {\r\n // this.publish();\r\n // }\r\n // this.session.on('sessionConnected', () => this.publish());\r\n // }\r\n // }\r\n\r\n // screenshare() {\r\n // const OT = this.opentokService.getOT();\r\n // OT.checkScreenSharingCapability((response) => {\r\n // if (!response.supported || response.extensionRegistered === false) {\r\n // alert('This browser does not support screen sharing.');\r\n // } else if (response.extensionInstalled === false) {\r\n // alert('Please install the screen sharing extension and load your app over https.');\r\n // } else {\r\n // // Screen sharing is available. Publish the screen.\r\n // this.publisher = OT.initPublisher(this.publisherDiv.nativeElement, {width: '70px', height: '50px', showControls: true, videoSource: 'window' });\r\n // if (this.session) {\r\n // if (this.session['isConnected']()) {\r\n // this.publish();\r\n // }\r\n // this.session.on('sessionConnected', () => this.publish());\r\n // }\r\n // }\r\n // })\r\n // }\r\n\r\n // publish() {\r\n // this.session.publish(this.publisher, (err) => {\r\n // if (err) {\r\n // alert(err.message);\r\n // } else {\r\n // this.publishing = true;\r\n // }\r\n // });\r\n // }\r\n\r\n // ngOnDestroy() {\r\n // if (!this.isScreenShare)\r\n // this.session.disconnect();\r\n // }\r\n\r\n ngAfterViewInit() {\r\n this.startVideoCall();\r\n }\r\n\r\n cycleVideo() {\r\n this.publisher && this.publisher.cycleVideo();\r\n }\r\n\r\n toggleVideo(video: boolean) {\r\n this.isVideoBtn = false;\r\n if (video == true) {\r\n this.publisher.publishVideo(false);\r\n this.publisher.publishAudio(true);\r\n this.isVideo = false;\r\n } else {\r\n this.publisher.publishVideo(true);\r\n this.publisher.publishAudio(true);\r\n this.isVideo = true;\r\n }\r\n }\r\n toggleFullScreen(isFullScreen: boolean) {\r\n this.isFullScreen = !isFullScreen;\r\n let videoTool = document.getElementsByClassName(\"video-call\");\r\n videoTool[0].classList.toggle(\"video-call-fixed\");\r\n }\r\n toggleScreen() {\r\n if (this.isScreenShare) this.startVideoCall();\r\n else this.screenshare();\r\n this.isScreenShare = !this.isScreenShare;\r\n }\r\n screenshare() {\r\n const OT = this.opentokService.getOT();\r\n OT.checkScreenSharingCapability((response) => {\r\n if (!response.supported || response.extensionRegistered === false) {\r\n alert(\"This browser does not support screen sharing.\");\r\n } else if (response.extensionInstalled === false) {\r\n alert(\r\n \"Please install the screen sharing extension and load your app over https.\"\r\n );\r\n } else {\r\n // Screen sharing is available. Publish the screen.\r\n this.publisher = OT.initPublisher(this.publisherDiv.nativeElement, {\r\n width: \"70px\",\r\n height: \"50px\",\r\n showControls: true,\r\n videoSource: \"window\",\r\n });\r\n if (this.session) {\r\n if (this.session[\"isConnected\"]()) {\r\n\r\n this.publish();\r\n }\r\n this.session.on(\"sessionConnected\", () => this.publish());\r\n }\r\n }\r\n });\r\n }\r\n endcalldialog(){\r\n this.dialogService\r\n .confirm(\"Are you sure you want to Disconnect the call ?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.endCall()\r\n }\r\n});\r\n }\r\n\r\n\r\n endCall() {\r\n console.log(\"15 endcall called from publisher \");\r\n let callInitModel: CallInitModel = new CallInitModel();\r\n callInitModel.AppointmentId = 0;\r\n callInitModel.CallStatus = CallStatus.Over;\r\n this.appService.CheckCallStarted(callInitModel);\r\n let videoCall = document.getElementsByClassName(\"video-call\");\r\n videoCall[0].classList.add(\"video-call-hide\");\r\n let videoTool = document.getElementsByClassName(\"video-tool\");\r\n videoTool[0].classList.add(\"video-tool-hide\");\r\n var apptId = 0;\r\n this.activatedRoute.queryParams.subscribe((param) => {\r\n apptId = param[\"apptId\"];\r\n });\r\n localStorage.removeItem(\"otSession\");\r\n this.commonService.isPatient.subscribe((isPatient) => {\r\n if (isPatient) {\r\n console.log(\"16 ispatient condition in endcall called from publisher \");\r\n this.session.on(\"streamDestroyed\", (e) => e.preventDefault());\r\n this.session.disconnect();\r\n this.router.navigate([\"/web/encounter/thank-you\"], {\r\n queryParams: {\r\n apptId: apptId,\r\n },\r\n });\r\n\r\n\r\n } else {\r\n console.log(\"17 ispatient false in endcall called from publisher \");\r\n this.session.on(\"streamDestroyed\", (e) => e.preventDefault());\r\n this.session.disconnect();\r\n\r\n }\r\n\r\n });\r\n // setTimeout(() => {\r\n // if (localStorage.getItem(\"access_token\")) {\r\n // this.commonService.userRole.subscribe((res) => {\r\n\r\n // if (localStorage.getItem(\"UserRole\").toLowerCase()==\"client\" || res.toLowerCase()==\"client\") //\r\n // {\r\n // this.router.navigate([\"/web/client/my-scheduling\"]);\r\n\r\n // }\r\n // else {\r\n // this.router.navigate([\"/web/scheduling\"]);\r\n // }\r\n\r\n // });\r\n // }\r\n // }, 1000);\r\n\r\n\r\n\r\n\r\n if (this.patientAppointmentId > 0 && Number(localStorage.getItem(\"UserId\")) > 0) {\r\n this.appService\r\n .getEndCall(this.patientAppointmentId, Number(localStorage.getItem(\"UserId\")))\r\n .subscribe((res) => {\r\n\r\n });\r\n\r\n }\r\n\r\n var reviewRatingModel = new ProvideViewRatingModel();\r\n reviewRatingModel.isPublic = false;\r\n reviewRatingModel.patientAppointmentId = this.patientAppointmentId;\r\n let dbModal;\r\n if(localStorage.UserRole =='CLIENT'){\r\n dbModal = this.dialogModal.open(ProvideReviewRatingComponent, {\r\n data: { reviewRatingModel }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n\r\n });\r\n }\r\n }\r\n\r\n startVideoCall() {\r\n console.log(\"18 start video call is called from publisher \");\r\n const OT = this.opentokService.getOT();\r\n this.publisher = OT.initPublisher(\r\n this.publisherDiv.nativeElement,\r\n {\r\n name: \"OpenTok\",\r\n style: {},\r\n insertMode: \"append\",\r\n width: \"70px\",\r\n height: \"50px\",\r\n showControls: true,\r\n },\r\n (err) => {\r\n err && console.log(err.message); //alert(err.message);\r\n }\r\n );\r\n\r\n if (this.session) {\r\n if (this.session[\"isConnected\"]()) {\r\n this.publish();\r\n }\r\n this.session.on(\"sessionConnected\", () => this.publish());\r\n this.session.on(\"sessionDisconnected\", function (event) { });\r\n }\r\n }\r\n\r\n publish() {\r\n console.log(\"19 publish is called from publisher \");\r\n this.session.unpublish(this.publisher);\r\n this.session.publish(this.publisher, (err) => {\r\n if (err) {\r\n console.log(err.message);\r\n //alert(err.message);\r\n\r\n } else {\r\n this.publishing = true;\r\n }\r\n });\r\n }\r\n addNewCaller() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(AddNewCallerComponent, {\r\n data: {\r\n appointmentId: this.patientAppointmentId,\r\n sessionId: this.otSessionId,\r\n },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") {\r\n }\r\n });\r\n }\r\n startChat() {\r\n var chatInitModel = new ChatInitModel();\r\n var response = JSON.parse(\r\n this.commonService.encryptValue(localStorage.getItem(\"otSession\"), false)\r\n );\r\n\r\n if (!localStorage.getItem(\"access_token\")) {\r\n chatInitModel.isActive = true;\r\n chatInitModel.AppointmentId = response.appointmentId;\r\n chatInitModel.UserId = response.userId;\r\n chatInitModel.UserRole = \"Invited\";\r\n } else {\r\n chatInitModel.isActive = true;\r\n chatInitModel.AppointmentId = response.appointmentId;\r\n chatInitModel.UserId = Number(localStorage.getItem(\"UserId\"));\r\n chatInitModel.UserRole = localStorage.getItem(\"UserRole\");\r\n\r\n // this.commonService.userRole.subscribe((role) => {\r\n // if (role != \"PROVIDER\") {\r\n // this.commonService.loginUser.subscribe((loginDetail: any) => {\r\n // if (loginDetail.access_token) {\r\n // chatInitModel.isActive = true;\r\n // chatInitModel.AppointmentId = response.appointmentId;\r\n // chatInitModel.UserId = loginDetail.data.userID;\r\n // chatInitModel.UserRole =\r\n // loginDetail.data.users1.userRoles.userType;\r\n // }\r\n // });\r\n // } else {\r\n // this.commonService.loginUser.subscribe((loginDetail: any) => {\r\n // if (loginDetail.access_token) {\r\n // chatInitModel.isActive = true;\r\n // chatInitModel.AppointmentId = response.appointmentId;\r\n // chatInitModel.UserId = loginDetail.data.userID;\r\n // chatInitModel.UserRole = loginDetail.data.userRoles.userType;\r\n // }\r\n // });\r\n // }\r\n // });\r\n }\r\n this.appService.CheckChatActivated(chatInitModel);\r\n // this.getAppointmentInfo(\r\n // chatInitModel.AppointmentId,\r\n // chatInitModel.UserRole\r\n // );\r\n this.textChatService.setAppointmentDetail(\r\n chatInitModel.AppointmentId,\r\n chatInitModel.UserRole\r\n );\r\n this.textChatService.setRoomDetail(\r\n chatInitModel.UserId,\r\n chatInitModel.AppointmentId\r\n );\r\n }\r\n setScreenSize(event: any) {\r\n this.screenId = event.value;\r\n let videoTool = document.getElementsByClassName(\"video-tool\");\r\n console.log(\"value videoTool:\", videoTool)\r\n if (videoTool != undefined && videoTool.length > 0) {\r\n videoTool[0].classList.remove(\"video-call-fixed\");\r\n videoTool[0].classList.remove(\"half-width\");\r\n videoTool[0].classList.remove(\"one-forth-width\");\r\n var className = this.screenId.class;\r\n console.log(\"value videoTool:\", className)\r\n videoTool[0].classList.add(className);\r\n }\r\n }\r\n startStopCallRecording() {\r\n this.isVideoRecord = !this.isVideoRecord;\r\n if (this.isVideoRecord) {\r\n var response = JSON.parse(\r\n this.commonService.encryptValue(\r\n localStorage.getItem(\"otSession\"),\r\n false\r\n )\r\n );\r\n this.otSessionId = response.id;\r\n const config = {\r\n API_KEY: +response.apiKey,\r\n TOKEN: response.token,\r\n SESSION_ID: response.sessionID,\r\n SAMPLE_SERVER_BASE_URL: \"\",\r\n };\r\n this.appService\r\n .startVideoRecording(response.sessionID)\r\n .subscribe((response) => {\r\n console.log(response);\r\n });\r\n } else if (this.archiveId != \"\") {\r\n this.appService\r\n .stopVideoRecording(this.archiveId, this.patientAppointmentId)\r\n .subscribe((response) => {\r\n console.log(response);\r\n });\r\n }\r\n }\r\n profileroute() {\r\n const urlPartsArry = this.router.url.split('/');\r\n var apptIdStrP = urlPartsArry[urlPartsArry.length - 1];\r\n this.router.navigate([\"/web/waiting-room/view-profile/\",apptIdStrP]);\r\n }\r\n ngOnDestroy() {\r\n this.session.disconnect();\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\"","import {\r\n Component,\r\n ElementRef,\r\n AfterViewInit,\r\n ViewChild,\r\n Input\r\n} from \"@angular/core\";\r\nimport * as OT from \"@opentok/client\";\r\n\r\n@Component({\r\n selector: \"app-subscriber\",\r\n templateUrl: \"./subscriber.component.html\",\r\n styleUrls: [\"./subscriber.component.css\"]\r\n})\r\nexport class SubscriberComponent implements AfterViewInit {\r\n @ViewChild(\"subscriberDiv\") subscriberDiv: ElementRef;\r\n @Input() session: OT.Session;\r\n @Input() stream: OT.Stream;\r\n @Input() index: number;\r\n constructor() {}\r\n\r\n ngAfterViewInit() {\r\n console.log(\"20 ngafter is called from subscriber \");\r\n const subscriber = this.session.subscribe(\r\n this.stream,\r\n this.subscriberDiv.nativeElement,\r\n {\r\n insertMode: \"append\",\r\n width: \"700px\",\r\n height: \"500px\",\r\n showControls: true\r\n },\r\n err => {\r\n if (err) {\r\n console.log(err.message);\r\n //alert(err.message);\r\n }\r\n }\r\n );\r\n // let subscribe = document.getElementsByClassName(\"app-subscriber\");\r\n // for(var i=0;i\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{s.size}}\\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-video-button',\r\n templateUrl: './video-button.component.html',\r\n styleUrls: ['./video-button.component.css']\r\n})\r\nexport class VideoButtonComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"/* app-publisher,\\r\\napp-subscriber {\\r\\n display: block;\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.video-call {\\r\\n width: 700px;\\r\\n height: 500px;\\r\\n}\\r\\napp-video-chat .readmin-panel {\\r\\n height: calc(100vh - 135px);\\r\\n}\\r\\n.OT_publisher {\\r\\n position: absolute;\\r\\n z-index: 1;\\r\\n right: 25px;\\r\\n bottom: 15px;\\r\\n width: 110px !important;\\r\\n height: 80px !important;\\r\\n}\\r\\n.OT_subscriber {\\r\\n width: auto !important;\\r\\n height: initial !important;\\r\\n position: absolute;\\r\\n left: 15px;\\r\\n right: 15px;\\r\\n top: 0px;\\r\\n bottom: 0px;\\r\\n}\\r\\n\\r\\n.video-call {\\r\\n width: 100%;\\r\\n border: solid 1px #f4f7fc;\\r\\n background: #000;\\r\\n color: #fff;\\r\\n}\\r\\n.video-call::before {\\r\\n content: \\\"Connecting...Please wait\\\";\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 40%;\\r\\n font-size: 15px;\\r\\n}\\r\\n.OT_name.OT_edge-bar-item.OT_mode-auto {\\r\\n visibility: hidden;\\r\\n} */\\r\\n.soap-note-video {\\r\\n left: 47% !important;\\r\\n transition: linear all 300ms;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { CommonService } from \"./../../../core/services/common.service\";\r\nimport {\r\n Component,\r\n ChangeDetectorRef,\r\n ViewEncapsulation,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n} from \"@angular/core\";\r\nimport { OpentokService } from \"../opentok.service\";\r\nimport { EncounterService } from \"../encounter.service\";\r\nimport * as OT from \"@opentok/client\";\r\nimport { SchedulerService } from \"../../../scheduling/scheduler/scheduler.service\";\r\nimport * as moment from \"moment\";\r\n\r\n@Component({\r\n selector: \"app-video-chat\",\r\n templateUrl: \"./video-chat.component.html\",\r\n styleUrls: [\"./video-chat.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class VideoChatComponent implements OnInit {\r\n @Input() patientAppointmentDetails: any;\r\n @Input() patientAppointmentId: any;\r\n title = \"Video Chat\";\r\n session: OT.Session;\r\n streams: Array = [];\r\n changeDetectorRef: ChangeDetectorRef;\r\n startTime: Date;\r\n endTime: Date;\r\n actualMin: any;\r\n otSessionId: number = 0;\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n private opentokService: OpentokService,\r\n private encounterService: EncounterService,\r\n private schedulerService: SchedulerService,\r\n private commonService: CommonService\r\n ) {\r\n this.changeDetectorRef = ref;\r\n }\r\n\r\n ngOnInit() {\r\n console.log(\"11 oniit called from video chat component\");\r\n \r\n let divVideoTool = document.getElementById(\"divVideoTool\");\r\n if (divVideoTool != undefined) {\r\n let videoTool = document.getElementsByClassName(\"video-tool\");\r\n if (videoTool != undefined && videoTool.length > 0) {\r\n var position = divVideoTool.getBoundingClientRect();\r\n videoTool[0].setAttribute(\"style\", \"left:\" + position.left + \"px;\");\r\n }\r\n }\r\n //videoTool[0].classList.add(\"soap-note-video\");\r\n // this.commonService.videoSessionStarted.subscribe(res => {\r\n // var a = res;\r\n // if (\r\n // localStorage.getItem(\"otSession\") &&\r\n // localStorage.getItem(\"otSession\") != \"\"\r\n // )\r\n // console.log()\r\n // });\r\n if (this.patientAppointmentDetails && !localStorage.getItem(\"otSession\")) {\r\n // const {\r\n // patientID,\r\n // appointmentStaffs,\r\n // endDateTime,\r\n // startDateTime\r\n // } = this.patientAppointmentDetails;\r\n // const staffId =\r\n // appointmentStaffs && appointmentStaffs.length == 1\r\n // ? appointmentStaffs[0].staffId\r\n // : null;\r\n\r\n // if (staffId && patientID) {\r\n // const filters = {\r\n // patientID,\r\n // staffID: staffId,\r\n // startTime: moment(startDateTime).format(\"YYYY-MM-DDTHH:mm:ss\"),\r\n // endTime: moment(endDateTime).format(\"YYYY-MM-DDTHH:mm:ss\")\r\n // };\r\n this.encounterService\r\n .getTelehealthSession(this.patientAppointmentId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n var otSession = this.commonService.encryptValue(\r\n JSON.stringify(response.data)\r\n );\r\n \r\n console.log(\"session=\"+JSON.stringify(response.data));\r\n //let videoTool = document.getElementsByClassName(\"video-tool\");\r\n //videoTool[0].classList.remove(\"video-tool-hide\");\r\n localStorage.setItem(\"otSession\", otSession);\r\n this.commonService.videoSession(true);\r\n this.otSessionId = response.data.id;\r\n // const config = {\r\n // API_KEY: +response.data.apiKey,\r\n // TOKEN: response.data.token,\r\n // SESSION_ID: response.data.sessionID,\r\n // SAMPLE_SERVER_BASE_URL: \"\"\r\n // };\r\n //this.getSession(config);\r\n }\r\n });\r\n }\r\n //}\r\n }\r\n\r\n // getSession(config: any) {\r\n // this.opentokService\r\n // .initSession(config)\r\n // .then((session: OT.Session) => {\r\n // console.log(session);\r\n // this.session = session;\r\n // this.session.on(\"streamCreated\", event => {\r\n // this.startTime = new Date();\r\n // this.streams.push(event.stream);\r\n // this.changeDetectorRef.detectChanges();\r\n // });\r\n // this.session.on(\"streamDestroyed\", event => {\r\n // this.capturedEndTime();\r\n // if (event.reason === \"networkDisconnected\") {\r\n // event.preventDefault();\r\n // var subscribers = session.getSubscribersForStream(event.stream);\r\n // if (subscribers.length > 0) {\r\n // var subscriber = document.getElementById(subscribers[0].id);\r\n // // Display error message inside the Subscriber\r\n // subscriber.innerHTML =\r\n // \"Lost connection. This could be due to your internet connection \" +\r\n // \"or because the other party lost their connection.\";\r\n // event.preventDefault(); // Prevent the Subscriber from being removed\r\n // }\r\n // }\r\n // const idx = this.streams.indexOf(event.stream);\r\n // if (idx > -1) {\r\n // this.streams.splice(idx, 1);\r\n // this.changeDetectorRef.detectChanges();\r\n // }\r\n // });\r\n // this.session.on(\"sessionDisconnected\", event => {\r\n // this.capturedEndTime();\r\n // });\r\n // })\r\n // .then(() => this.opentokService.connect())\r\n // .catch(err => {\r\n // console.error(\"error\", err);\r\n // alert(\r\n // \"Unable to connect. Make sure you have updated the config.ts file with your OpenTok details.\"\r\n // );\r\n // });\r\n // }\r\n private capturedEndTime() {\r\n this.endTime = new Date();\r\n this.diff_minutes(this.endTime, this.startTime);\r\n this.updateCallDuration();\r\n }\r\n\r\n diff_minutes(dt2: Date, dt1: Date) {\r\n var diff = (dt2.getTime() - dt1.getTime()) / 1000;\r\n diff /= 60;\r\n this.actualMin = Math.abs(Math.round(diff));\r\n }\r\n updateCallDuration() {\r\n const OT = this.opentokService.getOT();\r\n this.schedulerService\r\n .UpdateCallDuration(this.patientAppointmentId, this.actualMin)\r\n .subscribe((response) => {\r\n if (response.statusCode === 200) {\r\n console.log(\"Call time duration sucessfully captured\");\r\n } else {\r\n console.log(\"On call duration captured time something went wrong\");\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \".panel_title {\\r\\n display: flex;\\r\\n margin-top: 30px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.panel_title h3 {\\r\\n float: left;\\r\\n line-height: 22px;\\r\\n color: #2f2660;\\r\\n font-size: 19px;\\r\\n font-weight: 300;\\r\\n margin-bottom: 30px;\\r\\n padding: 0px 0px 0px 25px;\\r\\n position: relative;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\n.panel_title .flaticon {\\r\\n margin-left: 0px;\\r\\n position: absolute;\\r\\n left: 0px !important;\\r\\n top: 1px;\\r\\n color: #000;\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.mat-form-field-required-marker {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.readmin-form {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.media-type-btn {\\r\\n display: flex;\\r\\n margin-bottom: 25px;\\r\\n}\\r\\n\\r\\n.media-type-btn button {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n padding: 5px 15px;\\r\\n min-width: 160px;\\r\\n border-radius: 10px;\\r\\n border: 1px solid #E5E5E5;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n color: #546361;\\r\\n margin-right: 10px;\\r\\n font-size: 16px !important;\\r\\n font-weight: 400 !important;\\r\\n line-height: 22px;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-primary {\\r\\n border: 1px solid #546361;\\r\\n border-radius: 10px;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-primary .icon-sec {\\r\\n border: 1px solid #546361;\\r\\n border-radius: 5px;\\r\\n background: #546361;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-primary .icon-sec img {\\r\\n -webkit-filter: brightness(0) invert(10);\\r\\n filter: brightness(0) invert(10);\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-light {\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 10px;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n color: #B4B4B4;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-light .icon-sec {\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 5px;\\r\\n background: transparent;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.media-type-btn button .icon-sec {\\r\\n height: 35px;\\r\\n width: 35px;\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-right: 15px;\\r\\n}\\r\\n\\r\\n.media-type-btn button .icon-sec img {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uplaod_pic img {\\r\\n height: 150px;\\r\\n max-width: 100%;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.container_r {\\r\\n display: block;\\r\\n position: relative;\\r\\n padding-left: 35px;\\r\\n margin-bottom: 12px;\\r\\n cursor: pointer;\\r\\n font-size: 22px;\\r\\n -webkit-user-select: none;\\r\\n -moz-user-select: none;\\r\\n -ms-user-select: none;\\r\\n user-select: none;\\r\\n}\\r\\n\\r\\n/* Hide the browser's default radio button */\\r\\n\\r\\n.container_r input {\\r\\n position: absolute;\\r\\n opacity: 0;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/* Create a custom radio button */\\r\\n\\r\\n.checkmark_r {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n background-color: #eee;\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n/* On mouse-over, add a grey background color */\\r\\n\\r\\n.container_r:hover input ~ .checkmark_r {\\r\\n background-color: #ccc;\\r\\n}\\r\\n\\r\\n/* When the radio button is checked, add a blue background */\\r\\n\\r\\n.container_r input:checked ~ .checkmark_r {\\r\\n background-color: #ff6700;\\r\\n}\\r\\n\\r\\n/* Create the indicator (the dot/circle - hidden when not checked) */\\r\\n\\r\\n.checkmark_r:after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n display: none;\\r\\n}\\r\\n\\r\\n/* Show the indicator (dot/circle) when checked */\\r\\n\\r\\n.container_r input:checked ~ .checkmark_r:after {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n/* Style the indicator (dot/circle) */\\r\\n\\r\\n.container_r .checkmark_r:after {\\r\\n \\ttop: 6px;\\r\\n\\tleft: 6px;\\r\\n\\twidth: 8px;\\r\\n\\theight: 8px;\\r\\n\\tborder-radius: 50%;\\r\\n\\tbackground: white;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n background: rgba(0, 0, 0, 0.20);\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n font-size: 13px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 5px;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n.actions-btn .mr-2{\\r\\n margin-right: 12px;\\r\\n margin-bottom: 12px;\\r\\n}\\r\\n\\r\\n.navbar-manage-01 {\\r\\n position: fixed !important;\\r\\n top: 75px;\\r\\n width: 100%;\\r\\n height: 40px;\\r\\n z-index: 1020 !important;\\r\\n background-color: rgb(193, 205, 207);\\r\\n }\\r\\n\\r\\n.header-manage-company {\\r\\n padding-left: 20px;\\r\\n }\\r\\n\\r\\n.example-full-width-manage {\\r\\n float: none;\\r\\n display: block;\\r\\n text-align: left;\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n padding: 14px;\\r\\n }\\r\\n\\r\\n/* tr.mat-header-row {\\r\\n background-color: #7E9693 !important;\\r\\n } */\\r\\n\\r\\n.mat-slide-toggle-thumb {\\r\\n background-color: #7E9693 !important;\\r\\n }\\r\\n\\r\\n.uploadlogoimage01 {\\r\\n /* border-left: 6px solid #7E9693 !important; */\\r\\n width: 100%;\\r\\n height: 50px;\\r\\n padding: 5px 15px;\\r\\n background: #7E9693;\\r\\n border-radius: 2px;\\r\\n font-size: 15px;\\r\\n text-transform: uppercase;\\r\\n font-weight: 400;\\r\\n line-height: 23px;\\r\\n letter-spacing: 1px;\\r\\n color: #fff;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.savebutton {\\r\\n width: 140px;\\r\\n height: 50px;\\r\\n background-color: #7E9693 !important;\\r\\n border-radius: 5px;\\r\\n font-family: 'Poppins' !important;\\r\\n font-style: normal !important;\\r\\n font-weight: 400 !important;\\r\\n font-size: 16px !important;\\r\\n line-height: 24px;\\r\\n color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.hide {\\r\\n display:none !important;\\r\\n}\\r\\n\\r\\ntextarea.mat-input-element {\\r\\n padding: 2px 0;\\r\\n margin: -11px 0;\\r\\n resize: none;\\r\\n}\\r\\n\\r\\n.backButton\\r\\n{\\r\\n margin-left: 10px !important;\\r\\n}\\r\\n\\r\\n.btn-group, .btn-group-vertical, .btn-group>.btn {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n::ng-deep .add-company {\\r\\n min-width: 340px !important;\\r\\n max-width: 730px !important;\\r\\n}\\r\\n\\r\\n::ng-deep .add-company-model{\\r\\n min-width: auto !important;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Add Company

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Company\\r\\n \\r\\n \\r\\n \\r\\n {{ items.companyName }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Course Category\\r\\n \\r\\n \\r\\n Staff\\r\\n Executive\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Select Year\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Course Name\\r\\n \\r\\n \\r\\n \\r\\n {{ items.courseName }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\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, Inject, OnInit } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { FormBuilder, FormGroup, FormControl, Validators } from \"@angular/forms\";\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport * as _moment from 'moment';\r\nimport { Moment } from 'moment';\r\nimport { AddCompanyService } from \"./add-company.service\";\r\nimport { CompanyService } from \"../../manage-company/company.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { UsersService } from '../../users/users.service';\r\nimport { MediaFilterModel, Metadata, ResponseModel } from '../../../core/modals/common-model';\r\nimport { Router } from \"@angular/router\";\r\n\r\nconst moment = _moment;\r\n\r\nexport const MY_FORMATS = {\r\n parse: {\r\n dateInput: 'YYYY',\r\n },\r\n display: {\r\n dateInput: 'YYYY',\r\n monthYearLabel: 'YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'YYYY',\r\n },\r\n};\r\n\r\n@Component({\r\n selector: \"app-add-company-modal\",\r\n templateUrl: \"./add-company-modal.component.html\",\r\n styleUrls: [\"./add-company-modal.component.css\"],\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\r\n },\r\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\r\n ],\r\n})\r\nexport class AddCompanyModalComponent implements OnInit {\r\n companyNames: string[];\r\n AddForm: FormGroup;\r\n selectedCompanyName: string;\r\n loaderImage = \"../../../../../assets/loader.gif\";\r\n isDataLoading: boolean;\r\n isLoadingClients: any;\r\n filterModel: MediaFilterModel;\r\n CourseNameList: any;\r\n metaData: any;\r\n companyData: any;\r\n companyForm: any;\r\n YearModuleList = [\r\n { id: 1, type: \"2019\" },\r\n { id: 2, type: \"2020\" },\r\n { id: 3, type: \"2021\" },\r\n { id: 4, type: \"2022\" },\r\n { id: 5, type: \"2023\" },\r\n { id: 6, type: \"2024\" },\r\n { id: 7, type: \"2025\" },\r\n { id: 8, type: \"2026\" },\r\n { id: 9, type: \"2027\" },\r\n { id: 10, type: \"2028\" },\r\n { id: 11, type: \"2029\" },\r\n { id: 12, type: \"2030\" },\r\n ];\r\n CourseList = [\r\n { id: 1, type: \"Staff\" },\r\n { id: 2, type: \"Executive\" },\r\n ];\r\n id: number;\r\n year: any;\r\n minDate: Moment;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialogRef: MatDialogRef,\r\n private addCompanyService: AddCompanyService,\r\n private formBuilder: FormBuilder,\r\n private route: Router,\r\n private _companyService: CompanyService,\r\n private notifier: NotifierService,\r\n private userservice: UsersService\r\n ) {\r\n this.AddForm = new FormGroup({\r\n Id: new FormControl(0),\r\n selectedCompanyName: new FormControl(\"\", [Validators.required]),\r\n selectCourse: new FormControl(\"\", [Validators.required]),\r\n selectYear: new FormControl(moment(), [Validators.required]),\r\n CourseName: new FormControl(\"\", [Validators.required]),\r\n });\r\n }\r\n heading: string = \"Add Company\";\r\n editable: boolean = false;\r\n\r\n ngOnInit(): void {\r\n\r\n const currentYear = moment().year();\r\n this.minDate = moment([currentYear, 0, 1]);\r\n this.GetDataById(this.data.id);\r\n this.addCompanyService.getCompanyName().subscribe(\r\n (res) => {\r\n this.companyNames = res.data;\r\n },\r\n (error) => {\r\n console.error(\"Error fetching company names:\", error);\r\n }\r\n );\r\n this.isDataLoading = true;\r\n setTimeout(() => {\r\n this.isDataLoading = false;\r\n }, 3000);\r\n }\r\n\r\n GetDataById(id: number) {\r\n this._companyService.getCompanyById(id).subscribe((response: any) => {\r\n if (response != null) {\r\n this.companyData = response;\r\n this.editable = true;\r\n setTimeout(() => {\r\n this.AddForm.patchValue({\r\n Id: this.companyData.id,\r\n selectedCompanyName: this.companyData.companyId + ',' + this.companyData.comName,\r\n selectCourse: this.companyData.courseType,\r\n selectYear: moment(this.companyData.year, 'YYYY'),\r\n CourseName: this.companyData.courseName,\r\n });\r\n }, 5000);\r\n }\r\n });\r\n }\r\n\r\n onSave(): void {\r\n this.isDataLoading = true;\r\n if (this.AddForm.valid) {\r\n const companyData = {\r\n Id: this.AddForm.controls.Id.value,\r\n companyId: this.AddForm.controls.selectedCompanyName.value.split(',')[0],\r\n CourseType: this.AddForm.controls.selectCourse.value,\r\n Year: this.AddForm.controls.selectYear.value.year(),\r\n CourseName: this.AddForm.controls.CourseName.value,\r\n comName: this.AddForm.controls.selectedCompanyName.value.split(',')[1],\r\n };\r\n\r\n this.isLoadingClients = true;\r\n if (this.data.id == null) {\r\n this.addCompanyService.creatCompany(companyData).subscribe((response: ResponseModel) => {\r\n if (response && response.statusCode == 200) {\r\n this.notifier.notify('success', response.message);\r\n this.AddForm.reset();\r\n this.dialogRef.close();\r\n this.isDataLoading = false;\r\n } else {\r\n this.notifier.notify('error', response.message);\r\n this.dialogRef.close();\r\n }\r\n });\r\n } else {\r\n this.addCompanyService.creatCompany(companyData).subscribe((response: ResponseModel) => {\r\n if (response && response.statusCode == 200) {\r\n this.notifier.notify('success', response.message);\r\n this.AddForm.reset();\r\n this.dialogRef.close();\r\n this.isDataLoading = false;\r\n } else {\r\n this.notifier.notify('error', response.message);\r\n this.dialogRef.close();\r\n }\r\n });\r\n }\r\n } else {\r\n console.log(\"Form is not valid.\");\r\n }\r\n }\r\n\r\n courseDropdown(data: any) {\r\n this.filterModel = new MediaFilterModel();\r\n this.filterModel.CategoryType = data.source.value;\r\n this.getCourseList();\r\n }\r\n\r\n getCourseList() {\r\n this.userservice.getAllCourseList(this.filterModel).subscribe((response: ResponseModel) => {\r\n if (response && response.statusCode == 200) {\r\n this.CourseNameList = response.data;\r\n this.metaData = response.meta;\r\n } else {\r\n this.CourseNameList = [];\r\n this.metaData = new Metadata();\r\n }\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n chosenYearHandler(normalizedYear: Moment, dp: any) {\r\n const ctrlValue = this.AddForm.controls.selectYear.value;\r\n ctrlValue.year(normalizedYear.year());\r\n this.AddForm.controls[\"selectYear\"].setValue(ctrlValue);\r\n dp.close();\r\n this.year = ctrlValue.year();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { FilterModel } from \"../../../core/modals/common-model\";\r\n// import { FilterModel } from \"../core/modals/common-model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AddCompanyService {\r\n private getCompanyNameDetails = \"Media/GetCompanyDetailsList\";\r\n private CreateCompany = \"Media/CreateCompany\";\r\n private getCompanyList = \"Media/GetAssignTrainingList\";\r\n private getRewardCompanyList = \"Media/GetCompanyRewards\";\r\n constructor(private commonService: CommonService) { }\r\n\r\n getCompanyName() {\r\n let url = this.getCompanyNameDetails;\r\n return this.commonService.getAll(url, {});\r\n }\r\n creatCompany(companyData: any) {\r\n return this.commonService.post(this.CreateCompany, companyData);\r\n }\r\n\r\n GetCompanyList(filterModal1: FilterModel) {\r\n\r\n\r\n let url = this.getCompanyList;\r\n\r\n url += `?pageNumber=${filterModal1.pageNumber} &pageSize=${filterModal1.pageSize}\r\n\r\n &sortColumn=${filterModal1.sortColumn}\r\n\r\n &sortOrder=${filterModal1.sortOrder}\r\n\r\n &SearchText=${filterModal1.searchText}\r\n `;\r\n\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\nGetRewardList(filterModal1: FilterModel){\r\n let url = this.getRewardCompanyList;\r\n\r\n // url += `?pageNumber=${filterModal1.pageNumber} &pageSize=${filterModal1.pageSize}\r\n // &sortColumn=${filterModal1.sortColumn}\r\n // &sortOrder=${filterModal1.sortOrder}\r\n // &SearchText=${filterModal1.searchText}\r\n // `;\r\n\r\n return this.commonService.getAll(url, {});\r\n}\r\n}\r\n","module.exports = \".add-company {\\r\\n min-width: 340px !important;\\r\\n max-width: 710px !important;\\r\\n}\\r\\n\\r\\n.add-company-model{\\r\\n min-width: auto !important;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Manage Company

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\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, Inject, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { Alert } from \"selenium-webdriver\";\r\nimport { CompanyService } from \"../manage-company/company.service\";\r\nimport {\r\n companyFormsModel,\r\n CompanyModel,\r\n} from \"../manage-company//manage-company.model\";\r\nimport { MAT_DIALOG_DATA, MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatDialog, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { DeleteCompanyAlertComponent } from \"../manage-company/delete-company-alert/delete-company-alert.component\";\r\nimport { ViewChild } from \"@angular/core\";\r\nimport { MatPaginator, MatSort, MatTableDataSource } from \"@angular/material\";\r\nimport { stat } from \"fs\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport {\r\n FilterModel,\r\n FilterVideoModel,\r\n MediaFilterModel,\r\n Metadata,\r\n ResponseModel,\r\n} from \"../../core/modals/common-model\";\r\nimport * as XLSX from \"xlsx\";\r\nimport { ManagePackageComponent } from \"../manage-company/manage-package/manage-package.component\";\r\nimport { AddCompanyModalComponent } from \"./add-company-modal/add-company-modal.component\";\r\nimport { FormGroup } from \"@angular/forms\";\r\nimport { AddCompanyService } from \"./add-company-modal/add-company.service\";\r\ndeclare var require: any;\r\nconst FileSaver = require('file-saver');\r\n\r\n@Component({\r\n selector: \"app-manage-companies\",\r\n templateUrl: \"./manage-companies.component.html\",\r\n styleUrls: [\"./manage-companies.component.css\"],\r\n})\r\nexport class ManageCompaniesComponent implements OnInit {\r\n loaderImage = \"../../../../../assets/loader.gif\";\r\n isDataLoading: boolean;\r\n dataSource = new MatTableDataSource();\r\n dataexcel: Array[];\r\n\r\n organizationId: number;\r\n metaData: any;\r\n searchText: string = \"\";\r\n filterModel: MediaFilterModel;\r\n filterVideoModel: FilterVideoModel;\r\n filterModel1: FilterModel;\r\n agencyData: any;\r\n animal: string;\r\n searchModel: { SearchKey: string };\r\n\r\n ExportButtonDisable: boolean = false;\r\n spinnerExport: boolean = false;\r\n isLoading = false;\r\n\r\n displayedColumns: Array = [\r\n { displayName: \"Companies\", key: \"comName\", class: \"\", width: \"25%\" },\r\n {\r\n displayName: \"Assign Date\",\r\n key: \"createdDate\",\r\n type: \"date\",\r\n class: \"\",\r\n width: \"20%\",\r\n },\r\n {\r\n displayName: \"Course Category\",\r\n key: \"courseType\",\r\n class: \"\",\r\n width: \"20%\",\r\n },\r\n { displayName: \"Course Name\", key: \"courseName\", class: \"\", width: \"25%\" },\r\n\r\n { displayName: \"Actions\", key: \"Actions\", class: \"\", width: \"35%\" },\r\n ];\r\n\r\n actionButtons: Array = [\r\n\r\n // //{ displayName: 'Add', key: 'add', class: 'fa-solid fa-user-plus' },\r\n // // { displayName: 'Package', key: 'package', class: 'fa-solid fa-clipboard' },\r\n { displayName: \"Edit\", key: \"edit\", class: \"fa fa-pencil\" },\r\n { displayName: \"Delete\", key: \"delete\", class: \"fa-solid fa-trash-can\" },\r\n { displayName: \"Report\", key: \"Report\", class: \"fa fa-file-excel-o\" },\r\n ];\r\n notify: any;\r\n\r\n name = \"This is XLSX TO JSON CONVERTER\";\r\n willDownload = false;\r\n CategoryType: string = \"\";\r\n UserType: string = \"\";\r\n\r\n FormData: FormGroup;\r\n constructor(\r\n private addCompanyService: AddCompanyService,\r\n public dialog: MatDialog,\r\n private notifier: NotifierService,\r\n private router: Router,\r\n private userservice: UsersService,\r\n private _companyService: CompanyService\r\n ) {\r\n this.filterModel = new MediaFilterModel();\r\n this.filterVideoModel = new FilterVideoModel();\r\n this.filterModel1 = new FilterModel();\r\n }\r\n @ViewChild(MatPaginator) paginator!: MatPaginator;\r\n @ViewChild(MatSort) sort!: MatSort;\r\n ngOnInit() {\r\n // this.agencyData = [];\r\n this.GetListOfCompany();\r\n this.isDataLoading = true;\r\n setTimeout(() => {\r\n this.isDataLoading = false;\r\n }, 300);\r\n\r\n // this.getVideoList();\r\n\r\n // this.dataSource.sort = this.sort;\r\n }\r\n GetListOfCompany() {\r\n this.filterModel1.pageSize = 10;\r\n this.addCompanyService.GetCompanyList(this.filterModel1).subscribe(\r\n (res) => {\r\n\r\n this.agencyData = res.data;\r\n this.metaData = res.meta;\r\n this.isDataLoading = false;\r\n }\r\n );\r\n setTimeout(() => {\r\n this.isDataLoading = false;\r\n }, 300);\r\n }\r\n onPageOrSortChange(changeState?: any) {\r\n this.isDataLoading = true;\r\n this.setPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order,\r\n this.filterModel.searchText\r\n );\r\n this.GetListOfCompany();\r\n }\r\n\r\n onTableActionClick(actionObj?: any) {\r\n const companyname = actionObj.data.comName;\r\n\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n // case \"VIEW\":\r\n // localStorage.setItem(\"heading\", \"View Training\");\r\n // this.ViewVideo(path);\r\n // break;\r\n case \"EDIT\":\r\n this.editAssignCompany(actionObj.data.id);\r\n localStorage.setItem(\"headingvalue\", \"Edit Company\");\r\n localStorage.setItem('id', actionObj.data.id);\r\n break;\r\n case \"REPORT\":\r\n this.exportExcel(companyname);\r\n break;\r\n case \"DELETE\":\r\n this.deleteAssignCompany(actionObj.data.id);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n EditCompany(id: number) {\r\n localStorage.setItem(\"heading\", \"Edit Company\");\r\n localStorage.setItem(\"id\", id.toString());\r\n this.isDataLoading = true;\r\n this._companyService.getById(id).subscribe((res: any) => { });\r\n // this.router.navigate([\"/web/manage-podast/add-podcast/upload-video\"]);\r\n }\r\n\r\n OnOff(value: number) {\r\n if (value == 1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n applyFilter(searchText: string = \"\") {\r\n if (searchText == \"\" || searchText.length > 2) {\r\n this.isDataLoading = true;\r\n this.setPaginatorModel(\r\n 1,\r\n\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder,\r\n searchText\r\n );\r\n this.GetListOfCompany();\r\n }\r\n }\r\n showResults() {\r\n this.isDataLoading = true;\r\n this.filterModel.CategoryType = this.CategoryType;\r\n // this.filterModel.UserType=this.UserType;\r\n this.GetListOfCompany();\r\n }\r\n\r\n\r\n clearFilters() {\r\n this.isDataLoading = true;\r\n this.searchText = \"\";\r\n this.setPaginatorModel(\r\n 1,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder,\r\n \"\"\r\n );\r\n this.GetListOfCompany();\r\n }\r\n\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number = 10,\r\n sortColumn: string,\r\n sortOrder: string,\r\n searchText: string\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n this.filterModel1.pageNumber = pageNumber;\r\n this.filterModel1.pageSize = pageSize;\r\n this.filterModel1.sortOrder = sortOrder;\r\n this.filterModel1.sortColumn = sortColumn;\r\n this.filterModel1.searchText = searchText;\r\n }\r\n addAgency(organizationId: number = null) {\r\n localStorage.setItem(\"heading\", \"Add Company\");\r\n // this.router.navigate([\"/web/manage-podcast/add-podcast/upload-video\"]);\r\n }\r\n\r\n\r\n\r\n editAssignCompany(id: number) {\r\n const dialogRef = this.dialog.open(AddCompanyModalComponent, {\r\n data: { id },\r\n panelClass: \"add-company-model\"\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n // if (result) {\r\n this.GetListOfCompany();\r\n this.dataSource.sort = this.sort;\r\n // console.log(result);\r\n this.isDataLoading = false;\r\n // }\r\n });\r\n }\r\n\r\n deleteAssignCompany(id: number) {\r\n this._companyService.confirm(`Are you sure you want to delete video?`).subscribe((result: any) => {\r\n if (result == true) {\r\n this.userservice.deleteAssignCourse(id).subscribe((response: string) => {\r\n let responsedata: any = response;\r\n this.notifier.notify(\"success\", responsedata.message);\r\n this.GetListOfCompany();\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n changedActive(id: number, num: number) {\r\n this._companyService.changeStatus(id, num).subscribe((res) => { });\r\n }\r\n\r\n\r\n openplanDialog(): void {\r\n const dialogRef = this.dialog.open(ManagePackageComponent, {});\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (localStorage.getItem(\"membershipid\") != \"\") {\r\n this.basicplan();\r\n }\r\n });\r\n }\r\n companyFormsData: companyFormsModel = {\r\n id: \"\",\r\n companyName: \"\",\r\n brnNumber: \"\",\r\n taxNumber: \"\",\r\n emailId: \"\",\r\n phoneNumber: \"\",\r\n contactPerson: \"\",\r\n address: \"\",\r\n status: \"\",\r\n OraganizationId: 1,\r\n isLock: 1,\r\n planId: \"\",\r\n DateOfJoining:''\r\n };\r\n\r\n basicplan() {\r\n var companyid = Number(localStorage.getItem(\"id\"));\r\n this._companyService.getById(companyid).subscribe((res: any) => {\r\n this.companyFormsData.id = companyid;\r\n this.companyFormsData.companyName = res.companyName;\r\n this.companyFormsData.brnNumber = res.brnNumber;\r\n this.companyFormsData.taxNumber = res.taxNumber;\r\n this.companyFormsData.emailId = res.emailId;\r\n this.companyFormsData.phoneNumber = res.phoneNumber;\r\n this.companyFormsData.contactPerson = res.contactPerson;\r\n this.companyFormsData.address = res.address;\r\n this.companyFormsData.isLock = res.isLock;\r\n this.companyFormsData.status = res.status;\r\n this.companyFormsData.planId = Number(\r\n localStorage.getItem(\"membershipid\")\r\n );\r\n });\r\n //console.log(this.companyFormsData);\r\n var interval = setInterval(() => {\r\n if (\r\n this.companyFormsData.companyName != \"\" &&\r\n this.companyFormsData.planId ==\r\n Number(localStorage.getItem(\"membershipid\"))\r\n ) {\r\n clearInterval(interval);\r\n this._companyService\r\n .editCompnay(companyid, this.companyFormsData)\r\n .subscribe((res: any) => {\r\n if (res.statusCode == 200) {\r\n this.notifier.notify(\r\n \"success\",\r\n res.message + \" company updated successfully.\"\r\n );\r\n // this.router.navigate([\"/webadmin/company\"]);\r\n\r\n var a = 1;\r\n var interval = setInterval(() => {\r\n if (a == 2) {\r\n clearInterval(interval);\r\n this.GetListOfCompany();\r\n } else {\r\n a++;\r\n }\r\n }, 500);\r\n return;\r\n }\r\n this.notifier.notify(\"error\", res.message);\r\n });\r\n }\r\n }, 500);\r\n }\r\n openAddCompanyDialog(): void {\r\n this.isDataLoading = true;\r\n const dialogRef = this.dialog.open(AddCompanyModalComponent, {\r\n // width: \"700px\",\r\n panelClass: \"add-company-model\",\r\n\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n // if (result) {\r\n this.GetListOfCompany();\r\n this.dataSource.sort = this.sort;\r\n // console.log(result);\r\n this.isDataLoading = false;\r\n // }\r\n });\r\n }\r\n\r\n exportExcel(companyName: any) {\r\n\r\n this._companyService.generateReport(companyName).subscribe(response => {\r\n if (response.data != null || response.statusCode == 200) {\r\n var reportList: any = [];\r\n reportList = response.data;\r\n var exceldata: any = [];\r\n exceldata = reportList.map(function (obj: {\r\n companyName: any, memberName: any, nicNumber: any, courseName: any, loginDate: any, logoutDate: any, percentageOfCompletion: any\r\n }) {\r\n return {\r\n CompanyName: obj.companyName, MemberName: obj.memberName,\r\n NICNumber: obj.nicNumber, CourseName: obj.courseName, LoginDate: obj.loginDate,\r\n LogoutDate: obj.logoutDate, PercentageOfCompletion: obj.percentageOfCompletion\r\n }\r\n });\r\n import(\"xlsx\").then(xlsx => {\r\n const worksheet = xlsx.utils.json_to_sheet(exceldata); // Sale Data\r\n const workbook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n const excelBuffer: any = xlsx.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, \"task\");\r\n });\r\n this.isLoading = false;\r\n this.ExportButtonDisable = false;\r\n this.spinnerExport = false;\r\n } else {\r\n this.isLoading = false;\r\n this.ExportButtonDisable = false;\r\n this.spinnerExport = false;\r\n }\r\n });\r\n }\r\n\r\n saveAsExcelFile(buffer: any, fileName: string): void {\r\n import(\"file-saver\").then(FileSave => {\r\n let EXCEL_TYPE = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8\";\r\n let EXCEL_EXTENSION = \".xlsx\";\r\n const data: Blob = new Blob([buffer], {\r\n type: EXCEL_TYPE\r\n });\r\n\r\n FileSaver.saveAs(data, \"AttendenceReport\" + EXCEL_EXTENSION);\r\n this.ExportButtonDisable = false;\r\n });\r\n }\r\n\r\n}\r\n\r\n","module.exports = \"\"","module.exports = \"\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Reward Points\\r\\n \\\"\\\"\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Date{{element.createdDate}}Reward Points {{element.rewardPoints}} Daily Steps Goal{{element.steps}}Monthly Steps Goal{{element.monthlyStepsGoal}}Steps Achieved{{element.achieveStep\\t}}Certificate\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n No records found.\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { ClientsService } from '../../../client-portal/clients.service';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { Router } from '@angular/router';\r\nimport { CommonService } from '../../../core/services';\r\nimport { FilterModel } from '../../../core/modals/common-model';\r\nimport { MatPaginator, MatSort, MatTableDataSource } from '@angular/material';\r\nimport { PatientRewardPointsModel, ToggleUpdateModel } from '../../../client-portal/client-profile.model';\r\nimport { LoginUser } from '../../../core/modals/loginUser.modal';\r\nimport { format } from 'date-fns';\r\nimport { ManageNgoMdel } from '../../manage-ngo/manage-ngo.model';\r\nimport { DownloadCertificateComponent } from '../../../client-portal/reward-points/download-certificate/download-certificate.component';\r\n\r\n@Component({\r\n selector: 'app-admin-reward-point',\r\n templateUrl: './admin-reward-point.component.html',\r\n styleUrls: ['./admin-reward-point.component.css']\r\n})\r\nexport class AdminRewardPointComponent implements OnInit {\r\n\r\n\r\n\r\n\r\n onNoClick(): void {\r\n //localStorage.setItem('membershipplanid', '')\r\n this.dialogRef.close();\r\n }\r\n\r\n\r\n\r\n ////////////////////////////\r\n\r\n organizationId: number;\r\n metaData: any;\r\n searchText: string = \"\";\r\n patientId: number = 0;\r\n filterModel: FilterModel;\r\n ngoData: PatientRewardPointsModel[] = [];\r\n logo: string = \"../../../../../assets/blueLeftBoder.png\";\r\n rewardLogo: string = \"../../../../../assets/images/reward.svg\";\r\n loaderImage = \"../../../../../assets/loader.gif\";\r\n isDataLoading: boolean;\r\n certificateAgeGroup: string;\r\n certificateSteps: string;\r\n certificateName: string;\r\n binded: boolean = false;\r\n\r\n @ViewChild(MatPaginator) paginator!: MatPaginator;\r\n @ViewChild(MatSort) sort!: MatSort;\r\n readonly displayedColumns: string[] = ['date', 'points', 'steps','forPatient', 'ageGroup', 'downloadCertificate'];\r\n\r\n dataSource!: MatTableDataSource;\r\n\r\n\r\n constructor(\r\n \r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialogRef: MatDialogRef, private clientsService: ClientsService, private notifier: NotifierService,\r\n private router: Router, private dialog: MatDialog,\r\n commonService: CommonService) {\r\n this.filterModel = new FilterModel();\r\n\r\n\r\n // commonService.loginUser.subscribe((user: LoginUser) => {\r\n // if (user.data) {\r\n // this.patientId = user.data.id;\r\n // }\r\n // });\r\n\r\n\r\n }\r\n\r\n ngOnInit() {\r\n //debugger\r\n\r\n this.isDataLoading = true;\r\n this.patientId = this.data.data;\r\n //console.log(this.patientId,\"this.patientId\")\r\n this.getRewardPointsDataList();\r\n\r\n }\r\n\r\n // changedActive(event: any, id: number) {\r\n // const model: toggleUpdateModel =\r\n // {\r\n // ngoId: id,\r\n // isActive: event.checked\r\n // }\r\n\r\n // this.isDataLoading=true;\r\n // this.ngoService.updateTogglesIsActive(model).subscribe((response: boolean) => {\r\n // console.log(response);\r\n\r\n // if (response == true) {\r\n // this.notifier.notify('success', 'Status updated successfully.');\r\n // this.getAgencyDataList();\r\n // } else {\r\n // this.notifier.notify('error', 'Not able to update status.')\r\n // }\r\n // });\r\n\r\n\r\n // }\r\n\r\n sendPointToNgo(event: any, element: PatientRewardPointsModel) {\r\n const model: ToggleUpdateModel =\r\n {\r\n patientId: this.patientId,\r\n isSendNGo: event.checked,\r\n patientRewardPointId: element.patientRewardPointId\r\n }\r\n this.isDataLoading = true;\r\n this.clientsService.sendPointToNgo(model).subscribe((response: boolean) => {\r\n\r\n if (response == true) {\r\n this.notifier.notify('success', 'Point sent successfully.');\r\n this.getRewardPointsDataList();\r\n } else {\r\n this.notifier.notify('error', 'Not able to sent point.');\r\n this.isDataLoading = false;\r\n }\r\n });\r\n\r\n }\r\n\r\n ngoRewardPoints() {\r\n this.router.navigate([\"/web/client/ngo-reward-points\"]);\r\n }\r\n\r\n getRewardPointsDataList() {\r\n this.clientsService.GetPatientsRewardPointsInfo(this.patientId).subscribe((response: PatientRewardPointsModel) => {\r\n // console.log(response);\r\n this.ngoData = (response.data || []);\r\n this.ngoData.map(x => {\r\n x.createdDate =\r\n format(x.createdDate, \"MM/DD/YYYY\");\r\n return x;\r\n });\r\n this.setDataSourceAttributes(this.ngoData);\r\n this.isDataLoading = false;\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n applyFilter() {\r\n this.dataSource.filter = `${this.searchText}`;\r\n //this.dataSource.filterPredicate = this.gridfilterPredicate;\r\n }\r\n\r\n private gridfilterPredicate = (data: ManageNgoMdel, filter: string): boolean => {\r\n const matchingText = (this.searchText || '').toLocaleLowerCase().trim();\r\n // const portalType = Number(this.portalType || 0);\r\n\r\n if ((matchingText.length === 0\r\n || ((data.ngoName || '').toLocaleLowerCase().indexOf(matchingText) !== -1)))\r\n return true;\r\n\r\n return false;\r\n }\r\n\r\n private setDataSourceAttributes(clinicSubscriptions: PatientRewardPointsModel[]) {\r\n\r\n\r\n\r\n // console.log(clinicSubscriptions, 'clinicSubscriptions')\r\n this.dataSource = new MatTableDataSource(clinicSubscriptions);\r\n //console.log(this.dataSource, 'this.dataSource')\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n //this.dataSource.filterPredicate = this.gridfilterPredicate;\r\n }\r\n\r\n\r\n openDialog(element: any) {\r\n // Create data object from element\r\n const data = new PatientRewardPointsModel();\r\n data.age = element.age;\r\n data.steps = element.steps;\r\n data.planType = element.planType;\r\n data.createdDate = element.createdDate;\r\n data.fullName = element.name;\r\n data.userImage = element.logoUrl\r\n\r\n // Open dialog with data and set width\r\n const dialogRef = this.dialog.open(DownloadCertificateComponent, {\r\n data: { data },\r\n width: '100px'\r\n });\r\n\r\n // Subscribe to afterClosed to handle dialog closing\r\n dialogRef.afterClosed().subscribe((result: any) => {\r\n // console.log(\"Dialog closed with result:\", result);\r\n });\r\n }\r\n\r\n clearFilters() {\r\n this.searchText = \"\";\r\n this.setPaginatorModel(this.filterModel.searchText);\r\n this.getRewardPointsDataList();\r\n }\r\n\r\n\r\n onPageOrSortChange(changeState?: any) {\r\n this.setPaginatorModel(this.filterModel.searchText);\r\n this.getRewardPointsDataList();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n setPaginatorModel(searchText: string) {\r\n this.filterModel.searchText = searchText;\r\n }\r\n}\r\n","module.exports = \".primary {\\r\\n background-color: #7E9693;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 16px;\\r\\n line-height: 24px;\\r\\n color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.primaryinput {\\r\\n width: 100%;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 16px;\\r\\n line-height: 24px;\\r\\n color: #4F4F4F;\\r\\n border: 0.5px solid #7E9693;\\r\\n border-radius: 5px;\\r\\n}\\r\\n\\r\\n.mat-dialog-container {\\r\\n min-width: 60% !important;\\r\\n border-radius: 5px 5px 0px 0px !important;\\r\\n}\\r\\n\\r\\n.addheader {\\r\\n height: 50px;\\r\\n background: #7E9693;\\r\\n border-radius: 5px 5px 0px 0px;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 18px;\\r\\n line-height: 27px;\\r\\n color: #FFFFFF;\\r\\n padding-top: 12px;\\r\\n padding-left: 24px;\\r\\n}\\r\\n\\r\\n.addlabel {\\r\\n padding-top: 16px;\\r\\n padding-left: 24px;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 18px;\\r\\n line-height: 27px;\\r\\n color: #000000;\\r\\n}\\r\\n\\r\\n.btnprimary {\\r\\n box-sizing: border-box;\\r\\n width: 156px;\\r\\n height: 42px;\\r\\n border: 1px solid #7E9693;\\r\\n border-radius: 5px;\\r\\n background-color: #FFFFFF;\\r\\n text-align: center;\\r\\n justify-content: center;\\r\\n margin-left: 24px;\\r\\n margin-top: 24px;\\r\\n}\\r\\n\\r\\n.dialogheader {\\r\\n padding-left: 24px;\\r\\n padding-top: 20px;\\r\\n}\\r\\n\\r\\n.hide {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.tableuserui {\\r\\n /* display: block; */\\r\\n margin-top: 20px;\\r\\n border: 0.5px solid #7E9693;\\r\\n min-height: 80px;\\r\\n max-height: 150px !important;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\n.tableheader {\\r\\n background-color: #7E9693;\\r\\n border-radius: 5px 5px 0px 0px;\\r\\n}\\r\\n\\r\\n.tableheader th {\\r\\n border: 0.5px solid #E7E7E7;\\r\\n color: #FFFFFF;\\r\\n text-align: center;\\r\\n font-family: 'Poppins', sans-serif !important;\\r\\n font-style: normal;\\r\\n font-weight: 400 !important;\\r\\n font-size: 16px !important;\\r\\n line-height: 24px;\\r\\n}\\r\\n\\r\\n.tabledata td {\\r\\n border: 0.5px solid #E7E7E7;\\r\\n color: #000000;\\r\\n text-align: center;\\r\\n font-family: 'Poppins', sans-serif !important;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 14px;\\r\\n line-height: 21px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n Add Company\\r\\n
\\r\\n
\\r\\n Add Company\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Download Excel\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
company Name Email ID Mobile Number
{{data.CompanyName}} {{data.EmailId}} {{data.PhoneNumber}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Add Corporate User\\r\\n
\\r\\n
\\r\\n Add Corporate User\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Download Excel\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Full Name Email ID Mobile Number
{{data.FirstName}} {{data.LastName}} {{data.EmailID}} {{data.MobileNumber}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { format } from 'date-fns';\r\nimport * as XLSX from 'xlsx';\r\nimport { ResponseModel } from '../../../core/modals/common-model';\r\nimport { ClientModel } from '../../clients/client.model';\r\nimport { ClientsService } from '../../clients/clients.service';\r\nimport { CompanyService } from '../company.service';\r\nimport { companyFormsModel } from '../manage-company.model';\r\n@Component({\r\n selector: 'app-bulk-upload',\r\n templateUrl: './bulk-upload.component.html',\r\n styleUrls: ['./bulk-upload.component.css']\r\n})\r\nexport class BulkUploadComponent implements OnInit {\r\n dataexcel: Array[];\r\n animal: string;\r\n dataexcellength: number = 0;\r\n clientModel: ClientModel;\r\n url: any;\r\n companyFormsData: companyFormsModel = {\r\n id: '',\r\n companyName: '',\r\n brnNumber: '',\r\n taxNumber: '',\r\n emailId: '',\r\n phoneNumber: '',\r\n contactPerson: '',\r\n address: '',\r\n status: '',\r\n OraganizationId: 1,\r\n isLock: 1,\r\n planId:'',\r\n DateOfJoining:''\r\n }\r\n router: any;\r\n constructor(private notifier: NotifierService,public dialogRef: MatDialogRef, private clientService: ClientsService, private _companyService: CompanyService) {\r\n this.clientModel = new ClientModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.url = window.location.pathname;\r\n }\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n onFileChange(ev) {\r\n this.dataexcel = [];\r\n let workBook = null;\r\n let jsonData = null;\r\n const reader = new FileReader();\r\n const file = ev.target.files[0];\r\n reader.onload = (event) => {\r\n const data = reader.result;\r\n workBook = XLSX.read(data, { type: 'binary' });\r\n jsonData = workBook.SheetNames.reduce((initial, name) => {\r\n const sheet = workBook.Sheets[name];\r\n initial[name] = XLSX.utils.sheet_to_json(sheet);\r\n return initial;\r\n }, {});\r\n const dataString = JSON.stringify(jsonData);\r\n if (this.url == '/web/manage-company') {\r\n this.dataexcel = jsonData.Company;\r\n } else {\r\n this.dataexcel = jsonData.Users;\r\n }\r\n\r\n if (this.dataexcel == undefined) {\r\n document.getElementById(\"tableuser\").classList.add(\"hide\");\r\n document.getElementById(\"bulkcreate\").classList.add(\"hide\");\r\n }\r\n this.dataexcellength = this.dataexcel.length\r\n // console.log(\"value\", this.dataexcellength)\r\n if (this.dataexcellength != 0) {\r\n document.getElementById(\"tableuser\").classList.remove(\"hide\");\r\n document.getElementById(\"bulkcreate\").classList.remove(\"hide\");\r\n }\r\n //document.getElementById('output').innerHTML = dataString.slice(0, 300).concat(\"...\");\r\n //this.setDownload(dataString);\r\n }\r\n reader.readAsBinaryString(file);\r\n }\r\n bulkdispaly() {\r\n document.getElementById(\"dialogheaderbulk\").classList.remove(\"hide\");\r\n }\r\n createnewuser() {\r\n this.dataexcel.forEach((data: any) => {\r\n var gender: number = 0;\r\n if (data.Gender == 'Male') {\r\n gender = 211;\r\n } else {\r\n gender = 212;\r\n }\r\n this.clientModel.email = data.EmailID;\r\n this.clientModel.firstName = data.FirstName;\r\n this.clientModel.lastName = data.LastName;\r\n this.clientModel.userName = data.EmailID;\r\n this.clientModel.isActive = true;\r\n this.clientModel.isBlock = false;\r\n this.clientModel.dob = format(data.DateofBirth, \"YYYY-MM-DDTHH:mm:ss\");\r\n this.clientModel.company_id = this._companyService.id;\r\n this.clientModel.mobile_number = data.MobileNumber;\r\n this.clientModel.gender = gender;\r\n // console.log(this.clientModel);\r\n this.clientService.create(this.clientModel).subscribe((response: any) => {\r\n // console.log(\"message\", response)\r\n if(response.statusCode == 200){\r\n window.location.reload;\r\n }\r\n });\r\n // this._companyService.addCompany(this.companyFormsData).subscribe((res: any) => {\r\n // console.log(\"message\",res)\r\n // })\r\n });\r\n //window.location.reload();\r\n }\r\n createnew() {\r\n this.dataexcel.forEach((data: any) => {\r\n this.companyFormsData.emailId = data.EmailId;\r\n this.companyFormsData.companyName = data.CompanyName;\r\n this.companyFormsData.brnNumber = data.BRNNumber;\r\n this.companyFormsData.taxNumber = data.TaxNumber;\r\n this.companyFormsData.status = 1;\r\n this.companyFormsData.isLock = 2;\r\n this.companyFormsData.phoneNumber = data.PhoneNumber;\r\n this.companyFormsData.contactPerson = data.ContactPerson;\r\n this.companyFormsData.address = data.Address;\r\n this.companyFormsData.planId = 0\r\n this._companyService.addCompany(this.companyFormsData).subscribe((res: any) => {\r\n if (res.statusCode == 200) {\r\n this.notifier.notify('success', res.message + ' company added successfully.');\r\n this.dialogRef.close();\r\n this.router.navigate([\"/web/manage-company\"]);\r\n return;\r\n }\r\n this.notifier.notify('error', res.message);\r\n this.dialogRef.close();\r\n })\r\n });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material';\r\nimport { Observable } from 'rxjs';\r\nimport { DialogComponent } from 'src/app/shared/layout/dialog/dialog.component';\r\nimport { environment } from 'src/environments/environment';\r\nimport { FilterModel } from '../../core/modals/common-model';\r\nimport { CommonService } from '../../core/services';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CompanyService {\r\n id: number;\r\n patientid: number;\r\n planid: number;\r\n getAllURL = 'api/Company/';\r\n private generatereport = \"Media/GenerateAttendenceReport\";\r\n private genraterewardreport =\"Media/GenerateRewardReportlist\"\r\n constructor(private http: HttpClient, private dialog: MatDialog, private commonService: CommonService) { }\r\n\r\n getAll(filterModal: FilterModel) {\r\n let url = this.getAllURL + 'GetCompanies?pageNumber=' + filterModal.pageNumber + '&pageSize=' + filterModal.pageSize + '&sortColumn=' + filterModal.sortColumn + '&sortOrder=' + filterModal.sortOrder + '&ComanyName=' + filterModal.searchText;\r\n return this.http.get(`${environment.api_url}/${url}`, {});\r\n }\r\n\r\n getAllNoSp() {\r\n let url = this.getAllURL + \"All\";\r\n return this.http.get(`${environment.api_url}/${url}`)\r\n }\r\n\r\n deleteByID(id) {\r\n let url = this.getAllURL + \"?id=\";\r\n return this.http.delete(`${environment.api_url}/${url}` + id);\r\n }\r\n\r\n getById(id) {\r\n let url = this.getAllURL + \"Compony/\";\r\n return this.http.get(`${environment.api_url}/${url}` + id);\r\n }\r\n\r\n getCompanyById(id){\r\n let url = this.getAllURL + \"GetDataCompony/\";\r\n return this.http.get(`${environment.api_url}/${url}` + id);\r\n }\r\n\r\n addCompany(data:any){\r\n let url = this.getAllURL + \"AddCompany/\";\r\n return this.http.post(`${environment.api_url}/${url}`, data);\r\n }\r\n\r\n editCompnay(id: number, data: any) {\r\n let url = this.getAllURL + \"UpdateCompany\";\r\n return this.http.post(`${environment.api_url}/${url}`, data);\r\n }\r\n\r\n changeStatus(id: number, num: number) {\r\n let url = this.getAllURL + id + '?num=' + num;\r\n return this.http.patch(`${environment.api_url}/${url}`, '');\r\n }\r\n\r\n generateReport(companyName: any) {\r\n const url = this.generatereport + \"?companyName=\" + companyName;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n generatcompanyReward(data: any) {\r\n const url = this.genraterewardreport ;\r\n return this.http.post(`${environment.api_url}/${url}`, data);\r\n }\r\n\r\n public confirm(\r\n message: string,\r\n data?: Array): Observable {\r\n const modalRef = this.dialog.open(DialogComponent, { data: data, hasBackdrop: true, backdropClass: 'no-backdrop', disableClose: false, width: 'auto', minWidth: 'auto', maxWidth: 'auto', position: { bottom: '10px', right: '10px' } });\r\n modalRef.componentInstance.message = message;\r\n return modalRef.afterClosed();\r\n }\r\n}","module.exports = \".primary {\\r\\n background-color: #7E9693;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 16px;\\r\\n line-height: 24px;\\r\\n color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.primaryinput {\\r\\n width: 100%;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 16px;\\r\\n line-height: 24px;\\r\\n color: #4F4F4F;\\r\\n border: 0.5px solid #7E9693;\\r\\n border-radius: 5px;\\r\\n}\\r\\n\\r\\n.mat-dialog-container {\\r\\n min-width: 60% !important;\\r\\n border-radius: 5px 5px 0px 0px !important;\\r\\n}\\r\\n\\r\\n.addheader {\\r\\n height: 50px;\\r\\n background: #7E9693;\\r\\n border-radius: 5px 5px 0px 0px;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 18px;\\r\\n line-height: 27px;\\r\\n color: #FFFFFF;\\r\\n padding-top: 12px;\\r\\n padding-left: 24px;\\r\\n}\\r\\n\\r\\n.addlabel {\\r\\n padding-top: 16px;\\r\\n padding-left: 24px;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 18px;\\r\\n line-height: 27px;\\r\\n color: #000000;\\r\\n}\\r\\n\\r\\n.btnprimary {\\r\\n box-sizing: border-box;\\r\\n width: 156px;\\r\\n height: 42px;\\r\\n border: 1px solid #7E9693;\\r\\n color: #000000;\\r\\n border-radius: 5px;\\r\\n text-align: center;\\r\\n margin-left: calc(50% - 78px);\\r\\n margin-right: calc(50% - 78px);\\r\\n}\\r\\n\\r\\n.dialogheader {\\r\\n padding-left: 24px;\\r\\n padding-top: 20px;\\r\\n}\\r\\n\\r\\n.hide {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.card-header {\\r\\n text-align: center;\\r\\n font-size:22px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.card {\\r\\n transition: -webkit-transform .4s;\\r\\n transition: transform .4s;\\r\\n transition: transform .4s, -webkit-transform .4s;\\r\\n}\\r\\n\\r\\n.col .card:hover{\\r\\n -webkit-transform: scale(1.1);\\r\\n transform: scale(1.1);\\r\\n}\\r\\n\\r\\n.card-title {\\r\\n font-size: 12px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.card-title-rs {\\r\\n text-align: center;\\r\\n margin-bottom:0px;\\r\\n font-size: 22px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\ndiv{\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.card-body{\\r\\n padding-bottom: 0px;\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n padding-top: 10px;\\r\\n}\\r\\n\\r\\n.dialog-title {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n.close-button{\\r\\n float: right;\\r\\n top:-24px;\\r\\n right:-24px;\\r\\n background-color: #FFFFFF;\\r\\n border-radius: 50%;\\r\\n width: 50px;\\r\\n }\\r\\n\\r\\n.close-icon {\\r\\n transition: 1s ease-in-out;\\r\\n }\\r\\n\\r\\n.close-icon:hover {\\r\\n -webkit-transform: rotate(180deg);\\r\\n transform: rotate(180deg);\\r\\n }\\r\\n\\r\\n::ng-deep .icon-outside .close-button{\\r\\n float: right;\\r\\n top:-52px;\\r\\n right:-52px;\\r\\n }\"","module.exports = \"\\r\\n
\\r\\n Membership Plan\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Basic\\r\\n
\\r\\n
\\r\\n
Health Consultant
\\r\\n
Mode : Online
\\r\\n
Medical Doctor : Each 2 Months
\\r\\n
Nutritionist : Each 2 Months
\\r\\n
Work Coach : Each 2 Months
\\r\\n
Life Coach : Each 2 Months
\\r\\n
Fitness Trainer : No
\\r\\n
\\r\\n
Children Sponsorship or Gift Rs. 200
\\r\\n
Rs. 1500
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Silver\\r\\n
\\r\\n
\\r\\n
Health Consultant
\\r\\n
Mode : Online
\\r\\n
Medical Doctor : Each 2 Months
\\r\\n
Nutritionist : Each 2 Months
\\r\\n
Work Coach : Each 2 Months
\\r\\n
Life Coach : Each 2 Months
\\r\\n
Fitness Trainer : No
\\r\\n
\\r\\n
Children Sponsorship or Gift Rs. 200
\\r\\n
Rs. 1995
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Gold\\r\\n
\\r\\n
\\r\\n
Health Consultant
\\r\\n
Mode : Online
\\r\\n
Medical Doctor : Each 2 Months
\\r\\n
Nutritionist : Monthly
\\r\\n
Work Coach : Each 2 Months
\\r\\n
Life Coach : Monthly
\\r\\n
Fitness Trainer : Monthly
\\r\\n
\\r\\n
Children Sponsorship or Gift Rs. 400
\\r\\n
Rs. 2500
\\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 { MatDialogRef } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-manage-package',\r\n templateUrl: './manage-package.component.html',\r\n styleUrls: ['./manage-package.component.css']\r\n})\r\nexport class ManagePackageComponent implements OnInit {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n onNoClick(): void {\r\n localStorage.setItem('membershipid', '')\r\n this.dialogRef.close();\r\n }\r\n basicplan() {\r\n localStorage.setItem('membershipid', '1');\r\n this.dialogRef.close();\r\n }\r\n silverplan() {\r\n localStorage.setItem('membershipid', '2');\r\n this.dialogRef.close();\r\n }\r\n goldplan() {\r\n localStorage.setItem('membershipid', '3');\r\n this.dialogRef.close();\r\n }\r\n}\r\n","module.exports = \".panel_title {\\r\\n display: flex;\\r\\n margin-top: 30px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.panel_title h3 {\\r\\n float: left;\\r\\n line-height: 22px;\\r\\n color: #2f2660;\\r\\n font-size: 19px;\\r\\n font-weight: 300;\\r\\n margin-bottom: 30px;\\r\\n padding: 0px 0px 0px 25px;\\r\\n position: relative;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\n.panel_title .flaticon {\\r\\n margin-left: 0px;\\r\\n position: absolute;\\r\\n left: 0px !important;\\r\\n top: 1px;\\r\\n color: #000;\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.mat-form-field-required-marker {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.readmin-form {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.media-type-btn {\\r\\n display: flex;\\r\\n margin-bottom: 25px;\\r\\n}\\r\\n\\r\\n.media-type-btn button {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n padding: 5px 15px;\\r\\n min-width: 160px;\\r\\n border-radius: 10px;\\r\\n border: 1px solid #E5E5E5;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n color: #546361;\\r\\n margin-right: 10px;\\r\\n font-size: 16px !important;\\r\\n font-weight: 400 !important;\\r\\n line-height: 22px;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-primary {\\r\\n border: 1px solid #546361;\\r\\n border-radius: 10px;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-primary .icon-sec {\\r\\n border: 1px solid #546361;\\r\\n border-radius: 5px;\\r\\n background: #546361;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-primary .icon-sec img {\\r\\n -webkit-filter: brightness(0) invert(10);\\r\\n filter: brightness(0) invert(10);\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-light {\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 10px;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n color: #B4B4B4;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-light .icon-sec {\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 5px;\\r\\n background: transparent;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.media-type-btn button .icon-sec {\\r\\n height: 35px;\\r\\n width: 35px;\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-right: 15px;\\r\\n}\\r\\n\\r\\n.media-type-btn button .icon-sec img {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uplaod_pic img {\\r\\n height: 150px;\\r\\n max-width: 100%;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.container_r {\\r\\n display: block;\\r\\n position: relative;\\r\\n padding-left: 35px;\\r\\n margin-bottom: 12px;\\r\\n cursor: pointer;\\r\\n font-size: 22px;\\r\\n -webkit-user-select: none;\\r\\n -moz-user-select: none;\\r\\n -ms-user-select: none;\\r\\n user-select: none;\\r\\n}\\r\\n\\r\\n/* Hide the browser's default radio button */\\r\\n\\r\\n.container_r input {\\r\\n position: absolute;\\r\\n opacity: 0;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/* Create a custom radio button */\\r\\n\\r\\n.checkmark_r {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n background-color: #eee;\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n/* On mouse-over, add a grey background color */\\r\\n\\r\\n.container_r:hover input ~ .checkmark_r {\\r\\n background-color: #ccc;\\r\\n}\\r\\n\\r\\n/* When the radio button is checked, add a blue background */\\r\\n\\r\\n.container_r input:checked ~ .checkmark_r {\\r\\n background-color: #ff6700;\\r\\n}\\r\\n\\r\\n/* Create the indicator (the dot/circle - hidden when not checked) */\\r\\n\\r\\n.checkmark_r:after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n display: none;\\r\\n}\\r\\n\\r\\n/* Show the indicator (dot/circle) when checked */\\r\\n\\r\\n.container_r input:checked ~ .checkmark_r:after {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n/* Style the indicator (dot/circle) */\\r\\n\\r\\n.container_r .checkmark_r:after {\\r\\n \\ttop: 6px;\\r\\n\\tleft: 6px;\\r\\n\\twidth: 8px;\\r\\n\\theight: 8px;\\r\\n\\tborder-radius: 50%;\\r\\n\\tbackground: white;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n background: rgba(0, 0, 0, 0.20);\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n font-size: 13px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 5px;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n.actions-btn .mr-2{\\r\\n margin-right: 12px;\\r\\n margin-bottom: 12px;\\r\\n}\\r\\n\\r\\n.navbar-manage-01 {\\r\\n position: fixed !important;\\r\\n top: 75px;\\r\\n width: 100%;\\r\\n height: 40px;\\r\\n z-index: 1020 !important;\\r\\n background-color: rgb(193, 205, 207);\\r\\n }\\r\\n\\r\\n.header-manage-company {\\r\\n padding-left: 20px;\\r\\n }\\r\\n\\r\\n.example-full-width-manage {\\r\\n float: none;\\r\\n display: block;\\r\\n text-align: left;\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n padding: 14px;\\r\\n }\\r\\n\\r\\n/* tr.mat-header-row {\\r\\n background-color: #7E9693 !important;\\r\\n } */\\r\\n\\r\\n.mat-slide-toggle-thumb {\\r\\n background-color: #7E9693 !important;\\r\\n }\\r\\n\\r\\n.uploadlogoimage01 {\\r\\n /* border-left: 6px solid #7E9693 !important; */\\r\\n width: 100%;\\r\\n height: 50px;\\r\\n padding: 5px 15px;\\r\\n background: #7E9693;\\r\\n border-radius: 2px;\\r\\n font-size: 15px;\\r\\n text-transform: uppercase;\\r\\n font-weight: 400;\\r\\n line-height: 23px;\\r\\n letter-spacing: 1px;\\r\\n color: #fff;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.savebutton {\\r\\n width: 140px;\\r\\n height: 50px;\\r\\n background-color: #7E9693 !important;\\r\\n border-radius: 5px;\\r\\n font-family: 'Poppins' !important;\\r\\n font-style: normal !important;\\r\\n font-weight: 400 !important;\\r\\n font-size: 16px !important;\\r\\n line-height: 24px;\\r\\n color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.hide {\\r\\n display:none !important;\\r\\n}\\r\\n\\r\\ntextarea.mat-input-element {\\r\\n padding: 2px 0;\\r\\n margin: -11px 0;\\r\\n resize: none;\\r\\n}\\r\\n\\r\\n.backButton\\r\\n{\\r\\n margin-left: 10px !important;\\r\\n}\\r\\n\\r\\n.btn-group, .btn-group-vertical, .btn-group>.btn {\\r\\n width: 100%;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n

Create New Course

\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Course Name\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{pt}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\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, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material';\r\nimport { UsersService } from '../../users/users.service';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-add-course',\r\n templateUrl: './add-course.component.html',\r\n styleUrls: ['./add-course.component.css']\r\n})\r\nexport class AddCourseComponent implements OnInit {\r\n courseFormGroup!: FormGroup;\r\n plantype = ['Staff', 'Executive'];\r\n constructor(public dialogRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n private userService: UsersService,\r\n private notifier: NotifierService,\r\n private router: Router,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createFormGroup();\r\n }\r\n\r\n createFormGroup(): void {\r\n this.courseFormGroup = this.formBuilder.group({\r\n\r\n course: new FormControl(\"\", Validators.required),\r\n typeName: new FormControl(\"\", Validators.required)\r\n })\r\n\r\n }\r\n\r\n onSubmit() {\r\n\r\n\r\n this.courseFormGroup.markAsTouched();\r\n\r\n const postDataModel = {\r\n 'courseName': this.courseFormGroup.value.course,\r\n 'courseCategory': this.courseFormGroup.value.typeName\r\n }\r\n\r\n // if (this.heading != 'Edit Podcast') {\r\n // console.log(this.companyFormsData);\r\n this.userService.addupdateNewCourse(postDataModel).subscribe((res: any) => {\r\n if (res.statusCode == 200) {\r\n this.notifier.notify('success', ' Course added successfully.');\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.router.onSameUrlNavigation = 'reload';\r\n this.router.navigate([\"/web/manage-courses\"]);\r\n this.onNoClick();\r\n\r\n return;\r\n }\r\n else {\r\n this.notifier.notify('error', res.message);\r\n }\r\n\r\n })\r\n // }\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Existing Courses

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\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, Inject, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { Alert } from 'selenium-webdriver';\r\nimport { CompanyService } from '../manage-company/company.service';\r\nimport { companyFormsModel, CompanyModel } from '../manage-company//manage-company.model';\r\nimport { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { DeleteCompanyAlertComponent } from '../manage-company/delete-company-alert/delete-company-alert.component';\r\nimport { ViewChild } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource } from '@angular/material';\r\nimport { UsersService } from 'src/app/platform/modules/agency-portal/users/users.service';\r\nimport { FilterModel, FilterVideoModel, MediaFilterModel, Metadata, ResponseModel } from '../../core/modals/common-model';\r\nimport * as XLSX from 'xlsx';\r\nimport { BulkUploadComponent } from '../manage-company/bulk-upload/bulk-upload.component';\r\nimport { ManagePackageComponent } from '../manage-company/manage-package/manage-package.component';\r\nimport { UploadVideoComponent } from '../manage-videos/upload-video/upload-video.component';\r\nimport { AddCourseComponent } from './add-course/add-course.component';\r\n\r\n@Component({\r\n selector: 'app-manage-courses',\r\n templateUrl: './manage-courses.component.html',\r\n styleUrls: ['./manage-courses.component.css']\r\n})\r\nexport class ManageCoursesComponent implements OnInit {\r\n\r\n dataSource = new MatTableDataSource();\r\n dataexcel: Array[];\r\n courseList: Array[];\r\n\r\n organizationId: number;\r\n metaData: any;\r\n searchText: string = \"\";\r\n filterModel: MediaFilterModel;\r\n filterVideoModel: FilterVideoModel;\r\n agencyData: any;\r\n animal: string;\r\n searchModel: { SearchKey: string, };\r\n s3: any;\r\n\r\n\r\n displayedColumns: Array = [\r\n { displayName: 'Course Name', key: 'courseName', class: '', width: '35%' },\r\n { displayName: 'Course Category', key: 'courseCategory', class: '', width: '35%' },\r\n //{ displayName: 'Course Completed by Members', key: 'temp', class: '', width: '35%' },\r\n // { displayName: 'View', key: 'userType', class: '', width: '35%' },\r\n // { displayName: 'Ratings', key: 'totalRecords', class: '', width: '25%' },\r\n { displayName: 'Actions', key: 'Actions', class: '', width: '15%' }\r\n ];\r\n\r\n actionButtons: Array = [\r\n //{ displayName: 'View', key: 'view', class: 'fa-solid fa-eye' },\r\n //{ displayName: 'Add', key: 'add', class: 'fa-solid fa-user-plus' },\r\n // { displayName: 'Package', key: 'package', class: 'fa-solid fa-clipboard' },\r\n { displayName: 'Delete', key: 'delete', class: 'fa-solid fa-trash-can' }\r\n ];\r\n notify: any;\r\n\r\n name = 'This is XLSX TO JSON CONVERTER';\r\n willDownload = false;\r\n CategoryType: string = '';\r\n UserType: string = '';\r\n\r\n constructor(\r\n\r\n public dialog: MatDialog,\r\n private notifier: NotifierService,\r\n private router: Router,\r\n private userservice: UsersService,\r\n private _companyService: CompanyService) {\r\n this.filterModel = new MediaFilterModel();\r\n this.filterVideoModel = new FilterVideoModel();\r\n\r\n }\r\n @ViewChild(MatPaginator) paginator!: MatPaginator;\r\n @ViewChild(MatSort) sort!: MatSort;\r\n ngOnInit() {\r\n this.getCourseList();\r\n }\r\n onPageOrSortChange(changeState?: any) {\r\n\r\n this.setPaginatorModel(changeState.pageNumber, changeState.pageSize, changeState.sort, changeState.order, this.filterModel.searchText);\r\n\r\n }\r\n\r\n onTableActionClick(actionObj?: any) {\r\n // console.log(actionObj);\r\n switch ((actionObj.action || '').toUpperCase()) {\r\n\r\n // case 'VIEW':\r\n // localStorage.setItem('heading', 'View Training');\r\n // this.ViewVideo(path);\r\n // break\r\n // case 'EDIT':\r\n // this.editVideo(id);\r\n // localStorage.setItem('headingvalue', 'Edit Training');\r\n // break;\r\n case 'DELETE':\r\n this.deleteCourse(actionObj.data.id);\r\n break\r\n default:\r\n break;\r\n\r\n }\r\n }\r\n\r\n EditCompany(id: number) {\r\n localStorage.setItem('heading', 'Edit Company');\r\n localStorage.setItem('id', id.toString());\r\n this._companyService.getById(id).subscribe((res: any) => {\r\n })\r\n // this.router.navigate([\"/web/manage-podast/add-podcast/upload-video\"]);\r\n }\r\n\r\n OnOff(value: number) {\r\n if (value == 1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n applyFilter(searchText: string = '') {\r\n if (searchText == \"\" || searchText.length > 2) {\r\n this.filterModel.searchText == this.searchText;\r\n this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, searchText);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n getCourseList() {\r\n // this.filterModel.searchText==this.searchText;\r\n // var id = Number(localStorage.getItem('podcastId'));\r\n this.userservice.getAllCourseList(this.filterModel).subscribe((response: ResponseModel) => {\r\n\r\n if (response && response.statusCode == 200) {\r\n this.agencyData = response.data;\r\n this.metaData = response.meta;\r\n }\r\n else {\r\n this.agencyData = [];\r\n this.metaData = new Metadata();\r\n }\r\n\r\n //this.metaData.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n\r\n\r\n clearFilters() {\r\n this.searchText = \"\";\r\n this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, '');\r\n this.getCourseList();\r\n }\r\n\r\n setPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string, searchText: string) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n this.getCourseList();\r\n }\r\n addAgency(organizationId: number = null) {\r\n localStorage.setItem('heading', 'Add Company');\r\n // this.router.navigate([\"/web/manage-podcast/add-podcast/upload-video\"]);\r\n }\r\n\r\n\r\n deleteCourse(id: number) {\r\n this._companyService.confirm(`Are you sure you want to delete video?`).subscribe((result: any) => {\r\n if (result == true) {\r\n this.userservice.deleteCourseName(id).subscribe((response: string) => {\r\n let responsedata: any = response;\r\n this.notifier.notify(\"success\", responsedata.message);\r\n this.getCourseList();\r\n });\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n\r\n changedActive(id: number, num: number) {\r\n this._companyService.changeStatus(id, num).subscribe(res => {\r\n\r\n })\r\n }\r\n\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(BulkUploadComponent, {\r\n\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n openplanDialog(): void {\r\n const dialogRef = this.dialog.open(ManagePackageComponent, {\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (localStorage.getItem('membershipid') != '') {\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n openDialog1(): void {\r\n const dialogRef = this.dialog.open(UploadVideoComponent, {\r\n width: '750px',\r\n panelClass: 'upload-video',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n // console.log(result)\r\n });\r\n }\r\n openAddCourseDialog(): void {\r\n const dialogRef = this.dialog.open(AddCourseComponent, {\r\n width: '450px',\r\n panelClass: 'add-course',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n // console.log(result)\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 { FilterModel } from 'src/app/platform/modules/core/modals/common-model';\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ManageNgoService {\r\n getAllURL = 'api/Organization/GetNgos';\r\n getAllAgeGroupDataURL = 'api/Organization/getAllAgeGroupData';\r\n getAllCausesURL = 'api/Organization/GetCauses';\r\n LoginAsNgo = 'Login/ngologin';\r\n getByIdURL = \"api/Organization/GetNgoById\";\r\n createURL = \"api/Organization/SaveNgo\";\r\n UpdateToggleIsActiveURL = \"api/Organization/UpdateTogglesIsActive\";\r\n UpdateToggleIsActiveForAgeGroupURL = \"api/Organization/UpdateTogglesIsActiveForAgeGroup\";\r\n UpdateTogglesetstepGoal = \"api/Organization/UpdateStepGoalToggle\";\r\n AddAgeGroupURL = \"api/Organization/AddAgeGroup\";\r\n AddPonitsAndStepURL = \"api/Organization/AddPonitsAndStep\";\r\n AddPonitsAndStepURL1 = \"api/Organization/SetStepGoal\";\r\n UpdateToggleIsDefaultURL = \"api/Organization/UpdateToggleIsDefault\";\r\n UpdateTogglesIsDeleteURL = \"api/Organization/UpdateTogglesIsDeleted\";\r\n deleteURL = \"api/Organization/DeleteNgo\";\r\n deleteAgeGroupURL = \"api/Organization/DeleteAgeGroup\";\r\n getMasterDataURL = 'api/MasterData/MasterDataByName';\r\n getRewardPointsDataURL = 'api/Organization/GetAllRewardPoints';\r\n getRewardPointsDataByNgoIdURL = 'api/Organization/GetAllRewardPointByNgoId';\r\n getAllCompanyURL = 'api/Organization/GetAllCompanies';\r\n getallstepGoal='api/Organization/GetStepGoalforWeb'\r\n deleteStepGoal='api/Organization/DeleteStepGoal'\r\n\r\n constructor(private commonService: CommonService,\r\n ) { }\r\n\r\n\r\n pgetAllCompany() {\r\n let url = 'api/Company/' + \"All\";\r\n //return this.http.get(`${environment.api_url}/${url}`)\r\n }\r\n\r\n getAllCompany() {\r\n let url = 'api/Company/' + \"All\";\r\n //let url = this.getAllCompanyURL;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getAllRewardPoints(ngoId: number) {\r\n let url = this.getRewardPointsDataURL;\r\n return this.commonService.getAll(url + \"?userId=\" + ngoId, {});\r\n }\r\n\r\n getAllRewardPointsByNgoId(ngoId: number, selectedOfficeLocations: any, selectedDates: any, selectedyear: any) {\r\n let url = this.getRewardPointsDataByNgoIdURL;\r\n return this.commonService.getAll(url + \"?ngoId=\" + ngoId +\r\n \"&selectedCompany=\" + selectedOfficeLocations + \"&selectedDates=\" + selectedDates,\r\n +\"selectedyear=\"+selectedyear);\r\n }\r\n GetAllStep(){\r\n let url=this.getallstepGoal;\r\n return this.commonService.getAll(url, {})\r\n }\r\n getAll() {\r\n let url = this.getAllURL;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getAllAgeGroupData() {\r\n let url = this.getAllAgeGroupDataURL;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getAllCauses() {\r\n let url = this.getAllCausesURL;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n ngoLogin(postdata: any) {\r\n let url = this.LoginAsNgo;\r\n return this.commonService.post(url, postdata);\r\n }\r\n\r\n\r\n getById(id: number) {\r\n return this.commonService.getById(this.getByIdURL + \"?Id=\" + id, {});\r\n }\r\n\r\n deleteNgo(id: number) {\r\n return this.commonService.put(this.deleteURL + \"?Id=\" + id, {});\r\n }\r\n deletestepGoal(id:number){\r\n return this.commonService.post(this.deleteStepGoal + \"?Id=\" + id, {})\r\n }\r\n\r\n deleteAgeGroup(id: number) {\r\n return this.commonService.put(this.deleteAgeGroupURL + \"?Id=\" + id, {});\r\n }\r\n\r\n getMasterData(masterData: any): Observable {\r\n return this.commonService.post(this.getMasterDataURL, masterData);\r\n }\r\n save(agencyModel: any) {\r\n return this.commonService.post(this.createURL, agencyModel);\r\n }\r\n\r\n updateTogglesIsActive(toggleUpdateModel: any) {\r\n return this.commonService.post(this.UpdateToggleIsActiveURL, toggleUpdateModel);\r\n }\r\n\r\n updateTogglesIsActiveForAgeGroup(toggleUpdateModel: any) {\r\n return this.commonService.post(this.UpdateToggleIsActiveForAgeGroupURL, toggleUpdateModel);\r\n }\r\n updateTogglesetStepgoal(toggleUpdateModel: any) {\r\n return this.commonService.post(this.UpdateTogglesetstepGoal, toggleUpdateModel);\r\n }\r\n\r\n addAgeGroup(toggleUpdateModel: any) {\r\n return this.commonService.post(this.AddAgeGroupURL, toggleUpdateModel);\r\n }\r\n\r\n addStepAndPoints(toggleUpdateModel: any) {\r\n return this.commonService.post(this.AddPonitsAndStepURL, toggleUpdateModel);\r\n }\r\n addStepAndPoints1(data: any) {\r\n return this.commonService.post(this.AddPonitsAndStepURL1, data);\r\n }\r\n\r\n updateTogglesIsDefault(toggleUpdateModel: any) {\r\n return this.commonService.post(this.UpdateToggleIsDefaultURL, toggleUpdateModel);\r\n }\r\n\r\n updateTogglesIsDeleted(toggleUpdateModel: any) {\r\n return this.commonService.post(this.UpdateTogglesIsDeleteURL, toggleUpdateModel);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{quizId>0?'Edit Quiz':'Add New Quiz'}}

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

{{quizForm.value.quizName}}

\\r\\n

\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Questions\\r\\n \\r\\n \\r\\n \\r\\n

{{i+1}}.  {{item.value.questionName}}

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Results in %\\r\\n \\r\\n \\r\\n

\\r\\n

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

\\r\\n {{i+1}}.  \\r\\n \\r\\n \\r\\n 0\\\">\\\"\\\"\\r\\n

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n {{field.value.questionOption}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n 0\\\">\\\"\\\"\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\" Add More\\r\\n Option\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Select a Question Type

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Multiple Choice\\r\\n \\r\\n
\\r\\n

Multiple Choice

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

Sample Question

\\r\\n

Microsoft head office situated at?

\\r\\n
    \\r\\n
  • \\r\\n Redmond, Washington, United States\\r\\n
  • \\r\\n
  • \\r\\n Mountain View, California, United States\\r\\n
  • \\r\\n
  • \\r\\n Sunnyvale, California, United States\\r\\n
  • \\r\\n
  • \\r\\n Seattle, Washington, United States\\r\\n
  • \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Radio Button\\r\\n \\r\\n
\\r\\n

Radio Button

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

Sample Question

\\r\\n

Microsoft office situated at?

\\r\\n
    \\r\\n
  • \\r\\n Redmond, Washington, United States\\r\\n
  • \\r\\n
  • \\r\\n Mountain View, California, United States\\r\\n
  • \\r\\n
  • \\r\\n Sunnyvale, California, United States\\r\\n
  • \\r\\n
  • \\r\\n Seattle, Washington, United States\\r\\n
  • \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\\"\\\" True False\\r\\n \\r\\n
\\r\\n

Radio Button

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

Sample Question

\\r\\n

The blue Whale is the biggest animal ever?

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n - Fill in the Blanks\\r\\n \\r\\n
\\r\\n

Fill in the Blanks

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

Sample Question

\\r\\n

The strawberry is a juicy, edible fruit which has a ___________ color when it is ripe.

\\r\\n
\\r\\n \\r\\n Your Answer\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

Staff 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

{{i+1}}.  {{quizView.questionName}}

\\r\\n
\\r\\n
\\r\\n
    \\r\\n\\r\\n
  • \\r\\n   {{quizOption.questionOption}}
  • \\r\\n
\\r\\n
    \\r\\n\\r\\n
  • \\r\\n   {{quizOption.questionOption}}
  • \\r\\n
\\r\\n
    \\r\\n\\r\\n
  • {{quizOption.questionOption}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Time & energy management

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Alfonso Rosser

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

100 / 50 Points (50%)

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

50%

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

5

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

5

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

2 Mins 15 Secs.

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\" Pass\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Answer

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

\\\"\\\" Correct

\\r\\n

1. Microsoft head office situated at?

\\r\\n
    \\r\\n
  • Redmond, Washington, United States (Your Answer)
  • \\r\\n
  • Mountain View, California, United States
  • \\r\\n
  • Sunnyvale, California, United States
  • \\r\\n
  • Seattle, Washington, United States
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\\"\\\" Incorrect

\\r\\n

2. Amazon head office situated at?

\\r\\n
    \\r\\n
  • Redmond, Washington, United States
  • \\r\\n
  • Mountain View, California, United States
  • \\r\\n
  • Sunnyvale, California, United States (Your Answer)
  • \\r\\n
  • Seattle, Washington, United States (Your Answer)
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \".add-new-quiz {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex-direction: column;\\n height: calc(100vh - 300px); }\\n .add-new-quiz img {\\n width: 156px; }\\n .add-new-quiz h2 {\\n font-size: 20px;\\n font-weight: 400;\\n line-height: 30px;\\n color: #000000;\\n margin: 15px 0px; }\\n .add-new-quiz button {\\n background: #546361 !important; }\\n .assign-history-sec .quiz-left-sec {\\n font-family: 'Poppins', sans-serif !important;\\n border-right: 1px solid #e7e7e7;\\n height: 100%; }\\n .assign-history-sec .quiz-left-sec .head-sec h2 {\\n font-size: 22px;\\n font-weight: 500;\\n line-height: 33px;\\n color: #000000;\\n margin-bottom: 0;\\n padding: 25px 5px; }\\n .assign-history-sec .quiz-left-sec .mat-expansion-panel.mat-expansion-panel:not([class*=\\\"mat-elevation-z\\\"]) {\\n box-shadow: none; }\\n .assign-history-sec .quiz-left-sec .mat-expansion-panel .mat-expansion-panel-header {\\n background: #f7f7f7;\\n margin-bottom: 10px;\\n border-top: 1px solid #cccccc;\\n border-bottom: 1px solid #cccccc;\\n padding: 5px;\\n padding-right: 15px;\\n margin-bottom: 0; }\\n .assign-history-sec .quiz-left-sec .mat-expansion-panel .mat-expansion-panel-body {\\n padding: 0px; }\\n .assign-history-sec .quiz-left-sec .mat-expansion-panel .action-btn {\\n width: 100%; }\\n .assign-history-sec .quiz-left-sec .mat-expansion-panel .action-btn button {\\n min-width: auto; }\\n .assign-history-sec .quiz-left-sec .mat-expansion-panel a {\\n display: block;\\n padding: 12px 5px; }\\n .assign-history-sec .quiz-left-sec .mat-expansion-panel a.active {\\n background: #7e9693;\\n color: #fff; }\\n .assign-history-sec .quiz-left-sec .mat-expansion-panel a.active h2 {\\n color: #fff; }\\n .assign-history-sec .quiz-left-sec .mat-expansion-panel a h2 {\\n font-size: 14px;\\n font-weight: 400;\\n line-height: 21px;\\n color: #000000;\\n margin-bottom: 0; }\\n .assign-history-sec .quiz-right-sec {\\n font-family: 'Poppins', sans-serif !important;\\n margin-top: 15px; }\\n .assign-history-sec .quiz-right-sec .qus-sec .qus-head {\\n padding: 5px;\\n border-bottom: 1px solid #cccccc;\\n margin-bottom: 15px; }\\n .assign-history-sec .quiz-right-sec .qus-sec .qus-head h2 {\\n font-size: 20px;\\n font-weight: 400;\\n line-height: 30px;\\n color: #000000;\\n display: flex;\\n justify-content: space-between;\\n align-items: center; }\\n .assign-history-sec .quiz-right-sec .qus-sec .ans-sec {\\n padding: 1px 15px;\\n border: 1px solid transparent; }\\n .assign-history-sec .quiz-right-sec .qus-sec .ans-sec ul {\\n padding-left: 0px; }\\n .assign-history-sec .quiz-right-sec .qus-sec .ans-sec ul li {\\n margin: 15px 0px;\\n list-style: none;\\n color: #757575;\\n display: flex;\\n justify-content: space-between;\\n align-items: center; }\\n .assign-history-sec .quiz-right-sec .qus-sec .action-sec {\\n border: 1px solid transparent;\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin: 0px 0px 15px;\\n padding: 15px 15px 15px 30px;\\n opacity: 0; }\\n .assign-history-sec .quiz-right-sec .qus-sec .action-sec button {\\n height: 40px; }\\n .assign-history-sec .quiz-right-sec .qus-sec:hover .ans-sec {\\n border: 1px solid #cccccc;\\n background: #f7f7f7;\\n border-bottom: none; }\\n .assign-history-sec .quiz-right-sec .qus-sec:hover .action-sec {\\n opacity: 1;\\n border: 1px solid #cccccc;\\n background: #f7f7f7; }\\n .assign-history-sec .quiz-right-sec .add-more {\\n font-size: 16px;\\n font-weight: 400;\\n line-height: 24px;\\n color: #757575;\\n display: flex;\\n align-items: center; }\\n .assign-history-sec .quiz-right-sec .add-more img {\\n margin-right: 10px; }\\n #preview .qus-sec .qus-head {\\n padding: 5px;\\n border-bottom: 1px solid #cccccc; }\\n #preview .qus-sec .qus-head h2 {\\n font-size: 20px;\\n font-weight: 400;\\n line-height: 30px;\\n color: #000000;\\n display: flex;\\n justify-content: space-between;\\n align-items: center; }\\n #preview .qus-sec .qus-head h2 .progressbar-sec {\\n display: flex;\\n align-items: center; }\\n #preview .qus-sec .qus-head h2 .progressbar-sec span {\\n font-size: 14px;\\n font-weight: 400;\\n line-height: 21px;\\n color: #757575; }\\n #preview .qus-sec .qus-head h2 .progressbar-sec .progress-bar {\\n width: 120px;\\n height: 8px;\\n margin: 0px 10px;\\n border-radius: 20px;\\n background: linear-gradient(orange 0 0) 0/0% no-repeat lightblue;\\n -webkit-animation: p2 2s infinite steps(10);\\n animation: p2 2s infinite steps(10); }\\n #preview .qus-sec .ans-sec {\\n padding: 15px;\\n margin: 15px 0px;\\n background: #f7f7f7; }\\n #preview .qus-sec .ans-sec ul {\\n padding-left: 0px; }\\n #preview .qus-sec .ans-sec ul li {\\n margin-bottom: 15px;\\n list-style: none;\\n color: #757575;\\n display: flex;\\n justify-content: flex-start;\\n align-items: center; }\\n .result-modal-sec .view-sec {\\n width: 100%; }\\n .result-modal-sec .view-sec .certificate-img {\\n width: 424px;\\n height: auto;\\n margin-bottom: 35px; }\\n .result-modal-sec .view-sec .view-card {\\n border-bottom: 0.7px solid #e5e5e5;\\n margin-bottom: 25px; }\\n .result-modal-sec .view-sec .view-card label {\\n font-size: 12px;\\n font-weight: 400;\\n line-height: 18px;\\n color: #757575;\\n margin-bottom: 0; }\\n .result-modal-sec .view-sec .view-card p {\\n font-size: 14px;\\n font-weight: 400;\\n line-height: 21px;\\n color: #000000;\\n margin-bottom: 0; }\\n .result-modal-sec .view-sec .show-perform .pass {\\n border: 1px solid #31933b;\\n background: #f3fff4;\\n border-radius: 5px;\\n padding: 15px;\\n font-size: 28px;\\n font-weight: 600;\\n line-height: 42px;\\n color: #31933b;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .result-modal-sec .view-sec .show-perform .pass img {\\n margin-right: 10px; }\\n .result-modal-sec .view-sec .answer-sec h2 {\\n font-size: 16px;\\n font-weight: 400;\\n line-height: 24px;\\n color: #757575;\\n padding: 25px 0px 5px;\\n border-bottom: 0.7px solid #e5e5e5; }\\n .result-modal-sec .view-sec .answer-sec .ans-card {\\n border-bottom: 0.7px solid #e5e5e5;\\n padding: 15px; }\\n .result-modal-sec .view-sec .answer-sec .ans-card:last-child {\\n border: none; }\\n .result-modal-sec .view-sec .answer-sec .ans-card h4 {\\n font-size: 16px;\\n font-weight: 500;\\n line-height: 24px; }\\n .result-modal-sec .view-sec .answer-sec .ans-card h4 img {\\n margin-right: 10px; }\\n .result-modal-sec .view-sec .answer-sec .ans-card h3 {\\n font-size: 16px;\\n font-weight: 400;\\n line-height: 24px;\\n color: #000000;\\n margin-bottom: 5px; }\\n .result-modal-sec .view-sec .answer-sec .ans-card ul {\\n padding-left: 25px; }\\n .result-modal-sec .view-sec .answer-sec .ans-card ul li {\\n font-size: 15px;\\n font-weight: 400;\\n line-height: 23px;\\n color: #757575;\\n list-style: none;\\n margin: 5px 0px; }\\n .result-modal-sec .view-sec .answer-sec .ans-card ul li span {\\n font-size: 15px;\\n font-weight: 600;\\n line-height: 23px;\\n margin-left: 15px; }\\n .result-modal-sec .view-sec .answer-sec .ans-card ul li span img {\\n margin-right: 5px; }\\n .view-sidebar {\\n position: fixed;\\n right: -440px;\\n bottom: 0;\\n top: 75px;\\n width: 440px;\\n padding: 50px 15px 15px;\\n background: #fff;\\n box-shadow: 1px 1px 10px #757575; }\\n .view-sidebar .ans-sec {\\n padding: 1px 15px;\\n border: 1px solid transparent; }\\n .view-sidebar .ans-sec h3 {\\n font-size: 16px;\\n font-weight: 400;\\n line-height: 24px;\\n color: #000000; }\\n .view-sidebar .ans-sec ul {\\n padding-left: 0px; }\\n .view-sidebar .ans-sec ul li {\\n margin: 15px 0px;\\n list-style: none;\\n color: #757575;\\n display: flex;\\n align-items: center; }\\n .view-sidebar .action-btn {\\n padding: 15px;\\n width: 100%; }\\n .view-sidebar .action-btn button {\\n min-width: auto; }\\n .view-sidebar .close-btn {\\n position: absolute;\\n top: 15px;\\n right: 15px;\\n border: none;\\n background: none; }\\n .custon-circle-check {\\n display: inline-block;\\n position: relative;\\n padding-left: 35px;\\n margin-bottom: 15px;\\n cursor: pointer;\\n font-size: 22px;\\n margin-right: -10px;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n .custon-circle-check input {\\n position: absolute;\\n opacity: 0;\\n cursor: pointer;\\n height: 0;\\n width: 0; }\\n /* Create a custom checkbox */\\n .checkmark_c {\\n position: absolute;\\n top: 0;\\n left: 0;\\n height: 15px;\\n width: 15px;\\n background-color: transparent;\\n border: 1px solid #546361;\\n border-radius: 30px; }\\n /* On mouse-over, add a grey background color */\\n .custon-circle-check:hover input ~ .checkmark_c {\\n background-color: transparent; }\\n /* When the checkbox is checked, add a blue background */\\n .custon-circle-check input:checked ~ .checkmark_c {\\n background-color: #546361; }\\n /* Create the checkmark/indicator (hidden when not checked) */\\n .checkmark:after {\\n content: \\\"\\\";\\n position: absolute;\\n display: none; }\\n /* Show the checkmark when checked */\\n .custon-circle-check input:checked ~ .checkmark_c:after {\\n display: block; }\\n /* Style the checkmark/indicator */\\n :host ::ng-deep.custon-circle-check .checkmark_c:after {\\n left: 9px;\\n top: 5px;\\n width: 5px;\\n height: 10px;\\n border: solid white;\\n border-width: 0 3px 3px 0;\\n -webkit-transform: rotate(45deg);\\n transform: rotate(45deg); }\\n .mat-form-field-appearance-legacy\\n.mat-form-field-wrapper {\\n padding-bottom: 0em !important; }\\n .mat-form-field-wrapper {\\n padding-bottom: 0em !important; }\\n\"","import { Component, OnInit, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatTabChangeEvent } from '@angular/material';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ManageQuizService } from '../manage-quiz.service';\r\nimport { NotifierService } from 'angular-notifier';\r\n\r\n@Component({\r\n selector: 'app-add-new-quiz',\r\n templateUrl: './add-new-quiz.component.html',\r\n styleUrls: ['./add-new-quiz.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AddNewQuizComponent implements OnInit {\r\n quizForm!: FormGroup;\r\n panelOpenState = false;\r\n editing: boolean = true;\r\n questionType: string;\r\n quizId: any = 0;\r\n quizViewForm: any;\r\n constructor(public dialog: MatDialog, private router: Router, private formBuilder: FormBuilder, private manageQuizService: ManageQuizService, private activeRoute: ActivatedRoute, private notifier: NotifierService) {\r\n // this.questionType=new MatTabChangeEvent();\r\n this.questionType = \"multiple-choice\";\r\n }\r\n\r\n @ViewChild(\"qusType\", {}) qusType: TemplateRef;\r\n @ViewChild(\"staffTraining\", {}) staffTraining: TemplateRef;\r\n @ViewChild(\"preview\", {}) preview: TemplateRef;\r\n @ViewChild(\"result\", {}) result: TemplateRef;\r\n\r\n ngOnInit() {\r\n this.quizForm = this.formBuilder.group({\r\n quizId: [this.quizId],\r\n quizName: ['', [Validators.required]],\r\n quizPercentage: ['', [Validators.required]],\r\n createdBy: [0],\r\n questionDatas: this.formBuilder.array([]),\r\n })\r\n this.activeRoute.queryParams.subscribe(params => {\r\n this.quizId = params['quizId'] == undefined ? 0 : params['quizId'];\r\n if (this.quizId > 0) {\r\n this.getQuizDetailsById();\r\n }\r\n })\r\n }\r\n\r\n numberOnly(val: any) {\r\n const charCode = (val.which) ? val.which : val.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n \r\n get quizFormControls() {\r\n return this.quizForm.controls;\r\n }\r\n\r\n getQuizDetailsById() {\r\n this.manageQuizService.getQuizDetailsById(this.quizId).subscribe(res => {\r\n // console.log(res);\r\n this.quizViewForm = res.data.questionDatas;\r\n this.quizForm.patchValue(res.data);\r\n this.setArrayData(res.data.questionDatas);\r\n }, error => {\r\n\r\n })\r\n }\r\n setArrayData(dataArray: any[]) {\r\n const dataArrayFormArray = this.quizForm.controls[\"questionDatas\"];\r\n\r\n dataArray.forEach((data, i) => {\r\n dataArrayFormArray.push(this.formBuilder.group({\r\n quizQuestionnaireID: [data.quizQuestionnaireID],\r\n questionName: [data.questionName, [Validators.required]],\r\n questionType: [data.questionType, Validators.required],\r\n questionOptionDatas: this.formBuilder.array([])\r\n })); // Create a new FormControl for each element\r\n\r\n const dataArrayFormArrayIndex = dataArrayFormArray.at(i);\r\n\r\n data.questionOptionDatas.forEach(obj => {\r\n const optionFormArray = dataArrayFormArrayIndex.get('questionOptionDatas') as FormArray;\r\n optionFormArray.push(this.formBuilder.group({\r\n questionOptionId: [obj.questionOptionId],\r\n questionOption: [obj.questionOption, [Validators.required]],\r\n answer: [obj.answer, [Validators.required]]\r\n }));\r\n })\r\n });\r\n }\r\n openNewQuestionDialog(): void {\r\n this.dialog.open(this.qusType, {\r\n width: '750px',\r\n panelClass: 'new-question',\r\n });\r\n }\r\n openStaffTrainingDialog(): void {\r\n this.dialog.open(this.staffTraining, {\r\n width: '278px',\r\n panelClass: 'staff-training',\r\n });\r\n }\r\n openPreviewDialog(): void {\r\n this.dialog.open(this.preview, {\r\n width: '1027px',\r\n panelClass: 'preview-modal',\r\n });\r\n }\r\n openResultDialog(): void {\r\n this.dialog.open(this.result, {\r\n width: '1027px',\r\n panelClass: 'result-modal',\r\n });\r\n }\r\n\r\n startEditing() {\r\n this.editing = true;\r\n }\r\n\r\n cancelEditing() {\r\n // If the user cancels editing, revert changes and switch back to display mode.\r\n this.editing = false;\r\n }\r\n closeDialog() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n addQuestionType() {\r\n const control = this.quizForm.controls[\"questionDatas\"];\r\n control.push(this.createQuestion(this.questionType));\r\n this.dialog.closeAll();\r\n this.questionType = \"multiple-choice\";\r\n }\r\n get questionDatas() {\r\n return this.quizForm.get(\"questionDatas\") as FormArray;\r\n }\r\n createQuestion(val: string): FormGroup {\r\n if (val == 'true-false')\r\n return this.formBuilder.group({\r\n quizQuestionnaireID: [0],\r\n questionName: ['', [Validators.required]],\r\n questionType: [val, Validators.required],\r\n questionOptionDatas: this.formBuilder.array([\r\n this.formBuilder.group({\r\n questionOptionId: [0],\r\n questionOption: ['True', [Validators.required]],\r\n answer: [false, [Validators.required]]\r\n }),\r\n this.formBuilder.group({\r\n questionOptionId: [0],\r\n questionOption: ['False', [Validators.required]],\r\n answer: [false, [Validators.required]]\r\n })\r\n ])\r\n });\r\n if (val == 'fill-blanks')\r\n return this.formBuilder.group({\r\n quizQuestionnaireID: [0],\r\n questionName: ['', [Validators.required]],\r\n questionType: [val, Validators.required],\r\n questionOptionDatas: this.formBuilder.array([\r\n this.formBuilder.group({\r\n questionOptionId: [0],\r\n questionOption: ['', [Validators.required]],\r\n answer: [true, [Validators.required]]\r\n })\r\n ])\r\n });\r\n else\r\n return this.formBuilder.group({\r\n quizQuestionnaireID: [0],\r\n questionName: ['', [Validators.required]],\r\n questionType: [val, Validators.required],\r\n questionOptionDatas: this.formBuilder.array([\r\n this.formBuilder.group({\r\n questionOptionId: [0],\r\n questionOption: ['', [Validators.required]],\r\n answer: [false, [Validators.required]]\r\n })\r\n ])\r\n });\r\n }\r\n tabClick(questionType: MatTabChangeEvent) {\r\n this.questionType = questionType.tab.textLabel;\r\n }\r\n\r\n addOptionsOfQuestion() {\r\n const control = this.quizForm.controls[\"questionDatas\"];\r\n control.push(this.createQuestion(''));\r\n }\r\n removeQuestionItem(index: number) {\r\n const control = this.quizForm.controls[\"questionDatas\"];\r\n control.removeAt(index);\r\n }\r\n addField(formGroup: FormGroup, index: number): void {\r\n const fields = formGroup.get('questionOptionDatas') as FormArray;\r\n // fields.push();\r\n fields.push(this.formBuilder.group({\r\n questionOptionId: [0],\r\n questionOption: ['', [Validators.required]],\r\n answer: ['', [Validators.required]]\r\n }));\r\n }\r\n removeField(formGroup: FormGroup, index: number): void {\r\n const fields = formGroup.get('questionOptionDatas') as FormArray;\r\n // fields.push();\r\n fields.removeAt(index);\r\n }\r\n\r\n setRadioData(value, formGroup: FormGroup, index: number): void {\r\n const fields = formGroup.get('questionOptionDatas') as FormArray;\r\n // fields.push();\r\n fields.controls.forEach((obj, i) => {\r\n if (i == index) {\r\n obj.patchValue({\r\n questionOptionId: obj.value.questionOptionId,\r\n questionOption: obj.value.questionOption,\r\n answer: true\r\n });\r\n }\r\n else {\r\n obj.patchValue({\r\n questionOptionId: obj.value.questionOptionId,\r\n questionOption: obj.value.questionOption,\r\n answer: false\r\n });\r\n }\r\n\r\n })\r\n }\r\n\r\n onSubmit() {\r\n // console.log(this.quizForm.value);\r\n this.manageQuizService.creatQuizDetails(this.quizForm.value).subscribe(res => {\r\n this.notifier.notify('success', ' Quiz added successfully.');\r\n this.router.navigate(['web/manage-quiz']);\r\n }, error => {\r\n this.notifier.notify('error', error.message);\r\n })\r\n }\r\n\r\n onUpdate() {\r\n // console.log(this.quizForm.value);\r\n this.manageQuizService.updateQuizDetails(this.quizForm.value).subscribe(res => {\r\n this.notifier.notify('success', ' Quiz updated successfully.');\r\n this.router.navigate(['web/manage-quiz']);\r\n }, error => {\r\n this.notifier.notify('error', error.message);\r\n })\r\n }\r\n\r\n DeleteQuizQuestion(quizId, quizQuestionnaireID) {\r\n this.manageQuizService.confirm(`Are you sure you want to delete the question?`).subscribe((result: any) => {\r\n if (result == true) {\r\n this.manageQuizService.deleteQuizQuestion(quizId, quizQuestionnaireID).subscribe(res => {\r\n this.ngOnInit();\r\n this.notifier.notify('success', ' Question deleted successfully.');\r\n \r\n }, error => {\r\n this.notifier.notify('error', error.message);\r\n })\r\n }\r\n });\r\n \r\n }\r\n\r\n DeleteQuizQuestionOption(quizId, quizQuestionnaireID, questionOptionId) {\r\n this.manageQuizService.confirm(`Are you sure you want to delete the option?`).subscribe((result: any) => {\r\n if (result == true) {\r\n this.manageQuizService.deleteQuizQuestionOption(quizId, quizQuestionnaireID, questionOptionId).subscribe(res => {\r\n this.ngOnInit();\r\n this.notifier.notify('success', ' Question option deleted successfully.');\r\n }, error => {\r\n this.notifier.notify('error', error.message);\r\n })\r\n }\r\n });\r\n \r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Quiz

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Quiz TitleQuiz Creation DateAction
{{quizDetail.quizName}}{{quizDetail.createdDate | date:'MMM dd yyyy'}}\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

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

{{i+1}}.  {{quizView.questionName}}

\\r\\n
\\r\\n
\\r\\n
    \\r\\n\\r\\n
  • \\r\\n   {{quizOption.questionOption}}
  • \\r\\n
\\r\\n
    \\r\\n\\r\\n
  • \\r\\n   {{quizOption.questionOption}}
  • \\r\\n
\\r\\n
    \\r\\n\\r\\n
  • {{quizOption.questionOption}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"#preview .qus-sec .qus-head {\\n padding: 5px;\\n border-bottom: 1px solid #cccccc; }\\n #preview .qus-sec .qus-head h2 {\\n font-size: 20px;\\n font-weight: 400;\\n line-height: 30px;\\n color: #000000;\\n display: flex;\\n justify-content: space-between;\\n align-items: center; }\\n #preview .qus-sec .qus-head h2 .progressbar-sec {\\n display: flex;\\n align-items: center; }\\n #preview .qus-sec .qus-head h2 .progressbar-sec span {\\n font-size: 14px;\\n font-weight: 400;\\n line-height: 21px;\\n color: #757575; }\\n #preview .qus-sec .qus-head h2 .progressbar-sec .progress-bar {\\n width: 120px;\\n height: 8px;\\n margin: 0px 10px;\\n border-radius: 20px;\\n background: linear-gradient(orange 0 0) 0/0% no-repeat lightblue;\\n -webkit-animation: p2 2s infinite steps(10);\\n animation: p2 2s infinite steps(10); }\\n #preview .qus-sec .ans-sec {\\n padding: 15px;\\n margin: 15px 0px;\\n background: #f7f7f7; }\\n #preview .qus-sec .ans-sec ul {\\n padding-left: 0px; }\\n #preview .qus-sec .ans-sec ul li {\\n margin-bottom: 15px;\\n list-style: none;\\n color: #757575;\\n display: flex;\\n justify-content: flex-start;\\n align-items: center; }\\n\"","import { Component, OnInit, TemplateRef, ViewChild } from \"@angular/core\";\r\nimport { MatPaginator, MatSort, MatTableDataSource, MatDialog } from \"@angular/material\";\r\nimport { QuestionnaireComponent } from \"./questionnaire/questionnaire.component\";\r\nimport { ManageQuizService } from \"./manage-quiz.service\";\r\nimport { ManageAgencyModel } from \"src/app/super-admin-portal/manage-agency/manage-agency.model\";\r\nimport { Router } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\n\r\n\r\n@Component({\r\n selector: \"app-manage-quiz\",\r\n templateUrl: \"./manage-quiz.component.html\",\r\n styleUrls: [\"./manage-quiz.component.css\", \"manage-quiz.component.scss\"],\r\n})\r\nexport class ManageQuizComponent implements OnInit {\r\n quizDetails: any;\r\n SearchKey: string = '';\r\n pageNumber: any = 1;\r\n pageSize: number = 10;\r\n length: number;\r\n @ViewChild(\"preview\", {}) preview: TemplateRef;\r\n quizViewForm: any;\r\n constructor(\r\n public dialog: MatDialog,\r\n private manageQuizService: ManageQuizService,\r\n private route: Router,\r\n private notifier: NotifierService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.GetQuizDetails();\r\n }\r\n\r\n GetQuizDetails() {\r\n this.manageQuizService.getQuizDetails(this.SearchKey, this.pageNumber, this.pageSize).subscribe((res) => {\r\n if (res && res.statusCode == 200) {\r\n this.quizDetails = res.data;\r\n this.length = res.data[0].totalRecords;\r\n\r\n }\r\n });\r\n }\r\n\r\n GetQuizDetailsById(quizId) {\r\n this.manageQuizService.getQuizDetailsById(quizId).subscribe((res) => {\r\n this.quizViewForm = res.data.questionDatas;\r\n });\r\n }\r\n\r\n editView(quizId) {\r\n this.route.navigate([\"/web/add-new-quiz\"], {\r\n queryParams: { quizId: quizId },\r\n });\r\n this.GetQuizDetails();\r\n }\r\n\r\n openDialog1(): void {\r\n this.route.navigate([\"/web/add-new-quiz\"]);\r\n // const dialogRef = this.dialog.open(QuestionnaireComponent, {\r\n // width: '750px',\r\n // panelClass: 'upload-video',\r\n // });\r\n\r\n // dialogRef.afterClosed().subscribe(result => {\r\n // console.log(result)\r\n // });\r\n }\r\n openPreviewDialog(quizId) {\r\n this.dialog.open(this.preview, {\r\n width: \"1027px\",\r\n panelClass: \"preview-modal\",\r\n });\r\n this.GetQuizDetailsById(quizId);\r\n }\r\n closeDialog() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n deleteQuiz(quizId) {\r\n this.manageQuizService\r\n .confirm(`Are you sure you want to delete the option?`)\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.manageQuizService.deleteQuiz(quizId).subscribe(\r\n (res) => {\r\n this.notifier.notify(\"success\", \"Quiz deleted successfully.\");\r\n this.GetQuizDetails();\r\n },\r\n (error) => {\r\n this.notifier.notify(\"error\", error.message);\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n applyFilter(searchText: string = '') {\r\n\r\n if (searchText == \"\" || searchText.length > 2) {\r\n\r\n this.SearchKey = searchText;\r\n this.GetQuizDetails();\r\n }\r\n }\r\n\r\n onPageOrSortChange(changeState?: any) {\r\n this.pageNumber = changeState.pageIndex + 1;\r\n this.GetQuizDetails();\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonService } from '../../core/services';\r\nimport { Observable } from 'rxjs';\r\nimport { DialogComponent } from 'src/app/shared/layout/dialog/dialog.component';\r\nimport { MatDialog } from '@angular/material';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ManageQuizService {\r\n private getQuizDetailsURL = 'Media/GetQuizDetails';\r\n private getQuizDetailsByIdURL = 'Media/GetQuizDetailsById';\r\n private CreateQuizDetailsURL = 'Media/CreateQuiz';\r\n private UpdateQuizDetailsURL = 'Media/UpdateQuiz';\r\n private deleteQuizURL = 'Media/DeleteQuiz';\r\n private deleteQuizQuestionURL = 'Media/DeleteQuizQuestion';\r\n private deleteQuizQuestionOptionURL = 'Media/DeleteQuizQuestionOption';\r\n private checkQuizDetails3 = 'Media/CheckQuizDone';\r\n constructor(private commonService: CommonService, private dialog: MatDialog) {\r\n }\r\n getQuizDetails(SearchKey: any, pageNumber: any, pageSize: any) {\r\n return this.commonService.getAll(this.getQuizDetailsURL + '?SearchKey=' + SearchKey + '&pageNumber=' + pageNumber + '&pageSize=' + pageSize, {});\r\n }\r\n\r\n creatQuizDetails(quizData: any) {\r\n return this.commonService.post(this.CreateQuizDetailsURL, quizData);\r\n }\r\n\r\n updateQuizDetails(quizData: any) {\r\n return this.commonService.post(this.UpdateQuizDetailsURL, quizData, true);\r\n }\r\n\r\n deleteQuizQuestion(quizId, quizQuestionnaireID) {\r\n return this.commonService.post(this.deleteQuizQuestionURL + '?QuizId=' + quizId + '&quizQuestionnaireID=' + quizQuestionnaireID, {});\r\n }\r\n\r\n deleteQuizQuestionOption(quizId, quizQuestionnaireID, questionOptionId) {\r\n return this.commonService.post(this.deleteQuizQuestionOptionURL + '?QuizId=' + quizId + '&quizQuestionnaireID=' + quizQuestionnaireID + '&questionOptionId=' + questionOptionId, {});\r\n }\r\n\r\n getQuizDetailsById(quizId) {\r\n return this.commonService.getAll(this.getQuizDetailsByIdURL + '?QuizId=' + quizId, {});\r\n }\r\n\r\n\r\n checkgetQuiz(patientId: number, quizId: number) {\r\n let url = `?patientId=${patientId}&quizId=${quizId}`;\r\n return this.commonService.getById(this.checkQuizDetails3 + url, {});\r\n }\r\n\r\n deleteQuiz(quizId) {\r\n return this.commonService.post(this.deleteQuizURL + '?QuizId=' + quizId, {});\r\n\r\n }\r\n public confirm(\r\n message: string,\r\n data?: Array): Observable {\r\n const modalRef = this.dialog.open(DialogComponent, { data: data, hasBackdrop: true, backdropClass: 'no-backdrop', disableClose: false, width: 'auto', minWidth: 'auto', maxWidth: 'auto', position: { bottom: '10px', right: '10px' } });\r\n modalRef.componentInstance.message = message;\r\n return modalRef.afterClosed();\r\n }\r\n}\r\n","module.exports = \".complete-quiz-link {\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n line-height: 21px;\\r\\n color: #000000;\\r\\n text-decoration: underline;\\r\\n margin-bottom: 10px;\\r\\n}\"","module.exports = \"\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Send a reminder to complete the Quiz\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Members ParticipatingQuestionsCompletedRightWrongScoreResultActiveAction
Alfonso Rosser10862AwaitingAwaiting
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n
Anika Lipshutz151513295%Pass
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n
Ashlynn Siphron1010100100%Pass
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n
Jakob Franci202081240%Fail
\\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-members-participating',\r\n templateUrl: './members-participating.component.html',\r\n styleUrls: ['./members-participating.component.css']\r\n})\r\nexport class MembersParticipatingComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Select a Question Type

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Multiple Choice\\r\\n \\r\\n
\\r\\n

Multiple Choice

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

Sample Question

\\r\\n

Microsoft head office situated at?

\\r\\n
    \\r\\n
  • \\r\\n Redmond, Washington, United States\\r\\n
  • \\r\\n
  • \\r\\n Mountain View, California, United States\\r\\n
  • \\r\\n
  • \\r\\n Sunnyvale, California, United States\\r\\n
  • \\r\\n
  • \\r\\n Seattle, Washington, United States\\r\\n
  • \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Radio Button\\r\\n \\r\\n
\\r\\n

Radio Button

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

Sample Question

\\r\\n

Microsoft office situated at?

\\r\\n
    \\r\\n
  • \\r\\n Redmond, Washington, United States\\r\\n
  • \\r\\n
  • \\r\\n Mountain View, California, United States\\r\\n
  • \\r\\n
  • \\r\\n Sunnyvale, California, United States\\r\\n
  • \\r\\n
  • \\r\\n Seattle, Washington, United States\\r\\n
  • \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\\"\\\" True False\\r\\n \\r\\n
\\r\\n

Radio Button

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

Sample Question

\\r\\n

The blue Whale is the biggest animal ever?

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n - Fill in the Blanks\\r\\n \\r\\n
\\r\\n

Fill in the Blanks

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

Sample Question

\\r\\n

The strawberry is a juicy, edible fruit which has a ___________ color when it is ripe.

\\r\\n
\\r\\n \\r\\n Your Answer\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\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 { MatDialog } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-questionnaire',\r\n templateUrl: './questionnaire.component.html',\r\n styleUrls: ['./questionnaire.component.css']\r\n})\r\nexport class QuestionnaireComponent implements OnInit {\r\n\r\n constructor(private dialoge:MatDialog, private router:Router) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n closeDialog(){\r\n this.dialoge.closeAll();\r\n }\r\n\r\n addQuestionType(){\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.router.onSameUrlNavigation = 'reload';\r\n this.router.navigate([\"/web/add-new-quiz\"]);\r\n this.dialoge.closeAll();\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Quiz > Microsoft Office locations

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
CompaniesViewsActiveAction
Microsoft office locations120
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n
True or False2023
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n
Short Answer150
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n
Fill in the Blanks120
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\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 New Compnay

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Company Name\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\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, TemplateRef, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-quiz-companies',\r\n templateUrl: './quiz-companies.component.html',\r\n styleUrls: ['./quiz-companies.component.css']\r\n})\r\nexport class QuizCompaniesComponent implements OnInit {\r\n\r\n constructor(public dialog: MatDialog,) { }\r\n\r\n \r\n @ViewChild(\"addCompany\", { }) addCompany: TemplateRef;\r\n\r\n ngOnInit() {\r\n }\r\n\r\n openAddCompanyDialog(): void {\r\n this.dialog.open(this.addCompany, {\r\n width: '340px',\r\n panelClass: 'add-company',\r\n });\r\n }\r\n\r\n closeDialog() {\r\n this.dialog.closeAll();\r\n }\r\n}\r\n","module.exports = \"\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Alfonso Rosser

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

100 / 50 Points (50%)

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

50%

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

5

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

5

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

2 Mins 15 Secs.

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\" Pass\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Answer

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

\\\"\\\" Correct

\\r\\n

1. Microsoft head office situated at?

\\r\\n
    \\r\\n
  • Redmond, Washington, United States \\\"\\\" (Your Answer)
  • \\r\\n
  • Mountain View, California, United States
  • \\r\\n
  • Sunnyvale, California, United States
  • \\r\\n
  • Seattle, Washington, United States
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\\"\\\" Incorrect

\\r\\n

2. Amazon head office situated at?

\\r\\n
    \\r\\n
  • Redmond, Washington, United States
  • \\r\\n
  • Mountain View, California, United States
  • \\r\\n
  • Sunnyvale, California, United States \\\"\\\" (Your Answer)
  • \\r\\n
  • Seattle, Washington, United States \\\"\\\" (Your Answer)
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \".view-sec {\\n width: 100%; }\\n .view-sec .view-card {\\n border-bottom: 0.7px solid #E5E5E5;\\n margin-bottom: 25px; }\\n .view-sec .view-card label {\\n font-size: 12px;\\n font-weight: 400;\\n line-height: 18px;\\n color: #757575;\\n margin-bottom: 0; }\\n .view-sec .view-card p {\\n font-size: 14px;\\n font-weight: 400;\\n line-height: 21px;\\n color: #000000;\\n margin-bottom: 0; }\\n .view-sec .show-perform .pass {\\n border: 1px solid #31933B;\\n background: #F3FFF4;\\n border-radius: 5px;\\n padding: 15px;\\n font-size: 28px;\\n font-weight: 600;\\n line-height: 42px;\\n color: #31933B;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .view-sec .show-perform .pass img {\\n margin-right: 10px; }\\n .view-sec .answer-sec h2 {\\n font-size: 16px;\\n font-weight: 400;\\n line-height: 24px;\\n color: #757575;\\n padding: 25px 0px 5px;\\n border-bottom: 0.7px solid #E5E5E5; }\\n .view-sec .answer-sec .ans-card {\\n border-bottom: 0.7px solid #E5E5E5;\\n padding: 15px; }\\n .view-sec .answer-sec .ans-card:last-child {\\n border: none; }\\n .view-sec .answer-sec .ans-card h4 {\\n font-size: 16px;\\n font-weight: 500;\\n line-height: 24px; }\\n .view-sec .answer-sec .ans-card h4 img {\\n margin-right: 10px; }\\n .view-sec .answer-sec .ans-card h3 {\\n font-size: 16px;\\n font-weight: 400;\\n line-height: 24px;\\n color: #000000;\\n margin-bottom: 5px; }\\n .view-sec .answer-sec .ans-card ul {\\n padding-left: 25px; }\\n .view-sec .answer-sec .ans-card ul li {\\n font-size: 15px;\\n font-weight: 400;\\n line-height: 23px;\\n margin: 5px 0px;\\n color: #757575;\\n list-style: none; }\\n .view-sec .answer-sec .ans-card ul li span {\\n font-size: 15px;\\n font-weight: 600;\\n line-height: 23px;\\n margin-left: 15px; }\\n .view-sec .answer-sec .ans-card ul li span img {\\n margin-right: 5px; }\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-quiz-result',\r\n templateUrl: './quiz-result.component.html',\r\n styleUrls: ['./quiz-result.component.scss']\r\n})\r\nexport class QuizResultComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".audio-modal .audio-action {\\r\\n padding: 25px 0px;\\r\\n}\\r\\n.audio-modal .audio-action {\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n padding: 25px 0px;\\r\\n}\\r\\n.audio-modal-cont {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: space-between;\\r\\n padding: 30px 8px;\\r\\n}\\r\\n.audio-modal-cont span {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: space-between;\\r\\n margin: 10px;\\r\\n color: #000000;\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n line-height: 24px;\\r\\n}\\r\\n.audio-progress {\\r\\n height: 3px;\\r\\n width: 100%;\\r\\n background-color: #000;\\r\\n margin: 10px;\\r\\n }\\r\\n.audio-progress .bar {\\r\\n height: 100%;\\r\\n background-color: #000;\\r\\n }\\r\\n#audio-progress-handle {\\r\\n display: block;\\r\\n position:absolute;\\r\\n z-index: 1;\\r\\n margin-top: -5px;\\r\\n margin-left: -10px;\\r\\n width: 12px;\\r\\n height: 12px;\\r\\n border: 4px solid #000;\\r\\n border-top-color: #000;\\r\\n border-right-color: #000;\\r\\n -webkit-transform: rotate(45deg);\\r\\n transform: rotate(45deg);\\r\\n border-radius: 100%;\\r\\n background-color: #000;\\r\\n box-shadow: 0 1px 6px rgba(0, 0, 0, .2);\\r\\n cursor:pointer;\\r\\n }\\r\\n.draggable {\\r\\n float: left; margin: 0 10px 10px 0;\\r\\n }\"","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Time & Energy as a Resource

\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n 00:20\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 00:45\\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 { MatDialogRef } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-audio-modal',\r\n templateUrl: './audio-modal.component.html',\r\n styleUrls: ['./audio-modal.component.css']\r\n})\r\nexport class AudioModalComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef,) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Assigned History

\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\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 { MatPaginator, MatSort, MatTableDataSource } from '@angular/material';\r\nimport { FilterVideoModel, MediaFilterModel, Metadata, ResponseModel } from '../../../core/modals/common-model';\r\nimport { Router } from '@angular/router';\r\nimport { UsersService } from '../../users/users.service';\r\nimport { CompanyService } from '../../manage-company/company.service';\r\nimport { S3 } from 'aws-sdk';\r\n\r\n@Component({\r\n selector: 'app-list-video',\r\n templateUrl: './list-video.component.html',\r\n styleUrls: ['./list-video.component.css']\r\n})\r\nexport class ListVideoComponent implements OnInit {\r\n dataSource = new MatTableDataSource();\r\n dataexcel: Array[];\r\n\r\n organizationId: number;\r\n metaData: any;\r\n searchText: string = \"\";\r\n filterModel: MediaFilterModel;\r\n filterVideoModel: FilterVideoModel;\r\n agencyData: any;\r\n animal: string;\r\n searchModel:{SearchKey:string,};\r\n s3 :any;\r\n\r\n\r\n displayedColumns: Array = [\r\n { displayName: 'Media Title', key: 'title', class: '', width: '35%' },\r\n { displayName: 'Media Type', key: 'mediaType', class: '', width: '35%' },\r\n // { displayName: 'Course Type', key: 'courseType', class: '', width: '35%' },\r\n // { displayName: 'Module', key: 'moduleId', class: '', width: '25%' },\r\n // { displayName: 'Week', key: 'weekId', class: '', width: '15%' }\r\n ];\r\n constructor(\r\n private router: Router,\r\n private userservice: UsersService,\r\n private _companyService: CompanyService) { \r\n this.filterModel = new MediaFilterModel();\r\n this.filterVideoModel = new FilterVideoModel();\r\n }\r\n\r\n @ViewChild(MatPaginator) paginator!: MatPaginator;\r\n @ViewChild(MatSort) sort!: MatSort;\r\n\r\n ngOnInit() {\r\n this.getHistoryList();\r\n this.s3 = new S3({ accessKeyId: 'AKIAXKJZXKIQ4RXO6E6X', \r\n secretAccessKey: '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', \r\n region: 'eu-west-2' });\r\n }\r\n\r\n\r\n onPageOrSortChange(changeState?: any) {\r\n //this.setPaginatorModel(changeState.pageNumber, changeState.pageSize, changeState.sort, changeState.order, this.filterModel.searchText);\r\n this.getHistoryList();\r\n }\r\n\r\n // setPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string, searchText: string) {\r\n // this.filterModel.pageNumber = pageNumber;\r\n // this.filterModel.pageSize = pageSize;\r\n // this.filterModel.sortOrder = sortOrder;\r\n // this.filterModel.sortColumn = sortColumn;\r\n // this.filterModel.searchText = searchText;\r\n // }\r\n\r\n // applyFilter(searchText: string = '') {\r\n // this.filterModel.searchText==this.searchText;\r\n // if (searchText == '' || searchText.length > 2) {\r\n // this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, searchText);\r\n // this.getHistoryList();\r\n // }\r\n // }\r\n\r\n getHistoryList() {\r\n //this.filterModel.searchText==this.searchText;\r\n // var id = Number(localStorage.getItem('podcastId'));\r\n this.userservice.getVideo(this.filterModel).subscribe((response: ResponseModel) => {\r\n if (response && response.statusCode == 200) {\r\n \r\n this.agencyData = response.data;\r\n this.metaData = response.meta;\r\n }\r\n else {\r\n this.agencyData = [];\r\n this.metaData = new Metadata();\r\n }\r\n \r\n //this.metaData.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n\r\n }\r\n clearFilters() {\r\n this.searchText = \"\";\r\n //this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, '');\r\n this.getHistoryList();\r\n }\r\n\r\n}\r\n","module.exports = \".navbar-manage-01 {\\r\\n position: fixed !important;\\r\\n top: 75px;\\r\\n width: 100%;\\r\\n height: 40px;\\r\\n z-index: 1020 !important;\\r\\n background-color: rgb(193, 205, 207);\\r\\n}\\r\\n\\r\\n.header-manage-company {\\r\\n padding-left: 20px;\\r\\n}\\r\\n\\r\\n.example-full-width-manage {\\r\\n float: none;\\r\\n display: block;\\r\\n text-align: left;\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n padding: 14px;\\r\\n}\\r\\n\\r\\n/* tr.mat-header-row {\\r\\n background-color: #7E9693 !important;\\r\\n } */\\r\\n\\r\\n.mat-slide-toggle-thumb {\\r\\n background-color: #7E9693 !important;\\r\\n}\\r\\n\\r\\n.colour {\\r\\n color: #000000 !important;\\r\\n}\\r\\n\\r\\n#accordion .card {\\r\\n border-radius: 8px;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n#accordion .card .card-header {\\r\\n background-color: #7E9693;\\r\\n height: 50px;\\r\\n}\\r\\n\\r\\n#accordion .card .card-header h5 button {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: space-between;\\r\\n text-decoration: none;\\r\\n font-size: 16px;\\r\\n font-weight: 400;\\r\\n line-height: 24px;\\r\\n color: #fff;\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n padding: 0px;\\r\\n\\r\\n .accordion-close {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n &.collapsed {\\r\\n .accordion-open {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n .accordion-close {\\r\\n display: block;\\r\\n }\\r\\n }\\r\\n}\\r\\n\\r\\n#accordion .card .card-header .btn-link a {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n#accordion .card .card-header .btn-link a img {\\r\\n -webkit-filter: brightness(0) invert(10);\\r\\n filter: brightness(0) invert(10);\\r\\n}\\r\\n\\r\\n#accordion .card .card-body {\\r\\n background-color: transparent;\\r\\n border-bottom: none;\\r\\n}\\r\\n\\r\\n#accordion .card .card-body .form-control {\\r\\n background-color: #EBEBEB;\\r\\n border: none;\\r\\n height: 38px;\\r\\n border-radius: 5px;\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n color: #757575;\\r\\n margin-bottom: 15px;\\r\\n}\"","module.exports = \"
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Media

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
Media Title \\r\\n \\\"\\\" {{element.title}}\\r\\n Type {{element.categoryType}} Week Week {{element.weekId}} Actions \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
Media Title \\r\\n \\\"\\\" {{element.title}}\\r\\n Type {{element.categoryType}} Week Week {{element.weekId}} Actions \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
Media Title \\r\\n \\\"\\\" {{element.title}}\\r\\n Type {{element.categoryType}} Week Week {{element.weekId}} Actions \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
Media Title \\r\\n \\\"\\\" {{element.title}}\\r\\n Type {{element.categoryType}} Week Week {{element.weekId}} Actions \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n

Are you sure want to delete this record?

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

Filter Media List

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n {{option.type}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.type}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.type}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\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, Inject, TemplateRef, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { Alert } from 'selenium-webdriver';\r\nimport { CompanyService } from '../manage-company/company.service';\r\nimport { companyFormsModel, CompanyModel } from '../manage-company//manage-company.model';\r\nimport { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { DeleteCompanyAlertComponent } from '../manage-company/delete-company-alert/delete-company-alert.component';\r\nimport { ViewChild } from '@angular/core';\r\nimport { MatPaginator, MatSort, MatTableDataSource } from '@angular/material';\r\nimport { stat } from 'fs';\r\nimport { UsersService } from 'src/app/platform/modules/agency-portal/users/users.service';\r\nimport { FilterModel, FilterVideoModel, MediaFilterModel, Metadata, ResponseModel } from '../../core/modals/common-model';\r\nimport * as XLSX from 'xlsx';\r\nimport { BulkUploadComponent } from '../manage-company/bulk-upload/bulk-upload.component';\r\nimport { ManagePackageComponent } from '../manage-company/manage-package/manage-package.component';\r\nimport { UploadVideoComponent } from './upload-video/upload-video.component';\r\nimport { S3 } from 'aws-sdk';\r\nimport { ViewVideoComponent } from './view-video/view-video.component';\r\nimport { MediaFilterComponent } from './media-filter/media-filter.component';\r\nimport { ViewMediaComponent } from './view-media/view-media.component';\r\nimport { AudioModalComponent } from './audio-modal/audio-modal.component';\r\nimport { FormBuilder, FormControl, Validators, FormGroup } from '@angular/forms';\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, } from '@angular/material/core';\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport * as _moment from 'moment';\r\nimport { Moment } from 'moment';\r\nconst moment = _moment;\r\n\r\nexport const MY_FORMATS = {\r\n parse: {\r\n dateInput: 'YYYY',\r\n },\r\n display: {\r\n dateInput: 'YYYY',\r\n monthYearLabel: 'YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'YYYY',\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-manage-videos',\r\n templateUrl: './manage-videos.component.html',\r\n styleUrls: ['./manage-videos.component.css'],\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\r\n },\r\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\r\n ]\r\n\r\n})\r\nexport class ManageVideosComponent implements OnInit {\r\n dataexcel: Array[];\r\n videos: any = [];\r\n dataSource: MatTableDataSource = new MatTableDataSource();\r\n organizationId: number;\r\n metaData: any;\r\n searchText: string = \"\";\r\n filterModel: MediaFilterModel;\r\n filterVideoModel: FilterVideoModel;\r\n //VideoFilterModel:VideoFilterModel;\r\n agencyData: any;\r\n animal: string;\r\n searchModel: { SearchKey: string, };\r\n s3: any;\r\n userId: any;\r\n year: any;\r\n selectmonth: any;\r\n selectmodule: any;\r\n CourseNameList: any;\r\n UserTypeList = [\r\n { id: 1, type: 'Staff' },\r\n { id: 2, type: 'Executive' }\r\n ];\r\n\r\n displayedColumns: string[] = ['Title', 'Type', 'weekId', 'Action'];\r\n\r\n // actionButtons: Array = [\r\n // { displayName: 'View', key: 'view', class: 'fa-solid fa-eye' },\r\n // //{ displayName: 'Add', key: 'add', class: 'fa-solid fa-user-plus' },\r\n // // { displayName: 'Package', key: 'package', class: 'fa-solid fa-clipboard' },\r\n // { displayName: 'Edit', key: 'edit', class: 'fa fa-pencil' },\r\n // { displayName: 'Delete', key: 'delete', class: 'fa-solid fa-trash-can' },\r\n // { displayName: 'OpenVideo', key: 'OpenVideo', class: 'fa-solid fa-eye' }\r\n // ];\r\n notify: any;\r\n\r\n name = 'This is XLSX TO JSON CONVERTER';\r\n willDownload = false;\r\n CategoryType: string = '';\r\n UserType: string = '';\r\n CourseType: string = '';\r\n MonthId: number;\r\n videoForm: FormGroup\r\n constructor(\r\n\r\n public dialog: MatDialog,\r\n private notifier: NotifierService,\r\n private router: Router,\r\n private userservice: UsersService,\r\n private _companyService: CompanyService) {\r\n this.filterModel = new MediaFilterModel();\r\n this.filterVideoModel = new FilterVideoModel();\r\n\r\n }\r\n @ViewChild(\"deleteDialog\", {}) deleteDialog: TemplateRef;\r\n @ViewChild(\"mediaFilter\", {}) mediaFilter: TemplateRef;\r\n @ViewChild(\"userFormDialog\", {})\r\n userFormDialog: TemplateRef;\r\n @ViewChild(MatPaginator) paginator!: MatPaginator;\r\n @ViewChild(MatSort) sort!: MatSort;\r\n ngOnInit() {\r\n\r\n this.videoForm = new FormGroup({\r\n TypeName: new FormControl('', [Validators.required])\r\n });\r\n //this.agencyData = [];\r\n this.getVideoList();\r\n this.dataSource.sort = this.sort;\r\n this.s3 = new S3({\r\n accessKeyId: 'AKIAXKJZXKIQ4RXO6E6X',\r\n secretAccessKey: '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',\r\n region: 'eu-west-2'\r\n });\r\n\r\n\r\n }\r\n // onPageOrSortChange(changeState?: any) {\r\n // //this.setPaginatorModel(changeState.pageNumber, changeState.pageSize, changeState.sort, changeState.order, this.filterModel.searchText);\r\n // this.getVideoList();\r\n // }\r\n\r\n // onTableActionClick(actionObj?: any) {\r\n // console.log(\"-----\"+actionObj);\r\n // const id = actionObj.data.mediaDetailsId;\r\n // const path = actionObj.data.mediaPath;\r\n // switch ((actionObj.action || '').toUpperCase()) {\r\n\r\n // case 'VIEW':\r\n // localStorage.setItem('heading', 'View Training');\r\n // this.ViewVideo(actionObj.data);\r\n // break\r\n // case 'EDIT':\r\n // this.editVideo(id);\r\n // localStorage.setItem('headingvalue', 'Edit Training');\r\n // break;\r\n // case 'DELETE':\r\n // this.deleteVideo(id);\r\n // break\r\n // case 'OPENVIDEO':\r\n // this.OpenVideos(actionObj.data.mediaPath);\r\n // break\r\n // default:\r\n // break;\r\n\r\n // }\r\n // }\r\n\r\n OpenVideos(path: string) {\r\n \r\n const params = {\r\n Bucket: 'letsbe-dev-test',\r\n Key: path, Expires: 1500\r\n };\r\n\r\n this.s3.getSignedUrl('getObject', params, (err, url) => {\r\n if (err) { console.error('Error getting video URL', err); }\r\n else {\r\n //console.log('Video URL', url);\r\n const dialogRef = this.dialog.open(ViewVideoComponent, { data: url , height: '85%', width: '85%'});\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n EditCompany(id: number) {\r\n localStorage.setItem('heading', 'Edit Company');\r\n localStorage.setItem('id', id.toString());\r\n this._companyService.getById(id).subscribe((res: any) => {\r\n })\r\n // this.router.navigate([\"/web/manage-podast/add-podcast/upload-video\"]);\r\n }\r\n\r\n OnOff(value: number) {\r\n if (value == 1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n // applyFilter(searchText: string = '') {\r\n // this.filterModel.searchText==this.searchText;\r\n // if (searchText == '' || searchText.length > 2) {\r\n // this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, searchText);\r\n // this.getVideoList();\r\n // }\r\n // }\r\n // showResults(){\r\n // //this.filterModel.CategoryType=this.CategoryType;\r\n // this.filterModel.CourseType=this.CourseType;\r\n // this.filterModel.MonthId=this.MonthId;\r\n // this.getVideoList()\r\n // }\r\n\r\n getModuleId1() {\r\n this.selectmodule = 1;\r\n this.getVideoList();\r\n }\r\n getModuleId2() {\r\n this.selectmodule = 2;\r\n this.getVideoList();\r\n }\r\n getModuleId3() {\r\n this.selectmodule = 3;\r\n this.getVideoList();\r\n }\r\n getModuleId4() {\r\n this.selectmodule = 4;\r\n this.getVideoList();\r\n }\r\n getMonthId(value: any) {\r\n this.selectmonth = value;\r\n this.getVideoList();\r\n }\r\n getCoursetype(value: any) {\r\n this.filterModel.CategoryType = value;\r\n this.getCourseList();\r\n this.getVideoList();\r\n }\r\n getCourseId(value: any) {\r\n this.filterModel.CourseId = value;\r\n this.getVideoList();\r\n }\r\n\r\n getVideoList() {\r\n\r\n //this.filterModel.searchText==this.searchText;\r\n this.filterModel.Year = this.year;\r\n this.filterModel.ModuleId = this.selectmodule;\r\n this.filterModel.MonthId = this.selectmonth;\r\n this.userservice.getVideo(this.filterModel).subscribe((response: ResponseModel) => {\r\n if (response && response.statusCode == 200) {\r\n\r\n this.dataSource = new MatTableDataSource();\r\n this.videos = response.data;\r\n this.dataSource = new MatTableDataSource(this.videos);\r\n // this.metaData = response.meta;\r\n // this.dataSource = new MatTableDataSource(this.videos);\r\n // this.dataSource.paginator = this.paginator;\r\n // this.dataSource.sort = this.sort;\r\n // console.log(this.dataSource);\r\n }\r\n else {\r\n this.videos = [];\r\n this.metaData = new Metadata();\r\n }\r\n\r\n //this.metaData.pageSizeOptions = [ 10, 25, 50, 100];\r\n });\r\n\r\n }\r\n\r\n\r\n // getAgencyDataList() {\r\n // this._companyService.getAllNoSp().subscribe((response: any) => {\r\n // console.log(response)\r\n // this.agencyData = (response || []);\r\n // this.dataSource = response;\r\n // console.log(this.dataSource);\r\n // });\r\n // }\r\n\r\n // clearFilters() {\r\n // this.searchText = \"\";\r\n // this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, '');\r\n // this.getVideoList();\r\n // }\r\n\r\n // setPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string, searchText: string) {\r\n // this.filterModel.pageNumber = pageNumber;\r\n // this.filterModel.pageSize = pageSize;\r\n // this.filterModel.sortOrder = sortOrder;\r\n // this.filterModel.sortColumn = sortColumn;\r\n // this.filterModel.searchText = searchText;\r\n // }\r\n addAgency(organizationId: number = null) {\r\n localStorage.setItem('heading', 'Add Company');\r\n // this.router.navigate([\"/web/manage-podcast/add-podcast/upload-video\"]);\r\n }\r\n\r\n ViewVideo(dataitem: any) {\r\n const dialogRef = this.dialog.open(ViewMediaComponent, {\r\n width: '666px',\r\n panelClass: 'view-media',\r\n data: dataitem\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n // console.log(result)\r\n });\r\n\r\n }\r\n editVideo(id: number) {\r\n const dialogRef = this.dialog.open(UploadVideoComponent, {\r\n width: '666px',\r\n panelClass: 'edit-video',\r\n data: { id: id, key: 'edit' },\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.getVideoList();\r\n });\r\n }\r\n\r\n deleteVideo(id: number) {\r\n this._companyService.confirm(`Are you sure you want to delete video?`).subscribe((result: any) => {\r\n if (result == true) {\r\n this.userservice.deleteawsvideo(id).subscribe((response: any) => {\r\n this.notifier.notify('', response.message );\r\n this.getVideoList();\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n // applyFilter() {\r\n // this.dataSource.filter = `${this.searchText}`;\r\n // this.dataSource.filterPredicate = this.gridfilterPredicate;\r\n // }\r\n // private gridfilterPredicate = (data: any, filter: string): any => {\r\n // const matchingText = (this.searchText || '').toLocaleLowerCase().trim();\r\n // }\r\n\r\n\r\n changedActive(id: number, num: number) {\r\n this._companyService.changeStatus(id, num).subscribe(res => {\r\n\r\n })\r\n }\r\n onFileChange(ev) {\r\n this.dataexcel = [];\r\n let workBook = null;\r\n let jsonData = null;\r\n const reader = new FileReader();\r\n const file = ev.target.files[0];\r\n reader.onload = (event) => {\r\n const data = reader.result;\r\n workBook = XLSX.read(data, { type: 'binary' });\r\n jsonData = workBook.SheetNames.reduce((initial, name) => {\r\n const sheet = workBook.Sheets[name];\r\n initial[name] = XLSX.utils.sheet_to_json(sheet);\r\n return initial;\r\n }, {});\r\n const dataString = JSON.stringify(jsonData);\r\n this.dataexcel = jsonData.Users;\r\n //document.getElementById('output').innerHTML = dataString.slice(0, 300).concat(\"...\");\r\n //this.setDownload(dataString);\r\n }\r\n reader.readAsBinaryString(file);\r\n }\r\n\r\n // setDownload(data) {\r\n // this.willDownload = true;\r\n // setTimeout(() => {\r\n // const el = document.querySelector(\"#download\");\r\n // el.setAttribute(\"href\", `data:text/json;charset=utf-8,${encodeURIComponent(data)}`);\r\n // el.setAttribute(\"download\", 'xlsxtojson.json');\r\n // }, 1000)\r\n // }\r\n\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(BulkUploadComponent, {\r\n\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.getVideoList();\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n openplanDialog(): void {\r\n const dialogRef = this.dialog.open(ManagePackageComponent, {\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (localStorage.getItem('membershipid') != '') {\r\n this.basicplan();\r\n }\r\n });\r\n }\r\n companyFormsData: companyFormsModel = {\r\n id: '',\r\n companyName: '',\r\n brnNumber: '',\r\n taxNumber: '',\r\n emailId: '',\r\n phoneNumber: '',\r\n contactPerson: '',\r\n address: '',\r\n status: '',\r\n OraganizationId: 1,\r\n isLock: 1,\r\n planId: '',\r\n DateOfJoining:''\r\n }\r\n\r\n basicplan() {\r\n var companyid = Number(localStorage.getItem('id'));\r\n this._companyService.getById(companyid).subscribe((res: any) => {\r\n this.companyFormsData.id = companyid;\r\n this.companyFormsData.companyName = res.companyName;\r\n this.companyFormsData.brnNumber = res.brnNumber;\r\n this.companyFormsData.taxNumber = res.taxNumber;\r\n this.companyFormsData.emailId = res.emailId;\r\n this.companyFormsData.phoneNumber = res.phoneNumber;\r\n this.companyFormsData.contactPerson = res.contactPerson;\r\n this.companyFormsData.address = res.address;\r\n this.companyFormsData.isLock = res.isLock;\r\n this.companyFormsData.status = res.status;\r\n this.companyFormsData.planId = Number(localStorage.getItem('membershipid'));\r\n })\r\n // console.log(this.companyFormsData);\r\n var interval = setInterval(() => {\r\n if (this.companyFormsData.companyName != '' && this.companyFormsData.planId == Number(localStorage.getItem('membershipid'))) {\r\n clearInterval(interval);\r\n this._companyService.editCompnay(companyid, this.companyFormsData).subscribe((res: any) => {\r\n if (res.statusCode == 200) {\r\n this.notifier.notify('success', res.message + ' company updated successfully.');\r\n // this.router.navigate([\"/webadmin/company\"]);\r\n\r\n var a = 1;\r\n var interval = setInterval(() => {\r\n if (a == 2) {\r\n clearInterval(interval);\r\n this.getVideoList();\r\n } else {\r\n a++;\r\n }\r\n\r\n }, 500);\r\n return;\r\n }\r\n this.notifier.notify('error', res.message);\r\n })\r\n }\r\n\r\n }, 500);\r\n\r\n }\r\n\r\n openDeleteDialog() {\r\n // this.userId = id;\r\n this.dialog.open(this.deleteDialog, {\r\n panelClass: 'delete-modal',\r\n width: '363px'\r\n });\r\n }\r\n\r\n closeDialog() {\r\n this.dialog.closeAll();\r\n }\r\n\r\n confirmDelete() {\r\n const data = {\r\n _id: this.userId,\r\n };\r\n }\r\n\r\n openDialog1(): void {\r\n const dialogRef = this.dialog.open(UploadVideoComponent, {\r\n width: '750px',\r\n panelClass: 'upload-video',\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if(result!='close'){\r\n this.getVideoList();\r\n }\r\n \r\n });\r\n }\r\n openFilterDialog(): void {\r\n this.dialog.open(this.mediaFilter, {\r\n width: '290px',\r\n panelClass: 'media-filter',\r\n });\r\n\r\n }\r\n openViewMedia(): void {\r\n const dialogRef = this.dialog.open(ViewMediaComponent, {\r\n width: '666px',\r\n panelClass: 'view-media',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n // console.log(result)\r\n });\r\n }\r\n openViewVideo(): void {\r\n const dialogRef = this.dialog.open(ViewVideoComponent, {\r\n width: '600px',\r\n panelClass: 'view-video',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n // console.log(result)\r\n });\r\n }\r\n openViewAudio(): void {\r\n const dialogRef = this.dialog.open(AudioModalComponent, {\r\n width: '600px',\r\n panelClass: 'view-audio',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n // console.log(result)\r\n });\r\n }\r\n\r\n date = new FormControl(moment());\r\n\r\n chosenYearHandler(normalizedYear: Moment, dp: any) {\r\n const ctrlValue = this.date.value;\r\n ctrlValue.year(normalizedYear.year());\r\n this.date.setValue(ctrlValue);\r\n dp.close();\r\n this.year = ctrlValue.year();\r\n this.getVideoList();\r\n\r\n }\r\n\r\n getCourseList() {\r\n this.userservice.getAllCourseList(this.filterModel).subscribe((response: ResponseModel) => {\r\n if (response && response.statusCode == 200) {\r\n this.CourseNameList = response.data;\r\n this.metaData = response.meta;\r\n }\r\n else {\r\n this.CourseNameList = [];\r\n this.metaData = new Metadata();\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ManageVideosComponent } from './manage-videos.component';\r\nimport { AgencyPermissionGuard } from '../agency_routing_permission.guard';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { MatDialogModule, MatFormFieldModule, MatRadioModule, MatSelectModule, MatTableModule } from '@angular/material';\r\nimport { PlatformMaterialModule } from 'src/app/platform/platform.material.module';\r\nimport { ChartsModule } from 'ng2-charts';\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\nimport { ScrollbarModule } from 'ngx-scrollbar';\r\nimport { FormioModule } from 'angular-formio';\r\nimport { UploadVideoComponent } from './upload-video/upload-video.component';\r\nimport { ViewVideoComponent } from './view-video/view-video.component';\r\nimport { ListVideoComponent } from './list-video/list-video.component';\r\nimport { MediaFilterComponent } from './media-filter/media-filter.component';\r\nimport { ViewMediaComponent } from './view-media/view-media.component';\r\nimport { AudioModalComponent } from './audio-modal/audio-modal.component';\r\nimport { QuestionnaireComponent } from '../manage-quiz/questionnaire/questionnaire.component';\r\n\r\nconst proRoute1: Routes = [\r\n {\r\n path: \"\",\r\n canActivate: [AgencyPermissionGuard],\r\n children: [\r\n {\r\n path: '',\r\n component: ManageVideosComponent\r\n },\r\n {\r\n path: 'upload-video',\r\n component: UploadVideoComponent\r\n },\r\n {\r\n path: 'view-video',\r\n component: ViewVideoComponent\r\n },\r\n {\r\n path: 'list-video',\r\n component: ListVideoComponent\r\n },\r\n \r\n ]\r\n }\r\n\r\n]\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SharedModule,\r\n MatDialogModule,\r\n PlatformMaterialModule,\r\n ChartsModule,\r\n NgxMatSelectSearchModule,\r\n ScrollbarModule,\r\n FormioModule,\r\n MatSelectModule,\r\n RouterModule.forChild(proRoute1),MatFormFieldModule,\r\n MatRadioModule,\r\n MatTableModule\r\n ],\r\n entryComponents: [\r\n MediaFilterComponent,\r\n ViewMediaComponent,\r\n AudioModalComponent,\r\n ],\r\n exports: [RouterModule,ManageVideosComponent,UploadVideoComponent, MediaFilterComponent, ViewMediaComponent, ViewVideoComponent, AudioModalComponent, QuestionnaireComponent],\r\n declarations: [\r\n ManageVideosComponent,\r\n UploadVideoComponent,\r\n ViewVideoComponent,\r\n ListVideoComponent,\r\n MediaFilterComponent,\r\n ViewMediaComponent,\r\n AudioModalComponent,\r\n QuestionnaireComponent\r\n ]\r\n})\r\nexport class ManageVideosModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonService } from '../../core/services';\r\nimport { PodcastModel } from 'src/app/super-admin-portal/core/modals/common-model';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ManageVideosService {\r\n private uploadUserDocumentURL = \"aws3/UploadVideo\";\r\n private getallpodcast = \"Podcast/GetAll\";\r\n private deletepodcastbyid = \"Podcast/Delete\";\r\n private uploadvideo = \"/aws3/UploadVideo\";\r\n private uploadvideolist = \"aws3/GetUploadedVideoList\";\r\n private getQuizlist = \"Media/GetQuizDetails\";\r\n private getCoursebyId = \"Media/GetCoursebyId\";\r\n constructor(private http: HttpClient, private commonService: CommonService) { }\r\n uploadProviderEducationalDocuments(data: any) {\r\n return this.commonService.post(this.uploadUserDocumentURL, data);\r\n }\r\n getAllPodcast(podcastmodel: PodcastModel) {\r\n let url = this.getallpodcast + '?searchKey=' + podcastmodel.searchKey + '&startWith=' + podcastmodel.startWith + '&tags=' + podcastmodel.tags + '&locationIDs=' + podcastmodel.locationIDs + '&roleIds=' + podcastmodel.roleIds + '&pageNumber=' + podcastmodel.pageNumber + '&pageSize=' + podcastmodel.pageSize + '&sortColumn=' + podcastmodel.sortColumn + '&sortOrder=' + podcastmodel.sortOrder + '&compayId=' + podcastmodel.compayId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n deletepodcast(id: number) {\r\n return this.commonService.put(this.deletepodcastbyid + \"?id=\" + id, {});\r\n }\r\n postvideo(data: FormData) {\r\n const url = this.uploadvideo;\r\n let headers = new HttpHeaders();\r\n headers = headers.append('enctype', 'multipart/form-data');\r\n headers = headers.append('Accept', 'multipart/form-data');\r\n //let input = new FormData();\r\n //input.append('url', data); // \"url\" as the key and \"data\" as value\r\n return this.http.post(`${environment.api_url}${url}`, data, { headers: headers }).pipe(map((resp: any) => resp));\r\n }\r\n getvideo() {\r\n const url = this.uploadvideolist;\r\n return this.http.get(url).pipe(map((resp: any) => resp));\r\n }\r\n getquizlist() {\r\n const url = this.getQuizlist;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getCourseNamebyId(id: any) {\r\n const url = this.getCoursebyId + \"?CourseId=\" + id;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n}\r\n","module.exports = \".panel_title {\\r\\n display: flex;\\r\\n margin-top: 30px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.panel_title h3 {\\r\\n float: left;\\r\\n line-height: 22px;\\r\\n color: #2f2660;\\r\\n font-size: 19px;\\r\\n font-weight: 300;\\r\\n margin-bottom: 30px;\\r\\n padding: 0px 0px 0px 25px;\\r\\n position: relative;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\n.panel_title .flaticon {\\r\\n margin-left: 0px;\\r\\n position: absolute;\\r\\n left: 0px !important;\\r\\n top: 1px;\\r\\n color: #000;\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.mat-form-field-required-marker {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.readmin-form {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.media-type-btn {\\r\\n display: flex;\\r\\n margin-bottom: 25px;\\r\\n}\\r\\n\\r\\n.media-type-btn button {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n padding: 5px 15px;\\r\\n min-width: 160px;\\r\\n border-radius: 10px;\\r\\n border: 1px solid #E5E5E5;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n color: #546361;\\r\\n margin-right: 10px;\\r\\n font-size: 16px !important;\\r\\n font-weight: 400 !important;\\r\\n line-height: 22px;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-primary {\\r\\n border: 1px solid #546361;\\r\\n border-radius: 10px;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-primary .icon-sec {\\r\\n border: 1px solid #546361;\\r\\n border-radius: 5px;\\r\\n background: #546361;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-primary .icon-sec img {\\r\\n -webkit-filter: brightness(0) invert(10);\\r\\n filter: brightness(0) invert(10);\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-light {\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 10px;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n color: #B4B4B4;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-light .icon-sec {\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 5px;\\r\\n background: transparent;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.media-type-btn button .icon-sec {\\r\\n height: 35px;\\r\\n width: 35px;\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-right: 15px;\\r\\n}\\r\\n\\r\\n.media-type-btn button .icon-sec img {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uplaod_pic img {\\r\\n height: 150px;\\r\\n max-width: 100%;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.container_r {\\r\\n display: block;\\r\\n position: relative;\\r\\n padding-left: 35px;\\r\\n margin-bottom: 12px;\\r\\n cursor: pointer;\\r\\n font-size: 22px;\\r\\n -webkit-user-select: none;\\r\\n -moz-user-select: none;\\r\\n -ms-user-select: none;\\r\\n user-select: none;\\r\\n}\\r\\n\\r\\n/* Hide the browser's default radio button */\\r\\n\\r\\n.container_r input {\\r\\n position: absolute;\\r\\n opacity: 0;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/* Create a custom radio button */\\r\\n\\r\\n.checkmark_r {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n background-color: #eee;\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n/* On mouse-over, add a grey background color */\\r\\n\\r\\n.container_r:hover input ~ .checkmark_r {\\r\\n background-color: #ccc;\\r\\n}\\r\\n\\r\\n/* When the radio button is checked, add a blue background */\\r\\n\\r\\n.container_r input:checked ~ .checkmark_r {\\r\\n background-color: #ff6700;\\r\\n}\\r\\n\\r\\n/* Create the indicator (the dot/circle - hidden when not checked) */\\r\\n\\r\\n.checkmark_r:after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n display: none;\\r\\n}\\r\\n\\r\\n/* Show the indicator (dot/circle) when checked */\\r\\n\\r\\n.container_r input:checked ~ .checkmark_r:after {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n/* Style the indicator (dot/circle) */\\r\\n\\r\\n.container_r .checkmark_r:after {\\r\\n \\ttop: 6px;\\r\\n\\tleft: 6px;\\r\\n\\twidth: 8px;\\r\\n\\theight: 8px;\\r\\n\\tborder-radius: 50%;\\r\\n\\tbackground: white;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n background: rgba(0, 0, 0, 0.20);\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n font-size: 13px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 5px;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n.actions-btn .mr-2{\\r\\n margin-right: 12px;\\r\\n margin-bottom: 12px;\\r\\n}\\r\\n\\r\\n.navbar-manage-01 {\\r\\n position: fixed !important;\\r\\n top: 75px;\\r\\n width: 100%;\\r\\n height: 40px;\\r\\n z-index: 1020 !important;\\r\\n background-color: rgb(193, 205, 207);\\r\\n }\\r\\n\\r\\n.header-manage-company {\\r\\n padding-left: 20px;\\r\\n }\\r\\n\\r\\n.example-full-width-manage {\\r\\n float: none;\\r\\n display: block;\\r\\n text-align: left;\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n padding: 14px;\\r\\n }\\r\\n\\r\\n/* tr.mat-header-row {\\r\\n background-color: #7E9693 !important;\\r\\n } */\\r\\n\\r\\n.mat-slide-toggle-thumb {\\r\\n background-color: #7E9693 !important;\\r\\n }\\r\\n\\r\\n.uploadlogoimage01 {\\r\\n /* border-left: 6px solid #7E9693 !important; */\\r\\n width: 100%;\\r\\n height: 50px;\\r\\n padding: 5px 15px;\\r\\n background: #7E9693;\\r\\n border-radius: 2px;\\r\\n font-size: 15px;\\r\\n text-transform: uppercase;\\r\\n font-weight: 400;\\r\\n line-height: 23px;\\r\\n letter-spacing: 1px;\\r\\n color: #fff;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.savebutton {\\r\\n width: 140px;\\r\\n height: 50px;\\r\\n background-color: #7E9693 !important;\\r\\n border-radius: 5px;\\r\\n font-family: 'Poppins' !important;\\r\\n font-style: normal !important;\\r\\n font-weight: 400 !important;\\r\\n font-size: 16px !important;\\r\\n line-height: 24px;\\r\\n color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.hide {\\r\\n display:none !important;\\r\\n}\\r\\n\\r\\ntextarea.mat-input-element {\\r\\n padding: 2px 0;\\r\\n margin: -11px 0;\\r\\n resize: none;\\r\\n}\\r\\n\\r\\n.backButton\\r\\n{\\r\\n margin-left: 10px !important;\\r\\n}\\r\\n\\r\\n.btn-group, .btn-group-vertical, .btn-group>.btn {\\r\\n width: 100%;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n

Filter Media List

\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n {{option.type}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.type}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.type}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\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 { MatDialogRef } from '@angular/material';\r\nimport { FilterVideoModel, MediaFilterModel } from '../../../core/modals/common-model';\r\n\r\n@Component({\r\n selector: 'app-media-filter',\r\n templateUrl: './media-filter.component.html',\r\n styleUrls: ['./media-filter.component.css']\r\n})\r\nexport class MediaFilterComponent implements OnInit {\r\n\r\n filterModel: MediaFilterModel;\r\n filterVideoModel: FilterVideoModel;\r\n\r\n constructor(public dialogRef: MatDialogRef,) {\r\n\r\n this.filterModel = new MediaFilterModel();\r\n this.filterVideoModel = new FilterVideoModel();\r\n }\r\n UserTypeList= [\r\n { id: 1, type:'Staff Training' },\r\n { id: 2, type: 'Executive' }\r\n ];\r\n \r\n MediaList= [\r\n { id: 1, type:'Podcast' },\r\n { id: 2, type: 'Video' }\r\n ];\r\n\r\n ModuleList=[\r\n { id: 1, type:'Module One' },\r\n { id: 2, type: 'Module Two' },\r\n { id: 3, type:'Module Three' },\r\n { id: 4, type: 'Module Four' }\r\n ]\r\n \r\n ngOnInit() {\r\n }\r\n\r\n // showResults(){\r\n // this.filterModel.CategoryType=this.CategoryType;\r\n // this.filterModel.CourseType=this.CourseType;\r\n // this.filterModel.PartId=this.PartId;\r\n // this.getVideoList()\r\n // }\r\n \r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","module.exports = \".panel_title {\\r\\n display: flex;\\r\\n margin-top: 30px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.panel_title h3 {\\r\\n float: left;\\r\\n line-height: 22px;\\r\\n color: #2f2660;\\r\\n font-size: 19px;\\r\\n font-weight: 300;\\r\\n margin-bottom: 30px;\\r\\n padding: 0px 0px 0px 25px;\\r\\n position: relative;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\n.panel_title .flaticon {\\r\\n margin-left: 0px;\\r\\n position: absolute;\\r\\n left: 0px !important;\\r\\n top: 1px;\\r\\n color: #000;\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.mat-form-field-required-marker {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.readmin-form {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.media-type-btn {\\r\\n display: flex;\\r\\n margin-bottom: 25px;\\r\\n }\\r\\n\\r\\n.media-type-btn button {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n padding: 5px 15px;\\r\\n min-width: 160px;\\r\\n border-radius: 10px;\\r\\n border: 1px solid #E5E5E5;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n color: #546361;\\r\\n margin-right: 10px;\\r\\n font-size: 16px !important;\\r\\n font-weight: 400 !important;\\r\\n line-height: 22px;\\r\\n }\\r\\n\\r\\n/* .media-type-btn .btn-outline-primary {\\r\\n border: 1px solid #546361;\\r\\n border-radius: 10px;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n }\\r\\n \\r\\n .media-type-btn .btn-outline-primary .icon-sec {\\r\\n border: 1px solid #546361;\\r\\n border-radius: 5px;\\r\\n background: #546361;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n } */\\r\\n\\r\\n.media-type-btn .btn-outline-primary .icon-sec img {\\r\\n -webkit-filter: brightness(0) invert(10);\\r\\n filter: brightness(0) invert(10);\\r\\n }\\r\\n\\r\\n.media-type-btn .btn-outline-light {\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 10px;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n color: #B4B4B4;\\r\\n }\\r\\n\\r\\n.media-type-btn .btn-outline-light .icon-sec {\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 5px;\\r\\n background: transparent;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n.media-type-btn .btn-outline-light.btn-outline-primary .icon-sec {\\r\\n border: 1px solid #546361;\\r\\n border-radius: 5px;\\r\\n background: #546361 !important;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n.media-type-btn button .icon-sec {\\r\\n height: 35px;\\r\\n width: 35px;\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-right: 15px;\\r\\n }\\r\\n\\r\\n.media-type-btn button .icon-sec img {\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n.uplaod_pic img {\\r\\n height: 150px;\\r\\n max-width: 100%;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.container_r {\\r\\n display: block;\\r\\n position: relative;\\r\\n padding-left: 35px;\\r\\n margin-bottom: 12px;\\r\\n cursor: pointer;\\r\\n font-size: 22px;\\r\\n -webkit-user-select: none;\\r\\n -moz-user-select: none;\\r\\n -ms-user-select: none;\\r\\n user-select: none;\\r\\n}\\r\\n\\r\\n/* Hide the browser's default radio button */\\r\\n\\r\\n.container_r input {\\r\\n position: absolute;\\r\\n opacity: 0;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/* Create a custom radio button */\\r\\n\\r\\n.checkmark_r {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n background-color: #eee;\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n/* On mouse-over, add a grey background color */\\r\\n\\r\\n.container_r:hover input ~ .checkmark_r {\\r\\n background-color: #ccc;\\r\\n}\\r\\n\\r\\n/* When the radio button is checked, add a blue background */\\r\\n\\r\\n.container_r input:checked ~ .checkmark_r {\\r\\n background-color: #ff6700;\\r\\n}\\r\\n\\r\\n/* Create the indicator (the dot/circle - hidden when not checked) */\\r\\n\\r\\n.checkmark_r:after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n display: none;\\r\\n}\\r\\n\\r\\n/* Show the indicator (dot/circle) when checked */\\r\\n\\r\\n.container_r input:checked ~ .checkmark_r:after {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n/* Style the indicator (dot/circle) */\\r\\n\\r\\n.container_r .checkmark_r:after {\\r\\n \\ttop: 6px;\\r\\n\\tleft: 6px;\\r\\n\\twidth: 8px;\\r\\n\\theight: 8px;\\r\\n\\tborder-radius: 50%;\\r\\n\\tbackground: white;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n background: rgba(0, 0, 0, 0.20);\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n font-size: 13px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 5px;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n.actions-btn .mr-2{\\r\\n margin-right: 12px;\\r\\n margin-bottom: 12px;\\r\\n}\\r\\n\\r\\n.navbar-manage-01 {\\r\\n position: fixed !important;\\r\\n top: 75px;\\r\\n width: 100%;\\r\\n height: 40px;\\r\\n z-index: 1020 !important;\\r\\n background-color: rgb(193, 205, 207);\\r\\n }\\r\\n\\r\\n.header-manage-company {\\r\\n padding-left: 20px;\\r\\n }\\r\\n\\r\\n.example-full-width-manage {\\r\\n float: none;\\r\\n display: block;\\r\\n text-align: left;\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n padding: 14px;\\r\\n }\\r\\n\\r\\n/* tr.mat-header-row {\\r\\n background-color: #7E9693 !important;\\r\\n } */\\r\\n\\r\\n.mat-slide-toggle-thumb {\\r\\n background-color: #7E9693 !important;\\r\\n }\\r\\n\\r\\n.uploadlogoimage01 {\\r\\n /* border-left: 6px solid #7E9693 !important; */\\r\\n width: 100%;\\r\\n height: 50px;\\r\\n padding: 5px 15px;\\r\\n background: #7E9693;\\r\\n border-radius: 2px;\\r\\n font-size: 15px;\\r\\n text-transform: uppercase;\\r\\n font-weight: 400;\\r\\n line-height: 23px;\\r\\n letter-spacing: 1px;\\r\\n color: #fff;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.savebutton {\\r\\n width: 140px;\\r\\n height: 50px;\\r\\n background-color: #7E9693 !important;\\r\\n border-radius: 5px;\\r\\n font-family: 'Poppins' !important;\\r\\n font-style: normal !important;\\r\\n font-weight: 400 !important;\\r\\n font-size: 16px !important;\\r\\n line-height: 24px;\\r\\n color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.hide {\\r\\n display:none !important;\\r\\n}\\r\\n\\r\\ntextarea.mat-input-element {\\r\\n padding: 2px 0;\\r\\n margin: -11px 0;\\r\\n resize: none;\\r\\n}\\r\\n\\r\\n.backButton\\r\\n{\\r\\n margin-left: 10px !important;\\r\\n}\\r\\n\\r\\n.btn-group, .btn-group-vertical, .btn-group>.btn {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.video-container {\\r\\n max-width: 100%; /* Ensures the video does not expand beyond its container */\\r\\n position: relative; /* Enables positioning of children relative to this container */\\r\\n padding-top: 56.25%; /* Aspect ratio 16:9 (9 / 16 = 0.5625) */\\r\\n overflow: hidden; /* Ensures the video doesn't overflow */\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.video-container .video {\\r\\n position: absolute; /* Allows absolute positioning of video */\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n/* .remove-button {\\r\\n position: absolute;\\r\\n top: 10px;\\r\\n right: 10px;\\r\\n background-color: #f44336;\\r\\n color: white;\\r\\n border: none;\\r\\n padding: 10px;\\r\\n font-size: 18px;\\r\\n cursor: pointer;\\r\\n z-index: 100;\\r\\n border-radius: 50%;\\r\\n} */\"","module.exports = \"
\\r\\n\\r\\n
\\r\\n

Upload Media

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Title\\r\\n \\r\\n Enter Title\\r\\n \\r\\n \\r\\n Title is required.\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Course Category\\r\\n \\r\\n \\r\\n Staff\\r\\n Executive\\r\\n \\r\\n \\r\\n Please select course category.\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Course Name\\r\\n \\r\\n \\r\\n \\r\\n {{option.courseName}}\\r\\n \\r\\n \\r\\n \\r\\n Please select course name.\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Select Year\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Select Module\\r\\n \\r\\n \\r\\n \\r\\n {{option.type}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Please select module type\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Select Month\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Please select month\\r\\n
\\r\\n
\\r\\n Select Week\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Please select week!\\r\\n
\\r\\n
\\r\\n Select Media Type\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Please select media type!\\r\\n
\\r\\n
\\r\\n Quiz Type\\r\\n \\r\\n \\r\\n \\r\\n {{option.quizName}}\\r\\n \\r\\n \\r\\n \\r\\n Please select quiz!\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Quiz Description(Optional)\\r\\n \\r\\n Enter Quiz Description\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Upload Media\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Only MP4 files are 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 Description (Optional)\\r\\n \\r\\n Enter Description\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\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 {\r\n Component,\r\n ElementRef,\r\n Inject,\r\n OnInit,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n Validators,\r\n FormGroup,\r\n} from \"@angular/forms\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport {\r\n MediaFilterModel,\r\n Metadata,\r\n ResponseModel,\r\n} from \"../../../core/modals/common-model\";\r\nimport { UsersService } from \"../../users/users.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ManageVideosService } from \"../manage-videos.service\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material\";\r\nimport { bool } from \"aws-sdk/clients/signer\";\r\nimport {\r\n MomentDateAdapter,\r\n MAT_MOMENT_DATE_ADAPTER_OPTIONS,\r\n} from \"@angular/material-moment-adapter\";\r\nimport {\r\n DateAdapter,\r\n MAT_DATE_FORMATS,\r\n MAT_DATE_LOCALE,\r\n} from \"@angular/material/core\";\r\nimport * as _moment from \"moment\";\r\nimport { Moment } from \"moment\";\r\nconst moment = _moment;\r\n\r\nexport const MY_FORMATS = {\r\n parse: {\r\n dateInput: \"YYYY\",\r\n },\r\n display: {\r\n dateInput: \"YYYY\",\r\n monthYearLabel: \"YYYY\",\r\n dateA11yLabel: \"LL\",\r\n monthYearA11yLabel: \"YYYY\",\r\n },\r\n};\r\n\r\n@Component({\r\n selector: \"app-upload-video\",\r\n templateUrl: \"./upload-video.component.html\",\r\n styleUrls: [\"./upload-video.component.css\"],\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\r\n },\r\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\r\n ],\r\n})\r\nexport class UploadVideoComponent implements OnInit {\r\n metaData: any;\r\n filterModel: MediaFilterModel;\r\n url: any;\r\n status: boolean = false;\r\n Week4primary: any;\r\n Week3primary: any;\r\n Week2primary: any;\r\n Week1primary: any;\r\n Part1primary: any;\r\n Part2primary: any;\r\n Part3primary: any;\r\n Media1primary: any;\r\n Media2primary: any;\r\n WeekId: any;\r\n mediaPath: any;\r\n MonthId: any;\r\n MediaId: any;\r\n Media: any;\r\n format: any;\r\n duration: any;\r\n uploadForm: FormGroup;\r\n userId: number = null;\r\n masterDocumentTypes: any = [];\r\n addDocumentForm: FormGroup;\r\n fileList: any = [];\r\n dataURL: any;\r\n submitted: boolean = false;\r\n uploadDate: any;\r\n year: any;\r\n minDate: Moment;\r\n CourseNameList: any;\r\n userTypeList: any = [];\r\n // UserTypeList= [\r\n // { id: 1, type:'Staff'},\r\n // { id: 2, type: 'Executive' }\r\n // ];\r\n // CourseNameList= [\r\n // { id: 1, type:'Worm Up'},\r\n // { id: 2, type: 'Core/Balance'},\r\n // { id: 3, type: 'Speed & Quickness'},\r\n // { id: 4, type: 'Cool-Down'}\r\n\r\n // ];\r\n ModuleList = [\r\n { id: 1, type: \"Module One\" },\r\n { id: 2, type: \"Module Two\" },\r\n { id: 3, type: \"Module Three\" },\r\n { id: 4, type: \"Module Four\" },\r\n ];\r\n Weeks = [\r\n { id: 1, type: \"Week One\" },\r\n { id: 2, type: \"Week two\" },\r\n { id: 3, type: \"Week Three\" },\r\n { id: 4, type: \"Week Four\" },\r\n ];\r\n MediaTypes = [\r\n { id: 1, type: \"Podcast\" },\r\n { id: 2, type: \"Video\" },\r\n ];\r\n QuizList: any = [];\r\n key: any;\r\n monthError: boolean = false;\r\n weekError: boolean = false;\r\n mediaError: boolean = false;\r\n loading: boolean = false;\r\n fileError: boolean = false;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public _data: any,\r\n private userservice: UsersService,\r\n private router: Router,\r\n private notifier: NotifierService,\r\n public dialogRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n private videoService: ManageVideosService\r\n ) {}\r\n @ViewChild(\"fileupload\") fileupload: ElementRef;\r\n Data: any;\r\n videoForm: FormGroup;\r\n ngOnInit() {\r\n const currentYear = moment().year();\r\n this.minDate = moment([currentYear, 0, 1]);\r\n this.uploadForm = this.formBuilder.group({\r\n profile: [\"\"],\r\n });\r\n this.videoForm = new FormGroup({\r\n Title: new FormControl(\"\", [Validators.required]),\r\n TypeName: new FormControl(\"\", [Validators.required]),\r\n //Duration: new FormControl('0', [Validators.required]),\r\n Description: new FormControl(\"\"),\r\n CategoryType: new FormControl(\"\"),\r\n // MonthId: new FormControl('', [Validators.required]),\r\n CourseId: new FormControl(\"\", [Validators.required]),\r\n // WeekId: new FormControl('', [Validators.required]),\r\n ModuleId: new FormControl(\"\", [Validators.required]),\r\n QuizId: new FormControl(\"\"),\r\n QuizDescription: new FormControl(\"\"),\r\n // AttachFile: new FormControl('')\r\n });\r\n\r\n this.Data = this._data.id;\r\n this.key = this._data.key;\r\n if (this.Data != null) {\r\n this.GetMediaDetails();\r\n }\r\n this.QuizListDetails();\r\n this.chosenYearHandler(this.date.value, null);\r\n }\r\n GetMediaDetails() {\r\n this.userservice.getmediadetailsById(this.Data).subscribe((response) => {\r\n if (response.data != null) {\r\n this.MonthId = response.data.monthId;\r\n this.WeekId = response.data.weekId;\r\n //this.mediaPath=\"https://letsbe-dev-test.s3.eu-west-2.amazonaws.com/\"+ response.data.mediaPath\r\n this.mediaPath = response.data.fileArray;\r\n // if (response.data.mediaType == \"audio/mpeg\") {\r\n // response.data.fileArray = \"data:audio/mp3;base64,\" + response.data.fileArray;\r\n // } else if (response.data.mediaType == \"video/mp4\") {\r\n // response.data.fileArray = \"data:video/mp4;base64,\" + response.data.fileArray;\r\n // }\r\n this.Media = response.data.categoryType;\r\n this.UpdateData(response.data);\r\n this.SelectMonth(\"Month\" + response.data.monthId);\r\n this.SelectWeek(\"Week\" + response.data.weekId);\r\n this.SelectMedia(response.data.categoryType);\r\n }\r\n });\r\n }\r\n playPause() {\r\n var myVideo: any = document.getElementById(\"video\");\r\n if (myVideo.paused) {\r\n myVideo.play();\r\n } else {\r\n myVideo.pause();\r\n }\r\n }\r\n\r\n playvideo() {\r\n var video: any = document.getElementById(\"video\");\r\n video.play();\r\n }\r\n\r\n pausevideo() {\r\n var video: any = document.getElementById(\"video\");\r\n video.pause();\r\n }\r\n FromDate(event: any): void {\r\n var NewstartDate = new Date(event.target.value);\r\n this.uploadDate = new Date(\r\n NewstartDate.getFullYear(),\r\n NewstartDate.getMonth(),\r\n NewstartDate.getDate(),\r\n NewstartDate.getHours(),\r\n NewstartDate.getMinutes() - NewstartDate.getTimezoneOffset()\r\n ).toISOString();\r\n }\r\n UpdateData(data: any) {\r\n this.WeekId = data.weekId;\r\n this.MonthId = data.monthId;\r\n this.videoForm.patchValue({\r\n Title: data.title,\r\n TypeName: data.courseType,\r\n CategoryType: data.categoryType,\r\n MonthId: data.monthId,\r\n Description: data.description,\r\n ModuleId: data.moduleId,\r\n CourseId: data.courseId,\r\n Year: new Date(data.year),\r\n QuizId: data.quizId,\r\n QuizDescription: data.quizDescription,\r\n });\r\n }\r\n handleImageChange(event: any) {\r\n var length: any;\r\n //debugger;\r\n this.fileError = false;\r\n if (event.target.files.length > 0) {\r\n const file = event.target.files[0];\r\n this.uploadForm.get(\"profile\").setValue(file);\r\n }\r\n const file = event.target.files && event.target.files[0];\r\n if (file.type !== \"video/mp4\") {\r\n this.fileError = true;\r\n this.fileupload.nativeElement.value = \"\";\r\n return;\r\n } else {\r\n this.fileError = false;\r\n }\r\n var video = document.createElement(\"video\");\r\n video.preload = \"metadata\";\r\n video.onloadedmetadata = function () {\r\n window.URL.revokeObjectURL(video.src);\r\n length = video.duration;\r\n localStorage.setItem(\"Duration\", length);\r\n };\r\n video.src = URL.createObjectURL(file);\r\n if (file) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n if (file.type.indexOf(\"image\") > -1) {\r\n this.format = \"image\";\r\n } else if (file.type.indexOf(\"video\") > -1) {\r\n this.format = \"video\";\r\n }\r\n reader.onload = (event) => {\r\n this.url = (event.target).result;\r\n this.dataURL = file;\r\n };\r\n }\r\n }\r\n showVideo: boolean = true;\r\n removeFile() {\r\n this.dataURL = null;\r\n this.format = null;\r\n this.url = null;\r\n }\r\n removeVideo() {\r\n this.showVideo = false;\r\n }\r\n onWeekSelect(event: any) {\r\n this.videoForm.controls[\"QuizId\"].clearValidators();\r\n if (event.currentTarget.name == \"Week1\") {\r\n this.status = false;\r\n this.WeekId = 1;\r\n this.Week1primary = true;\r\n this.Week2primary = false;\r\n this.Week3primary = false;\r\n this.Week4primary = false;\r\n } else if (event.currentTarget.name == \"Week2\") {\r\n this.status = false;\r\n this.WeekId = 2;\r\n this.Week1primary = false;\r\n this.Week2primary = true;\r\n this.Week3primary = false;\r\n this.Week4primary = false;\r\n } else if (event.currentTarget.name == \"Week3\") {\r\n this.status = false;\r\n this.WeekId = 3;\r\n this.Week1primary = false;\r\n this.Week2primary = false;\r\n this.Week3primary = true;\r\n this.Week4primary = false;\r\n } else if (event.currentTarget.name == \"Week4\") {\r\n this.status = !this.status;\r\n this.WeekId = 4;\r\n this.Week1primary = false;\r\n this.Week2primary = false;\r\n this.Week3primary = false;\r\n this.Week4primary = true;\r\n this.Media1primary = false;\r\n this.Media2primary = false;\r\n this.Media = undefined;\r\n this.videoForm.controls[\"QuizId\"].setValidators([Validators.required]);\r\n }\r\n this.weekError = false;\r\n this.videoForm.controls[\"QuizId\"].setValue('');\r\n this.videoForm.controls[\"QuizId\"].updateValueAndValidity();\r\n\r\n }\r\n onPartSelect(event: any) {\r\n if (event.currentTarget.name == \"Month1\") {\r\n this.MonthId = 1;\r\n this.Part1primary = true;\r\n this.Part2primary = false;\r\n this.Part3primary = false;\r\n } else if (event.currentTarget.name == \"Month2\") {\r\n this.MonthId = 2;\r\n this.Part1primary = false;\r\n this.Part2primary = true;\r\n this.Part3primary = false;\r\n } else if (event.currentTarget.name == \"Month3\") {\r\n this.MonthId = 3;\r\n this.Part1primary = false;\r\n this.Part2primary = false;\r\n this.Part3primary = true;\r\n }\r\n this.monthError = false;\r\n }\r\n onMediaSelect(event: any) {\r\n if (event.currentTarget.name == \"Video\") {\r\n this.Media = \"Video\";\r\n this.Media1primary = true;\r\n this.Media2primary = false;\r\n } else if (event.currentTarget.name == \"Podcast\") {\r\n this.Media = \"Podcast\";\r\n this.Media1primary = false;\r\n this.Media2primary = true;\r\n }\r\n this.mediaError = false;\r\n }\r\n date = new FormControl(moment());\r\n chosenYearHandler(normalizedYear: Moment, dp: any) {\r\n const ctrlValue = this.date.value;\r\n ctrlValue.year(normalizedYear.year());\r\n this.date.setValue(ctrlValue);\r\n dp ? dp.close() : \"\";\r\n this.year = ctrlValue.year();\r\n }\r\n checkFormIsValid = (): bool => {\r\n const isMonthIdValid = !!this.MonthId;\r\n const isWeekIdValid = !!this.WeekId;\r\n const isMediaValid =\r\n this.WeekId === 4 || (this.WeekId !== 4 && !!this.Media);\r\n this.monthError = !isMonthIdValid;\r\n this.weekError = !isWeekIdValid;\r\n this.mediaError = !isMediaValid;\r\n return isMonthIdValid && isWeekIdValid && isMediaValid;\r\n };\r\n onSubmit() {\r\n this.loading=true\r\n if (!this.checkFormIsValid()) {\r\n this.loading = false;\r\n return;\r\n }\r\n this.duration = localStorage.getItem(\"Duration\");\r\n const formData = new FormData();\r\n formData.append(\"Id\", this._data.id);\r\n formData.append(\"Duration\", this.duration);\r\n formData.append(\"Title\", this.videoForm.value.Title);\r\n if (this.dataURL) {\r\n formData.append(\"file\", this.dataURL);\r\n } else {\r\n formData.append(\"file\", \"Isedit\");\r\n }\r\n formData.append(\"Description\", this.videoForm.value.Description);\r\n formData.append(\"CategoryType\", this.Media ? this.Media : \"Quiz\");\r\n formData.append(\"CourseType\", this.videoForm.value.TypeName);\r\n formData.append(\"MonthId\", this.MonthId.toString());\r\n formData.append(\"WeekId\", this.WeekId.toString());\r\n formData.append(\"ModuleId\", this.videoForm.value.ModuleId);\r\n formData.append(\"Year\", this.year);\r\n formData.append(\"CourseId\", this.videoForm.value.CourseId);\r\n formData.append(\"QuizId\", this.videoForm.value.QuizId);\r\n formData.append(\"QuizDescription\", this.videoForm.value.QuizDescription);\r\n // formData.forEach((e, key) => {\r\n // console.log(key, formData.getAll(key));\r\n // });\r\n // return;\r\n this.videoService.postvideo(formData).subscribe((response) => {\r\n if (response != null && response.statusCode == 201) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.onNoClick(\"save\");\r\n this.loading = false;\r\n } else this.notifier.notify(\"error\", response.message);\r\n this.loading = false;\r\n });\r\n }\r\n onNoClick(res): void {\r\n this.dialogRef.close(res);\r\n }\r\n SelectMonth(event: any) {\r\n if (event == \"Month1\") {\r\n this.Part1primary = true;\r\n } else if (event == \"Month2\") {\r\n this.Part2primary = true;\r\n } else if (event == \"Month3\") {\r\n this.Part3primary = true;\r\n }\r\n }\r\n SelectWeek(event: any) {\r\n if (event == \"Week1\") {\r\n this.status = false;\r\n this.Week1primary = true;\r\n } else if (event == \"Week2\") {\r\n this.status = false;\r\n this.Week2primary = true;\r\n } else if (event == \"Week3\") {\r\n this.status = false;\r\n this.Week3primary = true;\r\n } else if (event == \"Week4\") {\r\n this.status = true;\r\n this.Week4primary = true;\r\n }\r\n }\r\n SelectMedia(event: any) {\r\n if (event == \"Video\") {\r\n this.Media1primary = true;\r\n } else if (event == \"Podcast\") {\r\n this.Media2primary = true;\r\n }\r\n }\r\n getCourseList() {\r\n this.userservice\r\n .getAllCourseList(this.filterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response && response.statusCode == 200) {\r\n this.CourseNameList = response.data;\r\n this.metaData = response.meta;\r\n } else {\r\n this.CourseNameList = [];\r\n this.metaData = new Metadata();\r\n }\r\n });\r\n }\r\n courseDropdown(data: any) {\r\n if (data.isUserInput == true) {\r\n this.filterModel = new MediaFilterModel();\r\n this.filterModel.CategoryType = data.source.value;\r\n this.getCourseList();\r\n }\r\n }\r\n QuizListDetails() {\r\n this.videoService.getquizlist().subscribe((response) => {\r\n if (response != null) {\r\n this.QuizList = response.data;\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \".panel_title {\\r\\n display: flex;\\r\\n margin-top: 30px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.panel_title h3 {\\r\\n float: left;\\r\\n line-height: 22px;\\r\\n color: #2f2660;\\r\\n font-size: 19px;\\r\\n font-weight: 300;\\r\\n margin-bottom: 30px;\\r\\n padding: 0px 0px 0px 25px;\\r\\n position: relative;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\n.panel_title .flaticon {\\r\\n margin-left: 0px;\\r\\n position: absolute;\\r\\n left: 0px !important;\\r\\n top: 1px;\\r\\n color: #000;\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.mat-form-field-required-marker {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.readmin-form {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.media-type-btn {\\r\\n display: flex;\\r\\n margin-bottom: 25px;\\r\\n}\\r\\n\\r\\n.media-type-btn button {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n padding: 5px 15px;\\r\\n min-width: 160px;\\r\\n border-radius: 10px;\\r\\n border: 1px solid #E5E5E5;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n color: #546361;\\r\\n margin-right: 10px;\\r\\n font-size: 16px !important;\\r\\n font-weight: 400 !important;\\r\\n line-height: 22px;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-primary {\\r\\n border: 1px solid #546361;\\r\\n border-radius: 10px;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-primary .icon-sec {\\r\\n border: 1px solid #546361;\\r\\n border-radius: 5px;\\r\\n background: #546361;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-primary .icon-sec img {\\r\\n -webkit-filter: brightness(0) invert(10);\\r\\n filter: brightness(0) invert(10);\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-light {\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 10px;\\r\\n background: transparent;\\r\\n background-color: transparent !important;\\r\\n color: #B4B4B4;\\r\\n}\\r\\n\\r\\n.media-type-btn .btn-outline-light .icon-sec {\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 5px;\\r\\n background: transparent;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.media-type-btn button .icon-sec {\\r\\n height: 35px;\\r\\n width: 35px;\\r\\n border: 1px solid #E5E5E5;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-right: 15px;\\r\\n}\\r\\n\\r\\n.media-type-btn button .icon-sec img {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uplaod_pic img {\\r\\n height: 150px;\\r\\n max-width: 100%;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.container_r {\\r\\n display: block;\\r\\n position: relative;\\r\\n padding-left: 35px;\\r\\n margin-bottom: 12px;\\r\\n cursor: pointer;\\r\\n font-size: 22px;\\r\\n -webkit-user-select: none;\\r\\n -moz-user-select: none;\\r\\n -ms-user-select: none;\\r\\n user-select: none;\\r\\n}\\r\\n\\r\\n/* Hide the browser's default radio button */\\r\\n\\r\\n.container_r input {\\r\\n position: absolute;\\r\\n opacity: 0;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/* Create a custom radio button */\\r\\n\\r\\n.checkmark_r {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n background-color: #eee;\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n/* On mouse-over, add a grey background color */\\r\\n\\r\\n.container_r:hover input ~ .checkmark_r {\\r\\n background-color: #ccc;\\r\\n}\\r\\n\\r\\n/* When the radio button is checked, add a blue background */\\r\\n\\r\\n.container_r input:checked ~ .checkmark_r {\\r\\n background-color: #ff6700;\\r\\n}\\r\\n\\r\\n/* Create the indicator (the dot/circle - hidden when not checked) */\\r\\n\\r\\n.checkmark_r:after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n display: none;\\r\\n}\\r\\n\\r\\n/* Show the indicator (dot/circle) when checked */\\r\\n\\r\\n.container_r input:checked ~ .checkmark_r:after {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n/* Style the indicator (dot/circle) */\\r\\n\\r\\n.container_r .checkmark_r:after {\\r\\n \\ttop: 6px;\\r\\n\\tleft: 6px;\\r\\n\\twidth: 8px;\\r\\n\\theight: 8px;\\r\\n\\tborder-radius: 50%;\\r\\n\\tbackground: white;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n background: rgba(0, 0, 0, 0.20);\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n font-size: 13px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 5px;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n.actions-btn .mr-2{\\r\\n margin-right: 12px;\\r\\n margin-bottom: 12px;\\r\\n}\\r\\n\\r\\n.navbar-manage-01 {\\r\\n position: fixed !important;\\r\\n top: 75px;\\r\\n width: 100%;\\r\\n height: 40px;\\r\\n z-index: 1020 !important;\\r\\n background-color: rgb(193, 205, 207);\\r\\n }\\r\\n\\r\\n.header-manage-company {\\r\\n padding-left: 20px;\\r\\n }\\r\\n\\r\\n.example-full-width-manage {\\r\\n float: none;\\r\\n display: block;\\r\\n text-align: left;\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n padding: 14px;\\r\\n }\\r\\n\\r\\n/* tr.mat-header-row {\\r\\n background-color: #7E9693 !important;\\r\\n } */\\r\\n\\r\\n.mat-slide-toggle-thumb {\\r\\n background-color: #7E9693 !important;\\r\\n }\\r\\n\\r\\n.savebutton {\\r\\n width: 140px;\\r\\n height: 50px;\\r\\n background-color: #7E9693 !important;\\r\\n border-radius: 5px;\\r\\n font-family: 'Poppins' !important;\\r\\n font-style: normal !important;\\r\\n font-weight: 400 !important;\\r\\n font-size: 16px !important;\\r\\n line-height: 24px;\\r\\n color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.hide {\\r\\n display:none !important;\\r\\n}\\r\\n\\r\\ntextarea.mat-input-element {\\r\\n padding: 2px 0;\\r\\n margin: -11px 0;\\r\\n resize: none;\\r\\n}\\r\\n\\r\\n.backButton\\r\\n{\\r\\n margin-left: 10px !important;\\r\\n}\\r\\n\\r\\n.btn-group, .btn-group-vertical, .btn-group>.btn {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.view-modal-sec label {\\r\\n font-size: 12px;\\r\\n font-weight: 400;\\r\\n line-height: 18px;\\r\\n color: #757575; \\r\\n}\\r\\n\\r\\n.view-modal-sec p {\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n line-height: 21px; \\r\\n color: #000000;\\r\\n}\"","module.exports = \"
\\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

{{podcast}}

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

{{year}}

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

{{staff}}

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

{{Course}}

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

Module {{module}}

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

Month {{month}}

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

Week {{week}}

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

{{desc}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { ManageVideosService } from '../manage-videos.service';\r\n\r\n@Component({\r\n selector: 'app-view-media',\r\n templateUrl: './view-media.component.html',\r\n styleUrls: ['./view-media.component.css']\r\n})\r\nexport class ViewMediaComponent implements OnInit {\r\n podcast: any;\r\n staff: any;\r\n module: any;\r\n month: any;\r\n week: any;\r\n title: any;\r\n desc: any;\r\n year: any;\r\n Course: any;\r\n constructor(@Inject(MAT_DIALOG_DATA) public _data: any, public dialogRef: MatDialogRef, private videoService: ManageVideosService) { }\r\n\r\n ngOnInit() {\r\n this.videoService.getCourseNamebyId(this._data.courseId).subscribe(response => {\r\n if (response && response.statusCode == 200) {\r\n this.Course = response.data.courseName;\r\n }\r\n });\r\n\r\n if (this._data) {\r\n this.podcast = this._data.categoryType\r\n this.staff = this._data.courseType\r\n this.module = this._data.moduleId\r\n this.week = this._data.weekId\r\n this.title = this._data.title\r\n this.desc = this._data.description\r\n this.month = this._data.monthId\r\n this.year = this._data.year\r\n }\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","module.exports = \".video {\\r\\n width: 100%;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.video-controls {\\r\\n line-height: 0;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\n.video-modal a {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.video-modal .play-btn {\\r\\n background: #ffffff96;\\r\\n border-radius: 50%;\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n -webkit-transform: translate(-50%, -50%);\\r\\n transform: translate(-50%, -50%);\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n z-index: 999;\\r\\n height: 84px;\\r\\n width: 84px;\\r\\n}\\r\\n\\r\\n.video-modal .play-btn i {\\r\\n color: #000000;\\r\\n}\\r\\n\\r\\n.video-modal .close_btn {\\r\\n position: absolute;\\r\\n top: 30px;\\r\\n right: 0px;\\r\\n z-index: 2;\\r\\n -webkit-transform: translate(-50%, -50%);\\r\\n transform: translate(-50%, -50%);\\r\\n background: #ffffff96;\\r\\n border-radius: 50%;\\r\\n display: flex;\\r\\n height: 40px;\\r\\n width: 40px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n}\"","module.exports = \"\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\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, Inject, OnInit } from '@angular/core';\r\nimport { FilterVideoModel, ResponseModel } from '../../../core/modals/common-model';\r\nimport { UsersService } from '../../users/users.service';\r\nimport { ClientsService } from '../../../client-portal/clients.service';\r\nimport { PodcastModel } from 'src/app/super-admin-portal/core/modals/common-model';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-view-video',\r\n templateUrl: './view-video.component.html',\r\n styleUrls: ['./view-video.component.css']\r\n})\r\nexport class ViewVideoComponent implements OnInit {\r\n id: any;\r\n filterVideoModel: FilterVideoModel;\r\n filterVideoModell: PodcastModel;\r\n agencyData: any;\r\n videotitle: any;\r\n videodesc: any;\r\n trackdata: any;\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef, private userservice: UsersService, private clientService: ClientsService) {\r\n this.filterVideoModel = new FilterVideoModel();\r\n this.filterVideoModell = new PodcastModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.id = Number(localStorage.getItem('mediaDetailsId'));\r\n this.getvideo();\r\n\r\n let A = this.data;\r\n // var a = 0;\r\n // var interval = setInterval(() => {\r\n // if (a == 3) {\r\n // clearInterval(interval);\r\n\r\n // } else {\r\n // a++\r\n // }\r\n\r\n // }, 500);\r\n }\r\n\r\n togglePlay() {\r\n // Select elements here\r\n const video: any = document.getElementById('video');\r\n const videoControls: any = document.getElementById('video-controls');\r\n\r\n const videoWorks = !!document.createElement('video').canPlayType;\r\n if (videoWorks) {\r\n video.controls = false;\r\n videoControls.classList.remove('hidden');\r\n }\r\n\r\n if (video.paused || video.ended) {\r\n video.play();\r\n } else {\r\n video.pause();\r\n }\r\n }\r\n clickplay() {\r\n const playButton: any = document.getElementById('play');\r\n playButton.addEventListener('click', this.togglePlay);\r\n }\r\n getvideo() {\r\n this.agencyData = [];\r\n this.userservice.getAllVideo(this.filterVideoModel).subscribe((response: ResponseModel) => {\r\n response.data.forEach((data: any) => {\r\n if (data.mediaDetailsId == this.id) {\r\n this.agencyData = \"https://letsbe-dev-test.s3.eu-west-2.amazonaws.com/\" + data.mediaPath;\r\n this.videotitle = data.title\r\n this.videodesc = data.description\r\n this.trackvideo(this.id)\r\n }\r\n });\r\n });\r\n\r\n }\r\n trackvideo(id: any) {\r\n var videoId = id;\r\n this.trackdata = [];\r\n this.clientService.getAllVideoTracking().subscribe(data => {\r\n data.data.forEach(ele => {\r\n ele.trackduration = ele.endDuration - ele.startDuration;\r\n\r\n this.trackdata.push(ele);\r\n });\r\n });\r\n }\r\n playPause() {\r\n var myVideo: any = document.getElementById(\"video\");\r\n if (myVideo.paused) myVideo.play();\r\n else myVideo.pause();\r\n }\r\n playvideo() {\r\n var video: any = document.getElementById(\"video\");\r\n video.play();\r\n\r\n }\r\n pausevideo() {\r\n var video: any = document.getElementById(\"video\");\r\n\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","export class ServiceCodeModal {\r\n id?: number = 0;\r\n serviceCode?: string = \"\";\r\n ruleID?: number = null;\r\n unitDuration?: number = null;\r\n unitTypeID?: number = null;\r\n ratePerUnit?: number = null;\r\n description?: string = \"\";\r\n modifierModel?: Modifier[];\r\n isBillable?: boolean = false;\r\n isRequiredAuthorization?: boolean = false;\r\n type?: string = \"\";\r\n totalRecords?: number = null;\r\n isBillableStatus?: string = \"\";\r\n reqAuthStatus?: string = \"\";\r\n serviceCodeId?: number = 0;\r\n}\r\n\r\nexport class Modifier {\r\n modifier?: string = \"\";\r\n rate?: number = null;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonService } from '../../../core/services';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ServiceCodeModal } from './service-code.modal';\r\nimport { FilterModel } from '../../../core/modals/common-model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ServiceCodeService {\r\n createURL = 'api/MasterServiceCodes/SaveMasterServiceCode';\r\n deleteURL = 'api/MasterServiceCodes/DeleteMasterServiceCodes';\r\n getURL = 'api/MasterServiceCodes/GetMasterServiceCodeById';\r\n getAllURL = 'api/MasterServiceCodes/GetMasterServiceCodes';\r\n checkIfExistUrl= 'CheckIfRecordExists';\r\n\r\n constructor(private commonService: CommonService) { }\r\n\r\n getMasterData(masterData: any): Observable {\r\n return this.commonService.post('api/MasterData/MasterDataByName', masterData);\r\n }\r\n\r\n validate(postData: any) {\r\n return this.commonService.post(this.checkIfExistUrl, postData);\r\n }\r\n create(modalData: ServiceCodeModal): Observable {\r\n return this.commonService.post(this.createURL, modalData)\r\n .pipe(map((response: any) => {\r\n let data = response;\r\n return data;\r\n }))\r\n }\r\n delete(id: number) {\r\n return this.commonService.patch(`${this.deleteURL}?servicecodeId=${id}`, {})\r\n }\r\n get(id: number) : Observable {\r\n let url = `${this.getURL}?serviceCodeId=${id}`;\r\n return this.commonService.getById(url, {})\r\n .pipe(map((response: any) => {\r\n let data = new ServiceCodeModal();\r\n if (response.statusCode >= 200 && response.statusCode < 300 && response.statusCode !== 204) {\r\n data = response.data;\r\n }\r\n return data;\r\n }))\r\n }\r\n getAll(filterModal: FilterModel) {\r\n let url = this.getAllURL + '?pageNumber=' + filterModal.pageNumber + '&pageSize=' + filterModal.pageSize + '&sortColumn=' + filterModal.sortColumn + '&sortOrder=' + filterModal.sortOrder + '&searchText=' + filterModal.searchText;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n return this.commonService.getUserScreenActionPermissions(moduleName, screenName);\r\n }\r\n}\r\n","import { SpecialityModel } from \"./speciality.model\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { FilterModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { Observable } from \"rxjs\";\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SpecialityService {\r\n getAllURL: string = \"api/GlobalCode/GetGlobalCodes\";\r\n getByIdURL: string = \"api/GlobalCode/GetGlobalCodeById?Id=\";\r\n checkServiceNameExistsURL: string = \"api/GlobalCode/CheckGlobalCodeExistance?name=\";\r\n createURL: string = \"api/GlobalCode/SaveGlobalCode\";\r\n deleteURL: string = \"api/GlobalCode/DeleteGlobalCode\";\r\n getMasterDataURL = 'api/MasterData/MasterDataByName';\r\n getSpecialityUrl:string = \"api/GlobalCode/GetGlobalServiceIconName\";\r\n sizeInMB :any;\r\n constructor(private commonService: CommonService) {}\r\n getAll(filterModel: FilterModel): any {\r\n let url =\r\n this.getAllURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&sortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&sortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&searchText=\" +\r\n filterModel.searchText;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getById(id: string) {\r\n \r\n return this.commonService.getById(this.getByIdURL + id, {});\r\n }\r\n validate(name: string) {\r\n return this.commonService.getById(\r\n this.checkServiceNameExistsURL + name,\r\n {}\r\n );\r\n }\r\n create(serviceModel: SpecialityModel): Observable {\r\n return this.commonService.post(this.createURL, serviceModel);\r\n }\r\n delete(id: number) {\r\n \r\n return this.commonService.patch(this.deleteURL + \"?id=\" + id, {});\r\n }\r\n getMasterData(value: string = '') {\r\n return this.commonService.post(this.getMasterDataURL, { masterdata: value });\r\n }\r\n isValidFileType(fileName, fileType): boolean {\r\n // Create an object for all extension lists\r\n \r\n // if(fileName.type== 'image/svg+xml'){\r\n // fileName.type =fileName.type.slice('+').pop();\r\n // }\r\n let extentionLists = { video: [], image: [], pdf: [], excel: [], xml: [] };\r\n let isValidType = false;\r\n extentionLists.video = [\"m4v\", \"avi\", \"mpg\", \"mp4\"];\r\n extentionLists.image = [\"png\", \"svg\"];\r\n extentionLists.pdf = [\"pdf\"];\r\n extentionLists.excel = [\"excel\"];\r\n extentionLists.xml = [\"xml\"];\r\n //get the extension of the selected file.\r\n let fileExtension = fileName.name.split(\".\").pop().toLowerCase();\r\n isValidType = extentionLists[fileType].indexOf(fileExtension) > -1;\r\n if (isValidType) {\r\n this.sizeInMB = (fileName.size / (1024 * 1024)).toFixed(2);\r\n if (this.sizeInMB > 2) {\r\n isValidType = false;\r\n }\r\n else{\r\n isValidType = true;\r\n }\r\n }\r\n return isValidType;\r\n }\r\n getSpecialityIconName(){\r\n return this.commonService.getAll(this.getSpecialityUrl, {});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FilterMemberShipModel } from '../../core/modals/common-model';\r\nimport { CommonService } from '../../core/services';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MembershipService {\r\n private getAllPlan = \"Membership/GetMembership\";\r\n private savePlan = \"Membership/SaveMemberShip\";\r\n private getPlanByIdURL = \"Membership/GetMembershipId\";\r\n private deletePlanURL = \"Membership/DeleteMemberPlanDescription\";\r\n private DeleteMemberShipurl=\"Membership/DeleteMemberShip\";\r\n private getplans = \"Membership/GetPlanType\";\r\n private getplanbyId=\"Membership/GetPlanTypeById?\"\r\n private getplansdesc = \"Membership/GetPlanDescription\";\r\n private saveplandesc = \"Membership/SaveMemberPlanDescription\";\r\n \r\n constructor(private commonService: CommonService) { }\r\n getAll(filterModal: FilterMemberShipModel) {\r\n let url = this.getAllPlan + '?pageNumber=' + filterModal.pageNumber + '&pageSize=' + filterModal.pageSize + '&sortColumn=' + filterModal.sortColumn + '&sortOrder=' + filterModal.sortOrder + '&companyId=';\r\n return this.commonService.getAll(url, {});\r\n }\r\n getplan() {\r\n let url = this.getplans;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getplanbyid(id:number) {\r\n let url = this.getplanbyId+\"id=\"+id;\r\n return this.commonService.getAll(url, {});\r\n }\r\n addPlan(data: any) {\r\n return this.commonService.post(this.savePlan, data);\r\n }\r\n getplandesc(Id: number) {\r\n return this.commonService.getById(this.getplansdesc + \"?planId=\" + Id, {});\r\n }\r\n getPlanById(Id: number) {\r\n return this.commonService.getById(this.getPlanByIdURL + \"?id=\" + Id, {});\r\n }\r\n getPlanId(Id: number) {\r\n return this.commonService.getById(this.getPlanByIdURL + \"?id=\" + Id, {});\r\n }\r\n deletePlan(Id: any) {\r\n return this.commonService.put(this.deletePlanURL + '?PlanTypeId=' + Id, \"\");\r\n }\r\n DeleteMemberShip(Id: any) {\r\n return this.commonService.patch(this.DeleteMemberShipurl + '?id=' + Id, \"\");\r\n }\r\n savedescPlan(data: any) {\r\n return this.commonService.post(this.saveplandesc, data);\r\n }\r\n}\r\n","module.exports = \".chartjs-render-monitor {\\r\\n height: 250px !important;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n\"","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n EventEmitter,\r\n Output\r\n} from \"@angular/core\";\r\nimport { BaseChartDirective } from \"ng2-charts\";\r\n\r\n@Component({\r\n selector: \"app-bar-chart\",\r\n templateUrl: \"./bar-chart.component.html\",\r\n styleUrls: [\"./bar-chart.component.css\"]\r\n})\r\nexport class BarChartComponent implements OnInit, OnChanges {\r\n @Input() barChartData: any[];\r\n @Input() barChartLabels: any[];\r\n @Input() barChartOptions: any[];\r\n @Input() barChartColors: any[] = null;\r\n @Output() chartClicked: EventEmitter = new EventEmitter();\r\n @ViewChild(\"barChart\") chart: BaseChartDirective;\r\n barChartType: string = \"bar\";\r\n constructor() {\r\n this.barChartData = [];\r\n this.barChartLabels = [];\r\n this.barChartOptions = [];\r\n this.barChartColors = [];\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n onChartClicked({ event, active }: { event: MouseEvent; active: {}[] }): void {\r\n this.chartClicked.emit({ event, active });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (\r\n changes.barChartLabels &&\r\n changes.barChartLabels.previousValue !=\r\n changes.barChartLabels.currentValue\r\n ) {\r\n if (this.chart !== undefined && this.chart.ctx !== undefined) {\r\n this.chart.ngOnDestroy();\r\n this.chart.labels = this.barChartLabels;\r\n this.chart.datasets = this.barChartData;\r\n this.chart.chart = this.chart.getChartBuilder(this.chart.ctx);\r\n this.chart.chart.update();\r\n }\r\n }\r\n if (\r\n changes.barChartColors &&\r\n changes.barChartColors.previousValue !=\r\n changes.barChartColors.currentValue\r\n ) {\r\n if (this.chart !== undefined && this.chart.ctx !== undefined) {\r\n this.chart.ngOnDestroy();\r\n this.chart.colors = this.barChartColors;\r\n this.chart.chart = this.chart.getChartBuilder(this.chart.ctx);\r\n this.chart.chart.update();\r\n }\r\n }\r\n }\r\n\r\n public chartHovered({\r\n event,\r\n active\r\n }: {\r\n event: MouseEvent;\r\n active: {}[];\r\n }): void {\r\n // console.log(event, active);\r\n }\r\n}\r\n","module.exports = \".iconbox-single {\\r\\n background: #fff;\\r\\n border-radius: 5px;\\r\\n -webkit-border-radius: 5px;\\r\\n box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02);\\r\\n -webkit-box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02);\\r\\n height: 160px;\\r\\n}\\r\\n\\r\\n.iconbox-single .box-title {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.circle-icon {\\r\\n display: flex;\\r\\n align-items: flex-end;\\r\\n}\\r\\n\\r\\n.circle-icon i {\\r\\n font-size: 130px;\\r\\n line-height: 98px;\\r\\n color: rgba(0, 0, 0, 0.15);\\r\\n}\\r\\n\\r\\n.icon-2 i {\\r\\n font-size: 162px;\\r\\n line-height: 108px;\\r\\n}\\r\\n\\r\\n.icon-1 i {\\r\\n font-size: 200px;\\r\\n line-height: 100px;\\r\\n}\\r\\n\\r\\n.iconbox-single p {\\r\\n margin: 0;\\r\\n opacity: 0.5;\\r\\n text-transform: uppercase;\\r\\n font-weight: 400;\\r\\n font-size: 13px;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.iconbox-single h5 {\\r\\n margin: 0;\\r\\n font-size: 40px;\\r\\n font-weight: 500;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.iconbox-single.gaps-click:hover p {\\r\\n color: #fff;\\r\\n opacity: 1;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.dashboard-panel>div {\\r\\n height: 30px;\\r\\n}\\r\\n\\r\\n.dashboard-panel button {\\r\\n width: 30px !important;\\r\\n height: 30px !important;\\r\\n padding: 0px !important;\\r\\n line-height: normal;\\r\\n}\\r\\n\\r\\n.dashboard_body table th {\\r\\n height: auto !important;\\r\\n color: #000 !important;\\r\\n font-weight: 500 !important;\\r\\n font-size: 11px !important;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.dashboard_body .DivPager {\\r\\n padding: 0px 25px;\\r\\n}\\r\\n\\r\\n.remain-unit-circle {\\r\\n color: #fff;\\r\\n border: 1px solid transparent;\\r\\n width: 80px;\\r\\n text-align: center;\\r\\n display: block;\\r\\n border-radius: 30px;\\r\\n -webkit-border-radius: 30px;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n.mb-minus-15 {\\r\\n margin-bottom: -15px;\\r\\n}\\r\\n\\r\\n.update-pwd {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.update-pwd i {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.dashboard-box .chart svg {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.icon-3 i {\\r\\n line-height: 104px;\\r\\n}\\r\\n\\r\\n.icon-5 i {\\r\\n font-size: 125px;\\r\\n line-height: 102px;\\r\\n}\\r\\n\\r\\n.dash-table {\\r\\n max-height: 400px;\\r\\n}\\r\\n\\r\\n.sticky-header {\\r\\n height: 380px;\\r\\n}\\r\\n\\r\\n.sticky-header table {\\r\\n table-layout: fixed;\\r\\n}\\r\\n\\r\\n.sticky-header table.mat-table thead,\\r\\n.sticky-header table.mat-table thead th {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n top: 0px;\\r\\n z-index: 100;\\r\\n}\\r\\n\\r\\n.dash-table a:hover,\\r\\n.sticky-header a:hover {\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.-vertical .ng-scrollbar-thumb {\\r\\n min-height: 70px;\\r\\n}\\r\\n\\r\\n.dashboardchart i {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\ntd.mat-table-sticky:first-child,\\r\\ntd.mat-table-sticky:last-child {\\r\\n background-color: #fff;\\r\\n background-clip: padding-box;\\r\\n}\\r\\n\\r\\ntd.mat-table-sticky:nth-child(2) {\\r\\n background-color: #fff;\\r\\n background-clip: padding-box;\\r\\n}\\r\\n\\r\\nth.mat-table-sticky:first-child,\\r\\nth.mat-table-sticky:nth-child(2),\\r\\nth.mat-table-sticky:last-child {\\r\\n background-color: #f1f5f7;\\r\\n}\\r\\n\\r\\n.sticky-table {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.sticky-table .table-hover tbody tr:hover {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.no-fixed {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.no-fixed .table {\\r\\n table-layout: inherit;\\r\\n width: 100%;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.no-fixed .table tr.mat-header-row th {\\r\\n position: static !important;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n/*increase height of bar chart*/\\r\\n\\r\\n.bar-dash>div {\\r\\n min-height: 320px;\\r\\n}\\r\\n\\r\\n.canvas.chartjs-render-monitor {\\r\\n height: 250px !important;\\r\\n}\\r\\n\\r\\n.refresh {\\r\\n padding-right: 27px;\\r\\n display: flex;\\r\\n gap: 10px;\\r\\n}\\r\\n\\r\\n.field-clear {\\r\\n /* position: absolute; */\\r\\n /* bottom: 1.8em; */\\r\\n cursor: pointer;\\r\\n color: rgba(0, 0, 0, 0.4);\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.graph-form .refresh ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-infix{\\r\\n border: none;\\r\\n margin-top: 8px;\\r\\n}\\r\\n\\r\\n.graph-form .refresh ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-wrapper{\\r\\n padding-bottom: 0px;\\r\\n}\\r\\n\\r\\n@media (max-width: 1199px) {\\r\\n .iconbox-single {\\r\\n height: 130px;\\r\\n }\\r\\n .iconbox-single h5 {\\r\\n font-size: 30px;\\r\\n }\\r\\n .circle-icon i {\\r\\n font-size: 72px;\\r\\n line-height: 53px;\\r\\n }\\r\\n .icon-2 i {\\r\\n font-size: 90px;\\r\\n line-height: 61px;\\r\\n }\\r\\n .icon-1 i {\\r\\n font-size: 110px;\\r\\n line-height: 54px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width: 480px) {\\r\\n .dashboard-box .chart>div {\\r\\n width: 60px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n/* Full width for the search input */\\r\\n\\r\\n.search-bar {\\r\\n padding: 8px;\\r\\n width: 100%;\\r\\n box-sizing: border-box;\\r\\n }\\r\\n\\r\\n/* Style the input field inside the search bar */\\r\\n\\r\\n.search-bar input {\\r\\n width: 100%;\\r\\n padding: 6px 12px;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n font-size: 14px;\\r\\n outline: none;\\r\\n }\\r\\n\\r\\n/* Focus state for the input field */\\r\\n\\r\\n.search-bar input:focus {\\r\\n border-color: #3f51b5; /* Color when focused */\\r\\n box-shadow: 0 0 4px rgba(63, 81, 181, 0.4);\\r\\n }\\r\\n\\r\\n/* Space for mat-select dropdown items */\\r\\n\\r\\n.mat-select-panel .mat-option {\\r\\n padding: 12px;\\r\\n }\\r\\n\\r\\n/* Additional padding for the select panel */\\r\\n\\r\\n.mat-select-panel {\\r\\n padding-top: 8px;\\r\\n }\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{obj.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 {{obj.value}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{obj.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
\"","import { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { MatPaginator, MatDialog } from \"@angular/material\";\r\nimport { ContextMenuService } from 'ngx-contextmenu';\r\nimport { ContextMenuComponent } from 'ngx-contextmenu';\r\nimport { Router } from \"@angular/router\";\r\nimport { Component, ComponentFactoryResolver, ComponentRef, OnInit, ViewContainerRef } from \"@angular/core\";\r\nimport { FilterModel } from \"../clients/medication/medication.model\";\r\nimport { ViewChild } from \"@angular/core\";\r\nimport { Color } from \"ng2-charts\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AppointmentGraphService } from \"src/app/shared/appointment-graph/appointment-graph.service\";\r\nimport { format } from \"date-fns\";\r\nimport { AcceptRejectAppointmentInvitationComponent } from \"src/app/shared/accept-reject-appointment-invitation/accept-reject-appointment-invitation.component\";\r\nimport { InvitedPendingComponent } from \"src/app/shared/appointment-graph/invited-pending/invited-pending.component\";\r\nimport { Metadata, ResponseModel } from \"../../core/modals/common-model\";\r\nimport { AddNewCallerService } from \"src/app/shared/add-new-caller/add-new-caller.service\";\r\nimport { ApproveAppointmentDialogComponent } from \"src/app/shared/approve-appointment-dialog/approve-appointment-dialog.component\";\r\nimport { CancelAppointmentDialogComponent } from \"src/app/shared/cancel-appointment-dialog/cancel-appointment-dialog.component\";\r\nimport { AppointmentReschedulingDialogComponent } from \"src/app/shared/appointment-rescheduling-dialog/appointment-rescheduling-dialog.component\";\r\nimport { AppointmentViewComponent } from \"../../scheduling/appointment-view/appointment-view.component\";\r\nimport { AddNewCallerComponent } from \"src/app/shared/add-new-caller/add-new-caller.component\";\r\nimport { SetReminderComponent } from \"src/app/shared/set-reminder/set-reminder.component\";\r\nimport { OtpRequestSendComponent } from \"src/app/shared/appointment-graph/otp-request-send/otp-request-send.component\";\r\n\r\n@Component({\r\n selector: 'app-performance',\r\n templateUrl: './performance.component.html',\r\n styleUrls: ['./performance.component.css']\r\n})\r\nexport class PerformanceComponent implements OnInit {\r\n contextMenu: ContextMenuComponent;\r\n currentPatientId: number = 0;\r\n currentAppointmentId: number = 0;\r\n showTooltip: boolean = false;\r\n appointId: number = 0;\r\n allAppointmentsFilterModel: FilterModel;\r\n allAppointmentsMeta: Metadata;\r\n allAppointmentsList: Array = [];\r\n allAppointmentsDisplayedColumns: Array;\r\n allAppointmentsActionButtons: Array;\r\n filterModel: FilterModel;\r\n pendingAptfilterModel: FilterModel;\r\n cancelledAptfilterModel: FilterModel;\r\n upcomingAptfilterModel: FilterModel;\r\n tentativeAptFilterModel: FilterModel;\r\n pendingAppointmentMeta: Metadata;\r\n cancelledAppointmentMeta: Metadata;\r\n tentativeAppointmentMeta: Metadata;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n pendingDisplayedColumns: Array;\r\n pendingActionButtons: Array;\r\n cancelledDisplayedColumns: Array;\r\n\r\n cancelledActionButtons: Array;\r\n tentativeDisplayedColumns: Array;\r\n tentativeActionButtons: Array;\r\n selectedIndex: number = 0;\r\n lineChartDataForAppointment: Array;\r\n showGraphAppointment: boolean = false;\r\n lineChartLabels_appointments: Array = [];\r\n lineChartOptions_appointments: any;\r\n barChartColors_appointments: Array;\r\n lineChartData_appointments: Array;\r\n filterParamsForAppointent: {\r\n statusIds: Array;\r\n appointmentTimeIntervalId: number;\r\n //isCheckTotalEnrollments: boolean\r\n CareManagerIds: Array;\r\n };\r\n\r\n masterStaffs: Array;\r\n pendingPatientAppointment: Array = [];\r\n cancelledPatientAppointment: Array = [];\r\n tentativePatientAppointment: Array = [];\r\n subscription: Subscription;\r\n currentLoginUserId: number;\r\n currentLocationId: string;\r\n userRoleName: string;\r\n masterTimeIntervalData: Array = [];\r\n masterAppointmenttimeIntervalData: Array = [];\r\n masterAppointmentStatus: Array = [];\r\n masterTaskTimeIntervalData: Array = [];\r\n filterTaskParams: {\r\n taskTypeIds: Array;\r\n timeIntervalFilterId: number;\r\n careManagerIds: Array;\r\n };\r\n // @ViewChild(\"tabContentPendingInvitation\", { read: ViewContainerRef })\r\n // tabContentPendingInvitation: ViewContainerRef;\r\n // @ViewChild(\"tabContentAcceptedInvitation\", { read: ViewContainerRef })\r\n // tabContentAcceptedInvitation: ViewContainerRef;\r\n // @ViewChild(\"tabContentRejectedInvitation\", { read: ViewContainerRef })\r\n // tabContentRejectedInvitation: ViewContainerRef;\r\n\r\n invitedDisplayedColumns: Array;\r\n invitedActionButtons: Array;\r\n invitedAptfilterModel: FilterModel;\r\n invitedAppointmentMeta: Metadata;\r\n invitedPatientAppointment: Array = [];\r\n\r\n invitedAcceptedDisplayedColumns: Array;\r\n invitedAcceptedActionButtons: Array;\r\n invitedAcceptedAptfilterModel: FilterModel;\r\n invitedAcceptedAppointmentMeta: Metadata;\r\n invitedAcceptedPatientAppointment: Array = [];\r\n\r\n invitedRejectedDisplayedColumns: Array;\r\n invitedRejectedActionButtons: Array;\r\n invitedRejectedAptfilterModel: FilterModel;\r\n invitedRejectedAppointmentMeta: Metadata;\r\n invitedRejectedPatientAppointment: Array = [];\r\n\r\n IstimeExpired = false;\r\n filteredStaffs: any[];\r\n searchText: any;\r\n constructor(\r\n private appointmentGraphService: AppointmentGraphService,\r\n private commonService: CommonService,\r\n private dailog: MatDialog,\r\n private cfr: ComponentFactoryResolver,\r\n private contextMenuService: ContextMenuService,\r\n private router: Router,\r\n private addNewCallerService: AddNewCallerService,\r\n ) {\r\n this.invitedAppointmentMeta = null;\r\n this.invitedAptfilterModel = new FilterModel();\r\n this.invitedDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n width: \"130px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n width: \"60px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"250px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"80px\", sticky: true }\r\n ];\r\n\r\n this.invitedActionButtons = [\r\n {\r\n displayName: \"Accept Invitation\",\r\n key: \"accept\",\r\n class: \"fa fa-check\"\r\n },\r\n { displayName: \"Reject Invitation\", key: \"reject\", class: \"fa fa-ban\" }\r\n ];\r\n\r\n this.invitedAcceptedAppointmentMeta = null;\r\n this.invitedAcceptedAptfilterModel = new FilterModel();\r\n this.invitedAcceptedDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n width: \"130px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n width: \"60px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"250px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n {\r\n displayName: \"Accepted Remarks\",\r\n key: \"invitationAcceptRejectRemarks\",\r\n width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n }\r\n ];\r\n\r\n this.invitedAcceptedActionButtons = [];\r\n\r\n this.invitedRejectedAppointmentMeta = null;\r\n this.invitedRejectedAptfilterModel = new FilterModel();\r\n this.invitedRejectedDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n width: \"120px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n width: \"120px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"260px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n {\r\n displayName: \"Rejected Remarks\",\r\n key: \"invitationAcceptRejectRemarks\",\r\n width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n }\r\n ];\r\n\r\n this.invitedRejectedActionButtons = [];\r\n\r\n this.pendingAptfilterModel = new FilterModel();\r\n this.cancelledAptfilterModel = new FilterModel();\r\n this.upcomingAptfilterModel = new FilterModel();\r\n this.tentativeAptFilterModel = new FilterModel();\r\n this.allAppointmentsFilterModel = new FilterModel();\r\n this.allAppointmentsMeta = null;\r\n\r\n this.filterParamsForAppointent = {\r\n statusIds: [],\r\n appointmentTimeIntervalId: null,\r\n CareManagerIds: []\r\n };\r\n\r\n this.pendingDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n width: \"120px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n width: \"120px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"280px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"160px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"80px\", sticky: true }\r\n ];\r\n\r\n this.pendingActionButtons = [\r\n { displayName: \"Approve\", key: \"approve\", class: \"fa fa-check\" },\r\n { displayName: \"Cancel\", key: \"cancel\", class: \"fa fa-ban\" }\r\n ];\r\n\r\n this.cancelledDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n width: \"100px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n width: \"80px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n width: \"80px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"280px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"160px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n { displayName: \"Cancel Type\", key: \"cancelType\", width: \"140px\" },\r\n { displayName: \"Cancel Reason\", key: \"cancelReason\", width: \"180px\" },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"60px\", sticky: true }\r\n ];\r\n this.cancelledActionButtons = [];\r\n\r\n this.tentativeDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n width: \"120px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n width: \"120px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"280px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"80px\", sticky: true }\r\n ];\r\n this.tentativeActionButtons = [];\r\n\r\n this.allAppointmentsDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n class: \"\",\r\n width: \"110px\",\r\n sticky: true,\r\n\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n class: \"\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n width: \"130px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n width: \"130px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"280px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"160px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n // {\r\n // displayName: \"Rating\",\r\n // key: \"rating\",\r\n // width: \"110px\",\r\n // type: \"rating\"\r\n // },\r\n // {\r\n // displayName: \"Review\",\r\n // key: \"review\",\r\n // width: \"150px\",\r\n // type: \"50\"\r\n // },\r\n // { displayName: \"Status\", key: \"statusName\", width: \"80px\" },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"50px\" }\r\n ];\r\n this.allAppointmentsActionButtons = [\r\n {\r\n displayName: \"Waiting-room info\",\r\n key: \"video\",\r\n class: \"fa fa-wpforms\"\r\n //class:\" fa fa-video-camera\"\r\n },\r\n {\r\n displayName: \"Request OTP\",\r\n key: \"otp\",\r\n class: \"fa fa-user-plus\"\r\n //class:\" fa fa-video-camera\"\r\n }\r\n ];\r\n this.lineChartData_appointments = [];\r\n\r\n (this.lineChartData_appointments = []), (this.masterStaffs = []);\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription = this.commonService.currentLoginUserInfo.subscribe(\r\n (user: any) => {\r\n if (user) {\r\n this.currentLoginUserId = user.id;\r\n this.currentLocationId = user.currentLocationId;\r\n this.userRoleName =\r\n user && user.users3 && user.users3.userRoles.userType;\r\n //this.isAdmin = true;\r\n\r\n if (this.currentLoginUserId > 0) {\r\n //this.filterTaskParams.careManagerIds = [this.currentLoginUserId];\r\n // this.filterCareGapGraph.CareManagerIds = [this.currentLoginUserId];\r\n // this.filterParamsForAppointent.CareManagerIds = [\r\n // this.currentLoginUserId\r\n // ];\r\n //this.filterAlerts.CareManagerIds = [this.currentLoginUserId];\r\n //this.filterParamsForEncounter.CareManagerIds = [this.currentLoginUserId];\r\n let CMIdArray = [];\r\n CMIdArray.push(this.currentLoginUserId);\r\n // this.filterParamsForHRA.careManagerIds = CMIdArray;\r\n }\r\n // this.filterParamsForAppointent.CareManagerIds = [\r\n // this.currentLoginUserId\r\n // ];\r\n // this.filterAlerts.CareManagerIds = [this.currentLoginUserId];\r\n }\r\n }\r\n );\r\n this.getMasterData();\r\n this.getStaffsByLocation();\r\n this.getUserPermissions();\r\n this.filterParamsForAppointent.CareManagerIds = this.filteredStaffs.map(staff => staff.id);\r\n }\r\n\r\n CheckTime(value): boolean {\r\n var currentDate = new Date();\r\n const y = new Date(currentDate).getFullYear(),\r\n m = new Date(currentDate).getMonth(),\r\n d = new Date(currentDate).getDate(),\r\n splitTime = new Date(currentDate).getTime(),\r\n hours = new Date(currentDate).getHours(),\r\n minutes = new Date(currentDate).getMinutes();\r\n var totalMinutes = +hours * 60 + +minutes;\r\n var row = value;\r\n var rdate = new Date(row.endDateTime);\r\n var endTime = row.endDateTime.split(\"T\");\r\n var endTimeArr = endTime[1].split(\":\");\r\n var endHour = endTimeArr[0];\r\n var endMin = endTimeArr[1];\r\n var totalEndMinutes = +endHour * 60 + +endMin;\r\n var icons = \"\";\r\n if (totalEndMinutes > totalMinutes && rdate >= currentDate) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n getMasterData() {\r\n const masterData = {\r\n masterdata:\r\n \"CAREPLANSTATUSFILTER,APPOINTMENTIMEGRAPHFILTER,APPOINTMENTSTATUS,ENCOUNTERTYPES,ENCOUNTERGRAPHFILTER,MASTERTASKSTIMEINTERVAL,PATIENTCAREGAPSTATUS,ALERTSINDICATORFILTER,MASTERCAREGAPSTIMEINTERVAL,MASTERENROLLMENTTYPEFILTER\"\r\n };\r\n this.appointmentGraphService\r\n .getMasterData(masterData)\r\n .subscribe((response: any) => {\r\n const staticEncTypes = [\r\n \"Acute Care\",\r\n \"Wellness Visit\",\r\n \"Administrative\",\r\n \"Disease Management\"\r\n ];\r\n\r\n this.masterTimeIntervalData = response.carePlanStatusFilter || [];\r\n this.masterAppointmenttimeIntervalData =\r\n response.appointmentTimeGraphFilter || [];\r\n this.masterAppointmentStatus = response.appointmentStatus || [];\r\n\r\n // this.masterEncountertimeIntervalData = response.encounterGraphfilter || [];\r\n this.masterTaskTimeIntervalData =\r\n response.masterTasksTimeInterval || [];\r\n // this.masterCareGapsStatus = response.patientCareGapStatus || [];\r\n // this.masterAlertTypes = response.masterLoadAlerts || [];\r\n // this.masterCareGapsTimeIntervalData = response.masterCareGapsTimeInterval || [];\r\n // this.masterEnrollmentTypeFilter = response.masterEnrollmentTypeFilter || [];\r\n\r\n let defaultTimeIntervalObj = this.masterTimeIntervalData.find(\r\n x => x.value == \"Monthly\"\r\n );\r\n // let defautlEncTimeIntervalObj = this.masterEncountertimeIntervalData.find(x => x.value == 'Weekly');\r\n let defaultAptTimeIntervalObj = this.masterAppointmenttimeIntervalData.find(\r\n x => x.value == \"Monthly\"\r\n );\r\n // let defaultTaskTimeIntervalObj = this.masterTaskTimeIntervalData.find(x => (x.value || '').split('(')[0].trim() == 'Weekly');\r\n // let defaultCareGapStatusObj = this.masterCareGapsStatus.find(x => x.value.toLowerCase() == 'open');\r\n // let defaultCareGapIntervalObj = this.masterCareGapsTimeIntervalData.find(x => (x.value || '').split('(')[0].trim() == 'Weekly');\r\n // let defaultEnrollTypeObj = this.masterEnrollmentTypeFilter.find(x => x.value == 'All');\r\n\r\n //this.filterParams.timeIntervalFilterId = defaultTimeIntervalObj && defaultTimeIntervalObj.id;\r\n // this.filterAlerts.EnrollmentId = defaultEnrollTypeObj && defaultEnrollTypeObj.id;\r\n // let idArray = this.masterAppointmentStatus.Select(x=>x.id);\r\n let idArray = this.masterAppointmentStatus.map(function (a) {\r\n return a.id;\r\n });\r\n this.filterParamsForAppointent.statusIds = idArray || [];\r\n\r\n // this.filterParamsForEncounter.encounterTimeIntervalId = defautlEncTimeIntervalObj && defautlEncTimeIntervalObj.id;\r\n this.filterParamsForAppointent.appointmentTimeIntervalId =\r\n defaultAptTimeIntervalObj && defaultAptTimeIntervalObj.id;\r\n //this.filterTaskParams.timeIntervalFilterId = defaultTaskTimeIntervalObj && defaultTaskTimeIntervalObj.id;\r\n //this.filterCareGapGraph.StatusIds = defaultCareGapStatusObj && defaultCareGapStatusObj.id;\r\n // this.filterCareGapGraph.TimeIntervalId = defaultCareGapIntervalObj && defaultCareGapIntervalObj.id;\r\n //this.filterCareGapGraph.EnrollmentId = defaultEnrollTypeObj && defaultEnrollTypeObj.id;\r\n\r\n // this.filterParamsForEncounter.encounterTypeIds = (response.encounterTypes || []).filter(x => staticEncTypes.includes(x.value)).map(x => x.id);\r\n // this.filterParamsForEncounter.EnrollmentId = defaultEnrollTypeObj && defaultEnrollTypeObj.id;\r\n // if (this.filterParams.timeIntervalFilterId > 0) {\r\n // this.getDataForProgramEnrollesLineChart(this.filterParams)\r\n // }\r\n if (this.filterParamsForAppointent.appointmentTimeIntervalId > 0 && this.filterParamsForAppointent.CareManagerIds) {\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n\r\n // if (this.filterCareGapGraph.StatusIds > 0 && this.filterCareGapGraph.TimeIntervalId > 0) {\r\n // this.getDataForCareGapStatusPieChart();\r\n // }\r\n\r\n // if (this.filterParamsForEncounter.encounterTimeIntervalId > 0) {\r\n // this.getDataForEncounterLineChart(this.filterParamsForEncounter)\r\n // }\r\n\r\n // if (this.filterAlerts.EnrollmentId > 0) {\r\n // this.getDataForAlertGraph();\r\n // }\r\n // this.viewEmptyEncounterGraph();\r\n // this.viewEmptyAppointmentGraph();\r\n });\r\n }\r\n onApptGraphCMSelect(event: any) {\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n onStatusSelect(event: any) {\r\n let statusIdArray = event.value;\r\n this.filterParamsForAppointent.statusIds = statusIdArray || [];\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n onAppointmenttimeInterval(event: any) {\r\n this.filterParamsForAppointent.appointmentTimeIntervalId = event.value;\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n onResetApptCMDropdown() {\r\n this.filterParamsForAppointent.CareManagerIds = [];\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n onTabChanged(event: any) {\r\n\r\n this.selectedIndex = event.index;\r\n this.showTooltip = false;\r\n if (event.index == 0) {\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n } else if (event.index == 1) {\r\n this.showTooltip = true;\r\n this.getAllPatientAppointmentList();\r\n } else if (event.index == 2) {\r\n // this.getPendignPatientAppointmentList();\r\n this.getCancelledPatientAppointmentList();\r\n } else if (event.index == 3) {\r\n //this.getCancelledPatientAppointmentList();\r\n this.getPendingInvitedPatientAppointmentList();\r\n } else if (event.index == 4) {\r\n this.getPendingInvitedPatientAppointmentList();\r\n } else if (event.index == 5) {\r\n this.getAcceptedInvitedPatientAppointmentList();\r\n } else if (event.index == 6) {\r\n this.getRejectedInvitedPatientAppointmentList();\r\n }\r\n // else if (event.index == 4) {\r\n // this.loadChild(InvitedPendingComponent, this.tabContentPendingInvitation);\r\n // } else if (event.index == 5) {\r\n // this.loadChild(\r\n // InvitedAcceptedComponent,\r\n // this.tabContentAcceptedInvitation\r\n // );\r\n // } else if (event.index == 6) {\r\n // this.loadChild(\r\n // InvitedRejectedComponent,\r\n // this.tabContentRejectedInvitation\r\n // );\r\n // }\r\n }\r\n loadChild(component: any, tabContent: ViewContainerRef) {\r\n let factory: any;\r\n factory = this.cfr.resolveComponentFactory(component);\r\n tabContent.clear();\r\n let comp: ComponentRef<\r\n InvitedPendingComponent\r\n > = tabContent.createComponent(factory);\r\n //comp.instance.handleTabChange.subscribe(this.handleTabChange.bind(this));\r\n }\r\n\r\n getDataForAppointmentLineChart(filterParamsForAppointent: any) {\r\n this.appointmentGraphService\r\n .getLineChartDataForAppointments(filterParamsForAppointent)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.lineChartDataForAppointment = response.data || [];\r\n // this.viewAppointmentLineGraph();\r\n if (\r\n this.lineChartDataForAppointment &&\r\n this.lineChartDataForAppointment.length > 0\r\n ) {\r\n this.viewAppointmentLineGraph();\r\n } else {\r\n this.showGraphAppointment = false;\r\n }\r\n } else {\r\n this.lineChartDataForAppointment = [];\r\n }\r\n });\r\n }\r\n getAllPatientAppointmentList(pageNumber: number = 1, pageSize: number = 5) {\r\n const filters = {\r\n // locationIds: this.currentLocationId,\r\n // staffIds: (this.userRoleName || '').toUpperCase() == 'ADMIN' ? \"\" : this.currentLoginUserId,\r\n //fromDate: format(new Date(), \"YYYY-MM-DD\"),\r\n //toDate: format(addDays(new Date(), 720), \"YYYY-MM-DD\"),\r\n // status: 'Approved',\r\n pageNumber,\r\n pageSize\r\n };\r\n this.appointmentGraphService\r\n .getAcceptedOrApprovedAppointmentList(filters)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n\r\n this.allAppointmentsList =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.allAppointmentsList = (this.allAppointmentsList || []).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n //console.log(this.allAppointmentsList)\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n return x;\r\n });\r\n this.allAppointmentsMeta = response.meta;\r\n }\r\n this.allAppointmentsMeta.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n getPendignPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getPendingPatientAppointment(this.pendingAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.pendingPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.pendingPatientAppointment = (this.pendingPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.pendingAppointmentMeta = response.meta;\r\n } else {\r\n this.pendingPatientAppointment = [];\r\n this.pendingAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n\r\n getCancelledPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getCancelledPatientAppointment(this.cancelledAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.cancelledPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.cancelledPatientAppointment = (this\r\n .cancelledPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.cancelledAppointmentMeta = response.meta;\r\n } else {\r\n this.cancelledPatientAppointment = [];\r\n this.cancelledAppointmentMeta = null;\r\n }\r\n this.cancelledAppointmentMeta.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n\r\n getTentativePatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getTentativePatientAppointmentList(this.tentativeAptFilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.tentativePatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.tentativePatientAppointment = (this\r\n .tentativePatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.tentativeAppointmentMeta = response.meta;\r\n } else {\r\n this.tentativePatientAppointment = [];\r\n this.tentativeAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n viewAppointmentLineGraph() {\r\n this.showGraphAppointment = true;\r\n let appointmentArrayMonth = Array.from(\r\n new Set(this.lineChartDataForAppointment.map(x => x.xAxis))\r\n ).map(xAxis => {\r\n let x = this.lineChartDataForAppointment.find(x => x.xAxis == xAxis);\r\n return {\r\n ...x\r\n };\r\n });\r\n let resultArrayAppointment = Array.from(\r\n new Set(this.lineChartDataForAppointment.map(x => x.appointmentStatus))\r\n )\r\n .sort()\r\n .map(appointmentStatus => {\r\n return this.lineChartDataForAppointment.find(\r\n x => x.appointmentStatus == appointmentStatus\r\n ).appointmentStatus;\r\n });\r\n\r\n if (resultArrayAppointment.includes(\"Accepted\")) {\r\n resultArrayAppointment.push(resultArrayAppointment.shift());\r\n }\r\n let bgColors = resultArrayAppointment.map(appointmentStatus => {\r\n return this.lineChartDataForAppointment.find(\r\n x => x.appointmentStatus == appointmentStatus\r\n ).color;\r\n });\r\n\r\n this.lineChartLabels_appointments = [];\r\n this.lineChartOptions_appointments = {\r\n responsive: true,\r\n maintainAspectRatio: false\r\n };\r\n this.barChartColors_appointments = [\r\n //colors according to appointment type\r\n { backgroundColor: \"rgb(34, 197, 94)\" }, // Approved\r\n { backgroundColor: \"rgb(239, 68, 68)\" }, // Cancelled\r\n { backgroundColor: \"rgb(59, 130, 246)\" }, // Completed\r\n { backgroundColor: \"rgb(249, 115, 22)\" }, // Declined\r\n { backgroundColor: \"rgb(234, 179, 8)\" }, // Pending\r\n { backgroundColor: \"rgb(168, 85, 247)\" }, // Rejected\r\n { backgroundColor: \"rgb(16, 185, 129)\" } // Rescheduled\r\n // { backgroundColor: \"rgb(147, 238, 147)\" },\r\n // { backgroundColor: \"rgb(122, 219, 131)\" },\r\n // { backgroundColor: \"rgb(255, 132, 132)\" },\r\n // { backgroundColor: \"rgb(116, 217, 255)\" },\r\n // { backgroundColor: \"rgb(253, 209, 100)\" }\r\n ];\r\n\r\n //equating bg color with appointment types\r\n if ((bgColors || []).filter(x => x != null).length === resultArrayAppointment.length) {\r\n this.barChartColors_appointments = bgColors.map(c => ({ backgroundColor: c }));\r\n }\r\n // if ((bgColors || []).filter(x => x != null).length > 0) {\r\n // this.barChartColors_appointments = (bgColors || []).map(c => {\r\n // return { backgroundColor: c };\r\n // });\r\n // }\r\n if (appointmentArrayMonth.length > 0) {\r\n let sortedMonth = appointmentArrayMonth.sort((a, b) => {\r\n return (\r\n new Date(a.yearNumber).getTime() - new Date(b.yearNumber).getTime()\r\n );\r\n });\r\n this.lineChartLabels_appointments = sortedMonth\r\n .filter(x => x.xAxis != null)\r\n .map(({ xAxis, yearNumber }) => xAxis);\r\n }\r\n if (resultArrayAppointment && resultArrayAppointment.length > 0) {\r\n let newChartDataArray = [];\r\n for (let i = 0; i < resultArrayAppointment.length; i++) {\r\n newChartDataArray.push({\r\n label: resultArrayAppointment[i],\r\n data: this.lineChartDataForAppointment\r\n .filter(x => x.appointmentStatus == resultArrayAppointment[i])\r\n .sort((a, b) => {\r\n return a.monthNumber - b.monthNumber;\r\n })\r\n .map(({ appointmentCount }) => parseInt(appointmentCount)),\r\n fill: false,\r\n stack: \"a\"\r\n });\r\n }\r\n this.lineChartData_appointments = [...newChartDataArray];\r\n }\r\n }\r\n // getStaffsByLocation(): void {\r\n // let locId: string;\r\n\r\n // if (this.currentLocationId === null || this.currentLocationId === undefined) {\r\n // //console.log(\"currentLocationId is null or undefined, setting locId to '156'\");\r\n // locId = \"156\";\r\n // } else {\r\n // // console.log(\"currentLocationId is set, using it as locId\");\r\n // locId = this.currentLocationId;\r\n // }\r\n // this.appointmentGraphService\r\n // .getStaffAndPatientByLocation(locId)\r\n // .subscribe((response: any) => {\r\n // if (response.statusCode == 200) {\r\n // if ((this.userRoleName || \"\").toUpperCase() == \"ADMIN\") {\r\n // this.masterStaffs = response.data.staff || [];\r\n // let idArray = this.masterStaffs.map(function (a) {\r\n // return a.id;\r\n // });\r\n // this.filterParamsForAppointent.CareManagerIds = idArray || [];\r\n // }\r\n // else {\r\n // this.masterStaffs.push(response.data.staff.find(x => x.id == this.currentLoginUserId));\r\n // this.filterParamsForAppointent.CareManagerIds = [\r\n // this.currentLoginUserId\r\n // ];\r\n // }\r\n\r\n // } else {\r\n // this.masterStaffs = [];\r\n // }\r\n // });\r\n // }\r\n getStaffsByLocation(): void {\r\n let locId: string = this.currentLocationId ? this.currentLocationId : '156';\r\n \r\n this.appointmentGraphService.getStaffAndPatientByLocation(locId).subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.masterStaffs = response.data.staff || [];\r\n this.filteredStaffs = [...this.masterStaffs]; // Show all consultants initially\r\n if (this.userRoleName.toUpperCase() === 'ADMIN') {\r\n let idArray = this.masterStaffs.map(a => a.id);\r\n this.filterParamsForAppointent.CareManagerIds = idArray || [];\r\n } else {\r\n this.masterStaffs.push(response.data.staff.find(x => x.id == this.currentLoginUserId));\r\n this.filterParamsForAppointent.CareManagerIds = [this.currentLoginUserId];\r\n }\r\n } else {\r\n this.masterStaffs = [];\r\n this.filteredStaffs = [];\r\n }\r\n });\r\n }\r\n\r\n getConsultantName(id: number): string {\r\n const consultant = this.filteredStaffs.find(c => c.id === id);\r\n return consultant ? consultant.value : 'Unknown';\r\n }\r\n \r\n // Method to filter consultants based on search text\r\n onSearchConsultant(event: any): void {\r\n const searchValue = this.searchText.toLowerCase();\r\n this.filteredStaffs = this.masterStaffs.filter(c => c.value.toLowerCase().includes(searchValue));\r\n }\r\n // Search consultants by typing in the search bar\r\n // onSearchConsultant(event: any): void {\r\n // const filterValue = event.target.value.toLowerCase();\r\n // this.filteredStaffs = this.masterStaffs.filter(staff =>\r\n // staff.value.toLowerCase().includes(filterValue)\r\n // );\r\n // }\r\n onPendingPageOrSortChange(changeState?: any) {\r\n this.setPendingPaginatorModel(\r\n changeState.pageNumber,\r\n 5,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getPendignPatientAppointmentList();\r\n }\r\n onCancelledPageOrSortChange(changeState?: any) {\r\n this.setCancelledPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getCancelledPatientAppointmentList();\r\n }\r\n onUpcomingAptPageOrSortChange(changeState?: any) {\r\n this.setUpcomingPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getAllPatientAppointmentList(changeState.pageNumber, changeState.pageSize);\r\n }\r\n onTentativeAptPageOrSortChange(changeState?: any) {\r\n this.setTentativeAptPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getTentativePatientAppointmentList();\r\n }\r\n setPendingPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.pendingAptfilterModel.pageNumber = pageNumber;\r\n this.pendingAptfilterModel.pageSize = pageSize;\r\n this.pendingAptfilterModel.sortOrder = sortOrder;\r\n this.pendingAptfilterModel.sortColumn = sortColumn;\r\n }\r\n setCancelledPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.cancelledAptfilterModel.pageNumber = pageNumber;\r\n this.cancelledAptfilterModel.pageSize = pageSize;\r\n this.cancelledAptfilterModel.sortOrder = sortOrder;\r\n this.cancelledAptfilterModel.sortColumn = sortColumn;\r\n }\r\n setUpcomingPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.upcomingAptfilterModel.pageNumber = pageNumber;\r\n this.upcomingAptfilterModel.pageSize = pageSize;\r\n this.upcomingAptfilterModel.sortOrder = sortOrder;\r\n this.upcomingAptfilterModel.sortColumn = sortColumn;\r\n }\r\n setTentativeAptPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.tentativeAptFilterModel.pageNumber = pageNumber;\r\n this.tentativeAptFilterModel.pageSize = pageSize;\r\n this.tentativeAptFilterModel.sortOrder = sortOrder;\r\n this.tentativeAptFilterModel.sortColumn = sortColumn;\r\n }\r\n getUserPermissions() {\r\n const schedulerActionPermissions = this.appointmentGraphService.getUserScreenActionPermissions(\r\n \"SCHEDULING\",\r\n \"SCHEDULING_LIST\"\r\n );\r\n const {\r\n SCHEDULING_LIST_CANCEL_APPOINTMENT,\r\n SCHEDULING_LIST_APPROVE_APPOINTMENT\r\n } = schedulerActionPermissions;\r\n let userRole: string = \"\";\r\n this.commonService.userRole.subscribe(res => {\r\n userRole = res;\r\n });\r\n\r\n if ((userRole || \"\").toUpperCase() != \"PROVIDER\") {\r\n let spliceIndex = this.pendingActionButtons.findIndex(\r\n obj => obj.key == \"approve\"\r\n );\r\n this.pendingActionButtons.splice(spliceIndex, 1);\r\n }\r\n\r\n // if (!SCHEDULING_LIST_APPROVE_APPOINTMENT) {\r\n // let spliceIndex = this.pendingActionButtons.findIndex(obj => obj.key == 'approve');\r\n // this.pendingActionButtons.splice(spliceIndex, 1)\r\n // }\r\n if (!SCHEDULING_LIST_CANCEL_APPOINTMENT) {\r\n let spliceIndex = this.pendingActionButtons.findIndex(\r\n obj => obj.key == \"cancel\"\r\n );\r\n this.pendingActionButtons.splice(spliceIndex, 1);\r\n }\r\n }\r\n onTableActionClick(actionObj?: any) {\r\n\r\n\r\n\r\n const id = actionObj.data && actionObj.data.patientAppointmentId;\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"APPROVE\":\r\n const appointmentData = {\r\n id: id,\r\n status: \"APPROVED\"\r\n };\r\n this.createApproveAppointmentModel(appointmentData);\r\n break;\r\n case \"CANCEL\":\r\n this.cancelAppointmentDialog(id);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n CheckIstimeExpired = (item: any): boolean => {\r\n return this.IstimeExpired;\r\n }\r\n\r\n onTableRowClick(actionObj?: any) {\r\n this.currentAppointmentId = actionObj.data.patientAppointmentId;\r\n this.currentPatientId = actionObj.data.patientID;\r\n this.IstimeExpired = this.CheckTime(actionObj.data);\r\n //console.log(actionObj.data);\r\n if (this.selectedIndex == 1 && actionObj.action != \"video\" && actionObj.action != \"otp\") {\r\n this.onContextMenu(actionObj.action);\r\n }\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"VIDEO\":\r\n // this.router.navigate([\"/web/encounter/soap\"], {\r\n // queryParams: {\r\n // apptId: this.currentAppointmentId,\r\n // encId: actionObj.data.patientEncounterId\r\n // },\r\n // });\r\n this.router.navigate([\"/web/waiting-room/\" + this.currentAppointmentId]);\r\n break;\r\n case \"OTP\":\r\n var otpmodel = {\r\n id: this.currentAppointmentId,\r\n status: true,\r\n }\r\n this.appointmentGraphService.sendotprequest(otpmodel).subscribe((data: any) => {\r\n this.openDialog();\r\n })\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n createApproveAppointmentModel(appointmentData: any) {\r\n let dbModal;\r\n dbModal = this.dailog.open(ApproveAppointmentDialogComponent, {\r\n hasBackdrop: true,\r\n data: appointmentData\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") {\r\n this.getPendignPatientAppointmentList();\r\n }\r\n });\r\n }\r\n cancelAppointmentDialog(id: number) {\r\n let dbModal;\r\n dbModal = this.dailog.open(CancelAppointmentDialogComponent, {\r\n hasBackdrop: true,\r\n data: id\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") {\r\n this.getPendignPatientAppointmentList();\r\n }\r\n });\r\n }\r\n\r\n getPendingInvitedPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getPendingInvitedPatientAppointment(this.invitedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedPatientAppointment = (this.invitedPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.invitedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedPatientAppointment = [];\r\n this.invitedAppointmentMeta = null;\r\n }\r\n this.invitedAppointmentMeta.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n onPendingInvitationTableActionClick(actionObj?: any) {\r\n const id = actionObj.data && actionObj.data.patientAppointmentId;\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"ACCEPT\":\r\n const appointmentAcceptData = {\r\n title: \"Accept\",\r\n appointmentId: id,\r\n status: \"Invitation_Accepted\"\r\n };\r\n this.createAcceptRejectInvitationAppointmentModel(\r\n appointmentAcceptData\r\n );\r\n break;\r\n case \"REJECT\":\r\n const appointmentRejectData = {\r\n title: \"Reject\",\r\n appointmentId: id,\r\n status: \"Invitation_Rejected\"\r\n };\r\n this.createAcceptRejectInvitationAppointmentModel(\r\n appointmentRejectData\r\n );\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n createAcceptRejectInvitationAppointmentModel(appointmentData: any) {\r\n let dbModal;\r\n dbModal = this.dailog.open(AcceptRejectAppointmentInvitationComponent, {\r\n hasBackdrop: true,\r\n data: appointmentData\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") {\r\n this.getPendingInvitedPatientAppointmentList();\r\n }\r\n });\r\n }\r\n getAcceptedInvitedPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getAcceptedInvitedPatientAppointment(this.invitedAcceptedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedAcceptedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedAcceptedPatientAppointment = (this\r\n .invitedAcceptedPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.invitedAcceptedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedAcceptedPatientAppointment = [];\r\n this.invitedAcceptedAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n onContextMenu($event: MouseEvent) {\r\n\r\n this.contextMenuService.show.next({\r\n anchorElement: $event.target,\r\n // Optional - if unspecified, all context menu components will open\r\n contextMenu: this.contextMenu,\r\n event: $event,\r\n item: 5\r\n\r\n });\r\n\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n openDialogBookAppointment(staffId: number, providerId: string, type: boolean) {\r\n\r\n let dbModal;\r\n dbModal = this.dailog.open(AppointmentReschedulingDialogComponent, {\r\n hasBackdrop: true, minWidth: '50%', maxWidth: '50%',\r\n data: {\r\n staffId: staffId,\r\n userInfo: null,\r\n providerId: providerId,\r\n locationId: this.currentLocationId || 0,\r\n isNewAppointment: type,\r\n appointmentId: type ? 0 : this.currentAppointmentId,\r\n patientId: type ? 0 : this.currentPatientId\r\n }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n\r\n if (result != null && result != \"close\") {\r\n if (result == \"booked\") {\r\n }\r\n }\r\n else {\r\n this.getAllPatientAppointmentList();\r\n }\r\n });\r\n }\r\n createCancelAppointmentModel(appointmentId: number) {\r\n const modalPopup = this.dailog.open(\r\n CancelAppointmentDialogComponent,\r\n {\r\n hasBackdrop: true,\r\n data: appointmentId,\r\n }\r\n );\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n\r\n });\r\n }\r\n createViewAppointmentModel(appointmentId: number) {\r\n const modalPopup = this.dailog.open(\r\n AppointmentViewComponent,\r\n {\r\n hasBackdrop: true, minWidth: '80%', maxWidth: '80%',\r\n data: appointmentId,\r\n\r\n }\r\n );\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n\r\n });\r\n }\r\n createAddPersonModel(appointmentId: number, sessionId: number) {\r\n\r\n const modalPopup = this.dailog.open(AddNewCallerComponent, {\r\n hasBackdrop: true,\r\n data: { appointmentId: appointmentId, sessionId: sessionId },\r\n });\r\n }\r\n addEvent(event: any, type: any): void {\r\n\r\n\r\n switch (type) {\r\n case '1':\r\n this.openDialogBookAppointment(this.currentLoginUserId, this.currentLoginUserId.toString(), true)\r\n break;\r\n case '2':\r\n this.createViewAppointmentModel(this.currentAppointmentId);\r\n break;\r\n case '3':\r\n this.openDialogBookAppointment(this.currentLoginUserId, this.currentLoginUserId.toString(), false)\r\n break;\r\n case '4':\r\n this.createCancelAppointmentModel(this.currentAppointmentId);\r\n break;\r\n case '5':\r\n const modalPopup = this.dailog.open(SetReminderComponent, {\r\n hasBackdrop: true,\r\n data: { appointmentId: this.currentAppointmentId },\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result === \"save\") { }\r\n });\r\n break;\r\n\r\n case '6':\r\n if ((this.userRoleName || '').toUpperCase() == 'ADMIN') {\r\n this.router.navigate([\"/web/manage-users/users\"]);\r\n }\r\n else if ((this.userRoleName || '').toUpperCase() == 'PROVIDER' || (this.userRoleName || '').toUpperCase() == 'STAFF') {\r\n localStorage.setItem('tabToLoad', \"Availability\");\r\n this.router.navigate([\"/web/manage-users/user\"], {\r\n queryParams: {\r\n id: this.commonService.encryptValue(this.currentLoginUserId),\r\n },\r\n });\r\n }\r\n break;\r\n case '7':\r\n\r\n this.addNewCallerService\r\n .getOTSessionByAppointmentId(this.currentAppointmentId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.createAddPersonModel(\r\n this.currentAppointmentId,\r\n response.data.id\r\n );\r\n }\r\n });\r\n break;\r\n\r\n\r\n }\r\n\r\n }\r\n getRejectedInvitedPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getRejectedInvitedPatientAppointment(this.invitedRejectedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedRejectedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedRejectedPatientAppointment = (this\r\n .invitedRejectedPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.invitedRejectedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedRejectedPatientAppointment = [];\r\n this.invitedRejectedAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n onPendingInvitationPageOrSortChange(changeState?: any) {\r\n this.setInvitePendingPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getPendingInvitedPatientAppointmentList();\r\n }\r\n setInvitePendingPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.invitedAptfilterModel.pageNumber = pageNumber;\r\n this.invitedAptfilterModel.pageSize = pageSize;\r\n this.invitedAptfilterModel.sortOrder = sortOrder;\r\n this.invitedAptfilterModel.sortColumn = sortColumn;\r\n }\r\n onAcceptedInvitationPageOrSortChange(changeState?: any) {\r\n this.setInviteAcceptedPaginatorModel(\r\n changeState.pageNumber,\r\n 5,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getAcceptedInvitedPatientAppointmentList();\r\n }\r\n setInviteAcceptedPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.invitedAcceptedAptfilterModel.pageNumber = pageNumber;\r\n this.invitedAcceptedAptfilterModel.pageSize = pageSize;\r\n this.invitedAcceptedAptfilterModel.sortOrder = sortOrder;\r\n this.invitedAcceptedAptfilterModel.sortColumn = sortColumn;\r\n }\r\n onRejectedInvitationPageOrSortChange(changeState?: any) {\r\n this.setInviteRejectedPaginatorModel(\r\n changeState.pageNumber,\r\n 5,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getRejectedInvitedPatientAppointmentList();\r\n }\r\n setInviteRejectedPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.invitedRejectedAptfilterModel.pageNumber = pageNumber;\r\n this.invitedRejectedAptfilterModel.pageSize = pageSize;\r\n this.invitedRejectedAptfilterModel.sortOrder = sortOrder;\r\n this.invitedRejectedAptfilterModel.sortColumn = sortColumn;\r\n }\r\n openDialog(): void {\r\n const dialogRef = this.dailog.open(OtpRequestSendComponent, {\r\n\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n //console.log(result)\r\n });\r\n }\r\n}\r\n\r\n","\r\nexport class ProvideViewRatingModel {\r\n id: number;\r\n cunsultantName:string;\r\n corporateUserName:string; \r\n rating: number; \r\n review: string;\r\n description:string;\r\n isPublic:boolean;\r\n patientAppointmentId:number;\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please add rating\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please add review between 5-80 character\\r\\n \\r\\n \\r\\n
\\r\\n
\\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, Inject, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { ClientsService } from '../../client-portal/clients.service';\r\nimport { ReviewRatingModel } from '../../client-portal/review-rating/review-rating.model';\r\nimport { ResponseModel } from '../../core/modals/common-model';\r\nimport { ViewRatingModel } from '../view-ratings/view-rating-model';\r\nimport { ViewRatingsComponent } from '../view-ratings/view-ratings.component';\r\nimport { ProvideViewRatingModel } from './provide-review-rating-model';\r\n\r\n@Component({\r\n selector: 'app-provide-review-rating',\r\n templateUrl: './provide-review-rating.component.html',\r\n styleUrls: ['./provide-review-rating.component.css']\r\n})\r\nexport class ProvideReviewRatingComponent implements OnInit {\r\n reviewRatingForm: FormGroup;\r\n reviewModel: ReviewRatingModel;\r\n reviewRatingId: number;\r\n appointmentId: number;\r\n \r\n staffId:number;\r\n headerText: string = \"\";\r\n\r\n submitted: boolean = false;\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private clientService: ClientsService,\r\n private activatedRoute: ActivatedRoute,\r\n private notifierService: NotifierService,\r\n private route: Router,\r\n private dialogModalRef: MatDialogRef\r\n ) {\r\n this.reviewModel =\r\n this.data.reviewRatingModel == null\r\n ? new ProvideViewRatingModel()\r\n : this.data.reviewRatingModel;\r\n this.headerText = \"Please provide rating for this appointment\";\r\n }\r\n\r\n ngOnInit() {\r\n this.reviewRatingForm = this.formBuilder.group(\r\n {\r\n rating: [\r\n \"\",\r\n [\r\n Validators.required,\r\n Validators.minLength(1),\r\n Validators.min(1),\r\n Validators.maxLength\r\n ]\r\n ],\r\n review: []\r\n },\r\n { validator: this.validateForm.bind(this) }\r\n );\r\n\r\n //console.log(this.reviewModel);\r\n this.reviewRatingForm.patchValue({\r\n rating: this.reviewModel.rating,\r\n review: this.reviewModel.review\r\n });\r\n\r\n this.reviewRatingId = this.reviewModel.id;\r\n this.appointmentId = this.reviewModel.patientAppointmentId;\r\n this.staffId=this.reviewModel.staffId;\r\n }\r\n get formControls() {\r\n return this.reviewRatingForm.controls;\r\n }\r\n validateForm(formGroup: FormGroup) {\r\n return null;\r\n }\r\n getReviewRatings() {\r\n this.clientService\r\n .getReviewRatingById(this.reviewRatingId)\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n this.reviewModel = response.data;\r\n //this.reviewModel.tag = this.reviewModel.patientTags != null ? this.reviewModel.patientTags.map(({ tagID }) => tagID) : [];\r\n this.reviewRatingForm.patchValue(this.reviewModel);\r\n }\r\n });\r\n }\r\n onRate(event: any) {\r\n // this.reviewModel.rating = event.newValue\r\n this.reviewRatingForm.patchValue({\r\n rating: event.newValue\r\n });\r\n }\r\n\r\n onSubmit() {\r\n if (!this.reviewRatingForm.invalid) {\r\n this.reviewModel = this.reviewRatingForm.value;\r\n this.reviewModel.id = this.reviewRatingId;\r\n this.reviewModel.patientAppointmentId = this.appointmentId;\r\n this.reviewModel.staffId=this.staffId;\r\n\r\n this.submitted = true;\r\n this.clientService\r\n .saveUpdateReviewRating(this.reviewModel)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.reviewRatingId = response.data.id;\r\n // this.commonService.initializeAuthData();\r\n // this.route.navigate([\"web/client/dashboard\"], {});\r\n this.notifierService.notify(\"success\", response.message);\r\n this.closeDialog(\"save\");\r\n\r\n // this.handleTabChange.next({ tab: \"{PAST APPOINTMENTS}\" });\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n}\r\n","module.exports = \".add-company {\\r\\n min-width: 340px !important;\\r\\n max-width: 710px !important;\\r\\n}\\r\\n\\r\\n.add-company-model{\\r\\n min-width: auto !important;\\r\\n}\\r\\n\\r\\n.filter-section{\\r\\n gap: 20px;\\r\\n}\\r\\n\\r\\n.mat-forms{\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.parent-block{\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.buttons-block{\\r\\n display: flex;\\r\\n gap: 10px;\\r\\n}\\r\\n\\r\\n.buttons-block .search_btn{\\r\\n height: 49px !important;\\r\\n}\\r\\n\\r\\n.mat-block ::ng-deep .mat-form-field-underline{\\r\\n display:none !important;\\r\\n}\\r\\n\\r\\n.mat-block ::ng-deep .mat-form-field-wrapper {\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.buttons-block .download-report{\\r\\n height: 49px !important;\\r\\n}\\r\\n\\r\\n.mat-block ::ng-deep .mat-form-field-flex{\\r\\n padding: 10px 5px;\\r\\n}\\r\\n\\r\\n.mat-block ::ng-deep .mat-form-field-infix{\\r\\n padding-bottom: 0px;\\r\\n}\\r\\n\\r\\n.mat-block ::ng-deep .mat-form-field-flex{\\r\\n padding: 5px 8px 0px 8px !important;\\r\\n \\r\\n}\\r\\n\\r\\n::ng-deep #cdk-overlay-3{\\r\\n -webkit-transform: translateX(1px) translateY(190px) !important;\\r\\n transform: translateX(1px) translateY(190px) !important;\\r\\n}\\r\\n\\r\\n.mat-block ::ng-deep .mat-form-field-label{\\r\\n position: relative !important;\\r\\n top: 8px !important;\\r\\n}\\r\\n\\r\\n.mat-block ::ng-deep .mat-form-field-flex{\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.table-container {\\r\\n max-height: 500px; /* Adjust height as needed */\\r\\n overflow-y: auto;\\r\\n overflow-x: auto;\\r\\n }\\r\\n \"","module.exports = \"
\\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 Company Name\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ company }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Year\\r\\n \\r\\n {{ year }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Month\\r\\n \\r\\n {{ month }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
0; else noRecord\\\">\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
Company Name {{element.companyName}} Member Name {{element.memberName}} Month {{ element.month }} Year {{element.year}} Reward Points {{element.rewardPoints}} Monthly Steps Goal {{element.steps}} Daily Steps Goal {{element.stepsetted}} Steps Achieved {{element.achievedSteps}} Actions \\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 records found.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatTableDataSource, MatPaginator, MatSort, MatDialog } from '@angular/material';\r\nimport { CompanyService } from '../../manage-company/company.service';\r\nimport { ApiResponse, RewardData } from '../../masters/Manage-Reports/reward-data';\r\nimport { AddCompanyService } from '../../manage-companies/add-company-modal/add-company.service';\r\nimport { FilterModel } from 'src/app/super-admin-portal/core/modals/common-model';\r\nimport { AdminRewardPointComponent } from '../../manage-company/admin-reward-point/admin-reward-point.component';\r\n@Component({\r\n selector: 'app-manage-report',\r\n templateUrl: './manage-report.component.html',\r\n styleUrls: ['./manage-report.component.css']\r\n})\r\nexport class ManageReportComponent implements OnInit {\r\n loaderImage = \"../../../../../assets/loader.gif\";\r\n isDataLoading = true;\r\n dataSource = new MatTableDataSource();\r\n searchText: string = \"\";\r\n filteredCompanies: string[] = [];\r\n filterModel = {\r\n Companyname: '',\r\n Year: '',\r\n Month: ''\r\n };\r\n \r\n\r\n displayedColumns: string[] = [\r\n 'companyName',\r\n 'memberName',\r\n 'month',\r\n 'Year',\r\n 'rewardPoints',\r\n 'stepsGoal',\r\n 'steps',\r\n 'AchieveStep',\r\n 'Actions'\r\n ];\r\n actionButtons: Array = [\r\n { displayName: 'Reward', key: 'Reward', class: 'fa-solid fa-award' }\r\n ];\r\n\r\n @ViewChild(MatPaginator) paginator!: MatPaginator;\r\n @ViewChild(MatSort) sort!: MatSort;\r\n filterModel1: FilterModel;\r\n companies: any;\r\n years: any[];\r\n months: string[] = [\r\n 'January',\r\n 'February',\r\n 'March',\r\n 'April',\r\n 'May',\r\n 'June',\r\n 'July',\r\n 'August',\r\n 'September',\r\n 'October',\r\n 'November',\r\n 'December'\r\n];\r\n isLoading: boolean;\r\n ExportButtonDisable: boolean;\r\n spinnerExport: boolean;\r\n companySearchTerm: any;\r\n\r\n constructor(private _companyService: CompanyService,private addCompanyService: AddCompanyService,public dialog: MatDialog,) {}\r\n\r\n ngOnInit() {\r\n this.GetcompanyName() \r\n this.initializeYears();\r\n }\r\n\r\n GetCompanyReward() {\r\n this.isDataLoading = true;\r\n\r\n this._companyService.generatcompanyReward(this.filterModel).subscribe(\r\n (res: ApiResponse) => {\r\n this.dataSource.data = res.data;\r\n this.isDataLoading = false;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n );\r\n }\r\n DownloadfileAsExcel() {\r\n //debugger\r\n // Set initial loading state\r\n this.isDataLoading = true;\r\n this.ExportButtonDisable = true;\r\n this.spinnerExport = true;\r\n\r\n // Call the service to generate the company reward\r\n this._companyService.generatcompanyReward(this.filterModel).subscribe(\r\n (response: any) => {\r\n // Check if the response is valid and has data\r\n if (response && response.statusCode === 200 && response.data && response.data.length > 0) {\r\n const reportList = response.data;\r\n const excelData = reportList.map((obj: any) => {\r\n return {\r\n CompanyName: obj.companyName,\r\n MemberName: obj.memberName,\r\n NICNumber: obj.nicNumber,\r\n Month: obj.month,\r\n Year: obj.year,\r\n RewardPoints: obj.rewardPoints,\r\n DailyStepGoal:obj.stepsetted,\r\n StepsAchieve: obj.steps,\r\n };\r\n });\r\n\r\n // Dynamically import xlsx and generate Excel file\r\n import(\"xlsx\").then(xlsx => {\r\n const worksheet = xlsx.utils.json_to_sheet(excelData); // Convert JSON to Excel sheet\r\n const workbook = { Sheets: { data: worksheet }, SheetNames: ['data'] };\r\n const excelBuffer: any = xlsx.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, \"task\");\r\n });\r\n } else {\r\n // Handle the case when no data is found\r\n console.error(\"No data found for the given criteria.\");\r\n // You can show an alert or notification to the user here if needed\r\n }\r\n\r\n // Reset loading state after data is processed\r\n this.isDataLoading = false;\r\n this.ExportButtonDisable = false;\r\n this.spinnerExport = false;\r\n },\r\n (error) => {\r\n // Handle errors from the service call\r\n console.error(\"Error while generating company reward:\", error);\r\n\r\n // Reset loading state in case of error\r\n this.isDataLoading = false;\r\n this.ExportButtonDisable = false;\r\n this.spinnerExport = false;\r\n }\r\n );\r\n}\r\n\r\nDownloadfileAsPDF() {\r\n this.isDataLoading = true;\r\n this.ExportButtonDisable = true;\r\n this.spinnerExport = true;\r\n\r\n this._companyService.generatcompanyReward(this.filterModel).subscribe(\r\n (response: any) => {\r\n if (response && response.statusCode === 200 && response.data && response.data.length > 0) {\r\n const reportList = response.data;\r\n\r\n const pdfData = reportList.map((obj: any) => [\r\n obj.companyName,\r\n obj.memberName,\r\n obj.nicNumber,\r\n obj.month,\r\n obj.year,\r\n obj.rewardPoints,\r\n obj.stepsetted,\r\n obj.achievedSteps,\r\n ]);\r\n\r\n // Access jsPDF and autoTable from window\r\n const { jsPDF } = (window as any).jspdf;\r\n const doc = new jsPDF();\r\n\r\n // Add title\r\n doc.text(\"Company Reward Report\", 14, 16);\r\n\r\n // Define column headers\r\n const headers = [[\"Company Name\", \"Member Name\", \"NIC Number\", \"Month\", \"Year\", \"Reward Points\", \"Daily StepGoal\",\"Steps Achieved\"]];\r\n\r\n // Add the data to the PDF using autoTable\r\n doc.autoTable({\r\n head: headers,\r\n body: pdfData,\r\n startY: 20,\r\n });\r\n\r\n // Save the PDF\r\n doc.save(\"CompanyRewardReport.pdf\");\r\n } else {\r\n console.error(\"No data found for the given criteria.\");\r\n }\r\n\r\n this.isDataLoading = false;\r\n this.ExportButtonDisable = false;\r\n this.spinnerExport = false;\r\n },\r\n (error) => {\r\n console.error(\"Error while generating company reward:\", error);\r\n\r\n this.isDataLoading = false;\r\n this.ExportButtonDisable = false;\r\n this.spinnerExport = false;\r\n }\r\n );\r\n}\r\n\r\n\r\ninitializeYears() {\r\n const currentYear = new Date().getFullYear();\r\n // Generate an array of years from the current year to 2034\r\n this.years = Array.from({ length: 2034 - currentYear + 1 }, (_, index) => currentYear + index);\r\n}\r\nGetcompanyName() {\r\n this.addCompanyService.GetRewardList(this.filterModel1).subscribe(\r\n (res) => {\r\n // Assuming res.data is an array of filter options\r\n this.companies = Array.from(new Set(res.data.map(item => item.companyName)));\r\n this.filteredCompanies = this.companies; // Initialize the filtered list\r\n\r\n this.years = this.years; // Initialize your year options here\r\n this.months = this.months; // Initialize your month options here\r\n\r\n console.log('Companies:', this.companies);\r\n console.log('Years:', this.years);\r\n console.log('Months:', this.months);\r\n\r\n this.isDataLoading = false;\r\n },\r\n error => {\r\n console.error('Error fetching filter data', error);\r\n this.isDataLoading = false;\r\n }\r\n );\r\n}\r\n\r\nfilterCompanies() {\r\n const searchTerm = this.companySearchTerm.toLowerCase();\r\n this.filteredCompanies = this.companies.filter(company =>\r\n company.toLowerCase().includes(searchTerm)\r\n );\r\n}\r\n\r\nonDropdownOpen() {\r\n this.companySearchTerm = ''; // Reset search term when the dropdown is opened\r\n this.filteredCompanies = this.companies; // Reset the filtered list\r\n}\r\n\r\n\r\n applyFilters() {\r\n this.GetCompanyReward();\r\n }\r\n\r\n applyFilter(searchText: string) {\r\n this.dataSource.filter = searchText.trim().toLowerCase();\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n onTableActionClick(actionObj: any) {\r\n //debugger\r\n this.openRewardDialog(actionObj.data.patientId);\r\n }\r\n openRewardDialog(data : any): void {\r\n const dialogRef = this.dialog.open(AdminRewardPointComponent, {\r\n data:{data}\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n // if (localStorage.getItem('membershipplanid') != '') {\r\n // this.basicplan();\r\n // }\r\n });\r\n }\r\n\r\n saveAsExcelFile(buffer: any, fileName: string): void {\r\n import(\"file-saver\").then(FileSave => {\r\n let EXCEL_TYPE = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8\";\r\n let EXCEL_EXTENSION = \".xlsx\";\r\n const data: Blob = new Blob([buffer], {\r\n type: EXCEL_TYPE\r\n });\r\n\r\n FileSave.saveAs(data, \"Reward Reports\" + EXCEL_EXTENSION);\r\n this.ExportButtonDisable = false;\r\n });\r\n }\r\n\r\n \r\n}\r\n","module.exports = \"\\r\\n\\r\\n.navbar-manage-01 {\\r\\n position: fixed !important;\\r\\n top: 75px;\\r\\n width: 100%;\\r\\n height: 40px;\\r\\n z-index: 1020 !important;\\r\\n background-color: rgb(193, 205, 207);\\r\\n}\\r\\n\\r\\n.header-manage-company {\\r\\n padding-left: 20px;\\r\\n}\\r\\n\\r\\n.example-full-width-manage {\\r\\n float: none;\\r\\n display: block;\\r\\n text-align: left;\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n padding: 14px;\\r\\n}\\r\\n\\r\\n/* tr.mat-header-row {\\r\\n background-color: #7E9693 !important;\\r\\n} */\\r\\n\\r\\n.mat-slide-toggle-thumb {\\r\\n background-color: #7E9693 !important;\\r\\n}\\r\\n\\r\\n.search-div {\\r\\n border: 1px solid #EBEBEB;\\r\\n background-color: #EBEBEB;\\r\\n border-radius: 5px;\\r\\n height: 50px;\\r\\n margin-left: 30%;\\r\\n}\\r\\n\\r\\n.fa-search {\\r\\n padding: 14px;\\r\\n color: #4F4F4F;\\r\\n}\\r\\n\\r\\n.search-input {\\r\\n border: none;\\r\\n background-color: #EBEBEB;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.review-rating-heading {\\r\\n font-family: 'Poppins';\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 24px;\\r\\n line-height: 36px;\\r\\n color: #7E9693;\\r\\n}\\r\\n\\r\\n/* .mat-sort-header-button\\r\\n{\\r\\n width: 130px !important;\\r\\n} */\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.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

Reviews & Ratings

\\r\\n
\\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 { MatDialog, MatPaginator, MatSelect, MatSort, MatTableDataSource } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { format } from 'date-fns';\r\nimport { Metadata } from '../../client-portal/client-profile.model';\r\nimport { ReviewRatingComponent } from '../../client-portal/review-rating/review-rating.component';\r\nimport { ReviewRatingModel } from '../../client-portal/review-rating/review-rating.model';\r\nimport { ResponseModel } from '../../core/modals/common-model';\r\nimport { FilterModel, ReviewFilterModel } from '../clients/medication/medication.model';\r\nimport { UsersService } from '../users/users.service';\r\nimport { ViewRatingModel } from '../view-ratings/view-rating-model';\r\nimport { ViewRatingsComponent } from '../view-ratings/view-ratings.component';\r\nimport { ReviewsAndRatingsService } from './reviews-ratings.service';\r\n\r\n@Component({\r\n selector: 'app-reviews-ratings',\r\n templateUrl: './reviews-ratings.component.html',\r\n styleUrls: ['./reviews-ratings.component.css']\r\n})\r\nexport class ReviewsRatingsComponent implements OnInit {\r\n\r\n dataSource = new MatTableDataSource();\r\n dataexcel: Array[];\r\n loaderImage = \"../../../../../assets/loader.gif\";\r\n isDataLoading: boolean;\r\n\r\n\r\n organizationId: number;\r\n metaData: Metadata;\r\n searchText: string = \"\";\r\n filterModel: ReviewFilterModel;\r\n agencyData: any;\r\n animal: string;\r\n selectedOfficeLocations: Array;\r\n officeLocations: Array;\r\n\r\n displayedColumns: Array = [\r\n { displayName: 'Consultant Name', key: 'cunsultantName', isSort: true, class: '', width: '20%' },\r\n { displayName: 'Corporate User Name', key: 'patientName', class: '', width: '20%' },\r\n { displayName: 'Date', key: 'createdDate', class: '', width: '10%' },\r\n { displayName: 'Ratings', key: 'rating', type: 'rating', class: '', width: '10%', permission: true },\r\n { displayName: 'Make Public', key: 'isPublic', class: '', width: '10%', type: 'togglespan', permission: true },\r\n { displayName: 'Actions', key: 'Actions', class: '', width: '10%' }\r\n ];\r\n\r\n actionButtons: Array = [\r\n { displayName: 'View', key: 'view', class: 'fa-solid fa-eye' },\r\n { displayName: 'Delete', key: 'delete', class: 'fa-solid fa-trash-can' }\r\n ];\r\n notify: any;\r\n\r\n staffID: any;\r\n UserID: any;\r\n PatientID: any;\r\n RoleID: any;\r\n UserName: any;\r\n\r\n constructor(\r\n public _userService: UsersService,\r\n public dialog: MatDialog,\r\n private notifier: NotifierService,\r\n private router: Router,\r\n private _ratingReviewService: ReviewsAndRatingsService) {\r\n this.filterModel = new ReviewFilterModel();\r\n }\r\n @ViewChild(MatPaginator) paginator!: MatPaginator;\r\n @ViewChild(MatSort) sort!: MatSort;\r\n\r\n ngOnInit() {\r\n this.getLoggedInUser();\r\n this.isDataLoading = true;\r\n this.selectedOfficeLocations = [];\r\n this.getAllCompaniesDataList();\r\n this.getAllReviewDataList();\r\n this.dataSource.sort = this.sort;\r\n }\r\n getLoggedInUser(): any {\r\n const token = localStorage.getItem(\"access_token\");\r\n if (!token) return null;\r\n const splittedTokem = atob(token.split(\".\")[1]);\r\n const JsonToken = JSON.parse(splittedTokem);\r\n this.RoleID = JsonToken.RoleID;\r\n this.UserName = JsonToken.UserName;\r\n this.staffID = JsonToken.StaffID;\r\n this.UserID = JsonToken.UserID;\r\n this.PatientID = JsonToken.PatientID;\r\n }\r\n onDropdownSelectionChange(event: any): void {\r\n const source: MatSelect = event.source,\r\n value: any = event.value;\r\n\r\n this.selectedOfficeLocations = (value || []).map(\r\n (obj) => obj\r\n );\r\n\r\n this.isDataLoading = true;\r\n this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, '', this.selectedOfficeLocations);\r\n this.getAllReviewDataList();\r\n }\r\n\r\n getAllCompaniesDataList() {\r\n this._ratingReviewService.getAllCompany().subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n // if (response && response.statusCode == 200) {\r\n // debugger;\r\n // this.agencyData = response.data;\r\n response.data = response;\r\n this.officeLocations = (response.data).map(\r\n (obj: any) => {\r\n // if (obj.id === this.currentLocationId)\r\n // this.selectedOfficeLocations.push(obj.id);\r\n return {\r\n id: obj.id,\r\n value: obj.companyName,\r\n };\r\n }\r\n );\r\n this.metaData = response.meta;\r\n\r\n // console.log(response)\r\n }\r\n else {\r\n this.agencyData = [];\r\n //this.metaData = new Metadata();\r\n }\r\n this.isDataLoading = false;\r\n });\r\n // console.log(this.agencyData);\r\n\r\n }\r\n\r\n onPageOrSortChange(changeState?: any) {\r\n this.isDataLoading = true;\r\n this.setPaginatorModel(changeState.pageNumber, this.filterModel.pageSize, changeState.sort, changeState.order, this.filterModel.searchText, this.selectedOfficeLocations);\r\n this.getAllReviewDataList();\r\n }\r\n\r\n applyFilter(searchText: string = '') {\r\n \r\n if (searchText == '' || searchText.length > 2) {\r\n this.isDataLoading = true;\r\n this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, searchText, this.selectedOfficeLocations);\r\n this.getAllReviewDataList();\r\n }\r\n }\r\n\r\n setPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string,\r\n searchText: string, selectedOfficeLocations: Array) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n this.filterModel.selectedOfficeLocations = selectedOfficeLocations.length > 0 ? selectedOfficeLocations : [];\r\n }\r\n\r\n getAllReviewDataList() {\r\n if (this.RoleID == 331) {\r\n this.filterModel.staffId = Number(this.staffID);\r\n }\r\n this._ratingReviewService.getAll(this.filterModel).subscribe((response: ResponseModel) => {\r\n if (response && response.statusCode == 200) {\r\n\r\n this.agencyData = response.data;\r\n this.agencyData.map(x => {\r\n x.createdDate =\r\n format(x.createdDate, \"MM/DD/YYYY\");\r\n return x;\r\n });\r\n\r\n this.metaData = response.meta;\r\n // console.log(response)\r\n }\r\n else {\r\n this.agencyData = [];\r\n this.metaData = new Metadata();\r\n }\r\n this.isDataLoading = false;\r\n });\r\n }\r\n\r\n onTableActionClick(actionObj?: any) {\r\n\r\n const id = actionObj.data.id;\r\n switch ((actionObj.action || '')) {\r\n case 'delete':\r\n this.deleteReview(id);\r\n this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, '', this.selectedOfficeLocations);\r\n this.getAllReviewDataList();\r\n //this.agencyData.slice\r\n break\r\n case \"toggle\":\r\n this._ratingReviewService.confirm(`Are you sure you want to save your changes?`).subscribe((result: any) => {\r\n if (result == true) {\r\n this.isDataLoading = true;\r\n this._ratingReviewService.changeStatus(actionObj.data.id).subscribe((response: ResponseModel) => {\r\n this.isDataLoading = false;\r\n this.router.navigate([\"/web/reviews-ratings\"]);\r\n this.notifier.notify('success', 'Status ha been chnaged successfully.');\r\n this.getAllReviewDataList();\r\n });\r\n }\r\n });\r\n break;\r\n case 'view':\r\n this.createDialogReviewRating(actionObj.data);\r\n break;\r\n default:\r\n break;\r\n\r\n }\r\n }\r\n createDialogReviewRating(data: any) {\r\n var reviewRatingModel = new ViewRatingModel();\r\n reviewRatingModel.id = data.id;\r\n reviewRatingModel.cunsultantName = data.cunsultantName;\r\n reviewRatingModel.corporateUserName = data.patientName;\r\n reviewRatingModel.rating = data.rating;\r\n reviewRatingModel.isPublic = data.isPublic;\r\n reviewRatingModel.description = data.review;\r\n let dbModal;\r\n dbModal = this.dialog.open(ViewRatingsComponent, {\r\n data: { reviewRatingModel }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n deleteReview(id: number) {\r\n this._ratingReviewService.confirm(`Are you sure you want to delete review?`).subscribe((result: any) => {\r\n if (result == true) {\r\n this.isDataLoading = true;\r\n this._ratingReviewService.deleteByID(id).subscribe((response: string) => {\r\n this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, '', this.selectedOfficeLocations);\r\n this.getAllReviewDataList();\r\n this.notifier.notify('success', 'Review has been deleted successfully.');\r\n this.isDataLoading = false;\r\n });\r\n }\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 { MatDialog } from '@angular/material';\r\nimport { Observable } from 'rxjs';\r\nimport { DialogComponent } from 'src/app/shared/layout/dialog/dialog.component';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ReviewRatingComponent } from '../../client-portal/review-rating/review-rating.component';\r\nimport { ReviewRatingModel } from '../../client-portal/review-rating/review-rating.model';\r\nimport { FilterModel, ReviewFilterModel } from '../clients/medication/medication.model';\r\nimport { ViewRatingModel } from '../view-ratings/view-rating-model';\r\nimport { ViewRatingsComponent } from '../view-ratings/view-ratings.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReviewsAndRatingsService {\r\n id: number;\r\n getAllURL = 'ReviewRatings/';\r\n constructor(private http: HttpClient, private dialog: MatDialog) { }\r\n\r\n getAllCompany(){\r\n let url = 'api/Company/' + \"All\";\r\n return this.http.get(`${environment.api_url}/${url}`)\r\n }\r\n\r\n getAll(filterModal: ReviewFilterModel) {\r\n //filterModal.selectedOfficeLocations= [];\r\n let url = this.getAllURL + 'GetAllReviewRating?pageNumber=' + filterModal.pageNumber\r\n + '&pageSize=' + filterModal.pageSize + '&searchText=' + filterModal.searchText + \r\n '&selectedCompany=' + filterModal.selectedOfficeLocations+'&staffId='+filterModal.staffId;\r\n return this.http.get(`${environment.api_url}/${url}`, {});\r\n }\r\n\r\n deleteByID(id) {\r\n let url = this.getAllURL + \"?id=\";\r\n return this.http.delete(`${environment.api_url}/${url}` + id);\r\n }\r\n\r\n changeStatus(id: number) {\r\n let url = this.getAllURL + id;\r\n return this.http.patch(`${environment.api_url}/${url}`, '');\r\n }\r\n public confirm(\r\n message: string,\r\n data?: Array): Observable {\r\n const modalRef = this.dialog.open(DialogComponent, { data: data, hasBackdrop: true, backdropClass: 'no-backdrop', disableClose: false, width: 'auto', minWidth: 'auto', maxWidth: 'auto', position: { bottom: '10px', right: '10px' } });\r\n modalRef.componentInstance.message = message;\r\n return modalRef.afterClosed();\r\n }\r\n\r\n \r\n}","module.exports = \".panel_title {\\r\\n display: flex;\\r\\n margin-top: 30px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.panel_title h3 {\\r\\n float: left;\\r\\n line-height: 22px;\\r\\n color: #2f2660;\\r\\n font-size: 19px;\\r\\n font-weight: 300;\\r\\n margin-bottom: 30px;\\r\\n padding: 0px 0px 0px 25px;\\r\\n position: relative;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\n.panel_title .flaticon {\\r\\n margin-left: 0px;\\r\\n position: absolute;\\r\\n left: 0px !important;\\r\\n top: 1px;\\r\\n color: #000;\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.mat-form-field-required-marker {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.uplaod_pic img {\\r\\n height: 150px;\\r\\n max-width: 100%;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n background: rgba(0, 0, 0, 0.20);\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n font-size: 13px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 5px;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n width: 158px;\\r\\n margin: 0px 0px 0px 168px;\\r\\n}\\r\\n\\r\\n.actions-btn .mr-2{\\r\\n margin-right: 12px;\\r\\n margin-bottom: 12px;\\r\\n}\\r\\n\\r\\n.navbar-manage-01 {\\r\\n position: fixed !important;\\r\\n top: 75px;\\r\\n width: 100%;\\r\\n height: 40px;\\r\\n z-index: 1020 !important;\\r\\n background-color: rgb(193, 205, 207);\\r\\n }\\r\\n\\r\\n.header-manage-company {\\r\\n padding-left: 20px;\\r\\n }\\r\\n\\r\\n.example-full-width-manage {\\r\\n float: none;\\r\\n display: block;\\r\\n text-align: left;\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n padding: 14px;\\r\\n }\\r\\n\\r\\n/* tr.mat-header-row {\\r\\n background-color: #7E9693 !important;\\r\\n } */\\r\\n\\r\\n.mat-slide-toggle-thumb {\\r\\n background-color: #7E9693 !important;\\r\\n }\\r\\n\\r\\n.uploadlogoimage01 {\\r\\n position: initial;\\r\\n border-left: 6px solid #7E9693 !important;\\r\\n width: 100%;\\r\\n height: 42px;\\r\\n left: 308px;\\r\\n top: 423px;\\r\\n padding-left: 15px;\\r\\n /* padding-top: 7px; */\\r\\n color: black;\\r\\n border-radius: 2px;\\r\\n}\\r\\n\\r\\n.savebutton {\\r\\n width: 182px;\\r\\n height: 51px;\\r\\n background-color: #7E9693 !important;\\r\\n border-radius: 5px;\\r\\n font-family: 'Poppins' !important;\\r\\n font-style: normal !important;\\r\\n font-weight: 400 !important;\\r\\n font-size: 16px !important;\\r\\n line-height: 24px;\\r\\n color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.hide {\\r\\n display:none !important;\\r\\n}\\r\\n\\r\\ntextarea.mat-input-element {\\r\\n padding: 2px 0;\\r\\n margin: -11px 0;\\r\\n resize: none;\\r\\n}\\r\\n\\r\\n.uplaod_pic {\\r\\n margin-left: -15px;\\r\\n}\\r\\n\\r\\n.backButton\\r\\n{\\r\\n margin-left: 10px !important;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{heading}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter first name\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter last name\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter email\\r\\n \\r\\n \\r\\n Please enter a valid email address\\r\\n \\r\\n \\r\\n Email '{{formControls.email.value}}' already exists\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n {{stf.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select speciality\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{stf.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select service\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please Enter Experience\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{country.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select country\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{state.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select State\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Phone Number\\r\\n \\r\\n Please enter a valid phone number\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Date of Joining\\r\\n \\r\\n Date of Joining is required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Urgent care\\r\\n \\r\\n \\r\\n {{option.option}}\\r\\n \\r\\n \\r\\n \\r\\n Please select Urgent care\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Bio\\r\\n \\r\\n \\r\\n Please enter bio\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

(Browse any jpg, jpeg, bmp, png file.)

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\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 { StaffCareCategoryModel, StaffServices, UserCreateModel } from \"./../users.model\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ComponentRef,\r\n Output,\r\n EventEmitter,\r\n ElementRef\r\n} from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n AbstractControl,\r\n ValidationErrors\r\n} from \"@angular/forms\";\r\nimport {\r\n UserModel,\r\n StaffLocation,\r\n StaffTags,\r\n StaffTeam,\r\n StaffSpeciality,\r\n StaffTaxonomy\r\n} from \"../users.model\";\r\nimport { UsersService } from \"../users.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { UserComponent } from \"../user/user.component\";\r\nimport { createComponent } from \"@angular/compiler/src/core\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { Router } from \"@angular/router\";\r\nimport { PasswordValidator } from \"../../../../../shared/password-validator\";\r\nimport { Observable, ReplaySubject, Subject } from \"rxjs\";\r\nimport { format } from \"date-fns\";\r\nimport { RegisterService } from \"src/app/front/register/register.service\";\r\nimport { takeUntil } from \"rxjs/operators\";\r\nimport { ValueSansProvider } from \"@angular/core/src/di/provider\";\r\n\r\n// export function AgeValidator(\r\n// control: AbstractControl\r\n// ): { [key: string]: boolean } | null {\r\n// var selectedDate = new Date(control.value);\r\n// var today = new Date();\r\n// var year = today.getFullYear();\r\n// var month = today.getMonth() + 1;\r\n// var day = today.getDate();\r\n// var yy = selectedDate.getFullYear();\r\n// var mm = selectedDate.getMonth() + 1;\r\n// var dd = selectedDate.getDate();\r\n// var years, months, days;\r\n// // months\r\n// months = month - mm;\r\n// if (day < dd) {\r\n// months = months - 1;\r\n// }\r\n// // years\r\n// years = year - yy;\r\n// if (month * 100 + day < mm * 100 + dd) {\r\n// years = years - 1;\r\n// months = months + 12;\r\n// }\r\n// // days\r\n// days = Math.floor(\r\n// (today.getTime() - new Date(yy + years, mm + months - 1, dd).getTime()) /\r\n// (24 * 60 * 60 * 1000)\r\n// );\r\n// if (years >= 18) return { age: false };\r\n// else return { age: true };\r\n// //\r\n// //return { years: years, months: months, days: days };\r\n// }\r\n@Component({\r\n selector: \"app-add-user\",\r\n templateUrl: \"./add-user.component.html\",\r\n styleUrls: [\"./add-user.component.css\"]\r\n})\r\nexport class AddUserComponent implements OnInit {\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n customPatterns = { \"0\": { pattern: new RegExp(\"[a-zA-Z]\") } };\r\n editable: boolean = false;\r\n masterStaff: any = [];\r\n masterLocation: any = [];\r\n masterRoles: any = [];\r\n masterCountry: any = [];\r\n masterGender: any = [];\r\n isUrgentCare: any;\r\n masterState: any = [];\r\n masterDegree: any = [];\r\n masterTagsForStaff: any = [];\r\n masterStaffSpecialities: any = [];\r\n //public masterStaffSpecialities: ReplaySubject = new ReplaySubject(1);\r\n public testingspeciality: ReplaySubject = new ReplaySubject(1);\r\n public duplicatemasterStaffSpecialities: any = [];\r\n masterProviderCareCategory: any = [];\r\n masterStaffTaxonomies: any = [];\r\n masterServices: any = [];\r\n payrollGroup: any = [];\r\n defaultLocationList: any = [];\r\n previousTeam: any = [];\r\n date: any;\r\n previousTags: any = [];\r\n previousSpeciality: Array = [];\r\n prvSpeciality: any[] = [];\r\n previoushealthcareCategory: Array = [];\r\n previousTaxonomy: Array = [];\r\n previousServices: Array = [];\r\n staffId: number;\r\n maxDate = new Date();\r\n userForm: FormGroup;\r\n userModel: UserModel;\r\n usercreateModel: UserCreateModel;\r\n staffLocation: StaffLocation;\r\n public searching: boolean = false;\r\n staffTeam: StaffTeam;\r\n staffTag: StaffTags;\r\n staffSpeciality: StaffSpeciality;\r\n StaffhealthcareCategory: StaffCareCategoryModel;\r\n staffTaxonomy: StaffTaxonomy;\r\n staffService: StaffServices;\r\n submitted: boolean = false;\r\n dataURL: any;\r\n dataSignatureURL: any;\r\n imagePreview: any;\r\n signaturePreview: any;\r\n heading: string = \"Add Consultant\";\r\n userRoleName: string;\r\n subscriptionPlanTypes: any = [{\r\n id: 0,\r\n value: true,\r\n isvalue: \"Active\",\r\n option:\"Yes\"\r\n \r\n }\r\n , {\r\n id: 1,\r\n value: false,\r\n isvalue: \"Inactive\",\r\n option:\"No\"\r\n }]\r\n addEditRolePermission: boolean;\r\n filterCtrl: FormControl = new FormControl();\r\n protected _onDestroy = new Subject();\r\n loading: boolean = true;\r\n statemaster: any = [];\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private usersService: UsersService,\r\n private notifier: NotifierService,\r\n private commonService: CommonService,\r\n private route: Router,\r\n private el: ElementRef,\r\n private registerService: RegisterService\r\n ) {\r\n if (this.userModel == null) this.userModel = new UserModel();\r\n }\r\n ngOnInit() {\r\n //this.loading=true;\r\n if (localStorage.getItem('headingvalue') == 'View Consultant') {\r\n this.heading = 'View Consultant';\r\n this.editable = false;\r\n\r\n document.getElementById('formsavebutton').classList.add('hide')\r\n } else if (localStorage.getItem('headingvalue') == 'Edit Consultant') {\r\n this.heading = 'Edit Consultant';\r\n this.editable = true;\r\n document.getElementById('formsavebutton').classList.remove('hide')\r\n } else {\r\n this.heading = 'Add Consultant';\r\n this.editable = true;\r\n document.getElementById('formsavebutton').classList.remove('hide')\r\n }\r\n let webUrl = window.location.origin;\r\n this.date = new Date().toISOString().slice(0, 10);\r\n webUrl = `${webUrl}/web/login`;\r\n this.getStaffById();\r\n if (this.userModel.isUrgentCare == true) {\r\n this.isUrgentCare = \"Active\"\r\n } else {\r\n this.isUrgentCare = \"Inactive\"\r\n }\r\n this.userForm = this.formBuilder.group(\r\n\r\n {\r\n firstName: [this.userModel.firstName],\r\n lastName: [this.userModel.lastName],\r\n middleName: [this.userModel.middleName],\r\n address: [this.userModel.address],\r\n apartmentNumber: [this.userModel.apartmentNumber],\r\n countryID: [this.userModel.countryID],\r\n city: [this.userModel.city],\r\n stateID: [this.userModel.stateID],\r\n zip: [this.userModel.zip],\r\n latitude: [this.userModel.latitude],\r\n longitude: [this.userModel.longitude],\r\n phoneNumber: [this.userModel.phoneNumber,\r\n {\r\n validators: [Validators.required, this.phoneFormatValidator],\r\n\r\n //asyncValidators: [this.validateUsername.bind(this)],\r\n updateOn: \"blur\"\r\n }],\r\n npiNumber: [this.userModel.npiNumber],\r\n taxId: [this.userModel.taxId],\r\n webUrl: webUrl,\r\n dob: [\r\n new Date(),\r\n // {\r\n // asyncValidators: [this.validateAge.bind(this)]\r\n // }\r\n ],\r\n doj: [this.userModel.doj],\r\n roleID: [this.userModel.roleID],\r\n email: [this.userModel.email,\r\n {\r\n validators: [Validators.required],\r\n asyncValidators: [this.validateUsername.bind(this)],\r\n updateOn: \"blur\"\r\n }],\r\n gender: [this.userModel.gender],\r\n caqhid: [this.userModel.caqhid],\r\n language: [this.userModel.language],\r\n degreeID: [this.userModel.degreeID],\r\n employeeID: [this.userModel.employeeID],\r\n // payRate: [\r\n // this.userModel.payRate,\r\n // {\r\n // asyncValidators: [this.validatePayRate.bind(this)]\r\n // }\r\n // ],\r\n // ftFpayRate: [\r\n // this.userModel.ftFpayRate,\r\n // {\r\n // asyncValidators: [this.validatePayRate.bind(this)] \r\n // }\r\n // ],\r\n payrollGroupID: [this.userModel.payrollGroupID],\r\n // userName: [\r\n // this.userModel.userName,\r\n // {\r\n // validators: [Validators.required],\r\n // asyncValidators: [this.validateUsername.bind(this)],\r\n // updateOn: \"blur\"\r\n // }\r\n // ],\r\n password: [\r\n this.userModel.password,\r\n [Validators.required, PasswordValidator.strong]\r\n ],\r\n confirmPassword: [this.userModel.confirmPassword],\r\n isRenderingProvider: [this.userModel.isRenderingProvider],\r\n isUrgentCare: [this.isUrgentCare],\r\n // locationIds: [this.userModel.locationIds],\r\n locationIds: [101],\r\n staffTeamKeys: [this.userModel.staffTeamKeys],\r\n staffTagsKeys: [this.userModel.staffTagsKeys],\r\n staffSpecialityKeys: [this.userModel.staffSpecialityKeys],\r\n staffCarecategoryKeys: [this.userModel.staffCarecategoryKeys],\r\n staffTaxonomyKeys: [this.userModel.staffTaxonomyKeys],\r\n servicesKeys: [this.userModel.servicesKeys],\r\n // defaultLocation: [this.userModel.defaultLocation],\r\n defaultLocation: [101],\r\n bio: [this.userModel.bio],\r\n experience: [this.userModel.experience],\r\n doctorID: [this.userModel.doctorID],\r\n facilityID: [this.userModel.facilityID],\r\n facilityName: [this.userModel.facilityName],\r\n userImg: []\r\n },\r\n { validator: this.validateForm.bind(this) }\r\n\r\n );\r\n // console.log(this.userForm)\r\n this.filterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterspeciality();\r\n });\r\n\r\n this.getUserPermissions();\r\n // this.loading=false;\r\n }\r\n firstName = new FormControl('', [Validators.required,]);\r\n get formControls() {\r\n return this.userForm.controls;\r\n }\r\n\r\n validateUsername(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise(resolve => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n if (this.userModel.userName == ctrl.value || this.userModel.email == ctrl.value) {\r\n resolve();\r\n }\r\n else {\r\n let userName = ctrl.value;\r\n this.registerService\r\n .checkUserNameExistance(userName)\r\n .subscribe((response: any) => {\r\n if (response.statusCode != 200) resolve({ uniqueName: true });\r\n else resolve();\r\n });\r\n }\r\n }\r\n });\r\n }\r\n validateForm(formGroup: FormGroup) {\r\n let pass = formGroup.controls.password.value;\r\n let confirmPass = formGroup.controls.confirmPassword.value;\r\n\r\n if (!confirmPass.length) return null;\r\n\r\n return pass && confirmPass && pass === confirmPass\r\n ? null\r\n : formGroup.controls.confirmPassword.setErrors({ notSame: true });\r\n }\r\n validateAge(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise(resolve => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var selectedDate = new Date(ctrl.value);\r\n var today = new Date();\r\n var year = today.getFullYear();\r\n var month = today.getMonth() + 1;\r\n var day = today.getDate();\r\n var yy = selectedDate.getFullYear();\r\n var mm = selectedDate.getMonth() + 1;\r\n var dd = selectedDate.getDate();\r\n var years, months, days;\r\n // months\r\n months = month - mm;\r\n if (day < dd) {\r\n months = months - 1;\r\n }\r\n // years\r\n years = year - yy;\r\n if (month * 100 + day < mm * 100 + dd) {\r\n years = years - 1;\r\n months = months + 12;\r\n }\r\n // days\r\n days = Math.floor(\r\n (today.getTime() -\r\n new Date(yy + years, mm + months - 1, dd).getTime()) /\r\n (24 * 60 * 60 * 1000)\r\n );\r\n if (years < 18) resolve({ age: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n // validatePayRate(\r\n // ctrl: AbstractControl\r\n // ): Promise | Observable {\r\n // return new Promise(resolve => {\r\n // if (!ctrl.dirty && !ctrl.untouched) {\r\n // resolve();\r\n // } else {\r\n // var payRate = ctrl.value;\r\n\r\n // if (payRate <= 0) resolve({ rate: true });\r\n // else resolve();\r\n // }\r\n // });\r\n // }\r\n getMasterData(value: any, type: any = 0) {\r\n //this.loading=true;\r\n this.prvSpeciality = [];\r\n\r\n if (value && value.length > 0) {\r\n if (type == 0) {\r\n for (var i = 0; i < value.length; i++)\r\n\r\n this.prvSpeciality.push(value[i].specialityId);\r\n }\r\n else {\r\n\r\n for (var i = 0; i < value[0].length; i++)\r\n\r\n this.prvSpeciality.push(value[0][i]);\r\n\r\n }\r\n }\r\n\r\n this.usersService\r\n .getMasterData(\r\n \"masterStaff,masterLocation,MASTERROLES,masterCountry,masterGender,masterState,masterDegree,MASTERTAGSFORSTAFF,PAYROLLGROUP,MASTERSPECIALITY,MASTERPROVIDERCARECATEGORY,MASTERTAXONOMY,MASTERSTAFFSERVICE\", true, this.prvSpeciality\r\n )\r\n .subscribe((response: any) => {\r\n\r\n if (response != null) {\r\n this.masterStaff = response.staffs != null ? response.staffs : [];\r\n this.masterLocation =\r\n response.masterLocation != null ? response.masterLocation : [];\r\n this.userModel.locationIds.forEach(element => {\r\n this.defaultLocationList.push(\r\n this.masterLocation.find(x => x.id == element)\r\n );\r\n });\r\n this.masterRoles =\r\n response.masterRoles != null ? response.masterRoles : [];\r\n this.masterCountry =\r\n response.masterCountry != null ? response.masterCountry : [];\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n this.masterState =\r\n response.masterState != null ? response.masterState : [];\r\n this.masterState.forEach(ele => {\r\n if (this.userModel.countryID == ele.countryID) {\r\n this.statemaster.push(ele);\r\n }\r\n });\r\n this.masterDegree =\r\n response.masterDegree != null ? response.masterDegree : [];\r\n this.masterTagsForStaff =\r\n response.masterTagsforStaff != null\r\n ? response.masterTagsforStaff\r\n : [];\r\n this.masterStaffSpecialities =\r\n response.masterSpeciality != null ? response.masterSpeciality : [];\r\n this.duplicatemasterStaffSpecialities = this.masterStaffSpecialities\r\n //this.testingspeciality=this.masterStaffSpecialities\r\n\r\n this.masterProviderCareCategory =\r\n response.masterprovidercarecategory != null ? response.masterprovidercarecategory : [];\r\n this.masterStaffTaxonomies =\r\n response.masterTaxonomy != null ? response.masterTaxonomy : [];\r\n this.payrollGroup =\r\n response.payrollGroup != null ? response.payrollGroup : [];\r\n this.masterServices =\r\n response.masterStaffServices != null\r\n ? response.masterStaffServices\r\n : [];\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n numberOnly(val: any) {\r\n const charCode = (val.which) ? val.which : val.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n updateLocationList() {\r\n this.defaultLocationList = [];\r\n if (this.masterLocation != null && this.masterLocation.length > 0) {\r\n this.userForm.controls.locationIds.value.forEach(element => {\r\n this.defaultLocationList.push(\r\n this.masterLocation.find(x => x.id == element)\r\n );\r\n });\r\n }\r\n if (\r\n !this.userForm.controls.locationIds.value.includes(\r\n this.userForm.controls.defaultLocation.value\r\n )\r\n ) {\r\n this.userForm.patchValue({ defaultLocation: null });\r\n }\r\n }\r\n\r\n onclickcountry(id: any) {\r\n this.statemaster = [];\r\n this.masterState.forEach(ele => {\r\n if (id == ele.countryID) {\r\n this.statemaster.push(ele);\r\n }\r\n });\r\n }\r\n\r\n\r\n getStaffById() {\r\n this.loading = true;\r\n this.usersService\r\n .getStaffById(this.staffId)\r\n .subscribe((response: ResponseModel) => {//this.loading=true;\r\n if (response != null && response.statusCode == 200) {\r\n // console.log(\"response\", response)\r\n this.userModel = response.data;\r\n this.userModel.doj =\r\n format(this.userModel.doj, \"YYYY-MM-DD\");\r\n this.userModel.dob =\r\n format(this.userModel.dob, \"YYYY-MM-DD\");\r\n this.previousTeam = response.data.staffTeamList;\r\n this.previousTags = response.data.staffTagsModel;\r\n this.previousSpeciality = response.data.staffSpecialityModel;\r\n this.previoushealthcareCategory = response.data.staffCareCategoryModel;\r\n this.previousTaxonomy = response.data.staffTaxonomyModel;\r\n this.previousServices = response.data.staffServicesModels;\r\n this.userModel.isUrgentCare = response.data.isUrgentCare;\r\n //this.getMasterData(response.data.staffSpecialityModel);\r\n this.userModel.locationIds =\r\n response.data.staffLocationList != null &&\r\n response.data.staffLocationList.length > 0\r\n ? response.data.staffLocationList.map(({ id }) => id)\r\n : [];\r\n this.userModel.defaultLocation =\r\n response.data.staffLocationList != null &&\r\n response.data.staffLocationList.length > 0\r\n ? response.data.staffLocationList.find(z => z.isDefault == true)\r\n .id\r\n : null;\r\n this.userModel.staffTeamKeys =\r\n response.data.staffTeamList != null &&\r\n response.data.staffTeamList.length > 0\r\n ? response.data.staffTeamList.map(\r\n ({ staffteamid }) => staffteamid\r\n )\r\n : [];\r\n this.userModel.staffTagsKeys =\r\n response.data.staffTagsModel != null &&\r\n response.data.staffTagsModel.length > 0\r\n ? response.data.staffTagsModel.map(({ tagID }) => tagID)\r\n : [];\r\n this.userModel.staffSpecialityKeys =\r\n response.data.staffSpecialityModel != null &&\r\n response.data.staffSpecialityModel.length > 0\r\n ? response.data.staffSpecialityModel.map(\r\n ({ specialityId }) => specialityId\r\n )\r\n : [];\r\n\r\n this.userModel.staffCarecategoryKeys =\r\n response.data.staffCareCategoryModel != null &&\r\n response.data.staffCareCategoryModel.length > 0\r\n ? response.data.staffCareCategoryModel.map(\r\n ({ healthcarecategoryID }) => healthcarecategoryID\r\n )\r\n : [];\r\n\r\n this.userModel.staffTaxonomyKeys =\r\n response.data.staffTaxonomyModel != null &&\r\n response.data.staffTaxonomyModel.length > 0\r\n ? response.data.staffTaxonomyModel.map(\r\n ({ taxonomyId }) => taxonomyId\r\n )\r\n : [];\r\n\r\n this.userModel.servicesKeys =\r\n response.data.staffServicesModels != null &&\r\n response.data.staffServicesModels.length > 0\r\n ? response.data.staffServicesModels.map(\r\n ({ serviceId }) => +serviceId\r\n )\r\n : [];\r\n this.userModel.confirmPassword = response.data.password;\r\n this.imagePreview = this.userModel.photoThumbnailPath;\r\n this.signaturePreview = this.userModel.signaturePath;\r\n this.userRoleName = this.userModel.roleName;\r\n this.userForm.patchValue(this.userModel);\r\n\r\n this.getMasterData(response.data.staffSpecialityModel);\r\n\r\n }\r\n else {\r\n this.getMasterData(null);\r\n }\r\n\r\n });\r\n\r\n }\r\n selectChange(evt: any) {\r\n this.prvSpeciality = [];\r\n this.prvSpeciality.push(evt);\r\n this.getMasterData(this.prvSpeciality, 1)\r\n }\r\n\r\n\r\n handleImageChange(e) {\r\n\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n var input = e.target;\r\n var reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.imagePreview = this.dataURL;\r\n //console.log('dataURL', this.dataURL)\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n\r\n removeImage() {\r\n this.dataURL = null;\r\n this.imagePreview = null;\r\n }\r\n\r\n handleSignatureChange(e) {\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n var input = e.target;\r\n var reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataSignatureURL = reader.result;\r\n this.signaturePreview = this.dataSignatureURL;\r\n // console.log('dataSignatureURL', this.signaturePreview)\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n\r\n removeSignature() {\r\n this.dataSignatureURL = null;\r\n this.signaturePreview = null;\r\n }\r\n\r\n public handleAddressChange(addressObj: any) {\r\n const pObJ = {\r\n address: addressObj.address1,\r\n countryID:\r\n this.masterCountry.find(\r\n x => x.value.toUpperCase() == (addressObj.country || \"\").toUpperCase()\r\n ) == null\r\n ? null\r\n : this.masterCountry.find(\r\n x =>\r\n x.value.toUpperCase() ==\r\n (addressObj.country || \"\").toUpperCase()\r\n ).id,\r\n city: addressObj.city,\r\n stateID:\r\n this.masterState.find(\r\n y =>\r\n (y.stateAbbr || \"\").toUpperCase() ==\r\n (addressObj.state || \"\").toUpperCase()\r\n ) == null\r\n ? null\r\n : this.masterState.find(\r\n y =>\r\n (y.stateAbbr || \"\").toUpperCase() ==\r\n (addressObj.state || \"\").toUpperCase()\r\n ).id,\r\n zip: addressObj.zip,\r\n latitude: addressObj.latitude,\r\n longitude: addressObj.longitude\r\n };\r\n this.userForm.patchValue(pObJ);\r\n // Do some stuff\r\n }\r\n createstaff(event: any) {\r\n let formValues = this.userForm.value;\r\n this.userModel = formValues;\r\n this.usercreateModel = formValues\r\n this.usercreateModel.roleID = 331;\r\n // console.log(\"adsaasdd\", this.usercreateModel)\r\n let clickType = event.currentTarget.name;\r\n // this.usercreateModel.firstName = this.userModel.firstName;\r\n // this.usercreateModel.lastName = this.userModel.lastName;\r\n // this.usercreateModel.staffName = this.userModel.firstName + \" \"+ this.userModel.lastName;\r\n // this.usercreateModel.email = this.userModel.email;\r\n // this.usercreateModel.isActive = true;\r\n // this.usercreateModel.experience = this.userModel.experience;\r\n // this.usercreateModel.photoBase64 = this.userModel.photoBase64;\r\n // this.usercreateModel.bio = this.userModel.bio;\r\n this.usercreateModel.userName = this.usercreateModel.email;\r\n this.usersService.createstaff(this.usercreateModel).subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.staffId = response.data.id;\r\n this.commonService.initializeAuthData();\r\n this.route.navigate([\"web/manage-users/user\"], {\r\n queryParams: {\r\n id: this.commonService.encryptValue(this.staffId, true)\r\n }\r\n });\r\n this.notifier.notify(\"success\", response.message);\r\n this.getStaffById();\r\n this.commonService.isProfileUpdated(this.staffId);\r\n if (clickType == \"SaveContinue\")\r\n this.handleTabChange.next({\r\n tab: \"Custom Fields\",\r\n id: response.data.id\r\n });\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n onSubmit(event: any) {\r\n let invalidControls: HTMLElement[] = [];\r\n\r\n // Loop through form controls to find invalid ones\r\n for (const key of Object.keys(this.userForm.controls)) {\r\n if (this.userForm.controls[key].invalid) {\r\n const invalidControl = this.el.nativeElement.querySelector(\r\n '[formcontrolname=\"' + key + '\"]'\r\n ) as HTMLElement;\r\n if (invalidControl) {\r\n invalidControls.push(invalidControl);\r\n }\r\n }\r\n }\r\n\r\n // Focus on all invalid controls\r\n if (invalidControls.length > 0) {\r\n invalidControls.forEach(control => {\r\n control.focus();\r\n });\r\n return false;\r\n }\r\n\r\n if (this.userForm.value.firstName == \"\" || this.userForm.value.lastName == \"\"\r\n || this.userForm.value.email == \"\" || this.userForm.value.countryID == null\r\n || this.userForm.value.phoneNumber == \"\" || this.userForm.value.bio == null\r\n || this.userForm.value.staffSpecialityKeys.length == 0 || this.userForm.value.servicesKeys.length == 0\r\n || this.userForm.value.experience == null\r\n || this.userForm.value.firstName == null || this.userForm.value.lastName == null\r\n || this.userForm.value.email == null || this.userForm.value.countryID == \"\"\r\n || this.userForm.value.phoneNumber == null || this.userForm.value.bio == \"\"\r\n || this.userForm.value.experience == \"\"\r\n || this.userForm.value.stateID == \"\" || this.userForm.value.stateID == null) {\r\n this.notifier.notify(\"error\", \"All fields are required\");\r\n return false;\r\n }\r\n if (this.userForm.value.isUrgentCare == \"Inactive\") {\r\n this.userForm.value.isUrgentCare = false;\r\n }\r\n // console.log(\"scscsd\", this.userForm)\r\n // if (!this.userForm.invalid) {\r\n this.userModel.dob = format(null, \"YYYY-MM-DD\");\r\n this.userModel.doj = format(null, \"YYYY-MM-DD\");\r\n\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n let formValues = this.userForm.value;\r\n this.userModel = formValues;\r\n this.userModel.userName = this.userModel.email;\r\n this.userModel.id = this.staffId;\r\n this.userModel.userID = this.staffId;\r\n this.userModel.photoBase64 = this.dataURL;\r\n this.userModel.signaturePath = this.dataSignatureURL;\r\n this.userModel.staffTeamList = new Array();\r\n this.userModel.staffLocationList = new Array();\r\n this.userModel.staffTagsModel = new Array();\r\n this.userModel.staffSpecialityModel = new Array();\r\n this.userModel.StaffCareCategoryModel = new Array();\r\n this.userModel.staffTaxonomyModel = new Array();\r\n this.userModel.staffServicesModels = new Array();\r\n this.userModel.dob = format(this.userModel.dob, \"YYYY-MM-DDTHH:mm:ss\"); //new Date(this.userModel.dob);\r\n this.userModel.doj = format(this.userModel.doj, \"YYYY-MM-DDTHH:mm:ss\"); //new Date(this.userModel.dob);\r\n\r\n // formValues.locationIds != undefined &&\r\n // formValues.locationIds.forEach(element => {\r\n // this.staffLocation = new StaffLocation();\r\n // this.staffLocation.id = element;\r\n // this.staffLocation.isDefault =\r\n // formValues.defaultLocation == element ? true : false;\r\n // this.userModel.staffLocationList.push(this.staffLocation);\r\n // });\r\n\r\n if (formValues.locationIds != undefined && formValues.locationIds != null) {\r\n if (this.staffId == null || this.staffId == 0) {\r\n this.staffLocation = new StaffLocation();\r\n this.staffLocation.id = formValues.locationIds;\r\n this.staffLocation.isDefault =\r\n formValues.defaultLocation == formValues.locationIds ? true : false;\r\n this.userModel.staffLocationList.push(this.staffLocation);\r\n }\r\n else {\r\n formValues.locationIds.forEach(element => {\r\n this.staffLocation = new StaffLocation();\r\n this.staffLocation.id = element;\r\n this.staffLocation.isDefault =\r\n formValues.defaultLocation == element ? true : false;\r\n this.userModel.staffLocationList.push(this.staffLocation);\r\n });\r\n }\r\n }\r\n\r\n formValues.staffTeamKeys != null &&\r\n formValues.staffTeamKeys.forEach(element => {\r\n this.staffTeam = new StaffTeam();\r\n this.staffTeam.staffteamid = element;\r\n this.userModel.staffTeamList.push(this.staffTeam);\r\n });\r\n formValues.staffTagsKeys != null &&\r\n formValues.staffTagsKeys.forEach(element => {\r\n let pStaffTag =\r\n this.previousTags != null &&\r\n this.previousTags.find(x => x.tagID == element);\r\n this.staffTag = new StaffTags();\r\n this.staffTag.tagID = element;\r\n this.staffTag.id =\r\n pStaffTag != null && pStaffTag.id > 0 ? pStaffTag.id : null;\r\n this.staffTag.staffID =\r\n pStaffTag != null && pStaffTag.staffID > 0\r\n ? pStaffTag.staffID\r\n : this.staffId;\r\n this.userModel.staffTagsModel.push(this.staffTag);\r\n });\r\n this.previousTags != null &&\r\n this.previousTags.forEach(x => {\r\n if (\r\n this.userModel.staffTagsModel.findIndex(y => y.tagID == x.tagID) ==\r\n -1\r\n ) {\r\n x.isDeleted = true;\r\n this.userModel.staffTagsModel.push(x);\r\n }\r\n });\r\n this.previousTeam != null &&\r\n this.previousTeam.forEach(x => {\r\n if (\r\n this.userModel.staffLocationList.findIndex(y => y.id == x.id) == -1\r\n ) {\r\n x.isDeleted = true;\r\n this.userModel.staffTeamList.push(x);\r\n }\r\n });\r\n\r\n formValues.staffSpecialityKeys != null &&\r\n formValues.staffSpecialityKeys.forEach(element => {\r\n this.staffSpeciality = new StaffSpeciality();\r\n this.staffSpeciality.specialityId = element;\r\n this.userModel.staffSpecialityModel.push(this.staffSpeciality);\r\n });\r\n this.previousSpeciality != null &&\r\n this.previousSpeciality.forEach(x => {\r\n //let i=this.userModel.staffSpecialityModel.findIndex(y => (y.specialityID == x.specialityID));\r\n if (\r\n this.userModel.staffSpecialityModel.findIndex(\r\n y => +y.specialityId == +x.specialityId\r\n ) == -1\r\n ) {\r\n x.isDeleted = true;\r\n this.userModel.staffSpecialityModel.push(x);\r\n }\r\n });\r\n\r\n formValues.staffCarecategoryKeys != null &&\r\n formValues.staffCarecategoryKeys.forEach(element => {\r\n this.StaffhealthcareCategory = new StaffCareCategoryModel();\r\n this.StaffhealthcareCategory.healthcarecategoryID = element;\r\n this.userModel.StaffCareCategoryModel.push(this.StaffhealthcareCategory);\r\n });\r\n this.previoushealthcareCategory != null &&\r\n this.previoushealthcareCategory.forEach(x => {\r\n //let i=this.userModel.staffSpecialityModel.findIndex(y => (y.specialityID == x.specialityID));\r\n if (\r\n this.userModel.StaffCareCategoryModel.findIndex(\r\n y => +y.healthcarecategoryID == +x.healthcarecategoryID\r\n ) == -1\r\n ) {\r\n x.isDeleted = true;\r\n this.userModel.StaffCareCategoryModel.push(x);\r\n }\r\n });\r\n\r\n formValues.staffTaxonomyKeys != null &&\r\n formValues.staffTaxonomyKeys.forEach(element => {\r\n this.staffTaxonomy = new StaffTaxonomy();\r\n this.staffTaxonomy.taxonomyID = element;\r\n this.userModel.staffTaxonomyModel.push(this.staffTaxonomy);\r\n });\r\n this.previousTaxonomy != null &&\r\n this.previousTaxonomy.forEach(x => {\r\n //let i=this.userModel.staffSpecialityModel.findIndex(y => (y.specialityID == x.specialityID));\r\n if (\r\n this.userModel.staffTaxonomyModel.findIndex(\r\n y => +y.taxonomyID == +x.taxonomyID\r\n ) == -1\r\n ) {\r\n x.isDeleted = true;\r\n this.userModel.staffTaxonomyModel.push(x);\r\n }\r\n });\r\n formValues.servicesKeys != null &&\r\n formValues.servicesKeys.forEach(element => {\r\n this.staffService = new StaffServices();\r\n this.staffService.serviceId = element;\r\n this.userModel.staffServicesModels.push(this.staffService);\r\n });\r\n this.previousServices != null &&\r\n this.previousServices.forEach(x => {\r\n //let i=this.userModel.staffSpecialityModel.findIndex(y => (y.specialityID == x.specialityID));\r\n if (\r\n this.userModel.staffServicesModels.findIndex(\r\n y => +y.serviceId == +x.serviceId\r\n ) == -1\r\n ) {\r\n x.isDeleted = true;\r\n this.userModel.staffServicesModels.push(x);\r\n }\r\n });\r\n this.submitted = true;\r\n this.userModel.roleID = 331;\r\n this.usersService.create(this.userModel).subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.staffId = response.data.id;\r\n this.commonService.initializeAuthData();\r\n // this.route.navigate([\"web/manage-users/user\"], {\r\n // queryParams: {\r\n // id: this.commonService.encryptValue(this.staffId, true)\r\n // }\r\n // });\r\n this.route.navigate([\"web/manage-users\"]);\r\n this.notifier.notify(\"success\", response.message);\r\n this.getStaffById();\r\n this.commonService.isProfileUpdated(this.staffId);\r\n if (clickType == \"SaveContinue\")\r\n this.handleTabChange.next({\r\n tab: \"Custom Fields\",\r\n id: response.data.id\r\n });\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n // }\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions = this.usersService.getUserScreenActionPermissions(\r\n \"USER\",\r\n \"USER_ADD\"\r\n );\r\n const { USER_ADD_EDIT_USER_ROLE } = actionPermissions;\r\n\r\n this.addEditRolePermission = USER_ADD_EDIT_USER_ROLE || false;\r\n }\r\n\r\n normalizeMobile(value, previousValue): any {\r\n if (!value) {\r\n return value;\r\n }\r\n const onlyNums = value.replace(/[^\\d]/g, \"\");\r\n if (!previousValue || value.length > previousValue.length) {\r\n // typing forward\r\n if (onlyNums.length === 3) {\r\n return onlyNums + \" \";\r\n }\r\n if (onlyNums.length === 6) {\r\n return \"(\" + onlyNums.slice(0, 3) + \") \" + onlyNums.slice(3) + \"-\";\r\n }\r\n }\r\n if (onlyNums.length <= 3) {\r\n return onlyNums;\r\n }\r\n if (onlyNums.length <= 6) {\r\n return \"(\" + onlyNums.slice(0, 3) + \") \" + onlyNums.slice(3);\r\n }\r\n return (\r\n \"(\" +\r\n onlyNums.slice(0, 3) +\r\n \") \" +\r\n onlyNums.slice(3, 6) +\r\n \"-\" +\r\n onlyNums.slice(6, 10)\r\n );\r\n }\r\n\r\n normalizeSSN(value, previousValue): any {\r\n if (!value) {\r\n return value;\r\n }\r\n const onlyNums = value.replace(/[^\\d]/g, \"\");\r\n if (!previousValue || value.length > previousValue.length) {\r\n // typing forward\r\n if (onlyNums.length === 3) {\r\n return onlyNums + \"-\";\r\n }\r\n if (onlyNums.length === 6) {\r\n return onlyNums.slice(0, 3) + \"-\" + onlyNums.slice(3) + \"-\";\r\n }\r\n }\r\n if (onlyNums.length <= 3) {\r\n return onlyNums;\r\n }\r\n if (onlyNums.length <= 6) {\r\n return onlyNums.slice(0, 3) + \"-\" + onlyNums.slice(3);\r\n }\r\n return (\r\n onlyNums.slice(0, 3) +\r\n \"-\" +\r\n onlyNums.slice(3, 5) +\r\n \"-\" +\r\n onlyNums.slice(5, 9)\r\n );\r\n }\r\n\r\n normalizeFax(value, previousValue): any {\r\n if (!value) {\r\n return value;\r\n }\r\n const onlyNums = value.replace(/[^\\d]/g, \"\");\r\n if (!previousValue || value.length > previousValue.length) {\r\n // typing forward\r\n if (onlyNums.length === 3) {\r\n return onlyNums + \" \";\r\n }\r\n if (onlyNums.length === 6) {\r\n return \"(\" + onlyNums.slice(0, 3) + \") \" + onlyNums.slice(3) + \"-\";\r\n }\r\n }\r\n if (onlyNums.length <= 3) {\r\n return onlyNums;\r\n }\r\n if (onlyNums.length <= 6) {\r\n return \"(\" + onlyNums.slice(0, 3) + \") \" + onlyNums.slice(3);\r\n }\r\n return (\r\n \"(\" +\r\n onlyNums.slice(0, 3) +\r\n \") \" +\r\n onlyNums.slice(3, 6) +\r\n \"-\" +\r\n onlyNums.slice(6, 13)\r\n );\r\n }\r\n\r\n normalizeZipCode(value, previousValue): any {\r\n if (!value) {\r\n return value;\r\n }\r\n const onlyNums = value.replace(/[^\\d]/g, \"\");\r\n if (!previousValue || value.length > previousValue.length) {\r\n // typing forward 12345-1234\r\n if (onlyNums.length < 5) {\r\n return onlyNums;\r\n }\r\n if (onlyNums.length === 5) {\r\n return onlyNums.slice(0, 5);\r\n }\r\n if (onlyNums.length > 5) {\r\n return onlyNums.slice(0, 5) + \"-\" + onlyNums.slice(5);\r\n }\r\n }\r\n if (onlyNums.length < 5) {\r\n return onlyNums;\r\n }\r\n if (onlyNums.length > 5) {\r\n return onlyNums.slice(0, 5) + \"-\" + onlyNums.slice(5);\r\n }\r\n if (onlyNums.length === 5) {\r\n return onlyNums.slice(0, 5);\r\n }\r\n }\r\n\r\n normalizeRate(value, previousValue): any {\r\n if (!value) {\r\n return value;\r\n }\r\n if (parseFloat(value) === 0) {\r\n return \"\";\r\n }\r\n const onlyNums = value.replace(/[^\\d]/g, \"\");\r\n\r\n if (!previousValue || value.length > previousValue.length) {\r\n // typing forward 12345-1234\r\n if (onlyNums.length > 0) {\r\n if (onlyNums.length === 2) {\r\n if (value.indexOf(\".\") === onlyNums.length - 1) {\r\n return \"00.\" + onlyNums.slice(1) + \"0\";\r\n }\r\n return onlyNums + \".00\";\r\n } else if (onlyNums.length === 1) {\r\n return \"00.0\" + onlyNums;\r\n } else if (onlyNums.length === 3) {\r\n if (previousValue.length > value.length) {\r\n return onlyNums.slice(0, 2) + \".\" + onlyNums.slice(2);\r\n } else if (onlyNums[onlyNums.length - 1] === \"0\") {\r\n return \"00.\" + onlyNums.slice(0, 2);\r\n }\r\n return (\r\n \"0\" +\r\n onlyNums.slice(0, onlyNums.length - 2) +\r\n \".\" +\r\n onlyNums.slice(onlyNums.length - 2)\r\n );\r\n } else if (onlyNums.length === 4) {\r\n return (\r\n onlyNums.slice(0, onlyNums.length - 2) +\r\n \".\" +\r\n onlyNums.slice(onlyNums.length - 2)\r\n );\r\n } else if (onlyNums.length === 5) {\r\n if (onlyNums[0] === \"0\") {\r\n return (\r\n onlyNums.slice(1, onlyNums.length - 2) +\r\n \".\" +\r\n onlyNums.slice(onlyNums.length - 2)\r\n );\r\n } else\r\n return (\r\n onlyNums.slice(0, onlyNums.length - 2) +\r\n \".\" +\r\n onlyNums.slice(onlyNums.length - 2)\r\n );\r\n } else if (onlyNums.length > 5) {\r\n return (\r\n onlyNums.slice(0, onlyNums.length - 2) +\r\n \".\" +\r\n onlyNums.slice(onlyNums.length - 2)\r\n );\r\n }\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n // tabbing backspace\r\n\r\n if (onlyNums.length > 0) {\r\n if (onlyNums.length === 2) {\r\n if (value.indexOf(\".\") === onlyNums.length - 1) {\r\n return \"00.\" + onlyNums.slice(1) + \"0\";\r\n }\r\n if (value.indexOf(\".\") === onlyNums.length) {\r\n return \"00.\" + onlyNums;\r\n }\r\n return onlyNums + \".00\";\r\n } else if (onlyNums.length === 1) {\r\n return \"0\" + onlyNums + \".00\";\r\n } else if (onlyNums.length === 3) {\r\n if (value.indexOf(\".\") === onlyNums.length - 1) {\r\n if (previousValue.length > value.length) {\r\n return onlyNums.slice(0, 2) + \".\" + onlyNums.slice(2);\r\n } else if (onlyNums[onlyNums.length - 1] === \"0\") {\r\n return \"00.\" + onlyNums.slice(0, 2);\r\n } else {\r\n return onlyNums.slice(0, 2) + \".\" + onlyNums.slice(2) + \"0\";\r\n }\r\n } else\r\n return (\r\n \"0\" +\r\n onlyNums.slice(0, onlyNums.length - 2) +\r\n \".\" +\r\n onlyNums.slice(onlyNums.length - 2)\r\n );\r\n } else if (onlyNums.length === 4) {\r\n if (value.indexOf(\".\") === -1) {\r\n return onlyNums + \".00\";\r\n }\r\n return (\r\n onlyNums.slice(0, onlyNums.length - 2) +\r\n \".\" +\r\n onlyNums.slice(onlyNums.length - 2)\r\n );\r\n } else if (onlyNums.length > 4) {\r\n if (value.indexOf(\".\") !== -1) {\r\n if (value.indexOf(\".\") === onlyNums.length - 1) {\r\n if (previousValue.length > value.length) {\r\n return (\r\n onlyNums.slice(0, value.indexOf(\".\") - 1) +\r\n \".\" +\r\n onlyNums.slice(value.indexOf(\".\") - 1)\r\n );\r\n } else\r\n return (\r\n onlyNums.slice(0, value.indexOf(\".\")) +\r\n \".\" +\r\n onlyNums.slice(value.indexOf(\".\")) +\r\n \"0\"\r\n );\r\n } else\r\n return (\r\n onlyNums.slice(0, value.indexOf(\".\")) +\r\n \".\" +\r\n onlyNums.slice(value.indexOf(\".\"))\r\n );\r\n } else {\r\n return onlyNums + \".00\";\r\n }\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n // return onlyNums.slice(0, 5) + '-' + onlyNums.slice(5);\r\n }\r\n\r\n phoneFormatValidator(control: FormControl) {\r\n const phonePattern = /^\\(\\d{3}\\) \\d{3}-\\d{4}$/;\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (!this.editable) {\r\n return null; // Skip validation if not editable\r\n }\r\n const isValid = phonePattern.test(control.value);\r\n return isValid ? null : { 'invalidPhoneFormat': true };\r\n }\r\n }\r\n\r\n protected filterspeciality() {\r\n\r\n // if (!this.banks) {\r\n // return;\r\n // }\r\n // get the search keyword\r\n let search = this.filterCtrl.value;\r\n if (search.length > 2) {\r\n search = search.toLowerCase();\r\n\r\n // if (!search) {\r\n // this.filteredBanksMulti.next(this.banks.slice());\r\n // return;\r\n // } else {\r\n // search = search.toLowerCase();\r\n // }\r\n // filter the banks\r\n this.testingspeciality.next(\r\n this.duplicatemasterStaffSpecialities.filter(bank => bank.value.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n }\r\n}\r\n","module.exports = \".panel_title {\\r\\n display: flex;\\r\\n margin-top: 30px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.panel_title h3 {\\r\\n float: left;\\r\\n line-height: 22px;\\r\\n color: #2f2660;\\r\\n font-size: 19px;\\r\\n font-weight: 300;\\r\\n margin-bottom: 30px;\\r\\n padding: 0px 0px 0px 25px;\\r\\n position: relative;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\n.panel_title .flaticon {\\r\\n margin-left: 0px;\\r\\n position: absolute;\\r\\n left: 0px !important;\\r\\n top: 1px;\\r\\n color: #000;\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.mat-form-field-required-marker {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.uplaod_pic img {\\r\\n height: 150px;\\r\\n max-width: 100%;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n background: rgba(0, 0, 0, 0.20);\\r\\n color: #fff;\\r\\n font-weight: 300;\\r\\n font-size: 13px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 5px;\\r\\n border-radius: 0;\\r\\n position: absolute;\\r\\n height: 30px;\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n.actions-btn .mr-2{\\r\\n margin-right: 12px;\\r\\n margin-bottom: 12px;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n

Add User Details

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter first name\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter name\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{country.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select country\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{state.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select state\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter zip\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter phone number\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{role.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select 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 Please enter email\\r\\n \\r\\n \\r\\n Please enter a valid email address\\r\\n \\r\\n \\r\\n Email '{{formControls.email.value}}' already exists\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{genderVal.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 \\r\\n \\r\\n \\r\\n {{degree.value}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{pGroup.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 \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Please enter password\\r\\n \\r\\n \\r\\n Password should have number, special character, lowercase, uppercase letters and minimunm length should be 8. \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Please re-enter password \\r\\n \\r\\n \\r\\n Password doesn't match\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

HealthCare Category

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{stf.value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Speciality

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n {{stf.value}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Please select speciality\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Services

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{stf.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select service\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Sub speciality

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

Team

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{stf.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

Tags

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{tags.value}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

About Me

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter description\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

User Profile Photo

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

(Browse any jpg, jpeg, bmp, png file.)

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\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 {StaffCareCategoryModel, StaffServices } from \"./../users.model\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ComponentRef,\r\n Output,\r\n EventEmitter,\r\n ElementRef\r\n} from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n AbstractControl,\r\n ValidationErrors\r\n} from \"@angular/forms\";\r\nimport {\r\n UserModel,\r\n StaffLocation,\r\n StaffTags,\r\n StaffTeam,\r\n StaffSpeciality,\r\n StaffTaxonomy\r\n} from \"../users.model\";\r\nimport { UsersService } from \"../users.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { UserComponent } from \"../user/user.component\";\r\nimport { createComponent } from \"@angular/compiler/src/core\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { Router } from \"@angular/router\";\r\nimport { PasswordValidator } from \"../../../../../shared/password-validator\";\r\nimport { Observable, ReplaySubject, Subject } from \"rxjs\";\r\nimport { format } from \"date-fns\";\r\nimport { RegisterService } from \"src/app/front/register/register.service\";\r\nimport { takeUntil } from \"rxjs/operators\";\r\nimport { ValueSansProvider } from \"@angular/core/src/di/provider\";\r\n\r\n// export function AgeValidator(\r\n// control: AbstractControl\r\n// ): { [key: string]: boolean } | null {\r\n// var selectedDate = new Date(control.value);\r\n// var today = new Date();\r\n// var year = today.getFullYear();\r\n// var month = today.getMonth() + 1;\r\n// var day = today.getDate();\r\n// var yy = selectedDate.getFullYear();\r\n// var mm = selectedDate.getMonth() + 1;\r\n// var dd = selectedDate.getDate();\r\n// var years, months, days;\r\n// // months\r\n// months = month - mm;\r\n// if (day < dd) {\r\n// months = months - 1;\r\n// }\r\n// // years\r\n// years = year - yy;\r\n// if (month * 100 + day < mm * 100 + dd) {\r\n// years = years - 1;\r\n// months = months + 12;\r\n// }\r\n// // days\r\n// days = Math.floor(\r\n// (today.getTime() - new Date(yy + years, mm + months - 1, dd).getTime()) /\r\n// (24 * 60 * 60 * 1000)\r\n// );\r\n// if (years >= 18) return { age: false };\r\n// else return { age: true };\r\n// //\r\n// //return { years: years, months: months, days: days };\r\n// }\r\n@Component({\r\n selector: \"app-add-user\",\r\n templateUrl: \"./add-user.component.html\",\r\n styleUrls: [\"./add-user.component.css\"]\r\n})\r\nexport class AddUsersComponent implements OnInit {\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n customPatterns = { \"0\": { pattern: new RegExp(\"[a-zA-Z]\") } };\r\n masterStaff: any = [];\r\n masterLocation: any = [];\r\n masterRoles: any = [];\r\n masterCountry: any = [];\r\n masterGender: any = [];\r\n masterState: any = [];\r\n masterDegree: any = [];\r\n masterTagsForStaff: any = [];\r\n masterStaffSpecialities: any = [];\r\n //public masterStaffSpecialities: ReplaySubject = new ReplaySubject(1);\r\n public testingspeciality: ReplaySubject = new ReplaySubject(1);\r\n public duplicatemasterStaffSpecialities: any = [];\r\n masterProviderCareCategory: any = [];\r\n masterStaffTaxonomies: any = [];\r\n masterServices: any = [];\r\n payrollGroup: any = [];\r\n defaultLocationList: any = [];\r\n previousTeam: any = [];\r\n previousTags: any = [];\r\n previousSpeciality: Array = [];\r\n prvSpeciality: any[] = [];\r\n previoushealthcareCategory: Array = [];\r\n previousTaxonomy: Array = [];\r\n previousServices: Array = [];\r\n staffId: number;\r\n maxDate = new Date();\r\n statemaster:any =[];\r\n userForm: FormGroup;\r\n userModel: UserModel;\r\n staffLocation: StaffLocation;\r\n public searching: boolean = false;\r\n staffTeam: StaffTeam;\r\n staffTag: StaffTags;\r\n staffSpeciality: StaffSpeciality;\r\n StaffhealthcareCategory: StaffCareCategoryModel;\r\n staffTaxonomy: StaffTaxonomy;\r\n staffService: StaffServices;\r\n submitted: boolean = false;\r\n dataURL: any;\r\n dataSignatureURL: any;\r\n imagePreview: any;\r\n signaturePreview: any;\r\n userRoleName: string;\r\n addEditRolePermission: boolean;\r\n filterCtrl: FormControl = new FormControl();\r\n protected _onDestroy = new Subject();\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private usersService: UsersService,\r\n private notifier: NotifierService,\r\n private commonService: CommonService,\r\n private route: Router,\r\n private el: ElementRef,\r\n private registerService: RegisterService\r\n ) {\r\n if (this.userModel == null) this.userModel = new UserModel();\r\n }\r\n ngOnInit() {\r\n let webUrl = window.location.origin;\r\n\r\n webUrl = `${webUrl}/web/login`;\r\n this.getStaffById();\r\n this.userForm = this.formBuilder.group(\r\n {\r\n firstName: [this.userModel.firstName],\r\n lastName: [this.userModel.lastName],\r\n middleName: [this.userModel.middleName],\r\n address: [this.userModel.address],\r\n apartmentNumber: [this.userModel.apartmentNumber],\r\n countryID: [this.userModel.countryID],\r\n city: [this.userModel.city],\r\n stateID: [this.userModel.stateID],\r\n zip: [this.userModel.zip],\r\n latitude: [this.userModel.latitude],\r\n longitude: [this.userModel.longitude],\r\n phoneNumber: [this.userModel.phoneNumber],\r\n npiNumber: [this.userModel.npiNumber],\r\n taxId: [this.userModel.taxId],\r\n webUrl: webUrl,\r\n dob: [\r\n new Date()\r\n // this.userModel.dob,\r\n // {\r\n // asyncValidators: [this.validateAge.bind(this)]\r\n // }\r\n ],\r\n doj: [this.userModel.doj],\r\n roleID: [this.userModel.roleID],\r\n email: [this.userModel.email,\r\n {\r\n validators: [Validators.required],\r\n asyncValidators: [this.validateUsername.bind(this)],\r\n updateOn: \"blur\"\r\n }],\r\n gender: [this.userModel.gender],\r\n caqhid: [this.userModel.caqhid],\r\n language: [this.userModel.language],\r\n degreeID: [this.userModel.degreeID],\r\n employeeID: [this.userModel.employeeID],\r\n // payRate: [\r\n // this.userModel.payRate,\r\n // {\r\n // asyncValidators: [this.validatePayRate.bind(this)]\r\n // }\r\n // ],\r\n // ftFpayRate: [\r\n // this.userModel.ftFpayRate,\r\n // {\r\n // asyncValidators: [this.validatePayRate.bind(this)] \r\n // }\r\n // ],\r\n payrollGroupID: [this.userModel.payrollGroupID],\r\n // userName: [\r\n // this.userModel.userName,\r\n // {\r\n // validators: [Validators.required],\r\n // asyncValidators: [this.validateUsername.bind(this)],\r\n // updateOn: \"blur\"\r\n // }\r\n // ],\r\n password: [\r\n this.userModel.password,\r\n // [Validators.required, PasswordValidator.strong]\r\n ],\r\n confirmPassword: [this.userModel.confirmPassword],\r\n isRenderingProvider: [this.userModel.isRenderingProvider],\r\n isUrgentCare: [this.userModel.isUrgentCare],\r\n // locationIds: [this.userModel.locationIds],\r\n locationIds: [101],\r\n staffTeamKeys: [this.userModel.staffTeamKeys],\r\n staffTagsKeys: [this.userModel.staffTagsKeys],\r\n staffSpecialityKeys: [this.userModel.staffSpecialityKeys],\r\n staffCarecategoryKeys: [this.userModel.staffCarecategoryKeys],\r\n staffTaxonomyKeys: [this.userModel.staffTaxonomyKeys],\r\n servicesKeys: [this.userModel.servicesKeys],\r\n // defaultLocation: [this.userModel.defaultLocation],\r\n defaultLocation: [101],\r\n aboutMe: [this.userModel.bio],\r\n subSpecialities: [this.userModel.experience],\r\n userImg: []\r\n },\r\n { validator: this.validateForm.bind(this) }\r\n\r\n );\r\n\r\n this.filterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterspeciality();\r\n });\r\n\r\n this.getUserPermissions();\r\n }\r\n\r\n get formControls() {\r\n return this.userForm.controls;\r\n }\r\n\r\n validateUsername(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise(resolve => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n if (this.userModel.userName == ctrl.value || this.userModel.email == ctrl.value) {\r\n resolve();\r\n }\r\n else {\r\n let userName = ctrl.value;\r\n this.registerService\r\n .checkUserNameExistance(userName)\r\n .subscribe((response: any) => {\r\n if (response.statusCode != 200) resolve({ uniqueName: true });\r\n else resolve();\r\n });\r\n }\r\n }\r\n });\r\n }\r\n validateForm(formGroup: FormGroup) {\r\n let pass = formGroup.controls.password.value;\r\n let confirmPass = formGroup.controls.confirmPassword.value;\r\n\r\n if (!confirmPass.length) return null;\r\n\r\n return pass && confirmPass && pass === confirmPass\r\n ? null\r\n : formGroup.controls.confirmPassword.setErrors({ notSame: true });\r\n }\r\n\r\n numberOnly(val: any) {\r\n const charCode = (val.which) ? val.which : val.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n \r\n validateAge(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise(resolve => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n var selectedDate = new Date(ctrl.value);\r\n var today = new Date();\r\n var year = today.getFullYear();\r\n var month = today.getMonth() + 1;\r\n var day = today.getDate();\r\n var yy = selectedDate.getFullYear();\r\n var mm = selectedDate.getMonth() + 1;\r\n var dd = selectedDate.getDate();\r\n var years, months, days;\r\n // months\r\n months = month - mm;\r\n if (day < dd) {\r\n months = months - 1;\r\n }\r\n // years\r\n years = year - yy;\r\n if (month * 100 + day < mm * 100 + dd) {\r\n years = years - 1;\r\n months = months + 12;\r\n }\r\n // days\r\n days = Math.floor(\r\n (today.getTime() -\r\n new Date(yy + years, mm + months - 1, dd).getTime()) /\r\n (24 * 60 * 60 * 1000)\r\n );\r\n if (years < 18) resolve({ age: true });\r\n else resolve();\r\n }\r\n });\r\n }\r\n // validatePayRate(\r\n // ctrl: AbstractControl\r\n // ): Promise | Observable {\r\n // return new Promise(resolve => {\r\n // if (!ctrl.dirty && !ctrl.untouched) {\r\n // resolve();\r\n // } else {\r\n // var payRate = ctrl.value;\r\n\r\n // if (payRate <= 0) resolve({ rate: true });\r\n // else resolve();\r\n // }\r\n // });\r\n // }\r\n getMasterData(value: any, type: any = 0) {\r\n\r\n this.prvSpeciality = [];\r\n\r\n if (value && value.length > 0) {\r\n if (type == 0) {\r\n for (var i = 0; i < value.length; i++)\r\n\r\n this.prvSpeciality.push(value[i].specialityId);\r\n }\r\n else {\r\n\r\n for (var i = 0; i < value[0].length; i++)\r\n\r\n this.prvSpeciality.push(value[0][i]);\r\n\r\n }\r\n }\r\n\r\n\r\n this.usersService\r\n .getMasterData(\r\n \"masterStaff,masterLocation,MASTERROLES,masterCountry,masterGender,masterState,masterDegree,MASTERTAGSFORSTAFF,PAYROLLGROUP,MASTERSPECIALITY,MASTERPROVIDERCARECATEGORY,MASTERTAXONOMY,MASTERSTAFFSERVICE\", true, this.prvSpeciality\r\n )\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterStaff = response.staffs != null ? response.staffs : [];\r\n this.masterLocation =\r\n response.masterLocation != null ? response.masterLocation : [];\r\n this.userModel.locationIds.forEach(element => {\r\n this.defaultLocationList.push(\r\n this.masterLocation.find(x => x.id == element)\r\n );\r\n });\r\n this.masterRoles =\r\n response.masterRoles != null ? response.masterRoles : [];\r\n this.masterCountry =\r\n response.masterCountry != null ? response.masterCountry : [];\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n this.masterState =\r\n response.masterState != null ? response.masterState : [];\r\n //console.log(\"this.masterState\",this.masterState);\r\n this.masterState.forEach(ele => {\r\n if(this.userModel.countryID == ele.countryID){\r\n this.statemaster.push(ele);\r\n }\r\n });\r\n this.masterDegree =\r\n response.masterDegree != null ? response.masterDegree : [];\r\n this.masterTagsForStaff =\r\n response.masterTagsforStaff != null\r\n ? response.masterTagsforStaff\r\n : [];\r\n this.masterStaffSpecialities =\r\n response.masterSpeciality != null ? response.masterSpeciality : [];\r\n this.duplicatemasterStaffSpecialities = this.masterStaffSpecialities\r\n //this.testingspeciality=this.masterStaffSpecialities\r\n\r\n this.masterProviderCareCategory =\r\n response.masterprovidercarecategory != null ? response.masterprovidercarecategory : [];\r\n this.masterStaffTaxonomies =\r\n response.masterTaxonomy != null ? response.masterTaxonomy : [];\r\n this.payrollGroup =\r\n response.payrollGroup != null ? response.payrollGroup : [];\r\n this.masterServices =\r\n response.masterStaffServices != null\r\n ? response.masterStaffServices\r\n : [];\r\n }\r\n });\r\n }\r\n updateLocationList() {\r\n this.defaultLocationList = [];\r\n if (this.masterLocation != null && this.masterLocation.length > 0) {\r\n this.userForm.controls.locationIds.value.forEach(element => {\r\n this.defaultLocationList.push(\r\n this.masterLocation.find(x => x.id == element)\r\n );\r\n });\r\n }\r\n if (\r\n !this.userForm.controls.locationIds.value.includes(\r\n this.userForm.controls.defaultLocation.value\r\n )\r\n ) {\r\n this.userForm.patchValue({ defaultLocation: null });\r\n }\r\n }\r\nonclickcountry(id:any){\r\n this.statemaster = [];\r\n this.masterState.forEach(ele => {\r\n if(id == ele.countryID){\r\n this.statemaster.push(ele);\r\n }\r\n });\r\n}\r\n getStaffById() {\r\n this.usersService\r\n .getStaffById(this.staffId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.userModel = response.data;\r\n this.previousTeam = response.data.staffTeamList;\r\n this.previousTags = response.data.staffTagsModel;\r\n this.previousSpeciality = response.data.staffSpecialityModel;\r\n this.previoushealthcareCategory = response.data.staffCareCategoryModel;\r\n this.previousTaxonomy = response.data.staffTaxonomyModel;\r\n this.previousServices = response.data.staffServicesModels;\r\n //this.getMasterData(response.data.staffSpecialityModel); \r\n this.userModel.locationIds =\r\n response.data.staffLocationList != null &&\r\n response.data.staffLocationList.length > 0\r\n ? response.data.staffLocationList.map(({ id }) => id)\r\n : [];\r\n this.userModel.defaultLocation =\r\n response.data.staffLocationList != null &&\r\n response.data.staffLocationList.length > 0\r\n ? response.data.staffLocationList.find(z => z.isDefault == true)\r\n .id\r\n : null;\r\n this.userModel.staffTeamKeys =\r\n response.data.staffTeamList != null &&\r\n response.data.staffTeamList.length > 0\r\n ? response.data.staffTeamList.map(\r\n ({ staffteamid }) => staffteamid\r\n )\r\n : [];\r\n this.userModel.staffTagsKeys =\r\n response.data.staffTagsModel != null &&\r\n response.data.staffTagsModel.length > 0\r\n ? response.data.staffTagsModel.map(({ tagID }) => tagID)\r\n : [];\r\n this.userModel.staffSpecialityKeys =\r\n response.data.staffSpecialityModel != null &&\r\n response.data.staffSpecialityModel.length > 0\r\n ? response.data.staffSpecialityModel.map(\r\n ({ specialityId }) => specialityId\r\n )\r\n : [];\r\n\r\n this.userModel.staffCarecategoryKeys =\r\n response.data.staffCareCategoryModel != null &&\r\n response.data.staffCareCategoryModel.length > 0\r\n ? response.data.staffCareCategoryModel.map(\r\n ({ healthcarecategoryID }) => healthcarecategoryID\r\n )\r\n : [];\r\n\r\n this.userModel.staffTaxonomyKeys =\r\n response.data.staffTaxonomyModel != null &&\r\n response.data.staffTaxonomyModel.length > 0\r\n ? response.data.staffTaxonomyModel.map(\r\n ({ taxonomyId }) => taxonomyId\r\n )\r\n : [];\r\n\r\n this.userModel.servicesKeys =\r\n response.data.staffServicesModels != null &&\r\n response.data.staffServicesModels.length > 0\r\n ? response.data.staffServicesModels.map(\r\n ({ serviceId }) => +serviceId\r\n )\r\n : [];\r\n this.userModel.confirmPassword = response.data.password;\r\n this.imagePreview = this.userModel.photoThumbnailPath;\r\n this.signaturePreview = this.userModel.signaturePath;\r\n this.userRoleName = this.userModel.roleName;\r\n this.userForm.patchValue(this.userModel); \r\n this.getMasterData(response.data.staffSpecialityModel);\r\n }\r\n else {\r\n this.getMasterData(null);\r\n }\r\n });\r\n }\r\n selectChange(evt: any) {\r\n this.prvSpeciality = [];\r\n this.prvSpeciality.push(evt);\r\n this.getMasterData(this.prvSpeciality, 1)\r\n }\r\n\r\n\r\n handleImageChange(e) {\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n var input = e.target;\r\n var reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.imagePreview = this.dataURL;\r\n // console.log('dataURL', this.dataURL)\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n\r\n removeImage() {\r\n this.dataURL = null;\r\n this.imagePreview = null;\r\n }\r\n\r\n handleSignatureChange(e) {\r\n if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n var input = e.target;\r\n var reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataSignatureURL = reader.result;\r\n this.signaturePreview = this.dataSignatureURL;\r\n // console.log('dataSignatureURL', this.signaturePreview)\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n } else this.notifier.notify(\"error\", \"Please select valid file type\");\r\n }\r\n\r\n removeSignature() {\r\n this.dataSignatureURL = null;\r\n this.signaturePreview = null;\r\n }\r\n\r\n public handleAddressChange(addressObj: any) {\r\n const pObJ = {\r\n address: addressObj.address1,\r\n countryID:\r\n this.masterCountry.find(\r\n x => x.value.toUpperCase() == (addressObj.country || \"\").toUpperCase()\r\n ) == null\r\n ? null\r\n : this.masterCountry.find(\r\n x =>\r\n x.value.toUpperCase() ==\r\n (addressObj.country || \"\").toUpperCase()\r\n ).id,\r\n city: addressObj.city,\r\n stateID:\r\n this.masterState.find(\r\n y =>\r\n (y.stateAbbr || \"\").toUpperCase() ==\r\n (addressObj.state || \"\").toUpperCase()\r\n ) == null\r\n ? null\r\n : this.masterState.find(\r\n y =>\r\n (y.stateAbbr || \"\").toUpperCase() ==\r\n (addressObj.state || \"\").toUpperCase()\r\n ).id,\r\n zip: addressObj.zip,\r\n latitude: addressObj.latitude,\r\n longitude: addressObj.longitude\r\n };\r\n this.userForm.patchValue(pObJ);\r\n // Do some stuff\r\n }\r\n onSubmit(event: any) {\r\n for (const key of Object.keys(this.userForm.controls)) {\r\n if (this.userForm.controls[key].invalid) {\r\n const invalidControl = this.el.nativeElement.querySelector(\r\n '[formcontrolname=\"' + key + '\"]'\r\n );\r\n if (invalidControl != null) {\r\n invalidControl.focus();\r\n break;\r\n }\r\n }\r\n }\r\n if (!this.userForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n let formValues = this.userForm.value;\r\n this.userModel = formValues;\r\n this.userModel.userName = this.userModel.email;\r\n this.userModel.id = this.staffId;\r\n this.userModel.photoBase64 = this.dataURL;\r\n this.userModel.signaturePath = this.dataSignatureURL;\r\n this.userModel.staffTeamList = new Array();\r\n this.userModel.staffLocationList = new Array();\r\n this.userModel.staffTagsModel = new Array();\r\n this.userModel.staffSpecialityModel = new Array();\r\n this.userModel.StaffCareCategoryModel = new Array();\r\n this.userModel.staffTaxonomyModel = new Array();\r\n this.userModel.staffServicesModels = new Array();\r\n this.userModel.dob = format(this.userModel.dob, \"YYYY-MM-DDTHH:mm:ss\"); //new Date(this.userModel.dob);\r\n this.userModel.doj = format(this.userModel.doj, \"YYYY-MM-DDTHH:mm:ss\"); //new Date(this.userModel.dob);\r\n\r\n // formValues.locationIds != undefined &&\r\n // formValues.locationIds.forEach(element => {\r\n // this.staffLocation = new StaffLocation();\r\n // this.staffLocation.id = element;\r\n // this.staffLocation.isDefault =\r\n // formValues.defaultLocation == element ? true : false;\r\n // this.userModel.staffLocationList.push(this.staffLocation);\r\n // });\r\n\r\n if (formValues.locationIds != undefined && formValues.locationIds != null) {\r\n if (this.staffId == null || this.staffId == 0) {\r\n this.staffLocation = new StaffLocation();\r\n this.staffLocation.id = formValues.locationIds;\r\n this.staffLocation.isDefault =\r\n formValues.defaultLocation == formValues.locationIds ? true : false;\r\n this.userModel.staffLocationList.push(this.staffLocation);\r\n }\r\n else {\r\n formValues.locationIds.forEach(element => {\r\n this.staffLocation = new StaffLocation();\r\n this.staffLocation.id = element;\r\n this.staffLocation.isDefault =\r\n formValues.defaultLocation == element ? true : false;\r\n this.userModel.staffLocationList.push(this.staffLocation);\r\n });\r\n }\r\n }\r\n\r\n formValues.staffTagsKeys != null &&\r\n formValues.staffTagsKeys.forEach(element => {\r\n let pStaffTag =\r\n this.previousTags != null &&\r\n this.previousTags.find(x => x.tagID == element);\r\n this.staffTag = new StaffTags();\r\n this.staffTag.tagID = element;\r\n this.staffTag.id =\r\n pStaffTag != null && pStaffTag.id > 0 ? pStaffTag.id : null;\r\n this.staffTag.staffID =\r\n pStaffTag != null && pStaffTag.staffID > 0\r\n ? pStaffTag.staffID\r\n : this.staffId;\r\n this.userModel.staffTagsModel.push(this.staffTag);\r\n });\r\n this.previousTags != null &&\r\n this.previousTags.forEach(x => {\r\n var i=this.userModel.staffTagsModel.findIndex(y => y.tagID == x.tagID);\r\n if (\r\n this.userModel.staffTagsModel.findIndex(y => y.tagID == x.tagID) ==\r\n -1\r\n ) {\r\n x.isDeleted = true;\r\n this.userModel.staffTagsModel.push(x);\r\n }\r\n });\r\n\r\n formValues.staffTeamKeys != null &&\r\n formValues.staffTeamKeys.forEach(element => {\r\n this.staffTeam = new StaffTeam();\r\n this.staffTeam.staffteamid = element;\r\n this.userModel.staffTeamList.push(this.staffTeam);\r\n });\r\n this.previousTeam != null &&\r\n this.previousTeam.forEach(x => {\r\n if (\r\n this.userModel.staffTeamList.findIndex(y => y.staffteamid == x.staffteamid) == -1\r\n ) {\r\n x.isDeleted = true;\r\n this.userModel.staffTeamList.push(x);\r\n }\r\n });\r\n formValues.staffSpecialityKeys != null &&\r\n formValues.staffSpecialityKeys.forEach(element => {\r\n this.staffSpeciality = new StaffSpeciality();\r\n this.staffSpeciality.specialityId = element;\r\n this.userModel.staffSpecialityModel.push(this.staffSpeciality);\r\n }); \r\n this.previousSpeciality != null &&\r\n this.previousSpeciality.forEach(x => {\r\n //speciali tyId\r\n let i=this.userModel.staffSpecialityModel.findIndex(y => (y.specialityId == x.specialityId));\r\n if (\r\n this.userModel.staffSpecialityModel.findIndex(\r\n y => +y.specialityId == +x.specialityId \r\n ) == -1\r\n ) {\r\n x.isDeleted = true;\r\n x.id=x.id\r\n x.specialityId=x.specialityId\r\n x.staffID=x.staffID\r\n this.userModel.staffSpecialityModel.push(x);\r\n }\r\n });\r\n\r\n formValues.staffCarecategoryKeys != null &&\r\n formValues.staffCarecategoryKeys.forEach(element => {\r\n this.StaffhealthcareCategory = new StaffCareCategoryModel();\r\n this.StaffhealthcareCategory.healthcarecategoryID = element;\r\n this.userModel.StaffCareCategoryModel.push(this.StaffhealthcareCategory);\r\n });\r\n this.previoushealthcareCategory != null &&\r\n this.previoushealthcareCategory.forEach(x => {\r\n //let i=this.userModel.staffSpecialityModel.findIndex(y => (y.specialityID == x.specialityID));\r\n if (\r\n this.userModel.StaffCareCategoryModel.findIndex(\r\n y => +y.healthcarecategoryID == +x.healthcarecategoryID\r\n ) == -1\r\n ) {\r\n x.isDeleted = true;\r\n this.userModel.StaffCareCategoryModel.push(x);\r\n }\r\n });\r\n\r\n formValues.staffTaxonomyKeys != null &&\r\n formValues.staffTaxonomyKeys.forEach(element => {\r\n this.staffTaxonomy = new StaffTaxonomy();\r\n this.staffTaxonomy.taxonomyID = element;\r\n this.userModel.staffTaxonomyModel.push(this.staffTaxonomy);\r\n });\r\n this.previousTaxonomy != null &&\r\n this.previousTaxonomy.forEach(x => {\r\n //let i=this.userModel.staffSpecialityModel.findIndex(y => (y.specialityID == x.specialityID));\r\n if (\r\n this.userModel.staffTaxonomyModel.findIndex(\r\n y => +y.taxonomyID == +x.taxonomyID\r\n ) == -1\r\n ) {\r\n x.isDeleted = true;\r\n this.userModel.staffTaxonomyModel.push(x);\r\n }\r\n });\r\n formValues.servicesKeys != null &&\r\n formValues.servicesKeys.forEach(element => {\r\n this.staffService = new StaffServices();\r\n this.staffService.serviceId = element;\r\n this.userModel.staffServicesModels.push(this.staffService);\r\n });\r\n this.previousServices != null &&\r\n this.previousServices.forEach(x => {\r\n //let i=this.userModel.staffSpecialityModel.findIndex(y => (y.specialityID == x.specialityID));\r\n if (\r\n this.userModel.staffServicesModels.findIndex(\r\n y => +y.serviceId == +x.serviceId\r\n ) == -1\r\n ) {\r\n x.isDeleted = true;\r\n this.userModel.staffServicesModels.push(x);\r\n }\r\n });\r\n this.submitted = true;\r\n\r\n this.usersService.create(this.userModel).subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.staffId = response.data.id;\r\n this.commonService.initializeAuthData();\r\n this.route.navigate([\"web/manage-users/user-profile\"], {\r\n queryParams: {\r\n id: this.commonService.encryptValue(this.staffId, true)\r\n }\r\n });\r\n // this.route.navigate([\"web/manage-users/user-profile\"]);\r\n this.notifier.notify(\"success\", response.message);\r\n this.getStaffById();\r\n this.commonService.isProfileUpdated(this.staffId);\r\n if (clickType == \"SaveContinue\")\r\n this.handleTabChange.next({\r\n tab: \"Custom Fields\",\r\n id: response.data.id\r\n });\r\n } else {\r\n for (const key of Object.keys(this.userForm.controls)) {\r\n if (this.userForm.controls[key].invalid) {\r\n const invalidControl = this.el.nativeElement.querySelector(\r\n '[formcontrolname=\"' + key + '\"]'\r\n );\r\n if (invalidControl != null) {\r\n invalidControl.focus();\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions = this.usersService.getUserScreenActionPermissions(\r\n \"USER\",\r\n \"USER_ADD\"\r\n );\r\n const { USER_ADD_EDIT_USER_ROLE } = actionPermissions;\r\n\r\n this.addEditRolePermission = USER_ADD_EDIT_USER_ROLE || false;\r\n }\r\n\r\n normalizeMobile(value, previousValue): any {\r\n if (!value) {\r\n return value;\r\n }\r\n const onlyNums = value.replace(/[^\\d]/g, \"\");\r\n if (!previousValue || value.length > previousValue.length) {\r\n // typing forward\r\n if (onlyNums.length === 3) {\r\n return onlyNums + \" \";\r\n }\r\n if (onlyNums.length === 6) {\r\n return \"(\" + onlyNums.slice(0, 3) + \") \" + onlyNums.slice(3) + \"-\";\r\n }\r\n }\r\n if (onlyNums.length <= 3) {\r\n return onlyNums;\r\n }\r\n if (onlyNums.length <= 6) {\r\n return \"(\" + onlyNums.slice(0, 3) + \") \" + onlyNums.slice(3);\r\n }\r\n return (\r\n \"(\" +\r\n onlyNums.slice(0, 3) +\r\n \") \" +\r\n onlyNums.slice(3, 6) +\r\n \"-\" +\r\n onlyNums.slice(6, 10)\r\n );\r\n }\r\n\r\n normalizeSSN(value, previousValue): any {\r\n if (!value) {\r\n return value;\r\n }\r\n const onlyNums = value.replace(/[^\\d]/g, \"\");\r\n if (!previousValue || value.length > previousValue.length) {\r\n // typing forward\r\n if (onlyNums.length === 3) {\r\n return onlyNums + \"-\";\r\n }\r\n if (onlyNums.length === 6) {\r\n return onlyNums.slice(0, 3) + \"-\" + onlyNums.slice(3) + \"-\";\r\n }\r\n }\r\n if (onlyNums.length <= 3) {\r\n return onlyNums;\r\n }\r\n if (onlyNums.length <= 6) {\r\n return onlyNums.slice(0, 3) + \"-\" + onlyNums.slice(3);\r\n }\r\n return (\r\n onlyNums.slice(0, 3) +\r\n \"-\" +\r\n onlyNums.slice(3, 5) +\r\n \"-\" +\r\n onlyNums.slice(5, 9)\r\n );\r\n }\r\n\r\n normalizeFax(value, previousValue): any {\r\n if (!value) {\r\n return value;\r\n }\r\n const onlyNums = value.replace(/[^\\d]/g, \"\");\r\n if (!previousValue || value.length > previousValue.length) {\r\n // typing forward\r\n if (onlyNums.length === 3) {\r\n return onlyNums + \" \";\r\n }\r\n if (onlyNums.length === 6) {\r\n return \"(\" + onlyNums.slice(0, 3) + \") \" + onlyNums.slice(3) + \"-\";\r\n }\r\n }\r\n if (onlyNums.length <= 3) {\r\n return onlyNums;\r\n }\r\n if (onlyNums.length <= 6) {\r\n return \"(\" + onlyNums.slice(0, 3) + \") \" + onlyNums.slice(3);\r\n }\r\n return (\r\n \"(\" +\r\n onlyNums.slice(0, 3) +\r\n \") \" +\r\n onlyNums.slice(3, 6) +\r\n \"-\" +\r\n onlyNums.slice(6, 13)\r\n );\r\n }\r\n\r\n normalizeZipCode(value, previousValue): any {\r\n if (!value) {\r\n return value;\r\n }\r\n const onlyNums = value.replace(/[^\\d]/g, \"\");\r\n if (!previousValue || value.length > previousValue.length) {\r\n // typing forward 12345-1234\r\n if (onlyNums.length < 5) {\r\n return onlyNums;\r\n }\r\n if (onlyNums.length === 5) {\r\n return onlyNums.slice(0, 5);\r\n }\r\n if (onlyNums.length > 5) {\r\n return onlyNums.slice(0, 5) + \"-\" + onlyNums.slice(5);\r\n }\r\n }\r\n if (onlyNums.length < 5) {\r\n return onlyNums;\r\n }\r\n if (onlyNums.length > 5) {\r\n return onlyNums.slice(0, 5) + \"-\" + onlyNums.slice(5);\r\n }\r\n if (onlyNums.length === 5) {\r\n return onlyNums.slice(0, 5);\r\n }\r\n }\r\n\r\n normalizeRate(value, previousValue): any {\r\n if (!value) {\r\n return value;\r\n }\r\n if (parseFloat(value) === 0) {\r\n return \"\";\r\n }\r\n const onlyNums = value.replace(/[^\\d]/g, \"\");\r\n\r\n if (!previousValue || value.length > previousValue.length) {\r\n // typing forward 12345-1234\r\n if (onlyNums.length > 0) {\r\n if (onlyNums.length === 2) {\r\n if (value.indexOf(\".\") === onlyNums.length - 1) {\r\n return \"00.\" + onlyNums.slice(1) + \"0\";\r\n }\r\n return onlyNums + \".00\";\r\n } else if (onlyNums.length === 1) {\r\n return \"00.0\" + onlyNums;\r\n } else if (onlyNums.length === 3) {\r\n if (previousValue.length > value.length) {\r\n return onlyNums.slice(0, 2) + \".\" + onlyNums.slice(2);\r\n } else if (onlyNums[onlyNums.length - 1] === \"0\") {\r\n return \"00.\" + onlyNums.slice(0, 2);\r\n }\r\n return (\r\n \"0\" +\r\n onlyNums.slice(0, onlyNums.length - 2) +\r\n \".\" +\r\n onlyNums.slice(onlyNums.length - 2)\r\n );\r\n } else if (onlyNums.length === 4) {\r\n return (\r\n onlyNums.slice(0, onlyNums.length - 2) +\r\n \".\" +\r\n onlyNums.slice(onlyNums.length - 2)\r\n );\r\n } else if (onlyNums.length === 5) {\r\n if (onlyNums[0] === \"0\") {\r\n return (\r\n onlyNums.slice(1, onlyNums.length - 2) +\r\n \".\" +\r\n onlyNums.slice(onlyNums.length - 2)\r\n );\r\n } else\r\n return (\r\n onlyNums.slice(0, onlyNums.length - 2) +\r\n \".\" +\r\n onlyNums.slice(onlyNums.length - 2)\r\n );\r\n } else if (onlyNums.length > 5) {\r\n return (\r\n onlyNums.slice(0, onlyNums.length - 2) +\r\n \".\" +\r\n onlyNums.slice(onlyNums.length - 2)\r\n );\r\n }\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n // tabbing backspace\r\n\r\n if (onlyNums.length > 0) {\r\n if (onlyNums.length === 2) {\r\n if (value.indexOf(\".\") === onlyNums.length - 1) {\r\n return \"00.\" + onlyNums.slice(1) + \"0\";\r\n }\r\n if (value.indexOf(\".\") === onlyNums.length) {\r\n return \"00.\" + onlyNums;\r\n }\r\n return onlyNums + \".00\";\r\n } else if (onlyNums.length === 1) {\r\n return \"0\" + onlyNums + \".00\";\r\n } else if (onlyNums.length === 3) {\r\n if (value.indexOf(\".\") === onlyNums.length - 1) {\r\n if (previousValue.length > value.length) {\r\n return onlyNums.slice(0, 2) + \".\" + onlyNums.slice(2);\r\n } else if (onlyNums[onlyNums.length - 1] === \"0\") {\r\n return \"00.\" + onlyNums.slice(0, 2);\r\n } else {\r\n return onlyNums.slice(0, 2) + \".\" + onlyNums.slice(2) + \"0\";\r\n }\r\n } else\r\n return (\r\n \"0\" +\r\n onlyNums.slice(0, onlyNums.length - 2) +\r\n \".\" +\r\n onlyNums.slice(onlyNums.length - 2)\r\n );\r\n } else if (onlyNums.length === 4) {\r\n if (value.indexOf(\".\") === -1) {\r\n return onlyNums + \".00\";\r\n }\r\n return (\r\n onlyNums.slice(0, onlyNums.length - 2) +\r\n \".\" +\r\n onlyNums.slice(onlyNums.length - 2)\r\n );\r\n } else if (onlyNums.length > 4) {\r\n if (value.indexOf(\".\") !== -1) {\r\n if (value.indexOf(\".\") === onlyNums.length - 1) {\r\n if (previousValue.length > value.length) {\r\n return (\r\n onlyNums.slice(0, value.indexOf(\".\") - 1) +\r\n \".\" +\r\n onlyNums.slice(value.indexOf(\".\") - 1)\r\n );\r\n } else\r\n return (\r\n onlyNums.slice(0, value.indexOf(\".\")) +\r\n \".\" +\r\n onlyNums.slice(value.indexOf(\".\")) +\r\n \"0\"\r\n );\r\n } else\r\n return (\r\n onlyNums.slice(0, value.indexOf(\".\")) +\r\n \".\" +\r\n onlyNums.slice(value.indexOf(\".\"))\r\n );\r\n } else {\r\n return onlyNums + \".00\";\r\n }\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n // return onlyNums.slice(0, 5) + '-' + onlyNums.slice(5);\r\n }\r\n\r\n\r\n protected filterspeciality() {\r\n\r\n // if (!this.banks) {\r\n // return;\r\n // }\r\n // get the search keyword\r\n let search = this.filterCtrl.value;\r\n if (search.length > 2) {\r\n search = search.toLowerCase();\r\n\r\n // if (!search) {\r\n // this.filteredBanksMulti.next(this.banks.slice());\r\n // return;\r\n // } else {\r\n // search = search.toLowerCase();\r\n // }\r\n // filter the banks\r\n this.testingspeciality.next(\r\n this.duplicatemasterStaffSpecialities.filter(bank => bank.value.toLowerCase().indexOf(search) > -1)\r\n ); \r\n }\r\n\r\n }\r\n}\r\n","module.exports = \".weekdayslist {\\r\\n margin: 0px -15px;\\r\\n \\r\\n}\\r\\n.weekdayslist ul {\\r\\n list-style: outside none none;\\r\\n padding: 0px 40px 0px 0px;\\r\\n text-align: left;\\r\\n margin: 0px;\\r\\n position: relative;\\r\\n overflow: hidden;\\r\\n}\\r\\n.weekdayslist ul li {\\r\\n float: left;\\r\\n width: 14.28%;\\r\\n padding: 0px 15px;\\r\\n margin: 10px 0px;\\r\\n}\\r\\n.additem {\\r\\n right: 15px;\\r\\n}\\r\\n.removeitem {\\r\\n right: 35px;\\r\\n}\\r\\n.mt-120{\\r\\n margin-top: 120px;\\r\\n}\\r\\n.cstom-rel{\\r\\n font-size: 14px;\\r\\n position: relative;\\r\\n}\\r\\n@media (max-width: 1199px) {\\r\\n .weekdayslist ul li {\\r\\n width: 20%;\\r\\n }\\r\\n}\\r\\n@media (max-width: 767px) {\\r\\n .weekdayslist ul li {\\r\\n width: 25%;\\r\\n }\\r\\n .cstom-slot-pos{\\r\\n position: relative;\\r\\n top:0;\\r\\n }\\r\\n}\\r\\n@media (max-width: 575px) {\\r\\n .weekdayslist ul li {\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n.reset-all-button-container {\\r\\n text-align: right;\\r\\n margin-top: 20px;\\r\\n}\\r\\n.danger-button {\\r\\n background-color: #f44336; /* Red color */\\r\\n color: white;\\r\\n border: none;\\r\\n}\\r\\n.danger-button:hover {\\r\\n background-color: #d32f2f; /* Darker red color on hover */\\r\\n}\\r\\n.resetday {\\r\\n margin: 0;\\r\\n /* padding: 8px; Adds some padding for better touch target */\\r\\n /* background-color: rgba(255, 0, 0, 0.1); Adds a light red background */\\r\\n border-radius: 50%; /* Makes the button circular */\\r\\n transition: background-color 0.3s ease; /* Smooth transition for hover effect */\\r\\n}\\r\\n.resetkey-danger-button{\\r\\n width: 40px;\\r\\n height: auto;\\r\\n}\\r\\n.resetday {\\r\\n /* background-color: rgba(255, 0, 0, 0.2); Darker background on hover */\\r\\n width: 20px;\\r\\n height: auto;\\r\\n}\\r\\n.resetday mat-icon {\\r\\n color:#86a47e; /* Set the icon color to red */\\r\\n font-size: 17px; /* Adjust the icon size */\\r\\n}\\r\\n.resetday.mat-icon-button.mat-warn {\\r\\n min-height: 0px !important;\\r\\n}\\r\\n.availabletime .form-row {\\r\\n margin-bottom: 1rem;\\r\\n padding: 1rem;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 8px;\\r\\n background-color: #f9f9f9;\\r\\n}\\r\\n.availabletime .form-group {\\r\\n padding: 0 8px;\\r\\n}\\r\\n.availabletime .full-width {\\r\\n width: 100%;\\r\\n}\\r\\n.availabletime .form-buttons {\\r\\n margin-top: 0.5rem;\\r\\n}\\r\\n.availabletime .remove-item-btn, .availabletime .add-item-btn {\\r\\n cursor: pointer;\\r\\n background: none;\\r\\n border: none;\\r\\n outline: none;\\r\\n font-size: 1.5rem;\\r\\n color: #007bff;\\r\\n}\\r\\n.availabletime .remove-item-btn:hover {\\r\\n color: #dc3545;\\r\\n}\\r\\n.availabletime .add-item-btn:hover {\\r\\n color: #28a745;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

Working Days

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{(j==0?'Sun':j==1?'Mon':j==2?'Tue':j==3?'Wed':j==4?'Thu':j==5?'Fri':j==6?'Sat':'')}}\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Availability Date and Time

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

Unavailability Date and Time

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

Booking Slot Time Interval

\\r\\n
\\r\\n \\r\\n Time Interval\\r\\n \\r\\n \\r\\n 15 min\\r\\n 30 min\\r\\n 45 min\\r\\n 1 hr\\r\\n 2 hr\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { debug } from \"util\";\r\nimport { Component, OnInit, EventEmitter, Output } from \"@angular/core\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { UsersService } from \"../users.service\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { StaffAssignedLocationModel } from \"../users.model\";\r\nimport { StaffAvailabilityModel } from \"../staff-availability.model\";\r\nimport { FormGroup, FormBuilder, FormArray } from \"@angular/forms\";\r\nimport { format } from \"date-fns\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { SchedulerService } from \"../../../scheduling/scheduler/scheduler.service\";\r\n\r\n@Component({\r\n selector: \"app-availability\",\r\n templateUrl: \"./availability.component.html\",\r\n styleUrls: [\"./availability.component.css\"]\r\n})\r\nexport class AvailabilityComponent implements OnInit {\r\n\r\n \r\n availabilityForm: FormGroup;\r\n staffId: number;\r\n locationId: number;\r\n staffLocations: Array;\r\n staffAvailabilityTypes: Array;\r\n masterWeekDays: Array;\r\n days: Array = [];\r\n available: Array = [];\r\n unavailable: Array = [];\r\n sunday: Array = [];\r\n monday: Array = [];\r\n tuesday: Array = [];\r\n wednesday: Array = [];\r\n thursday: Array = [];\r\n friday: Array = [];\r\n saturday: Array = [];\r\n existingDayAvailabilities: Array = [];\r\n existingAvailabilities: Array = [];\r\n existingUnaAvailabilities: Array = [];\r\n submitted: boolean = false;\r\n timeinterval: string;\r\n userInfo: any;\r\n providerId: string;\r\n maxDate = new Date(Date.now());\r\n disableAvailabilityDate = false;\r\n disableNonAvailabilityDate = false;\r\n\r\n// public timeintervals: string[] = [\r\n// '15 min',\r\n// '30 min',\r\n// '45 min',\r\n// '1 hr',\r\n// '2 hr',\r\n \r\n// ];\r\n loop: any[] = [1];\r\n\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n Comapnies: any[];\r\n AvailableCompanies: any[];\r\n\r\n constructor(\r\n private userService: UsersService,\r\n private formBuilder: FormBuilder,\r\n private notifier: NotifierService,\r\n private commonService: CommonService,\r\n private homeService: HomeService,\r\n private schedulerService:SchedulerService \r\n ) {}\r\n ngOnInit() {\r\n this.getcompany();\r\n this.GetStaffLocations();\r\n const configContols = {\r\n daysAvailability: this.formBuilder.array([\r\n this.formBuilder.group({\r\n items: this.formBuilder.array([])\r\n })\r\n ]),\r\n availability: this.formBuilder.array([]),\r\n unavailability: this.formBuilder.array([])\r\n };\r\n this.availabilityForm = this.formBuilder.group(configContols);\r\n this.staffLocations = new Array();\r\n this.getStaffDetail();\r\n }\r\n\r\n getcompany() {\r\n\r\n this.schedulerService.getAllCompaniesdata().subscribe((response: any) => {\r\n if (response.statusCode !== 200) {\r\n (this.Comapnies = []);\r\n } else {\r\n this.Comapnies = response.data || [];\r\n this.AvailableCompanies = this.Comapnies\r\n \r\n }\r\n });\r\n }\r\n getStaffAvailbilityTypes() {\r\n let data = \"staffavailability,MASTERWEEKDAYS\";\r\n this.userService.getMasterData(data).subscribe((response: any) => {\r\n if (response != null) {\r\n this.staffAvailabilityTypes = response.staffAvailability;\r\n this.masterWeekDays = response.masterWeekDays;\r\n this.GetStaffAvailabilityByLocation();\r\n }\r\n });\r\n }\r\n getDayId(dayName: string = \"\"): number {\r\n return this.masterWeekDays.find(\r\n x => x.day.toLowerCase() == dayName.toLowerCase()\r\n ).id;\r\n }\r\n\r\n getDayName(dayId: number): string {\r\n return this.masterWeekDays.find(x => x.id == dayId).dayName;\r\n }\r\n get formControls() {\r\n return this.availabilityForm.value;\r\n }\r\n\r\n get daysAvailability() {\r\n return this.availabilityForm.get(\"daysAvailability\") as FormArray;\r\n }\r\n\r\n get availability() {\r\n return this.availabilityForm.get(\"availability\") as FormArray;\r\n }\r\n get unavailability() {\r\n return this.availabilityForm.get(\"unavailability\") as FormArray;\r\n }\r\n\r\n addItem(ix, array: Array) {\r\n this.daysAvailability.push(\r\n this.formBuilder.group({\r\n items: this.formBuilder.array([])\r\n })\r\n );\r\n\r\n const control = (this.availabilityForm.controls[\r\n \"daysAvailability\"\r\n ])\r\n .at(ix)\r\n .get(\"items\") as FormArray;\r\n for (let i = 0; i < array.length; i++) {\r\n control.push(\r\n this.formBuilder.group({\r\n id: array[i].id,\r\n dayId: array[i].dayId,\r\n startTime: array[i].startTime,\r\n endTime: array[i].endTime,\r\n dayName: array[i].dayName,\r\n locationId: array[i].locationId,\r\n staffID: array[i].staffID,\r\n isActive: array[i].isActive,\r\n isDeleted: array[i].isDeleted,\r\n staffAvailabilityTypeID: array[i].staffAvailabilityTypeID\r\n })\r\n );\r\n }\r\n }\r\n\r\n addAvlItem(obj: StaffAvailabilityModel) {\r\n const control = this.availabilityForm.controls[\"availability\"];\r\n control.push(\r\n this.formBuilder.group({\r\n id: obj.id,\r\n dayId: obj.dayId,\r\n startTime: obj.startTime,\r\n endTime: obj.endTime,\r\n dayName: obj.dayName,\r\n locationId: obj.locationId,\r\n staffID: obj.staffID,\r\n date: obj.date,\r\n isActive: obj.isActive,\r\n isDeleted: obj.isDeleted,\r\n staffAvailabilityTypeID: obj.staffAvailabilityTypeID,\r\n companyName:obj.companyName\r\n })\r\n );\r\n }\r\n\r\n addUnAvlItem(obj: StaffAvailabilityModel) {\r\n const control = this.availabilityForm.controls[\"unavailability\"];\r\n control.push(\r\n this.formBuilder.group({\r\n id: obj.id,\r\n dayId: obj.dayId,\r\n startTime: obj.startTime,\r\n endTime: obj.endTime,\r\n dayName: obj.dayName,\r\n locationId: obj.locationId,\r\n staffID: obj.staffID,\r\n date: obj.date,\r\n isActive: obj.isActive,\r\n isDeleted: obj.isDeleted,\r\n staffAvailabilityTypeID: obj.staffAvailabilityTypeID\r\n })\r\n );\r\n }\r\n\r\n GetStaffLocations() {\r\n this.userService\r\n .getStaffLocations(this.staffId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n this.staffLocations = response.data;\r\n // this.locationId = this.staffLocations.find(\r\n // x => x.isDefault == true\r\n // ).id;\r\n this.locationId = 156;\r\n this.getStaffAvailbilityTypes();\r\n }\r\n });\r\n }\r\n GetStaffAvailabilityByLocation() {\r\n let maxLength: number = 1;\r\n let emptyObject: StaffAvailabilityModel;\r\n let avlType = this.staffAvailabilityTypes.find(\r\n x => x.globalCodeName === \"WeekDay\"\r\n ).id;\r\n this.userService\r\n .getStaffAvailabilityByLocation(this.staffId, this.locationId)\r\n .subscribe((response: ResponseModel) => {\r\n this.existingDayAvailabilities = [];\r\n this.existingAvailabilities = [];\r\n this.existingUnaAvailabilities = [];\r\n if (response != null && response.data != null) {\r\n if (response.data.days != null) {\r\n this.existingDayAvailabilities = response.data.days;\r\n this.sunday = response.data.days\r\n .filter(x => x.dayId === this.getDayId(\"Sunday\"))\r\n .map(y => {\r\n y.startTime = y.startTime ? format(y.startTime, \"HH:mm\") : null;\r\n y.endTime = y.endTime ? format(y.endTime, \"HH:mm\") : null;\r\n return y;\r\n });\r\n maxLength =\r\n this.sunday.length > maxLength ? this.sunday.length : maxLength;\r\n this.monday = response.data.days\r\n .filter(x => x.dayId === this.getDayId(\"Monday\"))\r\n .map(y => {\r\n y.startTime = y.startTime ? format(y.startTime, \"HH:mm\") : null;\r\n y.endTime = y.endTime ? format(y.endTime, \"HH:mm\") : null;\r\n return y;\r\n });\r\n maxLength =\r\n this.monday.length > maxLength ? this.monday.length : maxLength;\r\n this.tuesday = response.data.days\r\n .filter(x => x.dayId === this.getDayId(\"Tuesday\"))\r\n .map(y => {\r\n y.startTime = y.startTime ? format(y.startTime, \"HH:mm\") : null;\r\n y.endTime = y.endTime ? format(y.endTime, \"HH:mm\") : null;\r\n return y;\r\n });\r\n maxLength =\r\n this.tuesday.length > maxLength ? this.tuesday.length : maxLength;\r\n this.wednesday = response.data.days\r\n .filter(x => x.dayId === this.getDayId(\"Wednesday\"))\r\n .map(y => {\r\n y.startTime = y.startTime ? format(y.startTime, \"HH:mm\") : null;\r\n y.endTime = y.endTime ? format(y.endTime, \"HH:mm\") : null;\r\n return y;\r\n });\r\n maxLength =\r\n this.wednesday.length > maxLength\r\n ? this.wednesday.length\r\n : maxLength;\r\n this.thursday = response.data.days\r\n .filter(x => x.dayId === this.getDayId(\"Thursday\"))\r\n .map(y => {\r\n y.startTime = y.startTime ? format(y.startTime, \"HH:mm\") : null;\r\n y.endTime = y.endTime ? format(y.endTime, \"HH:mm\") : null;\r\n return y;\r\n });\r\n maxLength =\r\n this.thursday.length > maxLength\r\n ? this.thursday.length\r\n : maxLength;\r\n this.friday = response.data.days\r\n .filter(x => x.dayId === this.getDayId(\"Friday\"))\r\n .map(y => {\r\n y.startTime = y.startTime ? format(y.startTime, \"HH:mm\") : null;\r\n y.endTime = y.endTime ? format(y.endTime, \"HH:mm\") : null;\r\n return y;\r\n });\r\n maxLength =\r\n this.friday.length > maxLength ? this.friday.length : maxLength;\r\n this.saturday = response.data.days\r\n .filter(x => x.dayId === this.getDayId(\"Saturday\"))\r\n .map(y => {\r\n y.startTime = y.startTime ? format(y.startTime, \"HH:mm\") : null;\r\n y.endTime = y.endTime ? format(y.endTime, \"HH:mm\") : null;\r\n return y;\r\n });\r\n maxLength =\r\n this.saturday.length > maxLength\r\n ? this.saturday.length\r\n : maxLength;\r\n \r\n for (let i = 0; i < maxLength; i++) {\r\n this.addItem(i, [\r\n this.sunday[i] ||\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Sunday\"),\r\n avlType\r\n ),\r\n this.monday[i] ||\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Monday\"),\r\n avlType\r\n ),\r\n this.tuesday[i] ||\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Tuesday\"),\r\n avlType\r\n ),\r\n this.wednesday[i] ||\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Wednesday\"),\r\n avlType\r\n ),\r\n this.thursday[i] ||\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Thursday\"),\r\n avlType\r\n ),\r\n this.friday[i] ||\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Friday\"),\r\n avlType\r\n ),\r\n this.saturday[i] ||\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Saturday\"),\r\n avlType\r\n )\r\n ]);\r\n }\r\n } else {\r\n this.addItem(0, [\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Sunday\"),\r\n avlType\r\n ),\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Monday\"),\r\n avlType\r\n ),\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Tuesday\"),\r\n avlType\r\n ),\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Wednesday\"),\r\n avlType\r\n ),\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Thursday\"),\r\n avlType\r\n ),\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Friday\"),\r\n avlType\r\n ),\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Saturday\"),\r\n avlType\r\n )\r\n ]);\r\n }\r\n \r\n if (response.data.available != null && response.data.available.length > 0) {\r\n this.existingAvailabilities = response.data.available;\r\n response.data.available.forEach(element => {\r\n element.startTime = element.startTime ? format(element.startTime, \"HH:mm\") : null;\r\n element.endTime = element.endTime ? format(element.endTime, \"HH:mm\") : null;\r\n element.CompanyName = ''; // Set default value if undefined\r\n const company = this.AvailableCompanies.find(comp => comp.id === element.companyId);\r\n element.companyName = company ? company.companyName : '';\r\n this.addAvlItem(element);\r\n });\r\n } \r\n else {\r\n this.addAvlItem(\r\n this.initializeStaffAvailabilityObject(\r\n null,\r\n this.staffAvailabilityTypes.find(\r\n x => x.globalCodeName === \"Available\"\r\n ).id\r\n )\r\n );\r\n }\r\n if (response.data.unavailable != null && response.data.unavailable.length > 0) {\r\n this.existingUnaAvailabilities = response.data.unavailable;\r\n response.data.unavailable.forEach(element => {\r\n element.startTime = element.startTime ? format(element.startTime, \"HH:mm\") : null;\r\n element.endTime = element.endTime ? format(element.endTime, \"HH:mm\") : null;\r\n \r\n this.addUnAvlItem(element);\r\n });\r\n } else {\r\n this.addUnAvlItem(\r\n this.initializeStaffAvailabilityObject(\r\n null,\r\n this.staffAvailabilityTypes.find(\r\n x => x.globalCodeName === \"Unavailable\"\r\n ).id\r\n )\r\n );\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", \"Please Set Availability\"); \r\n }\r\n });\r\n }\r\n\r\n initializeStaffAvailabilityObject(\r\n dayId: number,\r\n availabilityTypeId: number\r\n ): StaffAvailabilityModel {\r\n let dayName =\r\n dayId != undefined && dayId != null ? this.getDayName(dayId) : \"\";\r\n // dayId == 1 ? \"Sunday\" : dayId == 2 ? \"Monday\" : dayId == 3 ? \"Tuesday\" : dayId == 4 ? \"Wednesday\" : dayId == 5 ? \"Thursday\" : dayId == 6 ? \"Friday\" : dayId == 7 ? \"Saturday\" : \"\";\r\n let staffAvailability = new StaffAvailabilityModel();\r\n staffAvailability.dayId = dayId;\r\n staffAvailability.dayName = dayName;\r\n staffAvailability.date = \"\";\r\n staffAvailability.isActive = true;\r\n staffAvailability.isDeleted = false;\r\n staffAvailability.staffID = this.staffId;\r\n staffAvailability.staffAvailabilityTypeID = availabilityTypeId;\r\n staffAvailability.locationId = this.locationId;\r\n \r\n return staffAvailability;\r\n }\r\n loadChildComponent(eventType: any): any {\r\n if (eventType != null && eventType.tab.textLabel != \"\") {\r\n this.clearFormControls();\r\n // this.locationId = this.staffLocations.find(\r\n // x => x.locationName == eventType.tab.textLabel\r\n // ).id;\r\n this.locationId =156\r\n //this.GetStaffAvailabilityByLocation();\r\n }\r\n }\r\n clearFormControls() {\r\n while (this.daysAvailability.length !== 0) {\r\n this.daysAvailability.removeAt(0);\r\n }\r\n while (this.availability.length !== 0) {\r\n this.availability.removeAt(0);\r\n }\r\n while (this.unavailability.length !== 0) {\r\n this.unavailability.removeAt(0);\r\n }\r\n }\r\n\r\n onSubmit() {\r\n this.locationId;\r\n let nowDate = new Date();\r\n let currentDate =\r\n nowDate.getFullYear() +\r\n \"-\" +\r\n (nowDate.getMonth() + 1) +\r\n \"-\" +\r\n nowDate.getDate();\r\n let dayAvailability: Array = [];\r\n let avl: Array = [];\r\n let unAvl: Array = [];\r\n let tempAvailibilty = this.availabilityForm.value.daysAvailability;\r\n tempAvailibilty.forEach(element => {\r\n element.items.forEach(x => {\r\n if (x.startTime != null && x.endTime != null) dayAvailability.push(x);\r\n });\r\n });\r\n\r\n dayAvailability.forEach(a => {\r\n a.startTime = currentDate + \" \" + a.startTime;\r\n a.endTime = currentDate + \" \" + a.endTime;\r\n });\r\n\r\n this.availabilityForm.value.availability\r\n .filter(x => x.date != null && x.startTime != null && x.endTime != null)\r\n .forEach(element => {\r\n if (\r\n element.date != null &&\r\n element.startTime != null &&\r\n element.endTime != null\r\n ) {\r\n let currentVal =\r\n new Date(element.date).getFullYear() +\r\n \"-\" +\r\n (new Date(element.date).getMonth() + 1) +\r\n \"-\" +\r\n new Date(element.date).getDate();\r\n element.startTime = currentVal + \" \" + element.startTime;\r\n element.endTime = currentVal + \" \" + element.endTime;\r\n element.date = currentVal;\r\n avl.push(element);\r\n }\r\n });\r\n\r\n this.availabilityForm.value.unavailability\r\n .filter(x => x.date != null && x.startTime != null && x.endTime != null)\r\n .forEach(element => {\r\n if (\r\n element.date != null &&\r\n element.startTime != null &&\r\n element.endTime != null\r\n ) {\r\n let currentVal =\r\n new Date(element.date).getFullYear() +\r\n \"-\" +\r\n (new Date(element.date).getMonth() + 1) +\r\n \"-\" +\r\n new Date(element.date).getDate();\r\n element.startTime = currentVal + \" \" + element.startTime;\r\n element.endTime = currentVal + \" \" + element.endTime;\r\n element.date = currentVal;\r\n unAvl.push(element);\r\n }\r\n });\r\n\r\n this.existingDayAvailabilities.filter((x: StaffAvailabilityModel) => {\r\n if (dayAvailability.findIndex(y => y.id == x.id) == -1) {\r\n x.isDeleted = true;\r\n dayAvailability.push(x);\r\n }\r\n });\r\n\r\n this.existingAvailabilities.filter((x: StaffAvailabilityModel) => {\r\n if (avl.findIndex(y => y.id == x.id) == -1) {\r\n x.isDeleted = true;\r\n avl.push(x);\r\n }\r\n });\r\n\r\n this.existingUnaAvailabilities.filter((x: StaffAvailabilityModel) => {\r\n if (unAvl.findIndex(y => y.id == x.id) == -1) {\r\n x.isDeleted = true;\r\n unAvl.push(x);\r\n }\r\n });\r\n let data = {\r\n staffID: this.staffId,\r\n locationId: this.locationId,\r\n days: dayAvailability,\r\n available: avl,\r\n unavailable: unAvl\r\n };\r\n this.submitted = true;\r\n this.userService\r\n .saveStaffAvailability(data)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.clearFormControls();\r\n this.GetStaffAvailabilityByLocation();\r\n this.commonService.isProfileUpdated(this.staffId);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n onDateChange(buttonSection: string) {\r\n if (buttonSection == \"Availability\") {\r\n this.disableNonAvailabilityDate = true;\r\n this.disableAvailabilityDate = false;\r\n }\r\n\r\n if (buttonSection == \"NonAvailability\") {\r\n this.disableNonAvailabilityDate = false;\r\n this.disableAvailabilityDate = true;\r\n }\r\n }\r\n\r\n addDayItem() {\r\n let avlType = this.staffAvailabilityTypes.find(\r\n x => x.globalCodeName == \"WeekDay\"\r\n ).id;\r\n this.addItem(this.daysAvailability.length, [\r\n this.initializeStaffAvailabilityObject(this.getDayId(\"Sunday\"), avlType),\r\n this.initializeStaffAvailabilityObject(this.getDayId(\"Monday\"), avlType),\r\n this.initializeStaffAvailabilityObject(this.getDayId(\"Tuesday\"), avlType),\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Wednesday\"),\r\n avlType\r\n ),\r\n this.initializeStaffAvailabilityObject(\r\n this.getDayId(\"Thursday\"),\r\n avlType\r\n ),\r\n this.initializeStaffAvailabilityObject(this.getDayId(\"Friday\"), avlType),\r\n this.initializeStaffAvailabilityObject(this.getDayId(\"Saturday\"), avlType)\r\n ]);\r\n }\r\n removeDayItem(index: number) {\r\n this.daysAvailability.removeAt(index);\r\n }\r\n addAvailabilityItem() {\r\n this.addAvlItem(\r\n this.initializeStaffAvailabilityObject(\r\n null,\r\n this.staffAvailabilityTypes.find(x => x.globalCodeName == \"Available\")\r\n .id\r\n )\r\n );\r\n }\r\n removeAvailabilityItem(index: number) {\r\n this.availability.removeAt(index);\r\n }\r\n addUnAvailabilityItem() {\r\n this.addUnAvlItem(\r\n this.initializeStaffAvailabilityObject(\r\n null,\r\n this.staffAvailabilityTypes.find(x => x.globalCodeName == \"Unavailable\")\r\n .id\r\n )\r\n );\r\n }\r\n removeUnAvailabilityItem(index: number) {\r\n this.unavailability.removeAt(index);\r\n }\r\n timeintervalselect() {\r\n \r\n //console.log(this.timeinterval);\r\n this.userService.updateProviderTimeInterval(this.timeinterval).subscribe((response:ResponseModel)=>{\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", \"Slot time interval has been updated\");\r\n \r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n }\r\n })\r\n }\r\n\r\n getStaffDetail() {\r\n this.providerId=(this.staffId).toString();\r\n this.homeService.getProviderDetail(this.providerId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n \r\n this.userInfo = res.data;\r\n //this.bindStaffProfile();\r\n this.timeinterval=(res.data.timeInterval).toString();\r\n }\r\n });\r\n \r\n }\r\n\r\n// resetAllDays(): void {\r\n// const daysAvailabilityArray = this.availabilityForm.get('daysAvailability') as FormArray;\r\n// daysAvailabilityArray.controls.forEach(dayGroup => {\r\n// const itemsArray = dayGroup.get('items') as FormArray;\r\n// itemsArray.controls.forEach(itemGroup => {\r\n// itemGroup.get('startTime').setValue(null);\r\n// itemGroup.get('endTime').setValue(null);\r\n\r\n// });\r\n// });\r\n// this.onSubmit()\r\n// }\r\nresetDay(dayIndex: number): void {\r\n const daysAvailabilityArray = this.availabilityForm.get('daysAvailability') as FormArray;\r\n daysAvailabilityArray.controls.forEach(dayGroup => {\r\n const itemsArray = dayGroup.get('items') as FormArray;\r\n const itemGroup = itemsArray.at(dayIndex) as FormGroup;\r\n itemGroup.get('startTime').setValue(null);\r\n itemGroup.get('endTime').setValue(null);\r\n });\r\n this.onSubmit()\r\n}\r\n\r\nresetAllDays(): void {\r\n const daysAvailabilityArray = this.availabilityForm.get('daysAvailability') as FormArray;\r\n daysAvailabilityArray.controls.forEach(dayGroup => {\r\n const itemsArray = dayGroup.get('items') as FormArray;\r\n itemsArray.controls.forEach(itemGroup => {\r\n itemGroup.get('startTime').setValue(null);\r\n itemGroup.get('endTime').setValue(null);\r\n });\r\n });\r\n this.onSubmit()\r\n}\r\n \r\n\r\n\r\n}\r\n","module.exports = \".primary {\\r\\n background-color: #7E9693;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 16px;\\r\\n line-height: 24px;\\r\\n color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.primaryinput {\\r\\n width: 100%;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 16px;\\r\\n line-height: 24px;\\r\\n color: #4F4F4F;\\r\\n border: 0.5px solid #7E9693;\\r\\n border-radius: 5px;\\r\\n}\\r\\n\\r\\n.mat-dialog-container {\\r\\n min-width: 60% !important;\\r\\n border-radius: 5px 5px 0px 0px !important;\\r\\n}\\r\\n\\r\\n.addheader {\\r\\n height: 50px;\\r\\n background: #7E9693;\\r\\n border-radius: 5px 5px 0px 0px;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 18px;\\r\\n line-height: 27px;\\r\\n color: #FFFFFF;\\r\\n padding-top: 12px;\\r\\n padding-left: 24px;\\r\\n}\\r\\n\\r\\n.addlabel {\\r\\n padding-top: 16px;\\r\\n padding-left: 24px;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 18px;\\r\\n line-height: 27px;\\r\\n color: #000000;\\r\\n}\\r\\n\\r\\n.btnprimary {\\r\\n box-sizing: border-box;\\r\\n width: 156px;\\r\\n height: 42px;\\r\\n border: 1px solid #7E9693;\\r\\n border-radius: 5px;\\r\\n background-color: #FFFFFF;\\r\\n text-align: center;\\r\\n justify-content: center;\\r\\n margin-left: 24px;\\r\\n margin-top: 24px;\\r\\n}\\r\\n\\r\\n.dialogheader {\\r\\n padding-left: 24px;\\r\\n padding-top: 20px;\\r\\n}\\r\\n\\r\\n.hide {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.tableuserui {\\r\\n /* display: block; */\\r\\n margin-top: 20px;\\r\\n border: 0.5px solid #7E9693;\\r\\n min-height: 80px;\\r\\n max-height: 150px !important;\\r\\n overflow-y: auto;\\r\\n}\\r\\n\\r\\n.tableheader {\\r\\n background-color: #7E9693;\\r\\n border-radius: 5px 5px 0px 0px;\\r\\n}\\r\\n\\r\\n.tableheader th {\\r\\n border: 0.5px solid #E7E7E7;\\r\\n color: #FFFFFF;\\r\\n text-align: center;\\r\\n font-family: 'Poppins', sans-serif !important;\\r\\n font-style: normal;\\r\\n font-weight: 400 !important;\\r\\n font-size: 16px !important;\\r\\n line-height: 24px;\\r\\n}\\r\\n\\r\\n.tabledata td {\\r\\n border: 0.5px solid #E7E7E7;\\r\\n color: #000000;\\r\\n text-align: center;\\r\\n font-family: 'Poppins', sans-serif !important;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 14px;\\r\\n line-height: 21px;\\r\\n}\"","module.exports = \"
\\r\\n Add Consultant\\r\\n
\\r\\n
\\r\\n Add Consultant\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Download Excel\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
Staff Name Email ID Mobile Number
{{data.FirstName}} {{data.LastName}} {{data.EmailID}} {{data.MobileNumber}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport * as XLSX from 'xlsx';\r\nimport { ResponseModel } from '../../../core/modals/common-model';\r\nimport { ClientsService } from '../../clients/clients.service';\r\nimport { CompanyService } from '../../manage-company/company.service';\r\nimport { companyFormsModel } from '../../manage-company/manage-company.model';\r\nimport { UserCreateModel } from '../users.model';\r\nimport { UsersService } from '../users.service';\r\n\r\n@Component({\r\n selector: 'app-bulk-upload',\r\n templateUrl: './bulk-upload.component.html',\r\n styleUrls: ['./bulk-upload.component.css']\r\n})\r\nexport class BulkUploadComponent implements OnInit {\r\n dataexcel: Array[];\r\n animal: string;\r\n dataexcellength: number = 0;\r\n clientModel: UserCreateModel;\r\n url: any;\r\n constructor(public dialogRef: MatDialogRef, private clientService: UsersService) {\r\n this.clientModel = new UserCreateModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.url = window.location.pathname;\r\n }\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n onFileChange(ev) {\r\n this.dataexcel = [];\r\n let workBook = null;\r\n let jsonData = null;\r\n const reader = new FileReader();\r\n const file = ev.target.files[0];\r\n reader.onload = (event) => {\r\n const data = reader.result;\r\n workBook = XLSX.read(data, { type: 'binary' });\r\n jsonData = workBook.SheetNames.reduce((initial, name) => {\r\n const sheet = workBook.Sheets[name];\r\n initial[name] = XLSX.utils.sheet_to_json(sheet);\r\n return initial;\r\n }, {});\r\n const dataString = JSON.stringify(jsonData);\r\n this.dataexcel = jsonData.Consultant;\r\n\r\n if (this.dataexcel == undefined) {\r\n document.getElementById(\"tableuser\").classList.add(\"hide\");\r\n document.getElementById(\"bulkcreate\").classList.add(\"hide\");\r\n }\r\n this.dataexcellength = this.dataexcel.length\r\n // console.log(\"value\", this.dataexcellength)\r\n if (this.dataexcellength != 0) {\r\n document.getElementById(\"tableuser\").classList.remove(\"hide\");\r\n document.getElementById(\"bulkcreate\").classList.remove(\"hide\");\r\n }\r\n //document.getElementById('output').innerHTML = dataString.slice(0, 300).concat(\"...\");\r\n //this.setDownload(dataString);\r\n }\r\n reader.readAsBinaryString(file);\r\n }\r\n bulkdispaly() {\r\n document.getElementById(\"dialogheaderbulk\").classList.remove(\"hide\");\r\n }\r\n createnewuser() {\r\n this.dataexcel.forEach((data: any) => {\r\n this.clientModel.email = data.EmailID;\r\n this.clientModel.firstName = data.FirstName;\r\n this.clientModel.lastName = data.LastName;\r\n this.clientModel.userName = data.EmailID;\r\n this.clientModel.isActive = true;\r\n this.clientModel.staffName = data.FirstName + \" \" + data.LastName;\r\n this.clientModel.experience = data.Experience;\r\n this.clientModel.bio = data.Bio;\r\n this.clientModel.phoneNumber = data.MobileNumber;\r\n this.clientModel.roleID = 331;\r\n this.clientService.createstaff(this.clientModel).subscribe((response: ResponseModel) => {\r\n // console.log(\"message\", response)\r\n if(response.statusCode == 200){\r\n window.location.reload;\r\n }\r\n });\r\n \r\n // this._companyService.addCompany(this.companyFormsData).subscribe((res: any) => {\r\n // console.log(\"message\",res)\r\n // })\r\n });\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\"","import { Component, OnInit, EventEmitter, Output } from '@angular/core';\r\nimport { UsersService } from '../users.service';\r\nimport { ResponseModel } from '../../../core/modals/common-model';\r\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\nimport { StaffCustomLabel } from '../staff-custom-label.model';\r\nimport { element } from 'protractor';\r\nimport { NotifierService } from 'angular-notifier';\r\n\r\n@Component({\r\n selector: 'app-custom-fields',\r\n templateUrl: './custom-fields.component.html',\r\n styleUrls: ['./custom-fields.component.css']\r\n})\r\nexport class CustomFieldsComponent implements OnInit {\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n staffId: number;\r\n staffCustomLabels: StaffCustomLabel[] = [];\r\n constructor(private userService: UsersService, private notifier: NotifierService) { }\r\n\r\n ngOnInit() {\r\n this.getStaffCustomLabels();\r\n }\r\n getStaffCustomLabels() {\r\n this.userService.getStaffCustomLabels(this.staffId).subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n this.staffCustomLabels = response.data.StaffCustomLabels;\r\n }\r\n });\r\n }\r\n onSubmit(event: any) {\r\n let clickType = event.currentTarget.name;\r\n this.userService.saveCustomLabels(this.staffCustomLabels).subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify('success', response.message)\r\n if (clickType == \"SaveContinue\") {\r\n this.handleTabChange.next({ tab: \"Availability\", id: this.staffId });\r\n }\r\n else if (clickType == \"Save\") {\r\n this.getStaffCustomLabels()\r\n }\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"

\\r\\n apply-leave works!\\r\\n

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-apply-leave',\r\n templateUrl: './apply-leave.component.html',\r\n styleUrls: ['./apply-leave.component.css']\r\n})\r\nexport class ApplyLeaveComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"

\\r\\n manage-leaves works!\\r\\n

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FilterModel } from '../../../core/modals/common-model';\r\n\r\n@Component({\r\n selector: 'app-manage-leaves',\r\n templateUrl: './manage-leaves.component.html',\r\n styleUrls: ['./manage-leaves.component.css']\r\n})\r\nexport class ManageLeavesComponent implements OnInit {\r\n private filterModel: FilterModel;\r\n constructor() {\r\n this.filterModel = new FilterModel();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n setPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string, searchText: string) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n }\r\n\r\n // onPageOrSortChange(changeState?: any) {\r\n // let formValues=this.userFormGroup.value;\r\n // this.setPaginatorModel(changeState.pageNumber, this.filterModel.pageSize, changeState.sort, changeState.order, this.filterModel.searchText);\r\n // this.getUsersList(this.filterModel, formValues.tagIds, formValues.roleId);\r\n // }\r\n\r\n // onTableActionClick(actionObj?: any) {\r\n // const id = actionObj.data && actionObj.data.staffID;\r\n // switch ((actionObj.action || '').toUpperCase()) {\r\n // case 'EDIT':\r\n // this.addUser(id);\r\n // break;\r\n // case 'DELETE':\r\n // {\r\n // this.usersService.deleteStaff(id).subscribe((response: ResponseModel) => {\r\n // if (response.statusCode == 200) {\r\n // this.notifier.notify('success', response.message)\r\n // } else if (response.statusCode == 401) {\r\n // this.notifier.notify('warning', response.message);\r\n // } else {\r\n // this.notifier.notify('error', response.message)\r\n // }\r\n // this.getUsersList(this.filterModel, '', '');\r\n // });\r\n // }\r\n // break;\r\n // default:\r\n // break;\r\n // }\r\n // }\r\n}\r\n","module.exports = \"\"","module.exports = \"

\\r\\n Manage Payroll Rates\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{stf.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 \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Appointment Type\\r\\n \\r\\n Payroll Rate\\r\\n \\r\\n Action\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{act.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
No provider selected
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { UsersService } from '../users.service';\r\nimport { StaffPayrollRateModel } from '../users.model';\r\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\r\nimport { ResponseModel } from '../../../core/modals/common-model';\r\nimport { NotifierService } from 'angular-notifier';\r\n\r\n@Component({\r\n selector: 'app-payroll-rate',\r\n templateUrl: './payroll-rate.component.html',\r\n styleUrls: ['./payroll-rate.component.css']\r\n})\r\nexport class PayrollRateComponent implements OnInit {\r\n masterStaffs: any = [];\r\n staffId: number = null;\r\n staffPayrollRate: Array = [];\r\n masterAppointmentType: any = [];\r\n staffPayrollRateForm: FormGroup;\r\n constructor(private userService: UsersService, private formBuilder: FormBuilder,private notifier:NotifierService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.staffPayrollRateForm = this.formBuilder.group({\r\n payrollRate: this.formBuilder.array([])\r\n });\r\n this.getMasterData();\r\n }\r\n getMasterData() {\r\n this.userService.getMasterData('masterstaff,AppointmentType').subscribe((response: any) => {\r\n this.masterStaffs = response.staffs != null ? response.staffs : []; \r\n this.masterAppointmentType= response.appointmentType != null ? response.appointmentType : [];\r\n });\r\n }\r\n\r\n get formControls() {\r\n return this.staffPayrollRateForm.value;\r\n }\r\n\r\n get payrollRates() {\r\n return this.staffPayrollRateForm.get('payrollRate') as FormArray;\r\n }\r\n addItem(item: StaffPayrollRateModel=new StaffPayrollRateModel()) {\r\n const control = (this.staffPayrollRateForm.controls['payrollRate']) as FormArray;\r\n control.push(this.formBuilder.group({\r\n id:item.id,\r\n staffId:this.staffId,\r\n appointmentTypeId:item.appointmentTypeId,\r\n payRate:item.payRate\r\n }));\r\n }\r\n \r\n removeItem(index: number) {\r\n this.payrollRates.removeAt(index);\r\n }\r\n\r\n getStaffPayrollRates() {\r\n while (this.payrollRates.length !== 0) {\r\n this.payrollRates.removeAt(0)\r\n }\r\n if (this.staffId != null && this.staffId > 0) {\r\n this.userService.getStaffPayrollRate(this.staffId).subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null && response.data.length > 0) {\r\n response.data.forEach(element => {\r\n this.addItem(element);\r\n });\r\n }\r\n else\r\n this.addItem();\r\n });\r\n }\r\n }\r\n clearFilters()\r\n {\r\n this.staffId=null;\r\n this.getStaffPayrollRates();\r\n }\r\n onSubmit()\r\n {\r\n if(!this.staffPayrollRateForm.invalid)\r\n {\r\n this.userService.saveStaffPayrollRate(this.staffPayrollRateForm.value.payrollRate).subscribe((response: ResponseModel) => {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message);\r\n this.getStaffPayrollRates();\r\n } else {\r\n this.notifier.notify('error', response.message);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","export class StaffAvailabilityModel {\r\n dayId: number;\r\n date?:string;\r\n dayName?: string;\r\n endTime?: string;\r\n id?: number;\r\n isActive?: boolean;\r\n isDeleted?: boolean;\r\n locationId?: number;\r\n staffAvailabilityTypeID?: number;\r\n staffID?: number;\r\n startTime?: string;\r\n companyId?:string;\r\n companyName:string;\r\n}","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Awards

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\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 { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { StaffAward } from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { Organization } from \"./../../clients/client-profile.model\";\r\nimport { Component, OnInit, EventEmitter, Output } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, FormArray } from \"@angular/forms\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\n// import { DateAdapter, MAT_DATE_FORMATS } from \"@angular/material\";\r\n// import {\r\n// AppDateAdapter,\r\n// APP_DATE_FORMATS\r\n// } from \"src/app/shared/adapter/date.adapter\";\r\n\r\n@Component({\r\n selector: \"app-user-award\",\r\n templateUrl: \"./user-award.component.html\",\r\n styleUrls: [\"./user-award.component.css\"],\r\n})\r\nexport class UserAwardComponent implements OnInit {\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n awardForm: FormGroup;\r\n existingStaffAward: Array = [];\r\n staffId: string = \"\";\r\n submitted: boolean = false;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private usersService: UsersService,\r\n private activatedRoute: ActivatedRoute,\r\n private notifier: NotifierService,\r\n private commonService: CommonService,\r\n private router: Router\r\n ) {\r\n this.activatedRoute.queryParams.subscribe((param) => {\r\n this.staffId = param[\"id\"];\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n const configContols = {\r\n award: this.formBuilder.array([]),\r\n };\r\n this.awardForm = this.formBuilder.group(configContols);\r\n if (this.staffId != \"\") this.getStaffAward(this.staffId);\r\n else this.addAward();\r\n }\r\n get formControls() {\r\n return this.awardForm.value;\r\n }\r\n\r\n get award() {\r\n return this.awardForm.get(\"award\") as FormArray;\r\n }\r\n addAward() {\r\n this.addAwardItem(this.initializeAwardObject());\r\n }\r\n getStaffAward(id: string) {\r\n this.usersService.getUserAward(id).subscribe((response) => {\r\n this.clearFormControls();\r\n if (response.data != null && response.data.length > 0) {\r\n this.existingStaffAward = response.data;\r\n response.data.forEach((element) => {\r\n this.addAwardItem(element);\r\n });\r\n } else {\r\n this.addAwardItem(this.initializeAwardObject());\r\n }\r\n });\r\n }\r\n initializeAwardObject(): StaffAward {\r\n let exp = new StaffAward();\r\n exp.id = \"0\";\r\n exp.awardType = null;\r\n exp.description = null;\r\n exp.awardDate = null;\r\n exp.isDeleted = false;\r\n return exp;\r\n }\r\n addAwardItem(obj: StaffAward) {\r\n this.award.push(\r\n this.formBuilder.group({\r\n id: obj.id,\r\n awardType: obj.awardType,\r\n description: obj.description,\r\n awardDate: obj.awardDate != null ? new Date(obj.awardDate) : null,\r\n isDeleted: obj.isDeleted,\r\n })\r\n );\r\n }\r\n removeAward(index: number) {\r\n this.award.removeAt(index);\r\n }\r\n clearFormControls() {\r\n while (this.award.length !== 0) {\r\n this.award.removeAt(0);\r\n }\r\n }\r\n onSubmit() {\r\n let awd: Array = [];\r\n this.awardForm.value.award\r\n .filter(\r\n (x) =>\r\n x.awardType != null && x.description != null && x.awardDate != null\r\n )\r\n .forEach((element) => {\r\n if (\r\n element.awardType != null &&\r\n element.description != null &&\r\n element.awardDate != null\r\n ) {\r\n element.awardDate = format(element.awardDate, \"YYYY-MM-DDTHH:mm:ss\");\r\n awd.push(element);\r\n }\r\n });\r\n if (this.existingStaffAward) {\r\n this.existingStaffAward.filter((x: StaffAward) => {\r\n if (awd.findIndex((y) => y.id == x.id) == -1) {\r\n x.isDeleted = true;\r\n awd.push(x);\r\n }\r\n });\r\n }\r\n let data = {\r\n staffId: this.staffId,\r\n staffAward: awd,\r\n };\r\n this.submitted = true;\r\n this.usersService\r\n .saveStaffAward(data)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.clearFormControls();\r\n this.getStaffAward(this.staffId);\r\n\r\n this.commonService.isProfileUpdated(Number(this.staffId));\r\n this.router.navigate([\"/web/dashboard\"]);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"main {\\r\\n padding: 1em;\\r\\n font-family: Arial, Helvetica, sans-serif;\\r\\n text-align: center;\\r\\n margin-top: 50px;\\r\\n display: block;\\r\\n color: greenyellow;\\r\\n }\\r\\n\\r\\n label {\\r\\n color: black;\\r\\n }\\r\\n\\r\\n .upload-drop-zone {\\r\\n height: 200px;\\r\\n border-width: 2px;\\r\\n margin-bottom: 20px;\\r\\n }\\r\\n\\r\\n /* skin.css Style*/\\r\\n\\r\\n .upload-drop-zone {\\r\\n color: #ccc;\\r\\n border-style: dashed;\\r\\n border-color: #ccc;\\r\\n line-height: 200px;\\r\\n text-align: center\\r\\n }\\r\\n\\r\\n .upload-drop-zone.drop {\\r\\n color: #222;\\r\\n border-color: #222;\\r\\n }\\r\\n\\r\\n .browse-doc {\\r\\n border-radius: 0px;\\r\\n }\\r\\n\\r\\n .browse-doc .browse {\\r\\n line-height: normal;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n .uploading-data {\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding: 10px 0px;\\r\\n }\\r\\n\\r\\n .uploading-data img {\\r\\n padding-right: 15px;\\r\\n filter: grayscale(100%);\\r\\n -webkit-filter: grayscale(100%);\\r\\n opacity: 0.8;\\r\\n padding-top: 5px;\\r\\n }\\r\\n\\r\\n .uploading-data p {\\r\\n width: 90%;\\r\\n font-size: 14px;\\r\\n color: rgba( 0, 0, 0, 0.80);\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n }\\r\\n\\r\\n .custom_modal{\\r\\n height:400vh;\\r\\n }\\r\\n\\r\\n .mat-dialog-actions{\\r\\n padding: 15px 18px !important;\\r\\n }\\r\\n\\r\\n .uplaod_pic i{\\r\\n font-size: 24px;\\r\\n }\\r\\n\\r\\n .cancel-btn{\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 80px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n }\\r\\n\\r\\n .uplaod_pic span{\\r\\n font-size: 14px;\\r\\n }\\r\\n\\r\\n .ml-auto,\\r\\n .mat-dialog-actions .mat-primary\\r\\n {\\r\\n margin-left: auto;\\r\\n }\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n

Upload Document

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{doc.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select document type\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter expiration date\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter 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
Files to be uploaded are:
\\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n

\\r\\n \\r\\n {{file.fileName}}\\r\\n 134 kb\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n\\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, Inject, Input } from '@angular/core';\r\nimport { UsersService } from '../../users.service';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { ResponseModel } from '../../../../core/modals/common-model';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { CommonService } from '../../../../core/services';\r\n\r\n@Component({\r\n selector: 'app-add-user-document',\r\n templateUrl: './add-user-document.component.html',\r\n styleUrls: ['./add-user-document.component.css']\r\n})\r\nexport class AddUserDocumentComponent implements OnInit {\r\n userId: number = null;\r\n masterDocumentTypes: any = [];\r\n masterDocumentTypesForNGO: any = [];\r\n masterDocumentTypesForOther: any = [];\r\n addDocumentForm: FormGroup;\r\n fileList: any = [];\r\n dataURL: any;\r\n submitted: boolean = false;\r\n isNgo: boolean = false;\r\n todayDate = new Date();\r\n constructor(private dialogModalRef: MatDialogRef,\r\n private userService: UsersService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService, private formBuilder: FormBuilder, private commonService: CommonService) {\r\n this.userId = this.data;\r\n this.isNgo = false;\r\n if (data.isNgo) {\r\n this.isNgo = true;\r\n this.userId = this.data.data;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.addDocumentForm = this.formBuilder.group({\r\n documentType: [],\r\n expirationDate: [],\r\n title: []\r\n });\r\n this.getMasterData();\r\n }\r\n get formControls() {\r\n return this.addDocumentForm.controls;\r\n }\r\n\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n getMasterData() {\r\n var currentuser = this.commonService.getLoginUserInfo();\r\n this.userService.getMasterData(\"MASTERDOCUMENTTYPESSTAFF\").subscribe((response: any) => {\r\n if (response != null)\r\n this.masterDocumentTypes = response.masterDocumentTypesStaff = response.masterDocumentTypesStaff != null ? response.masterDocumentTypesStaff : [];\r\n this.masterDocumentTypes.forEach((element) => {\r\n\r\n if (element.displayOrder == 4 || element.displayOrder == 5) {\r\n this.masterDocumentTypesForNGO.push(element);\r\n }\r\n else {\r\n this.masterDocumentTypesForOther.push(element);\r\n }\r\n });\r\n\r\n if (currentuser.data.userRoles.roleName == \"Ngo\") {\r\n this.masterDocumentTypes = this.masterDocumentTypesForNGO\r\n }\r\n });\r\n }\r\n\r\n handleImageChange(e) {\r\n //if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n let fileExtension = e.target.files[0].name.split('.').pop().toLowerCase();\r\n var input = e.target;\r\n var reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.fileList.push({\r\n data: this.dataURL,\r\n ext: fileExtension,\r\n fileName: e.target.files[0].name\r\n });\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n // }\r\n // else\r\n // this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n }\r\n onSubmit() {\r\n\r\n ///Please chnage this API to avoid loops\r\n if (!this.addDocumentForm.invalid) {\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: this.addDocumentForm.value.title,\r\n documentTypeIdStaff: this.addDocumentForm.value.documentType,\r\n expiration: this.addDocumentForm.value.expirationDate,\r\n key: \"STAFF\",\r\n otherDocumentType: \"\",\r\n userId: this.userId,\r\n isNgo: this.isNgo\r\n }\r\n let dic = [];\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(`\"${element.data.replace(/^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/, '')}\": \"${element.ext}\"`);\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {})\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.userService.uploadUserDocuments(formValues).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n this.notifier.notify('success', response.message);\r\n this.closeDialog(\"save\");\r\n }\r\n else this.notifier.notify('error', response.message);\r\n });\r\n }\r\n else this.notifier.notify('error', \"Please add atleast one file\");\r\n }\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"

\\r\\n Manage User Document

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{usr.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 \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
0\\\" class=\\\"row\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{doc.documentTitle}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

Document Type:\\r\\n {{doc.documentTypeNameStaff}}\\r\\n

\\r\\n

Uploaded Date:\\r\\n {{doc.createdDate |date:'MM/dd/yyyy'}}\\r\\n

\\r\\n

Expiration Date:\\r\\n {{doc.expiration |date:'MM/dd/yyyy'}}\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\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, Input } from '@angular/core';\r\nimport { UsersService } from '../users.service';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { ResponseModel } from '../../../core/modals/common-model';\r\nimport { UserDocumentModel } from '../users.model';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { format, addDays } from 'date-fns';\r\nimport { MatDialog } from '@angular/material';\r\nimport { AddUserDocumentComponent } from './add-user-document/add-user-document.component';\r\nimport { CommonService } from '../../../core/services';\r\nimport { DialogService } from '../../../../../shared/layout/dialog/dialog.service';\r\n\r\n@Component({\r\n selector: 'app-user-documents',\r\n templateUrl: './user-documents.component.html',\r\n styleUrls: ['./user-documents.component.css']\r\n})\r\nexport class UserDocumentsComponent implements OnInit {\r\n documentFormGroup: FormGroup;\r\n @Input() userId: number = null;\r\n @Input() isSpecificUser: boolean = false;\r\n locationId: number;\r\n todayDate = new Date();\r\n fromDate: string;\r\n toDate: string;\r\n documentList: Array = [];\r\n locationUsers: any = [];\r\n loginUserId: number;\r\n uploadPermission: boolean;\r\n downloadPermission: boolean;\r\n deletePermission: boolean;\r\n constructor(\r\n private dialogModal: MatDialog,\r\n private userService: UsersService,\r\n private notifier: NotifierService,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private dialogService: DialogService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.userId\r\n if (!this.isSpecificUser) {\r\n this.documentFormGroup = this.formBuilder.group({\r\n userId: [],\r\n fromDate: [],\r\n toDate: []\r\n });\r\n this.getUserDocuments();\r\n }\r\n else this.getUserDocuments();\r\n\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.loginUserId = user.userID;\r\n this.locationId = user.currentLocationId;\r\n this.getUserByLocation();\r\n }\r\n });\r\n this.getUserPermissions();\r\n }\r\n get formControls() {\r\n return this.documentFormGroup.controls;\r\n }\r\n\r\n createModal() {\r\n if (this.userId != null) {\r\n let documentModal;\r\n documentModal = this.dialogModal.open(AddUserDocumentComponent, { data: this.userId })\r\n documentModal.afterClosed().subscribe((result: string) => {\r\n if (result == 'save')\r\n this.getUserDocuments();\r\n });\r\n }\r\n else this.notifier.notify('error', \"Please select user\");\r\n }\r\n applyFilter() {\r\n let values = this.documentFormGroup.value;\r\n this.userId = values.userId;\r\n this.fromDate = values.fromDate;\r\n this.toDate = values.toDate;\r\n this.getUserDocuments();\r\n }\r\n clearfilters() {\r\n this.documentFormGroup.reset();\r\n this.userId = null;\r\n this.documentList = [];\r\n }\r\n getUserDocuments() {\r\n if (this.userId != null) {\r\n this.fromDate = this.fromDate == null ? '1990-01-01' : format(this.fromDate, \"YYYY-MM-DD\");\r\n this.toDate = this.toDate == null ? format(this.todayDate, \"YYYY-MM-DD\") : format(this.toDate, \"YYYY-MM-DD\");\r\n this.userService.getUserDocuments(this.userId, this.fromDate, this.toDate).subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n this.documentList = (response.data != null && response.data.length > 0) ? response.data : [];\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n getUserByLocation() {\r\n this.locationId = 156;\r\n this.userService.getUserByLocation(this.locationId).subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null && response.data.staff != null && response.data.staff.length > 0) {\r\n this.locationUsers = response.data.staff;\r\n }\r\n }\r\n );\r\n }\r\n getUserDocument(value: UserDocumentModel) {\r\n this.userService.getUserDocument(value.id).subscribe((response: any) => {\r\n this.userService.downloadFile(response, response.type, value.url);\r\n }\r\n );\r\n }\r\n // deleteUserDocument(id: number) {\r\n // this.userService.deleteUserDocument(id).subscribe((response: ResponseModel) => {\r\n // if (response != null) {\r\n // this.notifier.notify('success', response.message);\r\n // this.getUserDocuments();\r\n // } else {\r\n // this.notifier.notify('error', response.message);\r\n // }\r\n // }\r\n // );\r\n // }\r\n\r\n deleteUserDocument(id: number) {\r\n this.dialogService.confirm('Are you sure you want to delete this document?').subscribe((result: any) => {\r\n if (result == true) {\r\n this.userService.deleteUserDocument(id)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 204) {\r\n this.notifier.notify('success', response.message)\r\n this.getUserDocuments();\r\n } else if (response.statusCode === 401) {\r\n this.notifier.notify('warning', response.message)\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n })\r\n }\r\n })\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions = this.userService.getUserScreenActionPermissions('USER', 'USER_DOCUMENT_LIST');\r\n const { USER_DOCUMENT_LIST_UPLOAD, USER_DOCUMENT_LIST_DOWNLOAD, USER_DOCUMENT_LIST_DELETE } = actionPermissions;\r\n\r\n this.uploadPermission = USER_DOCUMENT_LIST_UPLOAD || false;\r\n this.downloadPermission = USER_DOCUMENT_LIST_DOWNLOAD || false;\r\n this.deletePermission = USER_DOCUMENT_LIST_DELETE || false;\r\n\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Work & Experience

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter organization name\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select a valid start date.\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select a valid end 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
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { element } from \"protractor\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\n\r\nimport { Organization } from \"./../../clients/client-profile.model\";\r\nimport { Component, OnInit, EventEmitter, Output } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, FormArray, Validators } from \"@angular/forms\";\r\nimport { StaffExperience } from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\n\r\n@Component({\r\n selector: \"app-user-experience\",\r\n templateUrl: \"./user-experience.component.html\",\r\n styleUrls: [\"./user-experience.component.css\"],\r\n})\r\nexport class UserExperienceComponent implements OnInit {\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n experienceForm: FormGroup;\r\n existingStaffExperience: Array = [];\r\n staffId: string = \"\";\r\n submitted: boolean = false;\r\n isDataLoading: any;\r\n loaderImage:any;\r\n currentDate = new Date();\r\n staffDob: Date;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private usersService: UsersService,\r\n private activatedRoute: ActivatedRoute,\r\n private notifier: NotifierService,\r\n private commonService: CommonService\r\n ) {\r\n this.activatedRoute.queryParams.subscribe((param) => {\r\n this.staffId = param[\"id\"];\r\n });\r\n }\r\n\r\n private getValidation() { \r\n return this.formBuilder.group({\r\n organizationName: ['', Validators.required],\r\n startDate: ['', Validators.required],\r\n endDate: ['', Validators.required]\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n const configContols = {\r\n experience: this.formBuilder.array([\r\n this.getValidation()\r\n ]),\r\n };\r\n this.experienceForm = this.formBuilder.group(configContols);\r\n if (this.staffId != \"\") this.getStaffExperience(this.staffId);\r\n else this.addExperience();\r\n this.staffDob = new Date(localStorage.getItem(\"staffdob\"));\r\n this.staffDob.setFullYear(this.staffDob.getFullYear() + 1);\r\n }\r\n get formControls() {\r\n return this.experienceForm.value;\r\n }\r\n\r\n get experience() {\r\n return this.experienceForm.get(\"experience\") as FormArray;\r\n }\r\n addExperience() {\r\n this.addExperienceItem(this.initializeExperienceObject());\r\n }\r\n getStaffExperience(id: string) {\r\n this.isDataLoading = true;\r\n this.usersService.getUserExperience(id).subscribe((response) => {\r\n this.clearFormControls();\r\n this.isDataLoading = false;\r\n if (response.data != null && response.data.length > 0) {\r\n this.existingStaffExperience = response.data;\r\n response.data.forEach((element) => {\r\n this.addExperienceItem(element);\r\n });\r\n } else {\r\n this.addExperienceItem(this.initializeExperienceObject());\r\n }\r\n });\r\n }\r\n initializeExperienceObject(): StaffExperience {\r\n let exp = new StaffExperience();\r\n exp.id = \"0\";\r\n exp.organizationName = \"\";\r\n exp.startDate = null;\r\n exp.endDate = null;\r\n exp.isDeleted = false;\r\n exp.totalExperience = \"0\";\r\n return exp;\r\n }\r\n addExperienceItem(obj: StaffExperience) {\r\n // var sDate = ; // format(obj.startDate, \"MM/DD/YYYY\");\r\n // var eDate = ; // format(obj.endDate, \"MM/DD/YYYY\");\r\n //const control = this.experienceForm.controls[\"experience\"];\r\n this.experience.push(\r\n this.formBuilder.group({\r\n id: obj.id,\r\n organizationName: obj.organizationName,\r\n startDate: obj.startDate != null ? new Date(obj.startDate) : null,\r\n endDate: obj.endDate != null ? new Date(obj.endDate) : null,\r\n isDeleted: obj.isDeleted,\r\n })\r\n );\r\n }\r\n removeExperience(index: number) {\r\n this.experience.removeAt(index);\r\n }\r\n clearFormControls() {\r\n while (this.experience.length !== 0) {\r\n this.experience.removeAt(0);\r\n }\r\n }\r\n onSubmit() {\r\n if(!this.experienceForm.invalid){\r\n let exp: Array = [];\r\n this.experienceForm.value.experience\r\n .filter(\r\n (x) =>\r\n x.organizationName != null && x.startDate != null && x.endDate != null\r\n )\r\n .forEach((element) => {\r\n if (\r\n element.organizationName != null &&\r\n element.startDate != null &&\r\n element.endDate != null\r\n ) {\r\n element.startDate = format(element.startDate, \"YYYY-MM-DDTHH:mm:ss\"); //new Date(element.startDate);\r\n element.endDate = format(element.endDate, \"YYYY-MM-DDTHH:mm:ss\"); // new Date(element.endDate);\r\n exp.push(element);\r\n }\r\n });\r\n if (this.existingStaffExperience) {\r\n this.existingStaffExperience.filter((x: StaffExperience) => {\r\n if (exp.findIndex((y) => y.id == x.id) == -1) {\r\n x.isDeleted = true;\r\n exp.push(x);\r\n }\r\n });\r\n }\r\n let data = {\r\n staffId: this.staffId,\r\n staffExperiences: exp,\r\n };\r\n this.submitted = true;\r\n this.usersService\r\n .saveStaffExperience(data)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.isDataLoading = true;\r\n this.clearFormControls();\r\n this.getStaffExperience(this.staffId);\r\n this.commonService.isProfileUpdated(Number(this.staffId));\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n}\r\n","module.exports = \".bgcolor-circle{border: 1px solid #efefef; width: 30px; height: 30px; display: block; padding: 2px; border-radius:50%; -webkit-border-radius:50%;}\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter first name\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter last name\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter user email\\r\\n \\r\\n \\r\\n Please enter a valid email address\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter user phone number\\r\\n \\r\\n\\r\\n \\r\\n Please enter 10 digit phone number.\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{role.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select 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\"","import { Component, OnInit, Inject } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { UserInvitationService } from \"../user-invitation.service\";\r\nimport { ResponseModel } from \"../../../../core/modals/common-model\";\r\nimport { SendUserInvitationModel } from \"../user-invitation.model\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\n@Component({\r\n selector: \"app-send-user-invitation\",\r\n templateUrl: \"./send-user-invitation.component.html\",\r\n styleUrls: [\"./send-user-invitation.component.css\"]\r\n})\r\nexport class SendUserInvitationComponent implements OnInit {\r\n headerText: string = \"\";\r\n sendUserInvitationForm: FormGroup;\r\n submitted: boolean = false;\r\n private sendInvitationModel: SendUserInvitationModel;\r\n masterRoles: any;\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private notifier: NotifierService,\r\n private userInvitationService: UserInvitationService,\r\n private formBuilder: FormBuilder,\r\n private usersService: UsersService\r\n ) {\r\n this.sendInvitationModel =\r\n this.data.sendUserInvitationModel == null\r\n ? new SendUserInvitationModel()\r\n : this.data.sendUserInvitationModel;\r\n if (\r\n this.sendInvitationModel.invitationId != null &&\r\n this.sendInvitationModel.invitationId > 0\r\n )\r\n this.headerText = \"Resend Invitation\";\r\n else this.headerText = \"Send New Invitation\";\r\n }\r\n\r\n ngOnInit() {\r\n this.getMasterData();\r\n this.sendUserInvitationForm = this.formBuilder.group(\r\n {\r\n invitationId: [this.sendInvitationModel.invitationId],\r\n firstName: [\r\n this.sendInvitationModel.firstName,\r\n [Validators.required, Validators.minLength, Validators.maxLength]\r\n ],\r\n middleName: [this.sendInvitationModel.middleName],\r\n lastName: [\r\n this.sendInvitationModel.lastName,\r\n [Validators.required, Validators.minLength, Validators.maxLength]\r\n ],\r\n email: [\r\n this.sendInvitationModel.email,\r\n [Validators.required, Validators.email]\r\n ],\r\n phone: [this.sendInvitationModel.phone,\r\n // [Validators.pattern(\"^((\\\\+91-?)|0)?[0-9]{10}$\")]\r\n ],\r\n roleID: [this.sendInvitationModel.roleId]\r\n },\r\n { validator: this.validateForm.bind(this) }\r\n );\r\n }\r\n get formControls() {\r\n return this.sendUserInvitationForm.controls;\r\n }\r\n validateForm(formGroup: FormGroup) {\r\n return null;\r\n }\r\n getMasterData() {\r\n this.usersService\r\n .getMasterData(\"MASTERROLES\")\r\n .subscribe((response: any) => {\r\n if (response != null) {\r\n this.masterRoles =\r\n response.masterRoles != null ? response.masterRoles : [];\r\n }\r\n });\r\n }\r\n onSubmit() {\r\n if (!this.sendUserInvitationForm.invalid) {\r\n this.submitted = true;\r\n this.userInvitationService\r\n .send(this.sendUserInvitationForm.value)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.closeDialog(\"save\");\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n}\r\n","module.exports = \"/*Invitation Status Style*/\\r\\n.user-invitation-pending{\\r\\n color: #3c7590;\\r\\n}\\r\\n.user-invitation-accepted{\\r\\n color: #157b15;\\r\\n}\\r\\n.user-invitation-rejected{\\r\\n color: #bd2424;\\r\\n}\\r\\n.user-invitation-reinvited{\\r\\n color: #dc8e00;\\r\\n}\"","module.exports = \"
\\r\\n

Users Invitations

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\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, ViewEncapsulation } from \"@angular/core\";\r\nimport { UserInvitationService } from \"./user-invitation.service\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { UserInvitationModel } from \"../../users/user-invitation/user-invitation.model\";\r\nimport { Metadata } from \"../../../../../super-admin-portal/core/modals/common-model\";\r\nimport { FilterModel } from \"../../../core/modals/common-model\";\r\nimport { SendUserInvitationModel } from \"../user-invitation/user-invitation.model\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { SendUserInvitationComponent } from \"./send-user-invitation/send-user-invitation.component\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { DialogService } from \"../../../../../shared/layout/dialog/dialog.service\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\n\r\n@Component({\r\n selector: \"app-user-invitation\",\r\n templateUrl: \"./user-invitation.component.html\",\r\n styleUrls: [\"./user-invitation.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UserInvitationComponent implements OnInit {\r\n userInvitationModel: UserInvitationModel[];\r\n metaData: any;\r\n filterModel: FilterModel;\r\n userFormGroup: FormGroup;\r\n sendUserInvitationModel: SendUserInvitationModel;\r\n displayedColumns: Array = [\r\n {\r\n displayName: \"Name\",\r\n key: \"fullName\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"15%\"\r\n },\r\n {\r\n displayName: \"Email\",\r\n key: \"email\",\r\n isSort: true,\r\n class: \"\",\r\n width: \"15%\"\r\n },\r\n { displayName: \"Phone\", key: \"phone\", class: \"\", width: \"15%\" },\r\n {\r\n displayName: \"Location\",\r\n key: \"location\",\r\n class: \"\",\r\n width: \"15%\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n {\r\n displayName: \"Invite Date\",\r\n key: \"invitationSendDate\",\r\n class: \"invitationSendDate\",\r\n width: \"15%\",\r\n type: \"date\"\r\n },\r\n {\r\n displayName: \"Status\",\r\n key: \"invitationStatus\",\r\n class: \"invitationStatus\",\r\n width: \"10%\",\r\n type: \"statusstring\"\r\n },\r\n //{ displayName: 'Lock User', key: 'isBlock', class: '', width: '10%', type: 'togglespan', permission: true },\r\n { displayName: \"Actions\", key: \"Actions\", class: \"\", width: \"10%\" }\r\n ];\r\n actionButtons: Array = [\r\n //{ displayName: 'Edit', key: 'edit', class: 'fa fa-pencil' },\r\n { displayName: \"Resend\", key: \"Resend\", class: \"fa fa-paper-plane-o\" },\r\n { displayName: \"Delete\", key: \"delete\", class: \"fa fa-times\" }\r\n ];\r\n constructor(\r\n private userInvitationService: UserInvitationService,\r\n private formBuilder: FormBuilder,\r\n private dialogModal: MatDialog,\r\n private notifier: NotifierService,\r\n private dialogService: DialogService\r\n ) {\r\n this.userInvitationModel = Array();\r\n this.filterModel = new FilterModel();\r\n //this.sendUserInvitationModel = new SendUserInvitationModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.userFormGroup = this.formBuilder.group({\r\n searchText: []\r\n });\r\n this.getAllUserInvitations(this.filterModel);\r\n }\r\n\r\n getAllUserInvitations(filterModel: FilterModel) {\r\n this.userInvitationService\r\n .getAllUserInvitedListing(filterModel)\r\n .subscribe((response: any) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.userInvitationModel = response.data;\r\n this.metaData = response.meta;\r\n } else {\r\n this.userInvitationModel = [];\r\n this.metaData = new Metadata();\r\n }\r\n this.metaData.pageSizeOptions = [5,10,25,50,100];\r\n });\r\n }\r\n onPageOrSortChange(changeState?: any) {\r\n let formValues = this.userFormGroup.value;\r\n this.setPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order,\r\n formValues.searchText\r\n );\r\n this.getAllUserInvitations(this.filterModel);\r\n }\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n searchText: string\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n }\r\n onTableActionClick(actionObj?: any) {\r\n const id = actionObj.data && actionObj.data.invitationId;\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"EDIT\":\r\n break;\r\n case \"DELETE\":\r\n {\r\n this.notifier.hideAll();\r\n this.dialogService\r\n .confirm(`Are you sure you want to delete this invitation?`)\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.userInvitationService\r\n .deleteInvitation(id)\r\n .subscribe((response: ResponseModel) => {\r\n this.notify(response);\r\n });\r\n }\r\n });\r\n }\r\n break;\r\n case \"RESEND\":\r\n {\r\n this.notifier.hideAll();\r\n this.dialogService\r\n .confirm(`Are you sure you want to resend this invitation?`)\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.userInvitationService\r\n .getUserInvitationById(id)\r\n .subscribe((response: ResponseModel) => {\r\n // this.sendUserInvitationModel = new SendUserInvitationModel();\r\n // this.sendUserInvitationModel.name = response.data.name;\r\n // this.sendUserInvitationModel.invitationId = response.data.invitationId;\r\n // this.sendUserInvitationModel.email = response.data.email;\r\n // this.sendUserInvitationModel.phone = response.data.phone;\r\n this.openDialog(response.data);\r\n });\r\n }\r\n });\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n notify(response: ResponseModel) {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getAllUserInvitations(this.filterModel);\r\n } else if (response.statusCode == 401) {\r\n this.notifier.notify(\"warning\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n }\r\n clearFilters() {\r\n this.userFormGroup.reset();\r\n this.setPaginatorModel(\r\n 1,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder,\r\n \"\"\r\n );\r\n this.getAllUserInvitations(this.filterModel);\r\n }\r\n applyFilter() {\r\n let formValues = this.userFormGroup.value;\r\n if (formValues.searchText.length >= 3) {\r\n this.setPaginatorModel(\r\n 1,\r\n this.filterModel.pageSize,\r\n this.filterModel.sortColumn,\r\n this.filterModel.sortOrder,\r\n formValues.searchText\r\n );\r\n this.getAllUserInvitations(this.filterModel);\r\n }\r\n }\r\n openDialog(sendUserInvitationModel: SendUserInvitationModel = null) {\r\n this.sendInvitation(sendUserInvitationModel);\r\n }\r\n sendInvitation(sendUserInvitationModel: SendUserInvitationModel) {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(SendUserInvitationComponent, {\r\n data: { sendUserInvitationModel }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") this.getAllUserInvitations(this.filterModel);\r\n });\r\n }\r\n}\r\n","export class UserInvitationModel {\r\n invitationId: number;\r\n name: string;\r\n email: string;\r\n phone: string;\r\n locationId: number;\r\n location: string;\r\n organizationId: number;\r\n organization: string;\r\n createdDate: string;\r\n invitationSendDate: string;\r\n}\r\nexport class SendUserInvitationModel {\r\n invitationId: number;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n email: string;\r\n phone: string;\r\n roleId:number;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonService } from '../../../core/services';\r\nimport { Observable } from 'rxjs';\r\nimport { FilterModel } from '../../../core/modals/common-model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserInvitationService {\r\n filterModel:FilterModel;\r\n private userInvitationListingUrl=\"UserInvitation/GetUserInvitations\";\r\n private userInvitationByIdUrl=\"UserInvitation/GetUserInvitation/\";\r\n private sendUrl=\"UserInvitation/SendInvitation\";\r\n private deleteURL = \"UserInvitation/DeleteInvitation/\";\r\n constructor(\r\n private commonService:CommonService\r\n ) { \r\n this.filterModel=new FilterModel();\r\n }\r\n getAllUserInvitedListing(filterModel):Observable {\r\n return this.commonService.post(this.userInvitationListingUrl,filterModel);\r\n }\r\n getUserInvitationById(id: number):Observable {\r\n return this.commonService.getById(this.userInvitationByIdUrl+ id,{});\r\n }\r\n setPaginatorModel(filterModel : any, pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string, searchText: string) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n return filterModel;\r\n }\r\n send(data: any) {\r\n const webUrl = window.location.origin;\r\n data.WebUrl=`${webUrl}`;\r\n if (data.invitationId != undefined && data.invitationId > 0)\r\n return this.commonService.put(this.sendUrl + \"/\" + data.invitationId, data);\r\n else\r\n return this.commonService.post(this.sendUrl, data);\r\n }\r\n deleteInvitation(id: number) {\r\n return this.commonService.put(this.deleteURL + id, {});\r\n }\r\n \r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select leave type\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select leave reason\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select leave from date\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select leave to date\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter description\\r\\n \\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, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, AbstractControl, ValidationErrors, FormControl, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { Observable } from 'rxjs';\r\nimport { StaffLeaveModel } from '../../users.model';\r\nimport { UsersService } from '../../users.service';\r\nimport { format } from 'date-fns';\r\n\r\n@Component({\r\n selector: 'app-apply-leave-modal',\r\n templateUrl: './apply-leave-modal.component.html',\r\n styleUrls: ['./apply-leave-modal.component.css']\r\n})\r\nexport class ApplyLeaveModalComponent implements OnInit {\r\n staffLeaveModel: StaffLeaveModel;\r\n staffLeaveForm: FormGroup;\r\n masterLeaveReason: Array = [];\r\n masterLeaveType: Array = [];\r\n submitted: boolean = false;\r\n loadingMasterData = false;\r\n staffId: number;\r\n headerText: string;\r\n todayDate = new Date();\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private staffLeaveDialogModalRef: MatDialogRef,\r\n private staffLeaveService: UsersService,\r\n\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService) {\r\n this.staffLeaveModel = data.staffLeaveModel;\r\n this.staffId = data.staffId;\r\n if (this.staffLeaveModel.id > 0)\r\n this.headerText = \"Update Applied Leave\";\r\n else\r\n this.headerText = \"Apply Leave\";\r\n }\r\n\r\n ngOnInit() {\r\n this.staffLeaveForm = this.formBuilder.group({\r\n id: [this.staffLeaveModel.id],\r\n description: [this.staffLeaveModel.description],\r\n toDate: [this.staffLeaveModel.toDate],\r\n fromDate: [this.staffLeaveModel.fromDate],\r\n leaveReasonId: [this.staffLeaveModel.leaveReasonId],\r\n leaveTypeId: [this.staffLeaveModel.leaveTypeId],\r\n staffId: [this.staffId ? this.staffId : this.staffLeaveModel.staffId]\r\n // leaveStatusId:[this.staffLeaveModel.leaveStatusId]\r\n });\r\n this.loadMasterData();\r\n }\r\n loadMasterData() {\r\n // load master data\r\n this.loadingMasterData = true;\r\n const masterData = 'LEAVETYPE,LEAVEREASON';\r\n this.staffLeaveService.getMasterData(masterData).subscribe((response: any) => {\r\n if (response != null) {\r\n this.loadingMasterData = false;\r\n this.masterLeaveReason = response.leaveReason || [];\r\n this.masterLeaveType = response.leaveType || [];\r\n }\r\n });\r\n }\r\n get formControls() { return this.staffLeaveForm.controls; }\r\n onSubmit() {\r\n if (!this.staffLeaveForm.invalid) {\r\n this.submitted = true;\r\n this.staffLeaveModel = this.staffLeaveForm.value;\r\n this.staffLeaveModel.fromDate = format(this.staffLeaveModel.fromDate, 'YYYY-MM-DD')\r\n this.staffLeaveModel.toDate = format(this.staffLeaveModel.toDate, 'YYYY-MM-DD')\r\n this.staffLeaveService.saveStaffLeave(this.staffLeaveModel).subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message)\r\n this.closeDialog('save');\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.staffLeaveDialogModalRef.close(action);\r\n }\r\n}\r\n","module.exports = \"/*Table Css*/\\r\\ntable {\\r\\n width: 100%;\\r\\n }\\r\\n.table {\\r\\n border-collapse: collapse;\\r\\n background-color: transparent;\\r\\n }\\r\\n.customtable {\\r\\n white-space: normal;\\r\\n }\\r\\ntable th.mat-header-cell > div > button {\\r\\n color: #000;\\r\\n text-transform: uppercase;\\r\\n font-size: 11px;\\r\\n font-weight: 500;\\r\\n }\\r\\n/*Pagination*/\\r\\n.mat-paginator .mat-paginator-container {\\r\\n justify-content: space-between;\\r\\n }\"","module.exports = \"

\\r\\n Manage Leaves

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{state.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 \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Provider Name\\r\\n \\r\\n Leave Type\\r\\n \\r\\n Leave Reason\\r\\n \\r\\n From Date\\r\\n \\r\\n To Date\\r\\n \\r\\n Description\\r\\n \\r\\n Leave Status\\r\\n \\r\\n Actions\\r\\n
\\r\\n {{code.staffName}}\\r\\n \\r\\n {{code.leaveType}}\\r\\n \\r\\n {{code.leaveReason}}\\r\\n \\r\\n {{code.fromDate}}\\r\\n \\r\\n {{code.toDate}}\\r\\n \\r\\n \\r\\n \\r\\n {{code.description}}\\r\\n {{code.leaveStatus}}\\r\\n \\r\\n \\r\\n \\r\\n {{status.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
\"","import { Component, OnInit, ViewChild, Input } from '@angular/core';\r\nimport { UsersService } from '../users.service';\r\nimport { ResponseModel, FilterModel, Metadata } from '../../../core/modals/common-model';\r\nimport { UserModel, StaffLeaveModel } from '../users.model';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { format } from 'date-fns';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { MatPaginator, MatSort, MatDialog } from '@angular/material';\r\nimport { merge } from 'rxjs';\r\nimport { ApplyLeaveModalComponent } from './apply-leave-modal/apply-leave-modal.component';\r\n\r\nclass statusModel {\r\n staffLeaveId: number;\r\n leaveStatusId: number;\r\n}\r\n\r\n@Component({\r\n selector: 'app-user-leaves',\r\n templateUrl: './user-leaves.component.html',\r\n styleUrls: ['./user-leaves.component.css']\r\n})\r\nexport class UserLeavesComponent implements OnInit {\r\n masterStaffs: Array;\r\n @Input() staffId: number = null;\r\n @Input() isSpecificUser: boolean = false;\r\n staffLeaveFormGroup: FormGroup;\r\n selectedStaffSelectedId: number = null;\r\n masterLeaveStatus: Array;\r\n statusObj: Array;\r\n metaData: Metadata;\r\n filterModel: FilterModel;\r\n usersData: StaffLeaveModel[];\r\n userFormGroup: FormGroup;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(private userService: UsersService, private formBuilder: FormBuilder, private router: Router, private notifier: NotifierService, private staffLeaveDialogModal: MatDialog, ) {\r\n this.filterModel = new FilterModel();\r\n this.masterStaffs = [];\r\n this.masterLeaveStatus = [];\r\n this.statusObj = [];\r\n this.metaData = new Metadata();\r\n }\r\n\r\n ngOnInit() {\r\n this.onSortOrPageChanges();\r\n this.userService.getMasterData('masterstaff,leavestatus').subscribe((response: any) => {\r\n this.masterStaffs = response.staffs;\r\n this.masterLeaveStatus = response.leaveStatus;\r\n })\r\n this.staffId\r\n if (!this.isSpecificUser) {\r\n this.staffLeaveFormGroup = this.formBuilder.group({\r\n filterStaffId: [],\r\n });\r\n this.getStaffLeaves(0);\r\n } else {\r\n this.getStaffLeaves(this.staffId);\r\n }\r\n }\r\n get formControls() {\r\n return this.staffLeaveFormGroup.controls;\r\n }\r\n getStaffLeaves(value: number) {\r\n this.selectedStaffSelectedId = this.staffId ? this.staffId : value;\r\n this.userService.getStaffLeaves(this.filterModel, this.selectedStaffSelectedId).subscribe((response: ResponseModel) => {\r\n this.usersData = response.data;\r\n this.usersData = (response.data || []).map((obj: any) => {\r\n obj.toDate = format(obj.toDate, 'DD-MM-YYYY');\r\n obj.fromDate = format(obj.fromDate, 'DD-MM-YYYY');\r\n return obj;\r\n })\r\n this.metaData = response.meta;\r\n });\r\n this.statusObj = [];\r\n }\r\n\r\n clearFilter() {\r\n this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, '');\r\n \r\n // this.staffId = null;\r\n this.staffLeaveFormGroup.patchValue({\r\n filterStaffId: null,\r\n })\r\n //call empty list with 0 no id\r\n this.getStaffLeaves(0);\r\n this.statusObj = [];\r\n }\r\n\r\n setPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string, searchText: string) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n }\r\n addStatus(staffLeaveId: number, leaveStatusId: number) {\r\n let index = this.statusObj.findIndex(a => a.staffLeaveId == staffLeaveId);\r\n if (index > -1) {\r\n this.statusObj.splice(index, 1, { \"staffLeaveId\": staffLeaveId, \"leaveStatusId\": leaveStatusId });\r\n }\r\n else { this.statusObj.push({ \"staffLeaveId\": staffLeaveId, \"leaveStatusId\": leaveStatusId }); }\r\n }\r\n openDialog(id?: number) {\r\n if (id != null && id > 0) {\r\n this.userService.getStaffLeaveById(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.createModal(response.data);\r\n }\r\n });\r\n }\r\n else\r\n this.createModal(new StaffLeaveModel());\r\n }\r\n editAppliedLeave(id: number) {\r\n this.openDialog(id);\r\n }\r\n deleteAppliedLeave(id: number) {\r\n this.userService.deleteStaffLeave(id)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify('success', response.message)\r\n this.getStaffLeaves(0);\r\n } else if (response.statusCode === 401) {\r\n this.notifier.notify('warning', response.message)\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n })\r\n }\r\n createModal(staffLeaveModel: StaffLeaveModel) {\r\n let staffLeaveModal;\r\n staffLeaveModal = this.staffLeaveDialogModal.open(ApplyLeaveModalComponent, { hasBackdrop: true, data: { staffLeaveModel: staffLeaveModel, staffId: this.staffId ? this.staffId : null } })\r\n staffLeaveModal.afterClosed().subscribe((result: string) => {\r\n if (result == 'save')\r\n this.getStaffLeaves(0);\r\n });\r\n }\r\n submitLeaves() {\r\n if (this.statusObj.length > 0) {\r\n this.userService.updateLeaveStatus(this.statusObj).subscribe((response: any) => {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message);\r\n this.statusObj = [];\r\n\r\n } else {\r\n this.notifier.notify('error', response.message);\r\n }\r\n });\r\n }\r\n else {\r\n this.notifier.notify('warning', \"Please update status first!\");\r\n }\r\n }\r\n\r\n onSortOrPageChanges() {\r\n this.sort.sortChange.subscribe(() => this.paginator.pageIndex = 0);\r\n merge(this.sort.sortChange, this.paginator.page)\r\n .subscribe(() => {\r\n const changeState = {\r\n sort: this.sort.active || '',\r\n order: this.sort.direction || '',\r\n pageNumber: (this.paginator.pageIndex + 1)\r\n }\r\n this.setPaginatorModel(changeState.pageNumber, this.filterModel.pageSize, changeState.sort, changeState.order, \"\");\r\n this.getStaffLeaves(this.staffId?this.staffId:this.selectedStaffSelectedId);\r\n })\r\n }\r\n}","module.exports = \"\\r\\n.navbar-manage-01 {\\r\\n position: fixed !important;\\r\\n top: 75px;\\r\\n width: 100%;\\r\\n height: 40px;\\r\\n z-index: 1020 !important;\\r\\n background-color: rgb(193, 205, 207);\\r\\n}\\r\\n.header-manage-company {\\r\\n padding-left: 20px ;\\r\\n}\\r\\n.example-full-width-manage{\\r\\n float: none;\\r\\n display: block;\\r\\n text-align: left;\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n padding: 14px;\\r\\n}\\r\\n/* tr.mat-header-row {\\r\\n background-color: #7E9693 !important ;\\r\\n } */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n

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

Manage Consultant

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\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 { UsersService } from '../users.service';\r\nimport { ICDCodesModel } from '../../masters/icd-codes/icd-codes.model';\r\nimport { UserModel } from '../users.model';\r\nimport { FilterModel, ResponseModel } from '../../../core/modals/common-model';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from \"@angular/router\";\r\nimport { format } from 'date-fns';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { CommonService } from '../../../core/services';\r\nimport { DialogService } from '../../../../../shared/layout/dialog/dialog.service';\r\nimport { Metadata } from '../../../../../super-admin-portal/core/modals/common-model';\r\nimport { BulkUploadComponent } from '../bulk-upload/bulk-upload.component';\r\nimport { MatDialog } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-user',\r\n templateUrl: './user-listing.component.html',\r\n styleUrls: ['./user-listing.component.css']\r\n})\r\nexport class UserListingComponent implements OnInit {\r\n metaData: any;\r\n filterModel: FilterModel;\r\n usersData: UserModel[];\r\n userFormGroup: FormGroup;\r\n staffName: string = \"\";\r\n masterRoles: any[];\r\n masterTagsForStaff: any[];\r\n currentLocationId: number;\r\n addPermission: boolean;\r\n displayedColumns: Array = [\r\n { displayName: 'User Id', key: 'userID', isSort: true, class: '', width: '15%' },\r\n { displayName: 'Name', key: 'staffName', isSort: true, class: '', width: '15%' },\r\n { displayName: 'User Name', key: 'userName', isSort: true, class: '', width: '15%' },\r\n { displayName: 'Role', key: 'roleName', class: '', width: '10%' },\r\n { displayName: 'Phone', key: 'phoneNumber', class: '', width: '10%' },\r\n { displayName: 'Date Joined', key: 'doj', class: '', width: '10%' },\r\n { displayName: 'Rating', key: 'rating', class: '',type: 'rating', width: '10%' },\r\n { displayName: 'Active', key: 'isActive', class: '', width: '10%', type: 'togglespan', permission: true },\r\n { displayName: 'Lock User', key: 'isBlock', class: '', width: '10%', type: 'togglespan', permission: true },\r\n { displayName: 'Actions', key: 'Actions', class: '', width: '10%' }\r\n\r\n ];\r\n actionButtons: Array = [\r\n { displayName: 'View', key: 'view', class: 'fa-solid fa-eye' },\r\n { displayName: 'Edit', key: 'edit', class: 'fa fa-pencil' },\r\n { displayName: 'Delete', key: 'delete', class: 'fa fa-trash' },\r\n ];\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private usersService: UsersService,\r\n private commonService: CommonService,\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private notifier: NotifierService,\r\n private dialogService: DialogService) {\r\n this.filterModel = new FilterModel();\r\n this.usersData = new Array();\r\n this.currentLocationId = null;\r\n }\r\n ngOnInit() {\r\n this.userFormGroup = this.formBuilder.group({\r\n searchText: [],\r\n tagIds: [],\r\n roleId: []\r\n });\r\n this.getMasterData();\r\n\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.currentLocationId = user.currentLocationId;\r\n }\r\n });\r\n this.getUsersList(this.filterModel, '', '');\r\n this.getUserPermissions();\r\n }\r\n\r\n onPageOrSortChange(changeState?: any) {\r\n let formValues = this.userFormGroup.value;\r\n this.setPaginatorModel(changeState.pageNumber, changeState.pageSize, changeState.sort, changeState.order, this.filterModel.searchText);\r\n this.getUsersList(this.filterModel, formValues.tagIds, formValues.roleId);\r\n }\r\n \r\n \r\n onTableActionClick(actionObj?: any) {\r\n const id = actionObj.data && actionObj.data.staffID;\r\n switch ((actionObj.action || '').toUpperCase()) {\r\n case 'VIEW':\r\n this.addUser(id);\r\n localStorage.setItem('staffid', id);\r\n localStorage.setItem('headingvalue', 'View Consultant');\r\n break;\r\n case 'EDIT':\r\n this.addUser(id);\r\n localStorage.setItem('headingvalue', 'Edit Consultant');\r\n break;\r\n case 'DELETE':\r\n {\r\n this.notifier.hideAll();\r\n this.dialogService.confirm(`Are you sure you want to delete this user?`).subscribe((result: any) => {\r\n if (result == true) {\r\n this.usersService.deleteStaff(id).subscribe((response: ResponseModel) => {\r\n this.notify(response);\r\n });\r\n }\r\n });\r\n }\r\n break;\r\n case \"TOGGLE\":\r\n {\r\n this.notifier.hideAll();\r\n if (actionObj.column.key == \"isActive\") {\r\n this.dialogService.confirm(`Are you sure you want to change the user's status?`).subscribe((result: any) => {\r\n if (result == true) {\r\n this.usersService.updateUserActiveStatus(actionObj.data.staffID, (actionObj.data.isActive == true ? false : true)).subscribe((response: ResponseModel) => {\r\n this.notify(response);\r\n });\r\n }\r\n });\r\n }\r\n else if (actionObj.column.key == \"isBlock\") {\r\n this.dialogService.confirm(`Are you sure you want to change the user's lock status?`).subscribe((result: any) => {\r\n if (result == true) {\r\n const originalIsBlock = actionObj.data.isBlock; \r\n this.usersService.updateUserStatus(actionObj.data.userID, !originalIsBlock).subscribe((response: ResponseModel) => {\r\n this.notify(response);\r\n });\r\n }else {\r\n // If the user cancels, revert the value back to its original state\r\n actionObj.data.isBlock = actionObj.data.isBlock;\r\n this.getUsersList(this.filterModel, '', ''); // Refresh the list or update the UI as needed\r\n }\r\n });\r\n }\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n notify(response: ResponseModel) {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message)\r\n this.getUsersList(this.filterModel, '', '');\r\n } else if (response.statusCode == 401) {\r\n this.notifier.notify('warning', response.message);\r\n } else {\r\n this.notifier.notify('error', response.message)\r\n }\r\n }\r\n\r\n\r\n applyFilter() {\r\n let formValues = this.userFormGroup.value;\r\n this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, formValues.searchText);\r\n this.getUsersList(this.filterModel, formValues.tagIds, formValues.roleId);\r\n }\r\n\r\n getUsersList(filterModel: FilterModel, tags: any, roleIds: any) {\r\n this.usersService.getAll(filterModel, (tags != null ? tags.toString() : ''), (roleIds || ''), this.currentLocationId).subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.usersData = response.data;\r\n //console.log(this.usersData)\r\n this.usersData = (response.data || []).map((obj: any) => {\r\n obj.doj = format(obj.doj, 'MM/DD/YYYY');\r\n obj.staffName = `${obj.firstName} ${obj.lastName}`;\r\n return obj;\r\n });\r\n this.metaData = response.meta;\r\n } else {\r\n this.usersData = []; this.metaData = new Metadata();\r\n }\r\n this.metaData.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n clearFilters() {\r\n this.userFormGroup.reset();\r\n this.setPaginatorModel(1, this.filterModel.pageSize, this.filterModel.sortColumn, this.filterModel.sortOrder, '');\r\n this.getUsersList(this.filterModel, '', '');\r\n }\r\n\r\n setPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string, searchText: string) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n }\r\n viewuser(staffId: number) {\r\n this.router.navigate([\"/web/manage-users\"],{queryParams:{id:staffId}});\r\n }\r\n addUser(staffId: number = null) {\r\n //console.log(\"id\",staffId)\r\n this.router.navigate([\"/web/manage-users/user\"], { queryParams: { id: staffId != null ? this.commonService.encryptValue(staffId, true) : null } });\r\n }\r\n addconsultant() {\r\n localStorage.setItem('headingvalue', 'Add consultant');\r\n this.router.navigate([\"/web/manage-users/user\"]);\r\n }\r\n InviteUser() {\r\n\r\n }\r\n getMasterData() {\r\n let data = \"MASTERROLES,MASTERTAGSFORSTAFF\";\r\n this.usersService.getMasterData(data).subscribe((response: any) => {\r\n \r\n this.masterRoles = response.masterRoles;\r\n this.masterTagsForStaff = response.masterTagsforStaff;\r\n });\r\n }\r\n\r\n getUserPermissions() {\r\n const actionPermissions = this.usersService.getUserScreenActionPermissions('USER', 'USER_LIST');\r\n const { USER_LIST_ADD, USER_LIST_UPDATE, USER_LIST_DELETE, USER_LIST_CHANGELOCK } = actionPermissions;\r\n if (!USER_LIST_UPDATE) {\r\n let spliceIndex = this.actionButtons.findIndex(obj => obj.key == 'view');\r\n this.actionButtons.splice(spliceIndex, 1)\r\n }\r\n if (!USER_LIST_UPDATE) {\r\n let spliceIndex = this.actionButtons.findIndex(obj => obj.key == 'edit');\r\n this.actionButtons.splice(spliceIndex, 1)\r\n }\r\n if (!USER_LIST_DELETE) {\r\n let spliceIndex = this.actionButtons.findIndex(obj => obj.key == 'delete');\r\n this.actionButtons.splice(spliceIndex, 1)\r\n }\r\n if (!USER_LIST_CHANGELOCK) {\r\n const column = this.displayedColumns.find(obj => obj.key == 'isBlock');\r\n column.permission = false;\r\n }\r\n\r\n this.addPermission = USER_LIST_ADD || false;\r\n\r\n }\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(BulkUploadComponent, {\r\n \r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n //console.log(result)\r\n });\r\n }\r\n}\r\n","module.exports = \".assign-loc p {\\r\\n margin: 15px 0 0;\\r\\n padding-left: 20px;\\r\\n position: relative;\\r\\n color: rgba(0, 0, 0, .8);\\r\\n font-weight: 400;\\r\\n font-size: 16px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.assign-loc i {\\r\\n font-size: 20px;\\r\\n color: #7a7a7a;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n}\\r\\n\\r\\n.assign-loc ul {\\r\\n margin: 0;\\r\\n padding: 0 0 0 20px;\\r\\n list-style-type: none;\\r\\n}\\r\\n\\r\\n.assign-loc ul li {\\r\\n margin: 0;\\r\\n padding: 5px 10px 0 0;\\r\\n font-size: 14px;\\r\\n line-height: 16px;\\r\\n color: #7a7a7a;\\r\\n font-weight: 400;\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.readmin-panel .client_detail .row {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.client_detail .text-left {\\r\\n word-break: break-all !important;\\r\\n}\\r\\n\\r\\n.ppname{\\r\\n color: #003359 !important;\\r\\n background-color: #efefef;\\r\\n padding: 7px;\\r\\n}\\r\\n\\r\\n.ledtdiv{\\r\\n font-size: 15px;\\r\\n}\\r\\n\\r\\n.ledtdiv span{\\r\\n padding-left: 10px;\\r\\n}\\r\\n\\r\\n.ledtdiv .col-md-3{\\r\\n padding:0 !important;\\r\\n}\\r\\n\\r\\n.clientpic img{\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n.client_detail{\\r\\n padding-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n@media (max-width: 1199px) {\\r\\n .ledtdiv p {\\r\\n width: 100%;\\r\\n }\\r\\n}\"","module.exports = \"

My Profile

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

{{staffProfile.firstName +''+(staffProfile.middleName||'')+' '+staffProfile.lastName + ' ' +(staffProfile.degreeName||\\r\\n '') }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
Gender :{{staffProfile.gender}}
\\r\\n \\r\\n
Date of joining : {{staffProfile.doj | date}}
\\r\\n \\r\\n
NPI number : {{staffProfile.npiNumber}}
\\r\\n \\r\\n
Phone :{{staffProfile.phoneNumber}}
\\r\\n \\r\\n
Email :{{staffProfile.email}}
\\r\\n \\r\\n
Address :{{staffProfile.staffFullAddress}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Tags

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n {{tag.tag}}\\r\\n
  • \\r\\n
  • No tags found.\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Assigned Locations

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

\\r\\n \\r\\n {{ loc.stateName }}\\r\\n

\\r\\n
    \\r\\n
  • {{ loc.locationFullAddress }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Speciality

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n {{spl.speciality}}\\r\\n
  • \\r\\n
  • No speciality found.\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Services

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n {{serv.serviceName}}\\r\\n
  • \\r\\n
  • No service found.\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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 { UsersService } from '../users.service';\r\nimport { ResponseModel } from '../../../../../super-admin-portal/core/modals/common-model';\r\nimport { StaffProfileModel } from '../users.model';\r\nimport { CommonService } from '../../../core/services';\r\nimport { LoginUser } from '../../../core/modals/loginUser.modal';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-user-profile',\r\n templateUrl: './user-profile.component.html',\r\n styleUrls: ['./user-profile.component.css']\r\n})\r\nexport class UserProfileComponent implements OnInit {\r\n staffId: number;\r\n userId: number;\r\n selectedIndex: number = 0;\r\n\r\n staffProfile: StaffProfileModel;\r\n subscription: Subscription;\r\n photoPath:any;\r\n // profileTabs: any = [\"Documents\", \"Leaves\", \"Timesheet\"]\r\n profileTabs: any = [\"Documents\"]\r\n constructor(private userService: UsersService, private commonService: CommonService, private router: Router) {\r\n this.staffProfile = new StaffProfileModel()\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.subscription = this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.staffId = user.data.id;\r\n this.userId = user.data.userID;\r\n //this.photoPath = user.data.photoPath;\r\n // console.log(\"data\",user.data)\r\n this.getStaffProfileData();\r\n }\r\n });\r\n }\r\n loadComponent(eventType: any): any {\r\n this.selectedIndex =eventType.index;\r\n }\r\n getStaffProfileData() {\r\n this.userService.getStaffProfileData(this.staffId).subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null) {\r\n this.staffProfile = response.data;\r\n this.photoPath=response.data.photoPath;\r\n }\r\n });\r\n }\r\n editProfile() {\r\n this.router.navigate([\"/web/manage-users/userprofile\"], { queryParams: { id: this.commonService.encryptValue(this.staffId,true) } });\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Qualification

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter course name.\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter university name.\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select a valid start date.\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select a valid end 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 \\r\\n
\\r\\n
\\r\\n\"","import { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { StaffQualification } from \"./../../../../../front/doctor-profile/doctor-profile.model\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { Organization } from \"./../../clients/client-profile.model\";\r\nimport { Component, OnInit, EventEmitter, Output } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, FormArray, Validators, FormControl, FormGroupDirective, NgForm } from \"@angular/forms\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\nimport { ErrorStateMatcher } from \"@angular/material\";\r\n\r\n@Component({\r\n selector: \"app-user-qualification\",\r\n templateUrl: \"./user-qualification.component.html\",\r\n styleUrls: [\"./user-qualification.component.css\"]\r\n})\r\nexport class UserQualificationComponent implements OnInit {\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n qualificationForm: FormGroup;\r\n existingStaffQualificationForm: Array = [];\r\n staffId: string = \"\";\r\n submitted: boolean = false;\r\n currentDate = new Date();\r\n staffDob: Date;\r\n matcher: any;\r\n isDataLoading: any;\r\n loaderImage:any;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private usersService: UsersService,\r\n private activatedRoute: ActivatedRoute,\r\n private notifier: NotifierService,\r\n private commonService: CommonService\r\n ) {\r\n this.activatedRoute.queryParams.subscribe(param => {\r\n this.staffId = param[\"id\"];\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n const configContols = {\r\n qualification: this.formBuilder.array([])\r\n };\r\n this.qualificationForm = this.formBuilder.group(configContols);\r\n if (this.staffId != \"\") this.getStaffQualification(this.staffId);\r\n else this.addQualification();\r\n // To set the minimum date of start data which is DOB + 1 year.\r\n this.staffDob = new Date(localStorage.getItem(\"staffdob\"));\r\n this.staffDob.setFullYear(this.staffDob.getFullYear() + 1);\r\n }\r\n\r\n get formControls() {\r\n return this.qualificationForm.value;\r\n }\r\n\r\n get qualification() {\r\n return this.qualificationForm.get(\"qualification\") as FormArray;\r\n }\r\n addQualification() {\r\n this.matcher = null;\r\n this.addQualificationItem(this.initializeQualificationObject());\r\n }\r\n getStaffQualification(id: string) {\r\n this.isDataLoading = true;\r\n this.usersService.getUserQualification(id).subscribe(response => {\r\n this.clearFormControls();\r\n this.isDataLoading = false;\r\n if (response.data != null && response.data.length > 0) {\r\n this.existingStaffQualificationForm = response.data;\r\n response.data.forEach(element => {\r\n this.addQualificationItem(element);\r\n });\r\n } else {\r\n this.addQualificationItem(this.initializeQualificationObject());\r\n }\r\n });\r\n }\r\n initializeQualificationObject(): StaffQualification {\r\n let qualification = new StaffQualification();\r\n qualification.id = \"0\";\r\n qualification.course = \"\";\r\n qualification.university = \"\";\r\n qualification.startDate = null;\r\n qualification.endDate = null;\r\n qualification.isDeleted = false;\r\n return qualification;\r\n }\r\n addQualificationItem(obj: StaffQualification) {\r\n this.qualification.push(\r\n this.formBuilder.group({\r\n id: obj.id,\r\n course: [obj.course, [Validators.required]],\r\n university: [obj.university, [Validators.required]],\r\n startDate: [obj.startDate != null ? new Date(obj.startDate) : null, [Validators.required]],\r\n endDate: [obj.endDate != null ? new Date(obj.endDate) : null, [Validators.required]],\r\n isDeleted: obj.isDeleted\r\n })\r\n );\r\n }\r\n removeQualification(index: number) {\r\n this.matcher = null;\r\n this.qualification.removeAt(index);\r\n }\r\n clearFormControls() {\r\n while (this.qualification.length !== 0) {\r\n this.qualification.removeAt(0);\r\n }\r\n }\r\n onSubmit() {\r\n let qual: Array = [];\r\n if (this.qualificationForm.invalid) {\r\n this.matcher = new MyErrorStateMatcher();\r\n return false;\r\n }\r\n this.qualificationForm.value.qualification\r\n .filter(\r\n x =>\r\n x.course != null &&\r\n x.university != null &&\r\n x.startDate != null &&\r\n x.endDate != null\r\n )\r\n .forEach(element => {\r\n if (\r\n element.course != null &&\r\n element.university != null &&\r\n element.startDate != null &&\r\n element.endDate != null\r\n ) {\r\n element.startDate = format(element.startDate, \"YYYY-MM-DDTHH:mm:ss\"); // new Date(element.startDate);\r\n element.endDate = format(element.endDate, \"YYYY-MM-DDTHH:mm:ss\"); // new Date(element.endDate);\r\n qual.push(element);\r\n }\r\n });\r\n if (this.existingStaffQualificationForm) {\r\n this.existingStaffQualificationForm.filter((x: StaffQualification) => {\r\n if (qual.findIndex(y => y.id == x.id) == -1) {\r\n x.isDeleted = true;\r\n qual.push(x);\r\n }\r\n });\r\n }\r\n let data = {\r\n staffId: this.staffId,\r\n staffQualification: qual\r\n };\r\n this.submitted = true;\r\n this.usersService\r\n .saveStaffQualification(data)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.isDataLoading = true;\r\n this.clearFormControls();\r\n this.getStaffQualification(this.staffId);\r\n\r\n this.commonService.isProfileUpdated(Number(this.staffId));\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n\r\n// To force error massages to show on untouched submit.\r\nexport class MyErrorStateMatcher implements ErrorStateMatcher {\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return (control && control.invalid);\r\n }\r\n}","export class UserTimesheetSheetViewModel {\r\n id: number;\r\n appointmentTypeId: number;\r\n appointmentTypeName: string;\r\n staffId: number;\r\n staffName: string;\r\n sunday: number;\r\n monday: number;\r\n tuesday: number;\r\n wednesday: number;\r\n thursday: number;\r\n friday: number;\r\n saturday: number;\r\n sunDate: Date;\r\n monDate: Date;\r\n tueDate: Date;\r\n wedDate: Date;\r\n thuDate: Date;\r\n friDate: Date;\r\n satDate: Date;\r\n}\r\nexport class UserTimesheetTabularViewModel {\r\n id?: number;\r\n dateOfService?: string;\r\n startDateTime?: string;\r\n endDateTime?: string;\r\n appointmentTypeId?: number;\r\n appointmentTypeName?: string;\r\n staffId?: number;\r\n staffName?: string;\r\n statusId?: number;\r\n status?: string;\r\n distance?: number;\r\n driveTime?: number;\r\n expectedTimeDuration?: number;\r\n actualTimeDuration?: number;\r\n isTravelTime?: boolean;\r\n notes?: string;\r\n}","module.exports = \"/*User Time Sheet*/\\r\\n.week-date{display: flex; justify-content: flex-start; align-items: center;}\\r\\n.week-date .pre-next-btn {\\r\\n min-width: 30px !important;\\r\\n height: 30px !important;\\r\\n line-height: 27px !important;\\r\\n width: 30px !important;\\r\\n border: 0px;\\r\\n background-color: transparent;\\r\\n}\\r\\n.week-date .pre-next-btn i{color: #000 !important;}\\r\\n.week-date p{margin: 0px;}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n {{DateObject.fromDate}},{{DateObject.toDate}}\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Appointment Type\\r\\n \\r\\n Sunday\\r\\n \\r\\n Monday\\r\\n \\r\\n Tuesday\\r\\n \\r\\n Wednesday\\r\\n \\r\\n Thursday\\r\\n \\r\\n Friday\\r\\n \\r\\n Saturday\\r\\n \\r\\n Total\\r\\n
\\r\\n {{code.appointmentTypeName}}\\r\\n \\r\\n {{code.sunday}}\\r\\n \\r\\n {{code.monday}}\\r\\n \\r\\n {{code.tuesday}}\\r\\n \\r\\n {{code.wednesday}}\\r\\n \\r\\n {{code.thursday}}\\r\\n \\r\\n {{code.friday}}\\r\\n \\r\\n {{code.saturday}}\\r\\n \\r\\n {{code.total}}\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { UserTimeSheetViewService } from './user-time-sheet-sheet.service';\r\nimport { UserTimesheetSheetViewModel } from './timesheet-sheet-view.model';\r\nimport { startOfWeek, endOfWeek, addWeeks, format } from 'date-fns';\r\n\r\ninterface DateObject {\r\n fromDate: string,\r\n toDate: string\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-user-time-sheet-sheet-view',\r\n templateUrl: './user-time-sheet-sheet-view.component.html',\r\n styleUrls: ['./user-time-sheet-sheet-view.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UserTimeSheetSheetViewComponent implements OnInit {\r\n staffId: number;\r\n currentWeekValue: number = 0;\r\n private userTimesheetViewModel: UserTimesheetSheetViewModel;\r\n userTimesheetViewData: UserTimesheetSheetViewModel[];\r\n DateObject: DateObject = {\r\n fromDate: null,\r\n toDate: null,\r\n };\r\n private displayedColumns: string[] = ['appointmentTypeName', 'sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'total'];\r\n constructor(private userTimeSheetViewService: UserTimeSheetViewService) {\r\n this.userTimesheetViewModel = new UserTimesheetSheetViewModel();\r\n this.DateObject = {\r\n fromDate: format(startOfWeek(new Date()), 'MM-DD-YYYY'),\r\n toDate: format(endOfWeek(new Date()), 'MM-DD-YYYY')\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (this.staffId) {\r\n this.getUserTimesheetViewData();\r\n this.setFilteredDateObject(this.currentWeekValue);\r\n }\r\n }\r\n\r\n getUserTimesheetViewData() {\r\n this.userTimeSheetViewService.getAllUserTimeSheetViewData(this.staffId, this.currentWeekValue)\r\n .subscribe(\r\n (response: any) => {\r\n if (response.statusCode === 200) {\r\n this.userTimesheetViewData = this.renderTotalData(response.data);\r\n } else {\r\n this.userTimesheetViewData = [];\r\n }\r\n });\r\n }\r\n renderTotalData(responseArray: any): any {\r\n let appointmentTypeName = \"Total\", total = 0, totalTime = 0, sunday = 0, monday = 0, tuesday = 0, wednesday = 0, thursday = 0, friday = 0,\r\n saturday = 0;\r\n if (responseArray && responseArray.length) {\r\n responseArray.map((Obj, index) => {\r\n sunday = sunday + Obj.sunday;\r\n monday = monday + Obj.monday;\r\n tuesday = tuesday + Obj.tuesday;\r\n wednesday = wednesday + Obj.wednesday;\r\n thursday = thursday + Obj.thursday;\r\n friday = friday + Obj.friday;\r\n saturday = saturday + Obj.saturday;\r\n total = Obj.monday + Obj.tuesday + Obj.wednesday + Obj.thursday + Obj.friday + Obj.saturday + Obj.sunday;\r\n totalTime = totalTime + total;\r\n Obj.total = total;\r\n return Obj;\r\n });\r\n responseArray.push({ appointmentTypeName, sunday, monday, tuesday, wednesday, thursday, friday, saturday, total: totalTime });\r\n return responseArray;\r\n }\r\n }\r\n setWeekValue(weekValue) {\r\n this.currentWeekValue = weekValue;\r\n this.setFilteredDateObject(weekValue);\r\n }\r\n setFilteredDateObject(weekToAdd) {\r\n let weekStartDate = addWeeks(this.DateObject.fromDate, weekToAdd);\r\n let weekEndDate = addWeeks(this.DateObject.toDate, weekToAdd);\r\n this.DateObject = {\r\n fromDate: format(weekStartDate, 'MM-DD-YYYY'),\r\n toDate: format(weekEndDate, 'MM-DD-YYYY'),\r\n };\r\n }\r\n changeWeekValue(changeValue) {\r\n this.currentWeekValue = (this.currentWeekValue) + (changeValue),\r\n this.setWeekValue(this.currentWeekValue);\r\n this.getUserTimesheetViewData();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonService } from '../../../core/services';\r\nimport { Observable } from 'rxjs';\r\nimport { FilterModel } from '../../../core/modals/common-model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserTimeSheetViewService {\r\n getAllUserTimeSheetViewURL = 'StaffTimesheet/GetStaffTimesheetDataSheetView';\r\n constructor(private commonService: CommonService) { }\r\n\r\n getAllUserTimeSheetViewData(staffId: number, weekValue: number) {\r\n let url = this.getAllUserTimeSheetViewURL + '?staffIds=' + staffId + '&weekValue=' + weekValue;\r\n return this.commonService.getAll(url, {});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonService } from '../../../core/services';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { UserTimesheetTabularViewModel } from '../user-time-sheet-sheet-view/timesheet-sheet-view.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserTimeSheetTabularViewService {\r\n getAllUserTimeSheetTabularViewURL = 'StaffTimesheet/GetStaffTimesheetDataTabularView';\r\n submitTimeSheetStatusURL = 'StaffTimesheet/SubmitUserTimesheet';\r\n saveUserTimeSheetDataURL = 'StaffTimesheet/SaveUserTimesheetDetails';\r\n getUserTimeSheetDataByIdURL = 'StaffTimesheet/GetUserTimesheetDetails';\r\n deleteUserTimeSheetDataByIdURL = 'StaffTimesheet/DeleteUserTimesheetDetails'\r\n constructor(private commonService: CommonService) { }\r\n getMasterData(masterData: any): Observable {\r\n return this.commonService.post('api/MasterData/MasterDataByName', masterData);\r\n }\r\n getAllUserTimeSheetTabularViewData(staffId: number, weekValue: number) {\r\n let url = this.getAllUserTimeSheetTabularViewURL + '?staffIds=' + staffId + '&weekValue=' + weekValue;\r\n return this.commonService.getAll(url, {});\r\n }\r\n submitTimeSheetStatus(statusIdArray: any) {\r\n return this.commonService.patch(`${this.submitTimeSheetStatusURL}?Ids=${statusIdArray}`, {});\r\n }\r\n deleteUserTimeSheet(id: number) {\r\n return this.commonService.patch(`${this.deleteUserTimeSheetDataByIdURL}?id=${id}`, {})\r\n }\r\n saveUserTimeSheet(modalData: UserTimesheetTabularViewModel): Observable {\r\n return this.commonService.post(this.saveUserTimeSheetDataURL, modalData)\r\n .pipe(map((response: any) => {\r\n let data = response;\r\n return data;\r\n }))\r\n }\r\n getUserTimeSheetDataById(id: number): Observable {\r\n let url = `${this.getUserTimeSheetDataByIdURL}/${id}`;\r\n return this.commonService.getById(url, {})\r\n .pipe(map((response: any) => {\r\n let data = new UserTimesheetTabularViewModel();\r\n if (response.statusCode >= 200 && response.statusCode < 300 && response.statusCode !== 204) {\r\n data = response.data;\r\n }\r\n return data;\r\n }))\r\n }\r\n}\r\n","module.exports = \"/*User Time Sheet*/\\r\\n.week-date{display: flex; justify-content: flex-start; align-items: center; padding: 10px;}\\r\\n.week-date .pre-next-btn, .week-date .pre-next-btn button {\\r\\n min-width: 30px !important;\\r\\n height: 30px !important;\\r\\n line-height: 27px !important;\\r\\n width: 30px !important;\\r\\n}\\r\\n.week-date .pre-next-btn i{color: #000 !important;}\\r\\n.week-date p{margin: 0px;}\\r\\n.week-date .pre-next-btn button > div div {\\r\\n background: #fff !important;\\r\\n}\\r\\n.nw-chk{\\r\\n display: inline-block;\\r\\n float: left;\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n Date:{{DateObject.fromDate}},{{DateObject.toDate}}\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Submit Timesheet\\r\\n

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

\\r\\n
\\r\\n \\r\\n \\r\\n Date Of Service {{element.dateOfService}} Appointment Type {{element.appointmentTypeName}} Expected Time Duration(Hrs) {{element.expectedTimeDuration}} Actual Time Duration(Hrs) {{element.actualTimeDuration}} Status {{element.status}}
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { UserTimesheetTabularViewModel } from '../user-time-sheet-sheet-view/timesheet-sheet-view.model';\r\nimport { UserTimeSheetTabularViewService } from './user-time-sheet-tablular.service';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { startOfWeek, endOfWeek, addWeeks, format } from 'date-fns';\r\nimport { MatDialog } from '@angular/material';\r\n\r\ninterface DateObject {\r\n fromDate: string,\r\n toDate: string\r\n}\r\n@Component({\r\n selector: 'app-user-time-sheet-tabular-view',\r\n templateUrl: './user-time-sheet-tabular-view.component.html',\r\n styleUrls: ['./user-time-sheet-tabular-view.component.css']\r\n})\r\nexport class UserTimeSheetTabularViewComponent implements OnInit {\r\n timesheetStatus: Array;\r\n userTimeSheetModel: UserTimesheetTabularViewModel;\r\n staffId: number;\r\n loadingMasterData: boolean = false;\r\n currentWeekValue: number = 0;\r\n ChkAllSubmitStatus: boolean = false;\r\n timeSheetIdArray: Array = [];\r\n submitTimeSheetCheck: boolean = false;\r\n isActionChecked: boolean = false;\r\n statusArray: Array = [];\r\n DateObject: DateObject = {\r\n fromDate: null,\r\n toDate: null,\r\n };\r\n private usersTimesheetTabularData: UserTimesheetTabularViewModel[];\r\n private userTimeSheetFormGroup: FormGroup;\r\n private displayedColumns: string[] = ['submitStatus', 'dateOfService', 'appointmentTypeName', 'expectedTimeDuration', 'actualTimeDuration', 'status'];\r\n constructor(private userTimeSheetTableService: UserTimeSheetTabularViewService, private userTimeSheetDailog: MatDialog, private formBuilder: FormBuilder, private router: Router, private notifier: NotifierService) {\r\n this.timesheetStatus = [];\r\n this.DateObject = {\r\n fromDate: format(startOfWeek(new Date()), 'MM-DD-YYYY'),\r\n toDate: format(endOfWeek(new Date()), 'MM-DD-YYYY')\r\n }\r\n }\r\n\r\n\r\n ngOnInit() {\r\n if (this.staffId) {\r\n this.getUserTimesheetTabularViewData();\r\n this.setFilteredDateObject(this.currentWeekValue);\r\n }\r\n }\r\n getUserTimesheetTabularViewData() {\r\n this.userTimeSheetTableService.getAllUserTimeSheetTabularViewData(this.staffId, this.currentWeekValue)\r\n .subscribe(\r\n (response: any) => {\r\n if (response.statusCode === 200) {\r\n this.usersTimesheetTabularData = response.data.map(x => {\r\n x.dateOfService = format(x.dateOfService, 'MM/DD/YYYY');\r\n return x;\r\n })\r\n this.statusArray = this.usersTimesheetTabularData.filter((x) => x.status.toLowerCase() == 'pending');\r\n\r\n } else {\r\n this.usersTimesheetTabularData = [];\r\n }\r\n });\r\n }\r\n setWeekValue(weekValue) {\r\n this.currentWeekValue = weekValue;\r\n this.setFilteredDateObject(weekValue);\r\n }\r\n setFilteredDateObject(weekToAdd) {\r\n let weekStartDate = addWeeks(this.DateObject.fromDate, weekToAdd);\r\n let weekEndDate = addWeeks(this.DateObject.toDate, weekToAdd);\r\n this.DateObject = {\r\n fromDate: format(weekStartDate, 'MM-DD-YYYY'),\r\n toDate: format(weekEndDate, 'MM-DD-YYYY'),\r\n };\r\n }\r\n changeWeekValue(changeValue) {\r\n this.currentWeekValue = (this.currentWeekValue) + (changeValue),\r\n this.setWeekValue(this.currentWeekValue);\r\n this.getUserTimesheetTabularViewData();\r\n }\r\n submitTimeSheetStatusCheck(e, id) {\r\n let timeSheetIdArray = this.timeSheetIdArray;\r\n if (e.checked) {\r\n timeSheetIdArray.push(id);\r\n } else {\r\n let index = timeSheetIdArray.indexOf(id);\r\n timeSheetIdArray.splice(index, 1);\r\n }\r\n this.timeSheetIdArray = timeSheetIdArray;\r\n if (!(timeSheetIdArray.length)) {\r\n this.ChkAllSubmitStatus = false;\r\n this.isActionChecked = false;\r\n } else {\r\n this.isActionChecked = true;\r\n }\r\n }\r\n checkAllForSubmitTimeSheet(e) {\r\n let timeSheetDataArray = [], timeSheetIdArray = [];\r\n timeSheetDataArray = this.usersTimesheetTabularData;\r\n timeSheetDataArray.forEach((obj) => {\r\n if (obj.status === 'Pending') {\r\n if (e.checked) {\r\n this.isActionChecked = true,\r\n timeSheetIdArray.push(obj.id);\r\n this.submitTimeSheetCheck = true;\r\n } else {\r\n this.isActionChecked = false,\r\n timeSheetIdArray = [];\r\n this.submitTimeSheetCheck = false;\r\n }\r\n }\r\n });\r\n this.timeSheetIdArray = timeSheetIdArray;\r\n }\r\n submitTimeSheetStatus() {\r\n if (this.timeSheetIdArray.length > 0) {\r\n this.userTimeSheetTableService.submitTimeSheetStatus(this.timeSheetIdArray).subscribe((response: any) => {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify('success', response.message);\r\n this.timeSheetIdArray = [];\r\n this.getUserTimesheetTabularViewData();\r\n } else {\r\n this.notifier.notify('error', response.message);\r\n }\r\n });\r\n }\r\n else {\r\n this.notifier.notify('warning', \"Please update status first!\");\r\n }\r\n }\r\n}","module.exports = \".text-center {\\r\\n text-align: center !important; }\"","module.exports = \" \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit, ComponentFactoryResolver, ViewContainerRef, ViewChild, ComponentRef, Input } from '@angular/core';\r\nimport { UserTimeSheetSheetViewComponent } from '../user-time-sheet-sheet-view/user-time-sheet-sheet-view.component';\r\nimport { UserTimeSheetTabularViewComponent } from '../user-time-sheet-tabular-view/user-time-sheet-tabular-view.component';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-user-time-sheet',\r\n templateUrl: './user-time-sheet.component.html',\r\n styleUrls: ['./user-time-sheet.component.css']\r\n})\r\nexport class UserTimeSheetComponent implements OnInit {\r\n @Input() staffId: number = null;\r\n @Input() isSpecificUser: boolean = false;\r\n @ViewChild('tabContent', { read: ViewContainerRef })\r\n tabContent: ViewContainerRef;\r\n timesheetTabs: any;\r\n masterStaffs: Array;\r\n userTimeSheetFormGroup: FormGroup;\r\n loadingMasterData: boolean = false;\r\n\r\n selectedIndex: number = 0;\r\n constructor(private cfr: ComponentFactoryResolver, private formBuilder: FormBuilder, ) { }\r\n\r\n ngOnInit() {\r\n this.timesheetTabs =\r\n [\"Sheet View\", \"Tabular View\"];\r\n this.staffId\r\n if (this.isSpecificUser) {\r\n this.userTimeSheetFormGroup = this.formBuilder.group({\r\n staffId: [],\r\n });\r\n this.loadChild(\"Sheet View\");\r\n }\r\n }\r\n loadComponent(eventType: any): any {\r\n if (this.staffId)\r\n this.loadChild(eventType.tab.textLabel);\r\n }\r\n loadChild(childName: string) {\r\n let factory: any;\r\n if (childName == \"Sheet View\")\r\n factory = this.cfr.resolveComponentFactory(UserTimeSheetSheetViewComponent);\r\n else if (childName == \"Tabular View\")\r\n factory = this.cfr.resolveComponentFactory(UserTimeSheetTabularViewComponent);\r\n this.tabContent.clear();\r\n let comp: ComponentRef = this.tabContent.createComponent(factory);\r\n comp.instance.staffId = this.staffId;\r\n }\r\n}\r\n\r\n","module.exports = \"\"","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\"","import { UserAwardComponent } from \"./../user-award/user-award.component\";\r\nimport { UserQualificationComponent } from \"./../user-qualification/user-qualification.component\";\r\nimport { UserExperienceComponent } from \"./../user-experience/user-experience.component\";\r\nimport { DataTableComponent } from \"./../../../../../shared/data-table/data-table.component\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport { AddUserComponent } from \"../add-user/add-user.component\";\r\nimport { CustomFieldsComponent } from \"../custom-fields/custom-fields.component\";\r\nimport { AvailabilityComponent } from \"../availability/availability.component\";\r\nimport { UserModel, UserProfile } from \"../users.model\";\r\nimport { userInfo } from \"os\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { UsersService } from \"../users.service\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { format } from \"date-fns\";\r\nimport { CommonService } from \"../../../core/services\";\r\n\r\n@Component({\r\n selector: \"app-user\",\r\n templateUrl: \"./user.component.html\",\r\n styleUrls: [\"./user.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UserComponent implements OnInit {\r\n @ViewChild(\"tabContent\", { read: ViewContainerRef })\r\n\r\n tabContent: ViewContainerRef;\r\n userTabs: any;\r\n staffId: number = null;\r\n selectedIndex: number = 0;\r\n userProfile: UserProfile;\r\n tabName: any = '';\r\n constructor(\r\n private cfr: ComponentFactoryResolver,\r\n private usersService: UsersService,\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService\r\n ) {\r\n this.userTabs = [\r\n { TabName: \"User Info\", Component: AddUserComponent },\r\n // { TabName: \"Custom Fields\", Component: CustomFieldsComponent },\r\n { TabName: \"Availability\", Component: AvailabilityComponent },\r\n { TabName: \"Work & Experience\", Component: UserExperienceComponent },\r\n { TabName: \"Qualifications\", Component: UserQualificationComponent },\r\n { TabName: \"Awards\", Component: UserAwardComponent }\r\n ];\r\n this.userProfile = new UserProfile();\r\n }\r\n\r\n ngOnInit() {\r\n this.tabName=localStorage.getItem('tabToLoad');\r\n\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.staffId =\r\n params.id == undefined\r\n ? null\r\n : this.commonService.encryptValue(params.id, false);\r\n if (this.tabName != undefined && this.tabName != '') {\r\n this.selectedIndex = this.userTabs.findIndex(x => x.TabName == this.tabName);\r\n \r\n }\r\n \r\n this.loadChild(this.tabName == '' || this.tabName==undefined? this.userTabs[0].TabName : this.tabName);\r\n localStorage.removeItem('tabToLoad');\r\n });\r\n \r\n\r\n }\r\n loadComponent(eventType: any): any {\r\n this.loadChild(eventType.tab.textLabel);\r\n }\r\n loadChild(childName: string) {\r\n \r\n if (this.staffId != null && this.staffId > 0) this.getStaffProfileInfo();\r\n let factory: any;\r\n factory = this.cfr.resolveComponentFactory(\r\n this.userTabs.find(x => x.TabName == childName).Component\r\n );\r\n this.tabContent.clear();\r\n let comp: ComponentRef = this.tabContent.createComponent(\r\n factory\r\n );\r\n comp.instance.staffId = this.staffId;\r\n comp.instance.handleTabChange.subscribe(this.handleTabChange.bind(this));\r\n }\r\n\r\n handleTabChange(data: any): any {\r\n \r\n this.staffId = data.id;\r\n this.getStaffProfileInfo();\r\n \r\n \r\n \r\n this.selectedIndex = this.userTabs.findIndex(s => s.TabName == data.tab); // this.userTabs.findIndex(i => i == data.tab);//data.tab == this.userTabs[1] ? 1 : data.tab == this.userTabs[2] ? 2 : 0;\r\n \r\n this.loadChild(data.tab);\r\n }\r\n\r\n getStaffProfileInfo() {\r\n this.usersService\r\n .getStaffHeaderInfo(this.staffId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.userProfile = response.data;\r\n this.userProfile.dob = format(this.userProfile.dob, \"MM/DD/YYYY\");\r\n }\r\n });\r\n localStorage.setItem(\"staffdob\", this.userProfile.dob)\r\n }\r\n}","import { StaffExperience } from \"./../../../../front/doctor-profile/doctor-profile.model\";\r\nexport class UserModel {\r\n id: number;\r\n name: string = \"\";\r\n address: string = \"\";\r\n city: string = \"\";\r\n countryID: number;\r\n dateJoined: string = \"\";\r\n dob: string = \"\";\r\n doj: string = \"\";\r\n email: string = \"\";\r\n firstName: string = \"\";\r\n staffName: string = \"\";\r\n gender: number;\r\n isActive: boolean = false;\r\n isBlock: boolean = false;\r\n isDeleted: boolean = false;\r\n lastName: string = \"\";\r\n maritalStatus: number;\r\n middleName: string = \"\";\r\n npiNumber: string = \"\";\r\n organizationID: number;\r\n password: string = \"\";\r\n phoneNumber: string = \"\";\r\n photoPath: string = \"\";\r\n photoThumbnailPath: string = \"\";\r\n signaturePath: string = \"\";\r\n roleID: number;\r\n roleName: string = \"\";\r\n staffID: number;\r\n stateID: number;\r\n totalRecords: number;\r\n userID: number;\r\n userName: string = \"\";\r\n zip: string = \"\";\r\n aptNo: string = \"\";\r\n taxId: string = \"\";\r\n caqhid: string = \"\";\r\n language: string = \"\";\r\n degreeID: number;\r\n payrollGroupID: number;\r\n payRate: number;\r\n ftFpayRate: number;\r\n isRenderingProvider: boolean = false;\r\n isUrgentCare: boolean = false;\r\n latitude: string = \"\";\r\n longitude: string = \"\";\r\n apartmentNumber: string = \"\";\r\n employeeID: number;\r\n confirmPassword: string = \"\";\r\n staffLocationList: StaffLocation[] = null;\r\n staffTeamList: StaffTeam[] = null;\r\n staffTagsModel: StaffTags[] = null;\r\n staffSpecialityModel: StaffSpeciality[] = null;\r\n StaffCareCategoryModel: StaffCareCategoryModel[] = null;\r\n staffTaxonomyModel: StaffTaxonomy[] = null;\r\n staffServicesModels: StaffServices[] = null;\r\n locationIds: any = [];\r\n staffTeamKeys: any = [];\r\n staffTagsKeys: any = [];\r\n staffSpecialityKeys: any = [];\r\n staffCarecategoryKeys: any = [];\r\n staffTaxonomyKeys: any = [];\r\n servicesKeys: StaffServices[] = null;\r\n defaultLocation: number;\r\n photoBase64: string;\r\n signatureBase64: string;\r\n bio: string;\r\n experience: string;\r\n doctorID: string;\r\n facilityName: string;\r\n facilityID: string;\r\n \r\n}\r\nexport class UserCreateModel {\r\n id: number;\r\n firstName: string = \"\";\r\n lastName: string = \"\";\r\n staffName: string = \"\";\r\n email: string = \"\";\r\n isActive: boolean = false;\r\n experience: string;\r\n photoBase64: string;\r\n bio: string;\r\n phoneNumber: string = \"\";\r\n userName: string = \"\";\r\n staffSpecialityKeys: any = [];\r\n servicesKeys: StaffServices[] = null;\r\n roleID: number;\r\n}\r\nexport class UserProfile {\r\n name: string;\r\n profileImage: string;\r\n gender: string;\r\n dob: string;\r\n address: string;\r\n phone: string;\r\n}\r\nexport class StaffLocation {\r\n id: number;\r\n isDefault: boolean = false;\r\n}\r\nexport class StaffTeam {\r\n id: number;\r\n staffid: number;\r\n staffteamid: number;\r\n isdeleted: boolean = false;\r\n}\r\nexport class StaffTags {\r\n id: number;\r\n staffID: number;\r\n tagID: number;\r\n isDeleted: boolean = false;\r\n}\r\nexport class StaffSpeciality {\r\n id: number;\r\n staffID: number;\r\n specialityId: number;\r\n isDeleted: boolean = false;\r\n}\r\n\r\nexport class StaffCareCategoryModel {\r\n id: number;\r\n staffID: number;\r\n healthcarecategoryID: number;\r\n isDeleted: boolean = false;\r\n}\r\n\r\nexport class StaffTaxonomy {\r\n id: number;\r\n staffID: number;\r\n taxonomyID: number;\r\n isDeleted: boolean = false;\r\n}\r\nexport class StaffServices {\r\n id: number;\r\n staffID: number;\r\n serviceId: number;\r\n isDeleted: boolean = false;\r\n}\r\nexport class StaffAssignedLocationModel {\r\n id: number;\r\n value: string;\r\n staffLocationId: number;\r\n locationName: string;\r\n staffId: number;\r\n isDefault: true;\r\n}\r\n\r\nexport class StaffLeaveModel {\r\n id: number;\r\n staffId: number;\r\n staffName: string;\r\n leaveType: string;\r\n leaveTypeId: number;\r\n leaveReason: string;\r\n leaveReasonId: number;\r\n fromDate: string;\r\n toDate: string;\r\n description: string;\r\n leaveStatusId: number;\r\n leaveStatus: string;\r\n}\r\n\r\nexport class StaffPayrollRateModel {\r\n id: number;\r\n staffId: number;\r\n appointmentTypeId: number;\r\n payRate: number;\r\n appointmentName: string;\r\n totalRecords: number;\r\n}\r\nexport class UserDocumentModel {\r\n id: number;\r\n userId: number;\r\n documentTitle: string;\r\n url: string;\r\n documentTypeIdStaff: number;\r\n documentTypeNameStaff: string;\r\n expiration: Date;\r\n extenstion: string;\r\n otherDocumentType: string;\r\n createdDate: Date;\r\n key: string;\r\n isActive: boolean;\r\n}\r\nexport class AddUserDocumentModel {\r\n base64: any[];\r\n documentTitle: string;\r\n documentTypeIdStaff: number;\r\n expiration: string;\r\n key: string;\r\n otherDocumentType: string;\r\n userId: number;\r\n //isNgo: boolean;\r\n //isProviderEducationalDocument:boolean;\r\n}\r\n\r\nexport class AddUserDocumentPatientModel {\r\n base64: any[];\r\n documentTitle: string;\r\n documentTypeId: number;\r\n expiration: string;\r\n key: string;\r\n otherDocumentType: string;\r\n userId: number;\r\n}\r\n\r\nexport class StaffProfileModel {\r\n staffId: number;\r\n email: string;\r\n firstName: string;\r\n lastName: string;\r\n middleName: string;\r\n photoPath: string;\r\n photoThumbnailPath: string;\r\n npiNumber: string;\r\n taxId: string;\r\n doj: string;\r\n phoneNumber: string;\r\n staffFullAddress: string;\r\n averageRating: number;\r\n gender: string;\r\n userId: number;\r\n degreeName: string;\r\n staffTags: StaffTagModel[] = [];\r\n staffLocations: StaffLocationModel[] = [];\r\n staffSpecialities: StaffProfileSpecialityModel[] = [];\r\n staffTaxonomies: StaffProfileTaxonomyModel[] = [];\r\n staffServices: StaffServicesModel[] = [];\r\n}\r\nexport class StaffServicesModel {\r\n serviceName: string;\r\n}\r\nexport class StaffLocationModel {\r\n isDefault: boolean;\r\n locationDescription: string;\r\n locationName: string;\r\n stateName: string;\r\n locationFullAddress: string;\r\n}\r\n\r\nexport class StaffTagModel {\r\n tag: string;\r\n colorCode: string;\r\n colorName?: string;\r\n fontColorCode: string;\r\n}\r\nexport class StaffProfileSpecialityModel {\r\n Speciality: string;\r\n SpecialityValue: string;\r\n}\r\nexport class StaffProfileTaxonomyModel {\r\n Taxonomy: string;\r\n TaxonomyValue: string;\r\n}\r\nexport class AddProviderEducationalDocumentModel {\r\n base64: any[];\r\n documentTitle: string;\r\n documentTypeIdStaff: number;\r\n expiration: string;\r\n key: string;\r\n otherDocumentType: string;\r\n userId: number;\r\n isProviderEducationalDocument: boolean;\r\n}\r\n\r\nexport class FileViewModel {\r\n blob: Blob;\r\n filetype: string;\r\n fileUrl: string;\r\n}\r\n\r\n","import { Routes, RouterModule } from \"@angular/router\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { UserListingComponent } from \"./user-listing/user-listing.component\";\r\nimport { UserComponent } from \"./user/user.component\";\r\nimport { UserLeavesComponent } from \"./user-leaves/user-leaves.component\";\r\nimport { PayrollRateComponent } from \"./payroll-rate/payroll-rate.component\";\r\nimport { UserProfileComponent } from \"./user-profile/user-profile.component\";\r\nimport { UserDocumentsComponent } from \"./user-documents/user-documents.component\";\r\nimport { UserInvitationComponent } from \"./user-invitation/user-invitation.component\";\r\nimport { AgencyPermissionGuard } from \"../agency_routing_permission.guard\";\r\nimport { UsersComponent } from \"./users/user.component\";\r\nimport { ViewConsultantComponent } from \"./view-consultant/view-consultant.component\";\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n canActivate: [AgencyPermissionGuard],\r\n children: [\r\n {\r\n path: \"\",\r\n component: UserListingComponent\r\n },\r\n {\r\n path: \"users\",\r\n component: UserListingComponent\r\n },\r\n {\r\n path: \"user\",\r\n component: UserComponent\r\n },\r\n {\r\n path: \"userprofile\",\r\n component: UsersComponent\r\n },\r\n {\r\n path: \"user-leaves\",\r\n component: UserLeavesComponent\r\n },\r\n {\r\n path: \"user-payroll\",\r\n component: PayrollRateComponent\r\n },\r\n {\r\n path: \"user-profile\",\r\n component: UserProfileComponent\r\n },\r\n {\r\n path: \"id\",\r\n component: ViewConsultantComponent\r\n },\r\n {\r\n path: \"user-documents\",\r\n component: UserDocumentsComponent\r\n },\r\n {\r\n path: \"user-invitation\",\r\n component: UserInvitationComponent\r\n }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n // declarations: [ViewConsultantComponent],\r\n exports: [RouterModule]\r\n})\r\nexport class UsersRoutingModule {}\r\n","import { UserQualificationComponent } from \"./user-qualification/user-qualification.component\";\r\nimport { UserAwardComponent } from \"./user-award/user-award.component\";\r\nimport { UserExperienceComponent } from \"./user-experience/user-experience.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule, FormatWidth } from \"@angular/common\";\r\nimport { UsersRoutingModule } from \"./users.module.routing\";\r\nimport { UsersService } from \"./users.service\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { SharedModule } from \"../../../../shared/shared.module\";\r\nimport { PlatformMaterialModule } from \"../../../platform.material.module\";\r\nimport { UserListingComponent } from \"./user-listing/user-listing.component\";\r\nimport { UserComponent } from \"./user/user.component\";\r\nimport { UsersComponent } from \"./users/user.component\";\r\nimport { AddUserComponent } from \"./add-user/add-user.component\";\r\nimport { AddUsersComponent } from \"./add-users/add-user.component\";\r\nimport { CustomFieldsComponent } from \"./custom-fields/custom-fields.component\";\r\nimport { AvailabilityComponent } from \"./availability/availability.component\";\r\nimport { NgxMaskModule } from \"ngx-mask\";\r\nimport { NgxMaterialTimepickerModule } from \"ngx-material-timepicker\";\r\nimport { UserLeavesComponent } from \"./user-leaves/user-leaves.component\";\r\nimport { PayrollRateComponent } from \"./payroll-rate/payroll-rate.component\";\r\nimport { UserProfileComponent } from \"./user-profile/user-profile.component\";\r\nimport { UserDocumentsComponent } from \"./user-documents/user-documents.component\";\r\nimport { AddUserDocumentComponent } from \"./user-documents/add-user-document/add-user-document.component\";\r\nimport { ManageLeavesComponent } from \"./manage-leaves/manage-leaves.component\";\r\nimport { ApplyLeaveComponent } from \"./manage-leaves/apply-leave/apply-leave.component\";\r\nimport { ApplyLeaveModalComponent } from \"./user-leaves/apply-leave-modal/apply-leave-modal.component\";\r\nimport { UserTimeSheetTabularViewService } from \"./user-time-sheet-tabular-view/user-time-sheet-tablular.service\";\r\nimport { UserTimeSheetViewService } from \"./user-time-sheet-sheet-view/user-time-sheet-sheet.service\";\r\nimport { UserTimeSheetTabularViewComponent } from \"./user-time-sheet-tabular-view/user-time-sheet-tabular-view.component\";\r\nimport { UserTimeSheetSheetViewComponent } from \"./user-time-sheet-sheet-view/user-time-sheet-sheet-view.component\";\r\nimport { UserTimeSheetComponent } from \"./user-time-sheet/user-time-sheet.component\";\r\nimport { ScrollbarModule } from \"ngx-scrollbar\";\r\nimport { MAT_DIALOG_DEFAULT_OPTIONS } from \"@angular/material\";\r\nimport { UserInvitationComponent } from \"./user-invitation/user-invitation.component\";\r\nimport { SendUserInvitationComponent } from \"./user-invitation/send-user-invitation/send-user-invitation.component\";\r\nimport { UserInvitationService } from \"../users/user-invitation/user-invitation.service\";\r\nimport { NgxMatSelectSearchModule } from \"ngx-mat-select-search\";\r\nimport { BulkUploadComponent } from \"./bulk-upload/bulk-upload.component\";\r\nimport { ViewConsultantComponent } from './view-consultant/view-consultant.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n UsersRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SharedModule,\r\n PlatformMaterialModule,\r\n [NgxMaskModule.forRoot()],\r\n [NgxMaterialTimepickerModule.forRoot()],\r\n ScrollbarModule,\r\n NgxMatSelectSearchModule\r\n ],\r\n declarations: [\r\n UserListingComponent,\r\n UserComponent,\r\n AddUserComponent,\r\n AddUsersComponent,\r\n CustomFieldsComponent,\r\n AvailabilityComponent,\r\n UserLeavesComponent,\r\n PayrollRateComponent,\r\n UserProfileComponent,\r\n UserDocumentsComponent,\r\n AddUserDocumentComponent,\r\n ManageLeavesComponent,\r\n ApplyLeaveComponent,\r\n ApplyLeaveModalComponent,\r\n UserTimeSheetComponent,\r\n UserTimeSheetTabularViewComponent,\r\n UserTimeSheetSheetViewComponent,\r\n UserInvitationComponent,\r\n SendUserInvitationComponent,\r\n UserExperienceComponent,\r\n UserAwardComponent,\r\n UserQualificationComponent,\r\n BulkUploadComponent,\r\n UsersComponent,\r\n ViewConsultantComponent\r\n ],\r\n providers: [\r\n UsersService,\r\n UserTimeSheetViewService,\r\n UserTimeSheetTabularViewService,\r\n UserInvitationService,\r\n {\r\n provide: MAT_DIALOG_DEFAULT_OPTIONS,\r\n useValue: {\r\n hasBackdrop: true,\r\n disableClose: true,\r\n minWidth: \"55%\",\r\n maxWidth: \"90%\"\r\n }\r\n }\r\n ],\r\n entryComponents: [\r\n AddUserComponent,\r\n AddUsersComponent,\r\n CustomFieldsComponent,\r\n AvailabilityComponent,\r\n AddUserDocumentComponent,\r\n ApplyLeaveModalComponent,\r\n UserTimeSheetComponent,\r\n UserTimeSheetTabularViewComponent,\r\n UserTimeSheetSheetViewComponent,\r\n SendUserInvitationComponent,\r\n UserExperienceComponent,\r\n UserAwardComponent,\r\n UserQualificationComponent,\r\n BulkUploadComponent,\r\n ViewConsultantComponent\r\n ]\r\n})\r\nexport class UsersModule {}\r\n","import { StaffExperience } from \"./../../../../front/doctor-profile/doctor-profile.model\";\r\nimport { Observable } from \"rxjs\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { FilterMemberShipModel, FilterModel, FilterVideoModel, MediaFilterModel } from \"../../core/modals/common-model\";\r\nimport { debug } from \"util\";\r\nimport { HttpHeaders, HttpClient } from \"@angular/common/http\";\r\nimport { Subject, BehaviorSubject } from \"rxjs\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { map } from \"rxjs/operators\";\r\nimport {\r\n UserModel,\r\n StaffPayrollRateModel,\r\n AddUserDocumentModel,\r\n StaffLeaveModel,\r\n AddProviderEducationalDocumentModel,\r\n UserCreateModel\r\n} from \"./users.model\";\r\nimport { StaffCustomLabel } from \"./staff-custom-label.model\";\r\nimport { StaffAvailabilityModel } from \"./staff-availability.model\";\r\nimport { PodcastModel } from \"src/app/super-admin-portal/core/modals/common-model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class UsersService {\r\n private loginSubject = new BehaviorSubject(false);\r\n loginState = this.loginSubject.asObservable();\r\n private loadingStateSubject = new Subject();\r\n public loadingState = this.loadingStateSubject.asObservable();\r\n private getMasterDataURL = \"api/MasterData/MasterDataByName\";\r\n private getMasterDataByNameURL = \"Home/MasterDataByName\";\r\n private createURL = \"Staffs/CreateUpdateStaff\";\r\n private deleteURL = \"Staffs/DeleteStaff\";\r\n private getStaffByIdURL = \"Staffs/GetStaffById\";\r\n private getAllURL = \"Staffs/GetStaffs\";\r\n private getStaffHeaderInfoURL = \"Staffs/GetStaffHeaderData\";\r\n private getStaffLeavesURL = \"StaffLeave/GetStaffLeaveList\";\r\n private updateLeaveStatusURL = \"StaffLeave/UpdateLeaveStatus\";\r\n private getStaffLeaveByIdURL = \"StaffLeave/GetAppliedStaffLeaveById\";\r\n private deleteStaffLeaveByIdURL = \"StaffLeave/DeleteAppliedLeave\";\r\n private saveStaffLeaveURL = \"StaffLeave/SaveStaffAppliedLeave\";\r\n\r\n private getStaffCustomLabelsURL = \"StaffCustomLabel/GetStaffCustomLabels\";\r\n private saveStaffCustomLabelsURL = \"StaffCustomLabel/SaveCustomLabels\";\r\n\r\n private getStaffLocationURL = \"Staffs/GetAssignedLocationsById\";\r\n private getStaffAvailabilityByLocationURL = \"AvailabilityTemplates/GetStaffAvailabilityWithLocation\";\r\n private getStaffAvailabilityByCountryURL = \"AvailabilityTemplates/GetStaffAvailabilityByCountry\";\r\n private saveStaffAvailabilityByLocationURL = \"AvailabilityTemplates/SaveUpdateAvailabilityWithLocation\";\r\n private saveStaffAvailabilityforCompany=\"AvailabilityTemplates/SaveUpdateAvailabilityforCompany\"\r\n private getStaffPayrollRateURL = \"StaffPayrollRateForActivity/GetStaffPayRateOfActivity\";\r\n private saveUpdatePayrollRateURL = \"StaffPayrollRateForActivity/SaveUpdateStaffPayrollRateForActivity\";\r\n\r\n private getUserDocumentsURL = \"userDocument/GetUserDocuments\";\r\n private GetNgoDocumentsURL = \"userDocument/GetNgoDocuments\";\r\n private getUserByLocationURL = \"api/PatientAppointments/GetStaffAndPatientByLocation\";\r\n private getUserDocumentURL = \"userDocument/GetUserDocument\";\r\n private deleteUserDocumentURL = \"userDocument/DeleteUserDocument\";\r\n private updateDocumentStatusURL = \"userDocument/UpdateProviderEducationalDocumentStatus\";\r\n private uploadUserDocumentURL = \"userDocument/UploadUserDocuments\";\r\n\r\n private getStaffProfileURL = \"Staffs/GetStaffProfileData\";\r\n private uploadvideo = \"aws3/UploadVideo\";\r\n private getawsvideo = \"aws3/GetUploadedVideoList\"\r\n private updateUserStatusURL = \"user/UpdateUserStatus\";\r\n private updateUserActiveStatusURL = \"staffs/UpdateStaffActiveStatus\";\r\n\r\n private getStaffExperienceURL = \"Staffs/GetStaffExperience?id=\";\r\n private saveStaffExperienceURL = \"Staffs/SaveUpdateStaffExperience\";\r\n\r\n private getStaffQualificationURL = \"Staffs/GetStaffQualifications?id=\";\r\n private saveStaffQualificationURL = \"Staffs/SaveUpdateStaffQualifications\";\r\n\r\n private getStaffAwardURL = \"Staffs/GetStaffAwards?id=\";\r\n private saveStaffAwardURL = \"Staffs/SaveUpdateStaffAwards\";\r\n private updateProviderTimeIntervalURL = \"Staffs/UpdateProviderTimeInterval/\";\r\n private getprovidereductaionalDocumentsURL = \"userDocument/GetProviderEducationalDocuments\";\r\n private getprovidereductaionalDocumentsForPatientCheckinURL = \"userDocument/GetprovidereductaionalDocumentsForPatientCheckin\";\r\n private getReviewRatingURL = \"ReviewRatings/GetReviewRatingForCunsultant\";\r\n private getmediavideo = \"Media/GetVideoList\";\r\n private deletevideo = \"aws3/DeleteVideoFromAws3\";\r\n private getallpodcast = \"Podcast/GetAll\";\r\n private getpodcastbyid = \"Podcast/GetById\";\r\n private addupdatepodcastbyid = \"Podcast/SaveUpdatePodcast\";\r\n private deletepodcastbyid = \"Podcast/Delete\";\r\n private getMediaDetailsById = \"Media/GetMediaDetailsById\";\r\n private getvideolist = \"aws3/GetVideoList\";\r\n private addupdatenewcourse = \"Media/CreateCourses\";\r\n private getCourseList = \"Media/GetCourseDetailsList\";\r\n private deleteassigncourse = \"Media/DeleteAssignCompany\"\r\n private deletecoursename = \"Media/DeleteCourseName\"\r\n private NotificationUrl = \"api/Notification/GetPatientPortalNotificationList\"\r\n private clearNotification=\"api/Notification/updateNotification\"\r\n constructor(private http: HttpClient, private commonService: CommonService) { }\r\n create(data: UserModel) {\r\n return this.commonService.post(this.createURL, data);\r\n }\r\n createstaff(data: UserCreateModel) {\r\n return this.commonService.post(this.createURL, data);\r\n }\r\n delete(id: number) {\r\n return this.commonService.patch(this.deleteURL + \"/\" + id, {});\r\n }\r\n deletepodcast(id: number) {\r\n return this.commonService.post(this.deletepodcastbyid + \"?id=\" + id, {});\r\n }\r\n deleteStaff(id: number) {\r\n return this.commonService.post(this.deleteURL + \"?id=\" + id, {});\r\n }\r\n deleteawsvideo(id: number) {\r\n return this.commonService.get(this.deletevideo + \"?MediaId=\" + id);\r\n }\r\n getStaffLeaves(filterModel: FilterModel, staffId: number) {\r\n let url =\r\n this.getStaffLeavesURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&sortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&sortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&staffId=\" +\r\n staffId +\r\n \"&fromDate=\" +\r\n \"1990-01-01\" +\r\n \"&toDate=\" +\r\n \"2018-11-28\";\r\n return this.commonService.getAll(url, {});\r\n }\r\n deleteStaffLeave(id: number) {\r\n return this.commonService.patch(\r\n this.deleteStaffLeaveByIdURL + \"?StaffLeaveId=\" + id,\r\n {}\r\n );\r\n }\r\n ClearNotification(id:number){\r\n return this.commonService.get(this.clearNotification+\"?patientId=\"+id);\r\n }\r\n\r\n ClearNotificationStaff(id:number){\r\n return this.commonService.get(this.clearNotification+\"?staffId=\"+id);\r\n }\r\n\r\n Getnotification(Datamodel:any) {\r\n return this.commonService.getById(\r\n this.NotificationUrl + \"?PatientId=\" + Datamodel.patientID + \"&staffId=\" + Datamodel.staffId + \"&PageNumber=\" +Datamodel.pageNumber + \"&PageSize=\" + Datamodel.pageSize,{}\r\n );\r\n }\r\n getStaffLeaveById(id: number) {\r\n return this.commonService.getById(\r\n this.getStaffLeaveByIdURL + \"?StaffLeaveId=\" + id,\r\n {}\r\n );\r\n }\r\n saveStaffLeave(data: StaffLeaveModel) {\r\n return this.commonService.post(this.saveStaffLeaveURL, data);\r\n }\r\n getAll(\r\n filterModel: FilterModel,\r\n tags: any,\r\n roleIds: any,\r\n locationId: number\r\n ) {\r\n let url =\r\n this.getAllURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&sortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&sortOrder=\" +\r\n filterModel.sortOrder +\r\n \"&LocationIDs=\" +\r\n locationId +\r\n \"&searchKey=\" +\r\n (filterModel.searchText || \"\") +\r\n \"&RoleIds=\" +\r\n roleIds +\r\n \"&Tags=\" +\r\n tags;\r\n return this.commonService.getAll(url, {});\r\n }\r\n // getMasterData(value: string = \"\") {\r\n // return this.commonService.post(this.getMasterDataURL, {\r\n // masterdata: value\r\n // });\r\n // }\r\n\r\n getMasterData(\r\n value: string = \"\",\r\n isLoading: boolean = true,\r\n globalCodeId: any[] = []\r\n\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(\r\n `${environment.api_url}/${this.getMasterDataByNameURL + '?globalCodeId=' + globalCodeId}`,\r\n { masterdata: value },\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n getStaffCustomLabels(staffId: number) {\r\n let url = this.getStaffCustomLabelsURL + \"?staffId=\" + staffId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getStaffById(id: number) {\r\n return this.commonService.getById(this.getStaffByIdURL + \"?id=\" + id, {}, true);\r\n }\r\n getVideo(data: any) {\r\n\r\n let queryParams = `?CourseType=${(data.CourseType ? data.CourseType : '')}&CourseId=${(data.CourseId ? data.CourseId : '')}&Year=${(data.Year ? data.Year : '')}&ModuleId=${data.ModuleId ? data.ModuleId : null}&MonthId=${data.MonthId ? data.MonthId : null}`\r\n const url = this.getvideolist + queryParams;\r\n return this.http.get(`${environment.api_url}/${url}`).pipe(map((resp: any) => resp));\r\n }\r\n\r\n getAllCourseList(data: any) {\r\n let queryParams = `?courseCategory=${(data.CategoryType ? data.CategoryType : '')}&SearchKey=${(data.searchText ? data.searchText : '')}&pageNumber=${(data.pageNumber ? data.pageNumber : '')}&pageSize=${(data.pageSize ? data.pageSize : '')}`\r\n const url = this.getCourseList + queryParams;\r\n return this.commonService.get(url);\r\n }\r\n\r\n getmediadetailsById(id: number) {\r\n return this.commonService.getById(this.getMediaDetailsById + \"?id=\" + id, {}, true);\r\n }\r\n getStaffHeaderInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getStaffHeaderInfoURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n saveCustomLabels(data: StaffCustomLabel[]) {\r\n return this.commonService.post(this.saveStaffCustomLabelsURL, data);\r\n }\r\n getStaffLocations(staffId: number) {\r\n return this.commonService.getById(\r\n this.getStaffLocationURL + \"?Id=\" + staffId,\r\n {}\r\n );\r\n }\r\n getStaffAvailabilityByLocation(staffId: number, locationId: number) {\r\n return this.commonService.getById(\r\n this.getStaffAvailabilityByLocationURL +\r\n \"?staffId=\" +\r\n staffId +\r\n \"&locationId=\" +\r\n locationId +\r\n \"&isLeaveNeeded=false\",\r\n {}\r\n );\r\n }\r\n GetStaffAvailabilityByCountry(staffId: number, patientId: number, locationId: number) {\r\n return this.commonService.getById(\r\n this.getStaffAvailabilityByCountryURL +\r\n \"?staffId=\" +\r\n staffId +\r\n \"&patientID=\" +\r\n patientId +\r\n \"&locationId=\" +\r\n locationId +\r\n \"&isLeaveNeeded=false\",\r\n {}\r\n );\r\n }\r\n saveStaffAvailability(data: any) {\r\n return this.commonService.post(\r\n this.saveStaffAvailabilityByLocationURL,\r\n data\r\n );\r\n }\r\n saveStaffAvailabilityforcomapny(data: any) {\r\n return this.commonService.post(\r\n this.saveStaffAvailabilityforCompany,\r\n data\r\n );\r\n }\r\n updateLeaveStatus(data: any) {\r\n return this.commonService.post(this.updateLeaveStatusURL, data);\r\n }\r\n\r\n getStaffPayrollRate(staffId: number) {\r\n return this.commonService.getById(\r\n this.getStaffPayrollRateURL + \"?staffId=\" + staffId,\r\n {}\r\n );\r\n }\r\n\r\n saveStaffPayrollRate(data: StaffPayrollRateModel[]) {\r\n return this.commonService.post(this.saveUpdatePayrollRateURL, data);\r\n }\r\n getUserDocuments(userId: number, from: string, toDate: string) {\r\n return this.commonService.getAll(\r\n this.getUserDocumentsURL +\r\n \"?userId=\" +\r\n userId +\r\n \"&from=\" +\r\n from +\r\n \"&to=\" +\r\n toDate,\r\n {}\r\n );\r\n }\r\n\r\n getNgoDocuments(userId: number, from: string, toDate: string) {\r\n return this.commonService.getAll(\r\n this.GetNgoDocumentsURL +\r\n \"?userId=\" +\r\n userId +\r\n \"&from=\" +\r\n from +\r\n \"&to=\" +\r\n toDate,\r\n {}\r\n );\r\n }\r\n\r\n getUserByLocation(locationId: number) {\r\n let url =\r\n this.getUserByLocationURL +\r\n \"?locationIds=\" +\r\n locationId +\r\n \"&permissionKey=SCHEDULING_LIST_VIEW_OTHERSTAFF_SCHEDULES&isActiveCheckRequired=YES\";\r\n return this.commonService.getAll(url, {});\r\n }\r\n getUserDocument(id: number) {\r\n return this.commonService.download(\r\n this.getUserDocumentURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deleteUserDocument(id: number) {\r\n return this.commonService.patch(\r\n this.deleteUserDocumentURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n updateDocumentStatus(id: number, documentstatus: boolean) {\r\n\r\n return this.commonService.patch(\r\n //this.updateDocumentStatusURL + \"?id=\" + id +\"&documentstatus\"+documentstatus,\r\n this.updateDocumentStatusURL + \"/\" + id + \"/\" + documentstatus,\r\n {}\r\n );\r\n }\r\n\r\n uploadUserDocuments(data: AddUserDocumentModel) {\r\n return this.commonService.post(this.uploadUserDocumentURL, data);\r\n }\r\n\r\n\r\n getStaffProfileData(id: number) {\r\n return this.commonService.getById(this.getStaffProfileURL + \"/\" + id, {});\r\n }\r\n\r\n getReviewRatingById(id: number, filterModel: FilterModel) {\r\n\r\n let url = this.getReviewRatingURL\r\n + \"?id=\" + id +\r\n \"&pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getById(url, {})\r\n }\r\n\r\n downloadFile(blob: Blob, filetype: string, filename: string) {\r\n var newBlob = new Blob([blob], { type: filetype });\r\n // IE doesn't allow using a blob object directly as link href\r\n // instead it is necessary to use msSaveOrOpenBlob\r\n if (window.navigator && (window.navigator as any).msSaveOrOpenBlob) {\r\n (window.navigator as any).msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n // For other browsers:\r\n // Create a link pointing to the ObjectURL containing the blob.\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(function () {\r\n // For Firefox it is necessary to delay revoking the ObjectURL\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n return this.commonService.getUserScreenActionPermissions(\r\n moduleName,\r\n screenName\r\n );\r\n }\r\n\r\n updateUserStatus(userId: number, status: boolean) {\r\n return this.commonService.patch(\r\n this.updateUserStatusURL + \"/\" + userId + \"/\" + status,\r\n {}\r\n );\r\n }\r\n\r\n updateUserActiveStatus(staffId: number, status: boolean) {\r\n return this.commonService.patch(\r\n this.updateUserActiveStatusURL +\r\n \"?staffId=\" +\r\n staffId +\r\n \"&isActive=\" +\r\n status,\r\n {}\r\n );\r\n }\r\n\r\n getUserExperience(id: string): Observable {\r\n return this.commonService.getById(this.getStaffExperienceURL + id, {});\r\n }\r\n getPodcastById(id: number): Observable {\r\n return this.commonService.getById(this.getpodcastbyid + \"?id=\" + id, {});\r\n }\r\n saveStaffExperience(data: any) {\r\n return this.commonService.post(this.saveStaffExperienceURL, data);\r\n }\r\n addupdatePodcastById(data: any) {\r\n return this.commonService.post(this.addupdatepodcastbyid, data);\r\n }\r\n getUserQualification(id: string): Observable {\r\n return this.commonService.getById(this.getStaffQualificationURL + id, {});\r\n }\r\n\r\n saveStaffQualification(data: any) {\r\n return this.commonService.post(this.saveStaffQualificationURL, data);\r\n }\r\n\r\n getUserAward(id: string): Observable {\r\n return this.commonService.getById(this.getStaffAwardURL + id, {});\r\n }\r\n\r\n saveStaffAward(data: any) {\r\n return this.commonService.post(this.saveStaffAwardURL, data);\r\n }\r\n updateProviderTimeInterval(id: string) {\r\n return this.commonService.put(this.updateProviderTimeIntervalURL + id, {});\r\n }\r\n\r\n getprovidereductaionalDocuments(userId: number, from: string, toDate: string) {\r\n return this.commonService.getAll(\r\n this.getprovidereductaionalDocumentsURL +\r\n \"?userId=\" +\r\n userId +\r\n \"&from=\" +\r\n from +\r\n \"&to=\" +\r\n toDate,\r\n {}\r\n );\r\n }\r\n\r\n getprovidereductaionalDocumentsForPatientCheckin(staffid: number) {\r\n return this.commonService.getAll(\r\n this.getprovidereductaionalDocumentsForPatientCheckinURL +\r\n \"?staffid=\" +\r\n staffid,\r\n\r\n {}\r\n );\r\n }\r\n\r\n uploadProviderEducationalDocuments(data: AddProviderEducationalDocumentModel) {\r\n\r\n return this.commonService.post(this.uploadUserDocumentURL, data);\r\n }\r\n uploadAWSVideo(data: any) {\r\n return this.commonService.post(this.uploadvideo, data);\r\n }\r\n getAWSUploaded() {\r\n return this.commonService.get(this.getawsvideo);\r\n }\r\n getAllVideo(filterModal: FilterVideoModel) {\r\n let url = this.getmediavideo + '?pageNumber=' + filterModal.pageNumber + '&pageSize=' + filterModal.pageSize + '&sortColumn=' + filterModal.sortColumn + '&sortOrder=' + filterModal.sortOrder + '&companyId=0&PatientId=0';\r\n return this.commonService.getAll(url, {});\r\n }\r\n getAllPodcast(podcastmodel: PodcastModel) {\r\n let url = this.getallpodcast + '?searchKey=' + podcastmodel.searchKey + '&startWith=' + podcastmodel.startWith + '&tags=' + podcastmodel.tags + '&locationIDs=' + podcastmodel.locationIDs + '&roleIds=' + podcastmodel.roleIds + '&pageNumber=' + podcastmodel.pageNumber + '&pageSize=' + podcastmodel.pageSize + '&sortColumn=' + podcastmodel.sortColumn + '&sortOrder=' + podcastmodel.sortOrder + '&compayId=' + podcastmodel.compayId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n addupdateNewCourse(data: any) {\r\n return this.commonService.post(this.addupdatenewcourse + '?courseName=' + data.courseName + '&courseCategory=' + data.courseCategory, {});\r\n }\r\n deleteAssignCourse(id: any) {\r\n return this.commonService.post(this.deleteassigncourse + \"?id=\" + id, {});\r\n }\r\n deleteCourseName(id: any) {\r\n return this.commonService.post(this.deletecoursename + \"?id=\" + id, {});\r\n\r\n }\r\n}\r\n","module.exports = \".user-block .mat-tab-labels {\\r\\n margin: 0 auto;\\r\\n}\\r\\n\\r\\n::ng-deep .user-block .mat-ink-bar{\\r\\n display: none;\\r\\n width: 0px !important;\\r\\n}\"","module.exports = \"
0\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"profilePic\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n {{ userProfile.name }}\\r\\n

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

Gender : {{userProfile.gender || '-'}}

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

Address : {{userProfile.address || '-'}}

\\r\\n

Phone Number : {{userProfile.phone || '-'}}

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

Manage Users

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { UserAwardComponent } from \"./../user-award/user-award.component\";\r\nimport { UserQualificationComponent } from \"./../user-qualification/user-qualification.component\";\r\nimport { UserExperienceComponent } from \"./../user-experience/user-experience.component\";\r\nimport { DataTableComponent } from \"./../../../../../shared/data-table/data-table.component\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport { AddUsersComponent } from \"../add-users/add-user.component\";\r\nimport { CustomFieldsComponent } from \"../custom-fields/custom-fields.component\";\r\nimport { AvailabilityComponent } from \"../availability/availability.component\";\r\nimport { UserModel, UserProfile } from \"../users.model\";\r\nimport { userInfo } from \"os\";\r\nimport { ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { UsersService } from \"../users.service\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { format } from \"date-fns\";\r\nimport { CommonService } from \"../../../core/services\";\r\n\r\n@Component({\r\n selector: \"app-user\",\r\n templateUrl: \"./user.component.html\",\r\n styleUrls: [\"./user.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UsersComponent implements OnInit {\r\n @ViewChild(\"tabContent\", { read: ViewContainerRef })\r\n\r\n tabContent: ViewContainerRef;\r\n userTabs: any;\r\n staffId: number = null;\r\n selectedIndex: number = 0;\r\n userProfile: UserProfile;\r\n tabName:any='';\r\n constructor(\r\n private cfr: ComponentFactoryResolver,\r\n private usersService: UsersService,\r\n private activatedRoute: ActivatedRoute,\r\n private commonService: CommonService\r\n ) {\r\n this.userTabs = [\r\n { TabName: \"User Info\", Component: AddUsersComponent },\r\n // { TabName: \"Custom Fields\", Component: CustomFieldsComponent },\r\n { TabName: \"Availability\", Component: AvailabilityComponent },\r\n { TabName: \"Work & Experience\", Component: UserExperienceComponent },\r\n { TabName: \"Qualifications\", Component: UserQualificationComponent },\r\n { TabName: \"Awards\", Component: UserAwardComponent }\r\n ];\r\n this.userProfile = new UserProfile();\r\n }\r\n\r\n ngOnInit() {\r\n this.tabName=localStorage.getItem('tabToLoad');\r\n\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.staffId =\r\n params.id == undefined\r\n ? null\r\n : this.commonService.encryptValue(params.id, false);\r\n if (this.tabName != undefined && this.tabName != '') {\r\n this.selectedIndex = this.userTabs.findIndex(x => x.TabName == this.tabName);\r\n \r\n }\r\n \r\n this.loadChild(this.tabName == '' || this.tabName==undefined? this.userTabs[0].TabName : this.tabName);\r\n localStorage.removeItem('tabToLoad');\r\n });\r\n \r\n\r\n }\r\n loadComponent(eventType: any): any {\r\n this.loadChild(eventType.tab.textLabel);\r\n }\r\n loadChild(childName: string) {\r\n \r\n if (this.staffId != null && this.staffId > 0) this.getStaffProfileInfo();\r\n let factory: any;\r\n factory = this.cfr.resolveComponentFactory(\r\n this.userTabs.find(x => x.TabName == childName).Component\r\n );\r\n this.tabContent.clear();\r\n let comp: ComponentRef = this.tabContent.createComponent(\r\n factory\r\n );\r\n comp.instance.staffId = this.staffId;\r\n comp.instance.handleTabChange.subscribe(this.handleTabChange.bind(this));\r\n }\r\n\r\n handleTabChange(data: any): any {\r\n \r\n this.staffId = data.id;\r\n this.getStaffProfileInfo();\r\n \r\n \r\n \r\n this.selectedIndex = this.userTabs.findIndex(s => s.TabName == data.tab); // this.userTabs.findIndex(i => i == data.tab);//data.tab == this.userTabs[1] ? 1 : data.tab == this.userTabs[2] ? 2 : 0;\r\n \r\n this.loadChild(data.tab);\r\n }\r\n\r\n getStaffProfileInfo() {\r\n this.usersService\r\n .getStaffHeaderInfo(this.staffId)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.userProfile = response.data;\r\n this.userProfile.dob = format(this.userProfile.dob, \"MM/DD/YYYY\");\r\n this.userProfile.profileImage=response.data.profileImage;\r\n // console.log(response.data)\r\n }\r\n });\r\n localStorage.setItem(\"staffdob\", this.userProfile.dob)\r\n }\r\n}\r\n","module.exports = \".provider-container {\\r\\n width: 100%;\\r\\n font-family: 'Poppins', sans-serif !important;\\r\\n background-color: #fff;\\r\\n padding: 20px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.provider-container p {\\r\\n margin-bottom: 7px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.border-none {\\r\\n border: none !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.padding-none {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box {\\r\\n background: #003359 0% 0% no-repeat padding-box;\\r\\n border-radius: 5px;\\r\\n padding: 20px;\\r\\n margin-bottom: 25px;\\r\\n min-height: 236px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.cstm-mat-grid .dash-table table thead,\\r\\n.group-table.table thead {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.white-box {\\r\\n background: #FFFFFF;\\r\\n border-radius: 5px;\\r\\n opacity: 1;\\r\\n /*min-height:360px;*/\\r\\n padding: 20px;\\r\\n margin-bottom: 20px;\\r\\n position: relative;\\r\\n border: 0.5px solid #585858;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.white-box h3 {\\r\\n text-align: left;\\r\\n font-weight: 700;\\r\\n font-size: 16px;\\r\\n color: #000000;\\r\\n margin-bottom: 30px;\\r\\n border-bottom: 1px solid rgba(0, 48, 91, 0.1);\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.white-box .consultantheader {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n line-height: 27px;\\r\\n letter-spacing: 0em;\\r\\n text-align: left;\\r\\n color: #3F3F3F;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.consultantsubheader {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n line-height: 21px;\\r\\n letter-spacing: 0em;\\r\\n text-align: left;\\r\\n color: #3F3F3F;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.consultantnumheader {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-size: 18px;\\r\\n font-weight: 400;\\r\\n line-height: 27px;\\r\\n letter-spacing: 0em;\\r\\n text-align: left;\\r\\n color: #86A47E;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.consulatntnameheader {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-size: 24px;\\r\\n font-weight: 400;\\r\\n line-height: 36px;\\r\\n letter-spacing: 0em;\\r\\n color: #3F3F3F;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.consulatntspecheader {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-size: 16px;\\r\\n font-weight: 400;\\r\\n line-height: 24px;\\r\\n letter-spacing: 0em;\\r\\n color: #86A47E;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.border-btm-none {\\r\\n border-bottom: none !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\nh3.border-btm-none {\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.box-sizing {\\r\\n /* min-width: 247px; */\\r\\n width: calc(25% - 28px);\\r\\n height: 157px;\\r\\n border-radius: 5px;\\r\\n margin: 14px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.small-box {\\r\\n text-align: center;\\r\\n border-radius: 5px;\\r\\n border: 1px solid rgba(0, 48, 91, 0.1);\\r\\n width: 100%;\\r\\n height: 157px;\\r\\n padding-top: 20px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.small-box .lght-txt {\\r\\n font-family: 'Poppins', sans-serif !important;\\r\\n font-size: 16px;\\r\\n font-style: normal;\\r\\n font-weight: 500;\\r\\n font-size: 16px;\\r\\n line-height: 24px;\\r\\n color: #fff;\\r\\n padding-top: 8px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.small-box .white-txt {\\r\\n font-family: 'Poppins', sans-serif !important;\\r\\n font-style: normal;\\r\\n font-weight: 600;\\r\\n font-size: 24px;\\r\\n line-height: 36px;\\r\\n color: #fff;\\r\\n padding-top: 10px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.green_box {\\r\\n background: #EDFFEA;\\r\\n border: 1px solid #D0EBCC;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue_box {\\r\\n background: #F5F8FF;\\r\\n border: 1px solid #E1E7F4;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.orange_box {\\r\\n background: #FFF7F7;\\r\\n border: 1px solid #F5D5D5;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.purple_box {\\r\\n background: #F4F2FF;\\r\\n border: 1px solid #DAD5F7\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.grey-box {\\r\\n opacity: 1;\\r\\n padding: 20px;\\r\\n margin-bottom: 20px;\\r\\n position: relative;\\r\\n background: rgba(0, 51, 89, 0.03);\\r\\n border: 1px solid rgba(0, 51, 89, 0.06);\\r\\n border-radius: 15px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.grey-box h3 {\\r\\n text-align: left;\\r\\n font-weight: 700;\\r\\n font-size: 16px;\\r\\n color: #00305B;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.svg-color {\\r\\n -webkit-filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);\\r\\n filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);\\r\\n height: 44px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.care-btn {\\r\\n position: absolute;\\r\\n top: 10px;\\r\\n right: 10px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.care-btn button {\\r\\n font-size: 14px !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box-inner {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box-detail .col-md-6 {\\r\\n display: block;\\r\\n transition: ease-in .2s;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box-detail .col-md-6:hover {\\r\\n -webkit-transform: scale(1.10);\\r\\n transform: scale(1.10);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box h3 {\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n color: #fff;\\r\\n margin-bottom: 30px\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box-detail {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box-detail .lght-txt {\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n color: #FFFFFF;\\r\\n opacity: 0.6;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.blue-box-detail .white-txt {\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n color: #fff;\\r\\n transition: ease-in .2s;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card {\\r\\n border: 1.5px solid #86A47E;\\r\\n border-radius: 135px;\\r\\n height: 35px;\\r\\n margin-bottom: 15px;\\r\\n\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card:nth-last-child(1) {\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .btn-header-link {\\r\\n display: block;\\r\\n text-align: left;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n color: #00305B;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .btn-header-link img {\\r\\n width: 16px;\\r\\n height: 16px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .btn-header-link i {\\r\\n font-size: 16px;\\r\\n padding-right: 5px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .btn-header-link:focus {\\r\\n box-shadow: none;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .btn-header-link:after {\\r\\n content: \\\"\\\\f077\\\";\\r\\n font-family: 'FontAwesome';\\r\\n font-weight: 500;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .btn-header-link.collapsed:after {\\r\\n content: \\\"\\\\f078\\\";\\r\\n font-family: 'FontAwesome';\\r\\n -webkit-transform: rotate(-90deg);\\r\\n transform: rotate(-90deg);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .btn-header-link {\\r\\n color: #86A47E;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 12px;\\r\\n line-height: 18px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .collapsing {\\r\\n line-height: 30px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .collapse {\\r\\n border: 0;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .card-body {\\r\\n padding: 10px 0;\\r\\n\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n#main #faq .card .card-body .mat-raised-button {\\r\\n background-color: #00305B !important;\\r\\n border-radius: 5px !important;\\r\\n font-size: 13px !important;\\r\\n padding: 0 10px !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.service-blk ul {\\r\\n padding-left: 0;\\r\\n\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.service-blk ul li {\\r\\n list-style: none;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.service-blk ul li {\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 14px;\\r\\n line-height: 21px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.service-blk ul li img {\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n padding: 6px;\\r\\n margin-right: 1rem;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.angle-right-green {\\r\\n color: #86A47E !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.service-blk ul li i {\\r\\n color: #00305B;\\r\\n font-size: 20px;\\r\\n position: absolute;\\r\\n right: 1rem;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.service-blk ul li:nth-last-child(1) {\\r\\n border-bottom: none;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.m-b-0 {\\r\\n margin-bottom: 0 !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.group-table thead tr th,\\r\\ntr.mat-header-row {\\r\\n height: 48px;\\r\\n /* background-color: #7E9693 !important; */\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.col-md-6 {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/* .iconbox-single {\\r\\n background: #fff;\\r\\n padding: 11px 18px;\\r\\n margin-bottom: 30px;\\r\\n border-radius: 10px;\\r\\n -webkit-border-radius: 10px;\\r\\n -ms-flex-pack: justify;\\r\\n justify-content: space-between;\\r\\n flex-wrap: wrap;\\r\\n position: relative;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n.iconbox-single .box-title,\\r\\n.iconbox-single .circle-icon {\\r\\n position: relative;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n.iconbox-single .circle-icon {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n margin-right: 15px;\\r\\n border-radius: 50%;\\r\\n -webkit-border-radius: 50%;\\r\\n}\\r\\n.iconbox-single .circle-icon .material-icons,\\r\\n.iconbox-single .circle-icon svg,\\r\\n.iconbox-single .circle-icon img {\\r\\n color: #2f2660;\\r\\n font-size: 36px;\\r\\n width: 55px;\\r\\n height: 55px;\\r\\n}\\r\\n.iconbox-single .circle-icon.white-icon .material-icons,\\r\\n.iconbox-single .circle-icon.white-icon svg,\\r\\n.iconbox-single .circle-icon.white-icon img {\\r\\n color: #fff;\\r\\n\\r\\n}\\r\\n.iconbox-single p {\\r\\n margin: 0;\\r\\n font-weight: 600;\\r\\n font-size: 22px;\\r\\n color: #2f2660;\\r\\n}\\r\\n.iconbox-single p.white-txt{ color:#ffffff;}\\r\\n.iconbox-single h5 {\\r\\n margin: 0;\\r\\n font-size: 35px;\\r\\n font-weight: 500;\\r\\n color:#2f2660;\\r\\n width: 100%;\\r\\n text-align: center;\\r\\n padding:15px 15px 5px 15px;\\r\\n}\\r\\n.iconbox-single.white-txt h5 {\\r\\n color:#ffffff;\\r\\n}\\r\\n.dashboard-panel > div {\\r\\n height: 30px;\\r\\n}\\r\\n.dashboard-panel button {\\r\\n width: 30px !important;\\r\\n height: 30px !important;\\r\\n padding: 0px !important;\\r\\n line-height: normal;\\r\\n}\\r\\n.dashboard_body table th {\\r\\n height: auto !important;\\r\\n color: #000 !important;\\r\\n font-weight: 500 !important;\\r\\n font-size: 11px !important;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n.dashboard_body .DivPager {\\r\\n padding: 0px 25px;\\r\\n}\\r\\n.remain-unit-circle {\\r\\n color: #fff;\\r\\n border: 1px solid transparent;\\r\\n width: 80px;\\r\\n text-align: center;\\r\\n display: block;\\r\\n border-radius: 30px;\\r\\n font-size: 13px;\\r\\n}\\r\\n.mb-minus-15 {\\r\\n margin-bottom: -15px;\\r\\n}\\r\\n.update-pwd {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n.update-pwd i {\\r\\n cursor: pointer;\\r\\n}\\r\\n.dashboard-box .chart svg {\\r\\n width: 100%;\\r\\n}\\r\\n.show-hand{\\r\\n cursor: pointer;\\r\\n}\\r\\n@media (min-width: 992px) and (max-width: 1199px) {\\r\\n .iconbox-single {\\r\\n padding-left: 15px;\\r\\n padding-right: 15px;\\r\\n }\\r\\n .iconbox-single p {\\r\\n font-size: 20px;\\r\\n }\\r\\n .iconbox-single .circle-icon {\\r\\n width: 36px;\\r\\n height: 36px;\\r\\n margin-right: 5px;\\r\\n }\\r\\n .dashboard-box .chart > div {\\r\\n width: 50px !important;\\r\\n }\\r\\n}\\r\\n@media (max-width: 480px) {\\r\\n .dashboard-box .chart > div {\\r\\n width: 60px !important;\\r\\n }\\r\\n .iconbox-single .circle-icon {\\r\\n margin-right: 10px;\\r\\n }\\r\\n}\\r\\n\\r\\n.sticky-table .table-hover tbody tr:hover {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.no-fixed {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n.no-fixed .table {\\r\\n table-layout: inherit;\\r\\n width: 100%;\\r\\n\\r\\n margin: 0px;\\r\\n}\\r\\n.no-fixed .table tr.mat-header-row th {\\r\\n position: static !important;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.bar-dash > div {\\r\\n min-height: 320px;\\r\\n}\\r\\n\\r\\n\\r\\n */\\r\\n\\r\\n\\r\\n\\r\\n.profile-detail {\\r\\n text-align: center;\\r\\n margin-bottom: 130px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.profile-detail .profile-pic {\\r\\n width: 120px;\\r\\n height: 120px;\\r\\n overflow: hidden;\\r\\n border-radius: 50%;\\r\\n margin: 0 auto;\\r\\n margin-top: 10px;\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.profile-detail .profile-pic img {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n border-radius: 50%;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.profile-detail h2 {\\r\\n text-align: center;\\r\\n font-size: 22px;\\r\\n font-weight: 600;\\r\\n color: #464646;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.profile-detail p.age-txt {\\r\\n text-align: center;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n color: #464646;\\r\\n opacity: 0.6;\\r\\n margin-bottom: 25px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.profile-detail .edit-btn {\\r\\n background: #86A47E 0% 0% no-repeat padding-box;\\r\\n border-radius: 5px;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n color: #FFFFFF;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.appbox .lght-txt {\\r\\n text-align: left;\\r\\n color: #3F3F3F !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.appbox .white-txt {\\r\\n text-align: left;\\r\\n color: #86A47E !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.hide {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.cardbutton {\\r\\n height: 35px;\\r\\n border: 1.5px solid #86A47E;\\r\\n border-radius: 135px;\\r\\n font-family: 'Poppins', sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 12px;\\r\\n line-height: 18px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.cardbody {\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n@media(max-width:768px) {\\r\\n .box-sizing {\\r\\n /* min-width: 247px; */\\r\\n width: 48%;\\r\\n margin: 0 1% 2%;\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n@media(max-width:576px) {\\r\\n .box-sizing {\\r\\n /* min-width: 247px; */\\r\\n width: 100%;\\r\\n margin: 0 0 2%;\\r\\n }\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Profile

\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
{{consultantname}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{subSpecialities}}
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Appointments

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Today\\r\\n
\\r\\n
\\r\\n {{dashboardData.todayAppointmentsCount}}\\r\\n
\\r\\n
\\r\\n This\\r\\n Month\\r\\n
\\r\\n
{{dashboardData.totalAppointments}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n Last\\r\\n Month\\r\\n
\\r\\n
\\r\\n {{dashboardData.todayAppointments}}\\r\\n
\\r\\n
Total
\\r\\n
\\r\\n {{dashboardData.totalAppointmentsCount}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Payments

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Today\\r\\n
\\r\\n
\\r\\n {{dashboardData.todaysAppointmentsAmount+currentDateRefund}}\\r\\n
\\r\\n
\\r\\n This\\r\\n Month\\r\\n
\\r\\n
\\r\\n {{consultanttotalrevenu + currentMonthRefund}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Last\\r\\n Month\\r\\n
\\r\\n
\\r\\n {{dashboardData.previousMonthAppointmentsAmount+lastMonthRefund}}\\r\\n
\\r\\n
Total
\\r\\n
\\r\\n {{dashboardData.totalAppointmentsAmount+refund}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Service
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\" New\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\" Follow-Up\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Top Services
\\r\\n
    \\r\\n
  • \\r\\n \\\"\\\" {{serv.serviceName}}\\r\\n\\r\\n
  • \\r\\n
  • \\r\\n \\\"\\\"\\r\\n Diabetes\\r\\n
  • \\r\\n \\r\\n
  • \\r\\n \\\"\\\" Biopsie\\r\\n\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Appointment

\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\"","import { DatePipe } from \"@angular/common\";\r\nimport { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { MatDialog, MatPaginator, MatSort, MatTableDataSource } from \"@angular/material\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { format } from \"date-fns\";\r\nimport { Subscription, Subject } from \"rxjs\";\r\nimport { UrgentCareListingdialogComponent } from \"src/app/shared/urgentcarelisting-dialog/urgentcarelisting-dialog.component\";\r\nimport { Metadata } from \"../../../client-portal/client-profile.model\";\r\nimport { RefundFilterModel, ResponseModel } from \"../../../core/modals/common-model\";\r\nimport { LoginUser } from \"../../../core/modals/loginUser.modal\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { SchedulerService } from \"../../../scheduling/scheduler/scheduler.service\";\r\nimport { ClientsService } from \"../../clients/clients.service\";\r\nimport { FilterModel } from \"../../clients/medication/medication.model\";\r\nimport { EncounterModel, DashboardModel, ClientStatusChartModel } from \"../../dashboard/dashboard.model\";\r\nimport { DashboardService } from \"../../dashboard/dashboard.service\";\r\nimport { CompanyService } from \"../../manage-company/company.service\";\r\nimport { ManageNgoService } from \"../../manage-ngo/manage-ngo.service\";\r\nimport { PaymentService } from \"../../Payments/payment.service\";\r\nimport { StaffProfileModel } from \"../users.model\";\r\nimport { UsersService } from \"../users.service\";\r\n\r\n@Component({\r\n selector: 'app-view-consultant',\r\n templateUrl: './view-consultant.component.html',\r\n styleUrls: ['./view-consultant.component.css'],\r\n providers:[DatePipe]\r\n})\r\nexport class ViewConsultantComponent implements OnInit {\r\n private getAllURL = \"Staffs/GetStaffs\";\r\n userrolename: any;\r\n averageStar:any;\r\n encFilterModel: FilterModel;\r\n reviewRatingFilterModel: FilterModel;\r\n filterModel: RefundFilterModel;\r\n encounterList: Array = [];\r\n dashboardData: DashboardModel;\r\n clientStatusChartData: Array = [];\r\n encMeta: Metadata;\r\n subscription: Subscription;\r\n isAuth: boolean = true;\r\n refund: any = 0;\r\n currentDateRefund: any = 0;\r\n currentMonthRefund: any = 0;\r\n lastMonthRefund: any = 0;\r\n status: boolean = false;\r\n passwordExpiryColorCode: string = '';\r\n passwordExpiryMessage: string = '';\r\n showMessage: boolean = true;\r\n accessToken = 'YOUR_ACCESS_TOKEN';\r\n message: Subject = new Subject();\r\n pendingAppointmentMeta: Metadata;\r\n cancelledAppointmentMeta: Metadata;\r\n tentativeAppointmentMeta: Metadata;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n curDate: any;\r\n aprovedAppointmentsDisplayedColumns: Array;\r\n aprovedAppointmentsActionButtons: Array;\r\n pendingDisplayedColumns: Array;\r\n pendingActionButtons: Array;\r\n cancelledDisplayedColumns: Array;\r\n cancelledActionButtons: Array;\r\n pendingAptfilterModel: FilterModel;\r\n cancelledAptfilterModel: FilterModel;\r\n pendingPatientAppointment: Array = [];\r\n cancelledPatientAppointment: Array = [];\r\n usercountid: Array = [];\r\n usercount: Array = [];\r\n selectedIndex: number = 0\r\n //Charts\r\n lineChartData: Array = [\r\n { data: [], label: '' },\r\n { data: [], label: '' }\r\n ];\r\n lineChartLabels: Array = [];\r\n lineChartType: string = 'line';\r\n headerText: string = 'Authorization';\r\n userId: string;\r\n staffId: number;\r\n urgentcareapptid: number;\r\n showurgentcarebtn: boolean = false;\r\n staffProfile: StaffProfileModel;\r\n firstname: string;\r\n dughtpieobject: any;\r\n ngocount: number = 0;\r\n companycount: number = 0;\r\n consultantcount: number = 0;\r\n consultantavlcount: number = 0;\r\n userscount: number = 0;\r\n consultantname: any;\r\n consultanttotalrevenu: number = 0;\r\n subSpecialities: any;\r\n collapse1tf: boolean = false;\r\n collapse2tf: boolean = false;\r\n public pieChartLabelss: string[] = ['Chrome', 'Safari'];\r\n public pieChartDatas: number[] = [40, 20];\r\n public pieChartTypes: string = 'pie';\r\n constructor(private dashoboardService: DashboardService, private ngoService: ManageNgoService, private _companyService: CompanyService, private datePipe: DatePipe, private route: Router, private paymentService: PaymentService, private commonService: CommonService, private schedulerService: SchedulerService, private userService: UsersService, private dialogModal: MatDialog, private clientservice: ClientsService) {\r\n this.encFilterModel = new FilterModel();\r\n this.reviewRatingFilterModel = new FilterModel();\r\n this.filterModel = new RefundFilterModel();\r\n this.encMeta = new Metadata();\r\n this.dashboardData = new DashboardModel();\r\n this.staffProfile = new StaffProfileModel()\r\n // this.encDisplayedColumns = [\r\n // { displayName: 'Practitioner', key: 'staffName', class: '', width: '20%' },\r\n // { displayName: 'Client Name', key: 'clientName', class: '', width: '20%' },\r\n // { displayName: 'Day', key: 'day', width: '10%' },\r\n // { displayName: 'DOS', key: 'dateOfService', width: '20%', type: 'date' },\r\n // { displayName: 'Status', key: 'status', width: '20%' },\r\n // { displayName: 'Actions', key: 'Actions', width: '10%' }\r\n // ];\r\n // this.encActionButtons = [\r\n // { displayName: 'View', key: 'view', class: 'fa fa-eye' }\r\n // ];\r\n this.pendingAptfilterModel = new FilterModel();\r\n this.cancelledAptfilterModel = new FilterModel();\r\n this.pendingDisplayedColumns = [\r\n { displayName: 'Care Manager', key: 'staffName', width: '110px', sticky: true },\r\n { displayName: 'Member Name', key: 'fullName', width: '120px', type: 'link', url: '/web/member/profile', queryParamsColumn: 'queryParamsPatientObj', sticky: true },\r\n { displayName: 'Appt. Type', key: 'appointmentType', width: '80px' },\r\n { displayName: 'Date Time', key: 'dateTimeOfService', width: '250px', type: 'link', url: '/web/member/scheduling', queryParamsColumn: 'queryParamsObj' },\r\n { displayName: 'Actions', key: 'Actions', width: '80px', sticky: true }\r\n ]\r\n this.pendingActionButtons = [\r\n { displayName: 'Approve', key: 'approve', class: 'fa fa-check' },\r\n { displayName: 'Cancel', key: 'cancel', class: 'fa fa-ban' },\r\n ];\r\n\r\n this.cancelledDisplayedColumns = [\r\n { displayName: 'Care Manager', key: 'staffName', width: '100px', sticky: true },\r\n { displayName: 'Member Name', key: 'fullName', width: '120px', type: 'link', url: '/web/member/profile', queryParamsColumn: 'queryParamsPatientObj', sticky: true },\r\n { displayName: 'Appt. Type', key: 'appointmentType', width: '80px' },\r\n { displayName: 'Date Time', key: 'dateTimeOfService', width: '200px', type: 'link', url: '/web/member/scheduling', queryParamsColumn: 'queryParamsObj' },\r\n { displayName: 'Cancel Type', kefy: 'cancelType', width: '140px' },\r\n { displayName: 'Cancel Reason', key: 'cancelReason', width: '150px' },\r\n { displayName: 'Actions', key: 'Actions', width: '60px', sticky: true }\r\n ]\r\n this.cancelledActionButtons = [];\r\n\r\n this.aprovedAppointmentsDisplayedColumns = [\r\n { displayName: 'Practitioner', key: 'staffName', class: '', width: '20%' },\r\n { displayName: 'Client Name', key: 'clientName', class: '', width: '20%' },\r\n { displayName: 'Day', key: 'day', width: '10%' },\r\n { displayName: 'DOS', key: 'dateOfService', width: '20%', type: 'date' },\r\n { displayName: 'Status', key: 'status', width: '20%' },\r\n { displayName: 'Actions', key: 'Actions', width: '10%' }\r\n ]\r\n this.aprovedAppointmentsActionButtons = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.usercountid = [];\r\n var id = Number(localStorage.getItem('staffid'));\r\n this.userService.getStaffById(id).subscribe((user: any) => {\r\n if (user.data) {\r\n // console.log(\"value\", user.data)\r\n this.staffId = user.data.id;\r\n this.averageStar=user.data.averageRating;\r\n // this.getStaffReviewData();\r\n this.userId = user.data.userID\r\n this.firstname = user.data.firstName;\r\n this.consultantname = user.data.firstName + \" \" + user.data.lastName\r\n this.userrolename = user.data.roleName;\r\n this.subSpecialities = user.data.subSpecialities;\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"PROVIDER\") {\r\n this.getLastUrgentCareCallStatus();\r\n }\r\n }\r\n });\r\n\r\n this.dughtpieobject = [];\r\n const data: any = {\r\n pageNumber: 1,\r\n pageSize: 20,\r\n sortColumn: '',\r\n sortOrder: '',\r\n searchKey: '',\r\n }\r\n var RoleIds = '';\r\n this.userService.getAll(data, '', RoleIds, 156).subscribe((response: ResponseModel) => {\r\n response.data.forEach((rep: any) => {\r\n this.dughtpieobject.push(rep);\r\n //console.log(\"length\",this.dughtpieobject.length)\r\n this.consultantcount = this.dughtpieobject.length;\r\n });\r\n });\r\n\r\n var interval = setInterval(() => {\r\n if (this.dughtpieobject != 0) {\r\n clearInterval(interval);\r\n \r\n }\r\n\r\n }, 1000);\r\n this.ngoService.getAll().subscribe((response: any) => {\r\n this.ngocount = response.length;\r\n // console.log(response)\r\n });\r\n \r\n this._companyService.getAll(this.encFilterModel).subscribe((response: ResponseModel) => {\r\n if (response && response.statusCode == 200) {\r\n this.companycount = response.data.length;\r\n // response.data.forEach((data: any) => {\r\n \r\n // });\r\n\r\n }\r\n else {\r\n this.companycount = 0;\r\n }\r\n\r\n });\r\n const dataid: any = {\r\n pageNumber: 1,\r\n pageSize: 200000,\r\n sortColumn: '',\r\n sortOrder: '',\r\n searchKey: '',\r\n }\r\n var RoleIds = '';\r\n this.clientservice.getpatientAll(dataid, '', RoleIds, 156, 0).subscribe((response: ResponseModel) => {\r\n this.usercountid.push(response.data)\r\n });\r\n \r\n \r\n this.setPaginatorModel();\r\n this.getPayments(this.filterModel);\r\n this.getEncounterListForDashboard();\r\n this.getDashboardBasicInfo();\r\n this.getPasswordExpiryMessage();\r\n this.getStaffProfileData();\r\n \r\n\r\n }\r\n\r\n getPayments(filterModel: RefundFilterModel) {\r\n\r\n this.paymentService\r\n .getAppointmentRefunds(filterModel)\r\n .subscribe((response: any) => {\r\n\r\n if (response != null && response.statusCode == 302) {\r\n\r\n var refund = 0;\r\n var currentDateRefund = 0;\r\n var lastMonthRefund = 0;\r\n var currentMonthRefund = 0;\r\n var date = new Date();\r\n var curDate = format(new Date(), \"MM/DD/YYYY\");\r\n var firstDay = format(new Date(date.getFullYear(), date.getMonth(), 1), \"MM/DD/YYYY\");\r\n var lastDay = format(new Date(date.getFullYear(), date.getMonth() + 1, 0), \"MM/DD/YYYY\");\r\n var PreMonthLastDay = format(new Date(date.getFullYear(), date.getMonth(), 0), \"MM/DD/YYYY\");\r\n var PreMonthFirstDay = format(new Date(date.getFullYear() - (date.getMonth() > 0 ? 0 : 1), (date.getMonth() - 1 + 12) % 12, 1), \"MM/DD/YYYY\");\r\n response.data.forEach(a => this.refund += a.netAmount);\r\n response.data.forEach(function (item: any) {\r\n if (format(item.startDateTime, \"MM/DD/YYYY\") == curDate) {\r\n currentDateRefund += item.netAmount;\r\n }\r\n });\r\n response.data.forEach(function (item: any) {\r\n if (format(item.startDateTime, \"MM/DD/YYYY\") >= firstDay && format(item.startDateTime, \"MM/DD/YYYY\") <= lastDay) {\r\n currentMonthRefund += item.netAmount;\r\n }\r\n });\r\n response.data.forEach(function (item: any) {\r\n if (format(item.startDateTime, \"MM/DD/YYYY\") >= PreMonthFirstDay && format(item.startDateTime, \"MM/DD/YYYY\") <= PreMonthLastDay) {\r\n lastMonthRefund += item.netAmount;\r\n }\r\n });\r\n\r\n this.refund = refund;\r\n this.lastMonthRefund = lastMonthRefund;\r\n this.currentMonthRefund = currentMonthRefund;\r\n\r\n }\r\n });\r\n }\r\n\r\n gotoscheduler(month: any, appttype: any, apptmode: any) {\r\n\r\n this.route.navigate([\"/web/scheduling\"], { queryParams: { calendermonth: month, appttype: appttype, apptmode: apptmode } });\r\n }\r\n gotopayments() {\r\n this.route.navigate([\"/web/payment/payment-history\"]);\r\n }\r\n\r\n gotoschedulermonth(month: any) {\r\n\r\n this.route.navigate([\"/web/scheduling\"], { queryParams: { calendermonth: month } });\r\n }\r\n gotoschedulertoday(currentdayview: any) {\r\n\r\n this.route.navigate([\"/web/scheduling\"], { queryParams: { currentdayview: currentdayview } });\r\n }\r\n gotoschedulerTotal() {\r\n\r\n this.route.navigate([\"/web/scheduling\"]);\r\n }\r\n\r\n gotopaymentslastmonth(monthstatus: any) {\r\n this.route.navigate([\"/web/payment/payment-history\"], { queryParams: { monthstatus: monthstatus } });\r\n }\r\n\r\n hideMessageClick() {\r\n this.showMessage = false;\r\n }\r\n changeWidget(value: string = '') {\r\n if (value == 'authorization') {\r\n this.isAuth = true;\r\n this.headerText = 'Authorization';\r\n }\r\n else if (value == 'clientstatus') {\r\n this.getClientStatusChart();\r\n }\r\n }\r\n\r\n\r\n onTabChanged(event: any) {\r\n this.selectedIndex = event.value\r\n if (event.index == 0) {\r\n // this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n this.getEncounterListForDashboard();\r\n } else if (event.index == 1) {\r\n this.getPendignPatientAppointmentList();\r\n } else if (event.index == 2) {\r\n this.getCancelledPatientAppointmentList();\r\n }\r\n // else if (event.index == 3) {\r\n // } else if (event.index == 4) {\r\n // this.getTentativePatientAppointmentList();\r\n // }\r\n }\r\n\r\n getEncounterListForDashboard() {\r\n this.dashoboardService.getEncounterListForDashboard(this.encFilterModel).subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.encounterList = response.data != null && response.data.length > 0 ? response.data : [];\r\n this.encMeta = response.meta;\r\n }\r\n });\r\n }\r\n getPendignPatientAppointmentList() {\r\n\r\n this.dashoboardService.getPendingPatientAppointment(this.pendingAptfilterModel).subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.pendingPatientAppointment = response.data != null && response.data.length > 0 ? response.data : [];\r\n this.pendingAppointmentMeta = response.meta;\r\n }\r\n else {\r\n this.pendingPatientAppointment = [];\r\n this.pendingAppointmentMeta = null;\r\n }\r\n })\r\n }\r\n\r\n getLastUrgentCareCallStatus() {\r\n\r\n this.schedulerService.getLastUrgentCareCallStatus(this.userId).subscribe(response => {\r\n if (response.statusCode === 200) {\r\n\r\n if (response.data != undefined) {\r\n this.urgentcareapptid = response.data.id;\r\n //this.hasPreviousNewMeeting = response.data ? true : false;\r\n this.showurgentcarebtn = true;\r\n }\r\n else {\r\n this.showurgentcarebtn = false;\r\n }\r\n\r\n }\r\n });\r\n }\r\n\r\n Redirect() {\r\n this.route.navigate([\"/web/encounter/soap\"], {\r\n queryParams: {\r\n apptId: this.urgentcareapptid,\r\n encId: 0\r\n },\r\n });\r\n }\r\n\r\n\r\n onPendingPageOrSortChange(changeState?: any) {\r\n this.setPendingPaginatorModel(changeState.pageNumber, changeState.pageSize, changeState.sort, changeState.order);\r\n this.getPendignPatientAppointmentList();\r\n }\r\n onCancelledPageOrSortChange(changeState?: any) {\r\n this.setCancelledPaginatorModel(changeState.pageNumber, changeState.pageSize, changeState.sort, changeState.order);\r\n this.getCancelledPatientAppointmentList();\r\n }\r\n setPendingPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string) {\r\n this.pendingAptfilterModel.pageNumber = pageNumber;\r\n this.pendingAptfilterModel.pageSize = pageSize;\r\n this.pendingAptfilterModel.sortOrder = sortOrder;\r\n this.pendingAptfilterModel.sortColumn = sortColumn;\r\n }\r\n setCancelledPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string) {\r\n this.cancelledAptfilterModel.pageNumber = pageNumber;\r\n this.cancelledAptfilterModel.pageSize = pageSize;\r\n this.cancelledAptfilterModel.sortOrder = sortOrder;\r\n this.cancelledAptfilterModel.sortColumn = sortColumn;\r\n }\r\n getCancelledPatientAppointmentList() {\r\n this.dashoboardService.getCancelledPatientAppointment(this.cancelledAptfilterModel).subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.cancelledPatientAppointment = response.data != null && response.data.length > 0 ? response.data : [];\r\n this.cancelledAppointmentMeta = response.meta;\r\n }\r\n else {\r\n this.cancelledPatientAppointment = [];\r\n this.cancelledAppointmentMeta = null;\r\n }\r\n })\r\n }\r\n getPasswordExpiryMessage() {\r\n this.subscription = this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.passwordExpiryStatus) {\r\n this.passwordExpiryColorCode = user.passwordExpiryStatus.colorCode;\r\n this.passwordExpiryMessage = user.passwordExpiryStatus.message;\r\n this.status = user.passwordExpiryStatus.status;\r\n }\r\n });\r\n }\r\n\r\n getDashboardBasicInfo() {\r\n this.dashoboardService.getDashboardBasicInfo().subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.dashboardData = response.data != null ? response.data : new DashboardModel();\r\n this.consultanttotalrevenu = this.dashboardData.appointmentTotalRevenue.totalRevenue;\r\n }\r\n });8\r\n }\r\n getClientStatusChart() {\r\n this.dashoboardService.getClientStatusChart().subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.isAuth = false;\r\n this.headerText = 'Patient Status';\r\n this.clientStatusChartData = response.data != null ? response.data : new ClientStatusChartModel();\r\n if (this.clientStatusChartData.length > 0) {\r\n this.lineChartLabels = this.clientStatusChartData.map(({ registeredDate }) => format(registeredDate, 'MM/DD/YYYY'));\r\n this.lineChartData = [\r\n { data: this.clientStatusChartData.map(({ active }) => active), label: 'Active' },\r\n { data: this.clientStatusChartData.map(({ inactive }) => inactive), label: 'Inactive' },\r\n ];\r\n }\r\n }\r\n });\r\n }\r\n onEncPageOrSortChange(changeState?: any) {\r\n this.setEncPaginatorModel(changeState.pageNumber, this.encFilterModel.pageSize, changeState.sort, changeState.order);\r\n this.getEncounterListForDashboard();\r\n }\r\n\r\n onEncTableActionClick(actionObj?: any) {\r\n const id = actionObj.data && actionObj.data.id;\r\n const name = actionObj.data && actionObj.data.name,\r\n appointmentId = actionObj.data && actionObj.data.patientAppointmentId,\r\n patientEncounterId = actionObj.data && actionObj.data.id,\r\n isBillableEncounter = actionObj.data && actionObj.data.isBillableEncounter;\r\n switch ((actionObj.action || '').toUpperCase()) {\r\n case 'VIEW':\r\n const redirectUrl = isBillableEncounter ? \"/web/waiting-room/\" : \"/web/encounter/non-billable-soap\";\r\n if (isBillableEncounter) {\r\n this.route.navigate([\"/web/waiting-room/\" + appointmentId]);\r\n } else {\r\n this.route.navigate([redirectUrl], {\r\n queryParams: {\r\n apptId: appointmentId,\r\n encId: patientEncounterId\r\n }\r\n });\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n setEncPaginatorModel(pageNumber: number, pageSize: number, sortColumn: string, sortOrder: string) {\r\n this.encFilterModel.pageNumber = pageNumber;\r\n this.encFilterModel.pageSize = pageSize;\r\n this.encFilterModel.sortOrder = sortOrder;\r\n this.encFilterModel.sortColumn = sortColumn;\r\n }\r\n\r\n getStaffProfileData() {\r\n\r\n this.userService.getStaffProfileData(this.staffId).subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null) {\r\n\r\n this.staffProfile = response.data;\r\n }\r\n });\r\n }\r\n\r\n getStaffReviewData() {\r\n\r\n this.userService.getReviewRatingById(this.staffId, this.reviewRatingFilterModel).subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null) {\r\n\r\n //this.staffProfile = response.data;\r\n }\r\n });\r\n }\r\n\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(UrgentCareListingdialogComponent, {\r\n hasBackdrop: true,\r\n width: '60%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n // \r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n //this.show=true;\r\n });\r\n }\r\n setPaginatorModel(\r\n\r\n ) {\r\n this.filterModel.pageNumber = 1;\r\n this.filterModel.pageSize = 1000;\r\n this.filterModel.sortOrder = \"\";\r\n this.filterModel.sortColumn = \"\";\r\n this.filterModel.PatientName = \"\";\r\n this.filterModel.RefundDate = \"\";\r\n this.filterModel.AppDate = \"\";\r\n }\r\n collapse1() {\r\n if (this.collapse1tf == false) {\r\n document.getElementById(\"collapse1\").classList.remove(\"hide\")\r\n document.getElementById(\"collapse2\").classList.add(\"hide\")\r\n this.collapse1tf = true\r\n this.collapse2tf = false\r\n } else {\r\n this.collapse1tf = false\r\n this.collapse2tf = false\r\n document.getElementById(\"collapse1\").classList.add(\"hide\")\r\n document.getElementById(\"collapse2\").classList.add(\"hide\")\r\n }\r\n\r\n }\r\n collapse2() {\r\n if (this.collapse2tf == false) {\r\n document.getElementById(\"collapse2\").classList.remove(\"hide\")\r\n document.getElementById(\"collapse1\").classList.add(\"hide\")\r\n this.collapse2tf = true\r\n this.collapse1tf = false\r\n } else {\r\n this.collapse2tf = false\r\n this.collapse1tf = false\r\n document.getElementById(\"collapse1\").classList.add(\"hide\")\r\n document.getElementById(\"collapse2\").classList.add(\"hide\")\r\n }\r\n\r\n }\r\n editProfile() {\r\n this.route.navigate([\"/web/manage-users/user-profile\"]);\r\n }\r\n}\r\n","\r\nexport class ViewRatingModel {\r\n id: number;\r\n cunsultantName:string;\r\n corporateUserName:string; \r\n rating: number; \r\n review: string;\r\n description:string;\r\n isPublic:boolean;\r\n}\r\n","module.exports = \".label{\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.label-second\\r\\n{\\r\\n margin-top: 5px;\\r\\n}\"","module.exports = \"
\\r\\n

{{headerText}}

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

{{reviewModel.cunsultantName}}

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

{{reviewModel.corporateUserName}}

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

{{reviewModel.description}}

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

{{reviewModel.isPublic}}

\\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, Inject, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { ReviewRatingModel } from '../../client-portal/review-rating/review-rating.model';\r\nimport { ResponseModel } from '../../core/modals/common-model';\r\nimport { ClientsService } from '../clients/clients.service';\r\nimport { ViewRatingModel } from './view-rating-model';\r\n\r\n@Component({\r\n selector: 'app-view-ratings',\r\n templateUrl: './view-ratings.component.html',\r\n styleUrls: ['./view-ratings.component.css']\r\n})\r\nexport class ViewRatingsComponent implements OnInit {\r\n reviewRatingForm: FormGroup;\r\n reviewModel: ViewRatingModel;\r\n reviewRatingId: number;\r\n appointmentId: number;\r\n \r\n staffId:number;\r\n headerText: string = \"\";\r\n\r\n submitted: boolean = false;\r\n @Output() handleTabChange: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private clientService: ClientsService,\r\n private activatedRoute: ActivatedRoute,\r\n private notifierService: NotifierService,\r\n private route: Router,\r\n private dialogModalRef: MatDialogRef\r\n ) {\r\n this.reviewModel =\r\n this.data.reviewRatingModel == null\r\n ? new ReviewRatingModel()\r\n : this.data.reviewRatingModel;\r\n this.headerText = \"View Rating Details\";\r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n get formControls() {\r\n return this.reviewRatingForm.controls;\r\n }\r\n validateForm(formGroup: FormGroup) {\r\n return null;\r\n }\r\n \r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { CommonService } from \"../core/services/common.service\";\r\nimport { environment } from \"../../../../environments/environment\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class AuthenticationService {\r\n constructor(private http: HttpClient, private commonService: CommonService) { }\r\n\r\n login(postData: any) {\r\n this.commonService.setSecurityQuestions({} as object);\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(`${environment.api_url}/Login/login`, postData, {\r\n headers: headers\r\n })\r\n .pipe(\r\n map(response => {\r\n // console.log(response, 'response')\r\n // login successful if there's a jwt token in the response\r\n if (response && response.access_token) {\r\n this.commonService.setAuth(response);\r\n this.commonService.setCurrentUser(response.data);\r\n } else if (response && response.data) {\r\n this.commonService.setSecurityQuestions({\r\n loginResponse: response,\r\n authData: postData\r\n });\r\n }\r\n return response;\r\n })\r\n );\r\n }\r\n clientLogin(postData: any) {\r\n this.commonService.setSecurityQuestions({} as object);\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(`${environment.api_url}/Login/PatientLogin`, postData, {\r\n headers: headers\r\n })\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n if (response && response.access_token) {\r\n this.commonService.setCurrentUser(response.data);\r\n this.commonService.setAuth(response);\r\n\r\n } else if (response && response.data) {\r\n this.commonService.setSecurityQuestions({\r\n loginResponse: response,\r\n authData: postData\r\n });\r\n }\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n saveSecurityQuestion(postData: any) {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(\r\n `${environment.api_url}/Login/SaveUserSecurityQuestion`,\r\n postData,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n if (response && response.access_token) {\r\n this.commonService.setAuth(response);\r\n this.commonService.setCurrentUser(response.data);\r\n }\r\n return response;\r\n })\r\n );\r\n }\r\n checkQuestionAnswer(postData: any) {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(`${environment.api_url}/Login/CheckQuestionAnswer`, postData, {\r\n headers: headers\r\n })\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n if (response && response.access_token) {\r\n this.commonService.setAuth(response);\r\n this.commonService.setCurrentUser(response.data);\r\n }\r\n return response;\r\n })\r\n );\r\n }\r\n forgotPassword(postData: any) {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .post(`${environment.api_url}/ForgotPassword`, postData, {\r\n headers: headers\r\n })\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n return response;\r\n })\r\n );\r\n }\r\n resetPassword(postData: any) {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return this.http\r\n .patch(`${environment.api_url}/Home/UpdatePassword`, postData, {\r\n headers: headers\r\n })\r\n .pipe(\r\n map(response => {\r\n // login successful if there's a jwt token in the response\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n\r\n // SetUserOffline() {\r\n // \r\n // const headers = new HttpHeaders({\r\n // businessToken: localStorage.getItem(\"business_token\")\r\n // });\r\n // return this.http\r\n // .patch(`${environment.api_url}/Login/Logout`, {\r\n // headers: headers\r\n // })\r\n // .pipe(\r\n // map(response => {\r\n\r\n // return response;\r\n // })\r\n // );\r\n // }\r\n\r\n SetUserOffline() {\r\n\r\n return this.http\r\n .get(`${environment.api_url}/Login/SetUserOffline`)\r\n .subscribe((response) => {\r\n\r\n return response;\r\n });\r\n\r\n }\r\n\r\n sideScreenImgSrc = new BehaviorSubject('');\r\n\r\n updateSideScreenImgSrc(path: string) {\r\n this.sideScreenImgSrc.next(path);\r\n }\r\n getSideScreenImgSrc(): Observable {\r\n return this.sideScreenImgSrc.asObservable();\r\n }\r\n clearSideScreenImgSrc() {\r\n this.sideScreenImgSrc.next('');\r\n }\r\n}\r\n","import { FilterModel } from \"../core/modals/common-model\";\r\n\r\nexport class Metadata {\r\n totalRecords: number;\r\n currentPage: number;\r\n pageSize: number;\r\n defaultPageSize: number;\r\n totalPages: number;\r\n pageSizeOptions: number[] = [];\r\n}\r\n\r\nexport class PatientInfo {\r\n patientID: number;\r\n name: string;\r\n dob: Date;\r\n age?: number;\r\n gender: string;\r\n ssn: string;\r\n mrn: string;\r\n status: string;\r\n phone: string;\r\n email: string;\r\n address: string;\r\n photoPath: string;\r\n photoThumbnailPath: string = '';\r\n isPortalActivate: boolean;\r\n isBlock: boolean;\r\n isActive: boolean;\r\n userID: number;\r\n city: string;\r\n countryName: string;\r\n ethnicity: string;\r\n firstName: string;\r\n lastName: string;\r\n raceName: string;\r\n stateName: string;\r\n zip: string;\r\n note: string;\r\n isPortalRequired: boolean;\r\n renderingProviderId?: number;\r\n renderingProviderName?: string;\r\n renderingProviderThumbnail?: string;\r\n achievedSteps?: any;\r\n targetSteps?: any;\r\n heightIn?:any;\r\n weightLbs?:any;\r\n\r\n}\r\n\r\nexport class PatientVital {\r\n patientVitalID: number;\r\n heartRate: number;\r\n bmi: number;\r\n bpDiastolic: number;\r\n bpSystolic: number;\r\n pulse: number;\r\n respiration: number;\r\n temperature: number;\r\n heightIn: number;\r\n weightLbs: number;\r\n vitalDate: Date;\r\n}\r\n\r\nexport class PatientDiagnosisDetail {\r\n code: string;\r\n description: string;\r\n isPrimary: boolean;\r\n diagnosisDate: Date;\r\n}\r\n\r\nexport class PhoneNumberModel {\r\n phoneNumberId: number;\r\n phoneNumber: string;\r\n phoneNumberTypeId: number;\r\n phoneNumberType: string;\r\n preferenceID: number;\r\n preference: string;\r\n otherPhoneNumberType: string;\r\n}\r\n\r\nexport class PatientTagsModel {\r\n patientTagID: number;\r\n tagID: number;\r\n tag: string;\r\n colorCode: string;\r\n colorName: string;\r\n roleTypeID: number;\r\n fontColorCode: string;\r\n isDeleted: boolean;\r\n}\r\n\r\nexport class PatientAddressesModel {\r\n addressID: number;\r\n isMailingSame: boolean;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n stateID: number;\r\n stateName: string;\r\n stateAbbr: string;\r\n countryID: number;\r\n countryName: string;\r\n zip: string;\r\n addressTypeID: number;\r\n addressType: string;\r\n isPrimary: boolean;\r\n others: string;\r\n}\r\n\r\nexport class PatientAllergyModel {\r\n patientAllergyId: number;\r\n allergen: string;\r\n allergyTypeId: number;\r\n allergyType: string;\r\n reactionID: number;\r\n reaction: string;\r\n note: string;\r\n createdDate: Date;\r\n isActive: boolean;\r\n}\r\nexport class PatientInsuranceModel {\r\n id: number;\r\n patientID: number;\r\n insuranceCompanyID: number;\r\n insuranceCompanyAddress: string;\r\n insuranceIDNumber: string;\r\n insuranceGroupName: string;\r\n insurancePlanName: string;\r\n insurancePlanTypeID: number;\r\n cardIssueDate: Date;\r\n notes: string;\r\n insurancePhotoPathFront: string;\r\n insurancePhotoPathThumbFront: string;\r\n insurancePhotoPathBack: string;\r\n insurancePhotoPathThumbBack: string;\r\n insurancePersonSameAsPatient: boolean = false;\r\n carrierPayerID: string;\r\n isDeleted: boolean;\r\n insuranceCompanyName: string;\r\n}\r\nexport class PatientMedicalFamilyHistoryModel {\r\n medicalFamilyHistoryId: number;\r\n dob: Date;\r\n dateOfDeath: Date;\r\n firstName: string;\r\n genderID: number;\r\n gender: string;\r\n lastName: string;\r\n observation: string;\r\n relationShipID: number;\r\n relationshipName: string;\r\n}\r\n\r\nexport class PatientMedicationModel {\r\n patientMedicationId: number;\r\n dose: string;\r\n endDate: Date;\r\n startDate: Date;\r\n frequencyID: number;\r\n frequency: string;\r\n medicine: string;\r\n strength: string;\r\n}\r\n\r\nexport class PatientSocialHistory {\r\n id: number;\r\n patientID: number;\r\n alcohalID: number;\r\n tobaccoID: number;\r\n drugID: number;\r\n occupation: string;\r\n travelID: number;\r\n isActive: boolean;\r\n isDeleted: boolean;\r\n createdBy: number;\r\n createdDate: Date;\r\n updatedDate: Date;\r\n updatedBy: number;\r\n}\r\n\r\nexport class PatientImmunization {\r\n id: number;\r\n patientID: number;\r\n orderBy: number;\r\n vfcid: number;\r\n administeredDate: Date;\r\n immunization: number;\r\n amountAdministered: number;\r\n manufactureID: number;\r\n expireDate: Date;\r\n vaccineLotNumber: string;\r\n administrationSiteID: number;\r\n routeOfAdministrationID: number;\r\n administeredBy: number;\r\n immunityStatusID: number;\r\n rejectedImmunization: boolean;\r\n rejectionReasonID: number;\r\n rejectionReasonNote: string;\r\n manufacturerName: string;\r\n isActive: boolean;\r\n isDeleted: boolean;\r\n createdBy: number;\r\n createdDate: Date;\r\n}\r\n\r\nexport class Organization {\r\n id: number;\r\n organizationName: string;\r\n businessName: string;\r\n value: string;\r\n description: string;\r\n address1: string;\r\n city: string;\r\n stateName: string;\r\n zip: string;\r\n phone: string;\r\n fax: string;\r\n email: string;\r\n logo: string;\r\n favicon: string;\r\n contactPersonFirstName: string;\r\n contactPersonLastName: string;\r\n contactPersonPhoneNumber: string;\r\n contactPersonMaritalStatus: number;\r\n databaseDetailId: number;\r\n isActive: boolean;\r\n createdDate: Date;\r\n isDeleted: boolean;\r\n createdBy: number;\r\n updatedDate: Date;\r\n latitude: number;\r\n longitude: number;\r\n apartmentNumber: string;\r\n vendorIdDirect: string;\r\n vendorIdIndirect: string;\r\n vendorNameDirect: string;\r\n vendorNameIndirect: string;\r\n payrollStartWeekDay: string;\r\n payrollEndWeekDay: string;\r\n}\r\n\r\nexport class ClientProfileModel {\r\n \r\n patientInfo = new Array();\r\n patientVitals = new Array();\r\n lastAppointmentDetails: any[] = [];\r\n upcomingAppointmentDetails: any[] = [];\r\n patientDiagnosisDetails = new Array();\r\n phoneNumberModel = new Array();\r\n patientTagsModel = new Array();\r\n patientAddressesModel = new Array()\r\n patientAllergyModel = new Array();\r\n patientLabTestModel: any[] = [];\r\n patientMedicalFamilyHistoryModel = new Array();\r\n patientCustomLabelModel: any[];\r\n patientMedicationModel = new Array();\r\n staffs: any[] = [];\r\n patientSocialHistory = new Array();\r\n patientEncounter: any[];\r\n patientImmunization = new Array();\r\n organization = new Array();\r\n claimServiceLine: any[] = [];\r\n activePatientVital:any[]=[];\r\n}\r\nexport class PatientAppointmentListModel {\r\n patientAppointmentId: number;\r\n startDateTime: Date;\r\n endDateTime: Date;\r\n appointmentTypeName: string;\r\n appointmentTypeID: number;\r\n color: string;\r\n fontColor: string;\r\n defaultDuration: number;\r\n isBillable: boolean;\r\n patientName: string;\r\n patientID: number;\r\n patientEncounterId: number;\r\n claimId: number;\r\n canEdit: boolean;\r\n patientAddressID: number;\r\n serviceLocationID: number;\r\n appointmentStaffs: AppointmentStaff[];\r\n isClientRequired: boolean;\r\n isRecurrence: boolean;\r\n offSet: number;\r\n allowMultipleStaff: boolean;\r\n cancelTypeId: number;\r\n isExcludedFromMileage: boolean;\r\n isDirectService: boolean;\r\n patientPhotoThumbnailPath: string;\r\n statusId: number;\r\n statusName: string;\r\n address: string;\r\n latitude: number;\r\n longitude: number;\r\n isTelehealthAppointment: boolean;\r\n customAddress: string;\r\n customAddressID?: number;\r\n notes: string;\r\n officeAddressID?: number;\r\n recurrenceRule: string;\r\n parentAppointmentId?: number;\r\n}\r\nexport class AppointmentStaff {\r\n staffId: number;\r\n staffName: string;\r\n isDeleted: boolean;\r\n}\r\nexport class PatientAuthorizationModel {\r\n authorizationId: number;\r\n authorizationNumber: string;\r\n startDate: Date;\r\n endDate: Date;\r\n payerName: string;\r\n payerPreference: string;\r\n totalCount: number;\r\n patientInsuranceId: number;\r\n authorizationTitle: string;\r\n notes: string;\r\n payerId: number;\r\n isExpired: boolean;\r\n}\r\n//chat\r\nexport class ChatHistoryModel {\r\n id?: number;\r\n message: string;\r\n isSeen?: boolean;\r\n fromUserId?: number;\r\n toUserId?: number;\r\n chatDate?: string;\r\n isRecieved?: boolean;\r\n}\r\n\r\nexport class PatientRewardPointsModel {\r\n patientRewardPointId: number;\r\n ageGroupId: number;\r\n patientId: number;\r\n ngoId: number;\r\n steps: string;\r\n age: number;\r\n rewardPoints: string;\r\n isSendNgo: boolean;\r\n ageGroup: string;\r\n createdDate: string;\r\n expireDate:string;\r\n planType: number;\r\n data: any;\r\n fullName:string;\r\n userImage:string;\r\n}\r\n\r\nexport class ToggleUpdateModel {\r\n patientId: number;\r\n patientRewardPointId: number;\r\n isActive?: boolean;\r\n isSendNGo?: boolean;\r\n isDeleted?: boolean;\r\n}\r\n\r\nexport class MedicationFilterModel extends FilterModel{\r\n patientID : number = 0\r\n}","import {\r\n FilterVideoModel,\r\n PaymentFilterModel,\r\n RefundFilterModel,\r\n VitalgraphMOdel,\r\n} from \"./../core/modals/common-model\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../core/services/common.service\";\r\nimport { FilterModel } from \"../core/modals/common-model\";\r\nimport { Observable } from \"rxjs\";\r\nimport { AllergyModel } from \"./history/allergies/allergy-model.model\";\r\nimport { MedicationModel } from \"../agency-portal/clients/medication/medication.model\";\r\nimport { SurgicalModel } from \"./history/surgical-history/surgical.Model\";\r\nimport { PodcastModel } from \"src/app/super-admin-portal/core/modals/common-model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ClientsService {\r\n id: number;\r\n private getClientByIdURL = \"Patients/GetPatientById\";\r\n public getClientRewardsByIdURL = \"Patients/GetPatientRewardsById\";\r\n private getPatientRewardsForNgoByIdURL =\r\n \"Patients/GetPatientRewardsForNgoById\";\r\n private sendPointToNgoURL = \"Patients/SendPointToNgo\";\r\n private GetPatientsDetailedInfo = \"Patients/GetPatientsDetailedInfo\";\r\n private getMasterDataByNameURL = \"api/MasterData/MasterDataByName\";\r\n private getClientProfileInfoURL = \"Patients/GetPatientsDetails\";\r\n private getPatientCCDAURL = \"patients/GetPatientCCDA\";\r\n private getAllergyListURL = \"PatientsAllergy/GetAllergies\";\r\n private getAllAuthorizationsForPatientURL =\r\n \"Authorizations/GetAllAuthorizationsForPatient\";\r\n private getImmunizationListURL = \"PatientsImmunization/GetImmunization\";\r\n private getPatientMedicalFamilyHistoryListURL =\r\n \"PatientMedicalFamilyHistory/GetPatientMedicalFamilyHistoryById\";\r\n private getPatientInsurances = \"PatientsInsurance/GetPatientInsurances\";\r\n private getPatientAppointment =\r\n \"api/PatientAppointments/GetPatientAppointmentList\";\r\n //chat\r\n private getChatHistoryURL = \"Chat/GetChatHistory\";\r\n private getPaymentUrl = \"AppointmentPayment/ClientPayments\";\r\n private getRefundUrl = \"AppointmentPayment/ClientRefunds\";\r\n //review/ratings\r\n private getAllReviewRatingURL = \"ReviewRatings/GetAllReviewRatings\";\r\n private getReviewRatingURL = \"ReviewRatings/GetReviewRatingById\";\r\n private saveReviewRatingURL = \"ReviewRatings/SaveUpdateReviewRating\";\r\n private getClientNetAppointmentPaymentUrl =\r\n \"AppointmentPayment/ClientNetAppointmentPayment\";\r\n private getPatientsDashboardDetailsURL =\r\n \"Patients/GetPatientsDashboardDetails\";\r\n\r\n //Vitals URL\r\n private createVitalURL = \"PatientsVitals/SaveVital\";\r\n private getVitalListURL = \"PatientsVitals/GetVitals\";\r\n private getVitalByIdURL = \"PatientsVitals/GetVitalById\";\r\n private deleteVitalURL = \"PatientsVitals/DeleteVital\";\r\n private GetVitalURL = \"PatientsVitals/GetVitalsForPatient\";\r\n\r\n //Patient Encounters\r\n private getPatientEncountersListURL = \"patient-encounter/GetPatientEncounter\";\r\n\r\n //Patient Allergies\r\n private getAllergyByIdURL = \"PatientsAllergy/GetAllergyById\";\r\n private createAllergyURL = \"PatientsAllergy/SaveAllergy\";\r\n private deleteAllergyURL = \"PatientsAllergy/DeleteAllergy\";\r\n\r\n //Medication URL\r\n private createMedicationURL = \"PatientsMedication/SaveMedication\";\r\n private getMedicationListURL = \"PatientsMedication/GetMedication\";\r\n private getMedicationByIdURL = \"PatientsMedication/GetMedicationById\";\r\n private deleteMedicationURL = \"PatientsMedication/DeleteMedication\";\r\n\r\n //Surgical URL\r\n private createSurgicalHistoryURL =\r\n \"PatientSurgicalHistory/SavePatientSurgicalHistory\";\r\n private getSurgicalHistoryByIdURL =\r\n \"PatientSurgicalHistory/GetPatientSurgicalHistoryById\";\r\n private getSurgicalHistoryListURL =\r\n \"PatientSurgicalHistory/GetPatientSurgicalHistory\";\r\n private deleteSurgicalHistoryURL =\r\n \"PatientSurgicalHistory/DeletePatientSurgicalHistory\";\r\n\r\n //Medical History\r\n private getPatientMedicalHistoryByIdURL =\r\n \"PatientMedicalHistory/GetPatientMedicalHistoryById\";\r\n private getPatientMedicalHistoryListURL =\r\n \"PatientMedicalHistory/GetPatientMedicalHistory\";\r\n private savePatientMedicalHistoryURL =\r\n \"PatientMedicalHistory/SavePatientMedicalHistory\";\r\n private deletePatientMedicalHistoryURL =\r\n \"PatientMedicalHistory/DeletePatientMedicalHistory\";\r\n y;\r\n\r\n private getvitalsforgraph = \"PatientsVitals/GetVitalsDataFromGraph\";\r\n\r\n //Training\r\n private saveVideoTrackingDataURL = \"Media/SaveVideoTrackingData\";\r\n private getVideoTrackingList = \"Media/GetVideoTrackingList\";\r\n private getmediadetailsbyId = \"Media/GetMediaDetailsById\";\r\n private getTrainingbyPlan = \"Media/GetTrainingbyPlan\";\r\n private getVideoTrackingdatabyId = \"Media/GetVideoTrackingdatabyId\";\r\n private saveQuizTrackingUrl = \"Media/SaveQuizTracking\";\r\n private GetQuizTrackingByIdUrl = \"Media/GetQuizTrackingById\";\r\n private savePatientNIC = \"Media/SavePatientsNICNo\";\r\n private GetQuizDetailsByPatientId = \"Media/GetQuizDetailsPatientById\";\r\n public getAssignCourseName = \"Media/AssignCourseName\"\r\n private getvitalSleepforgraph =\"PatientsVitals/GetSleepDataForGraph\";\r\n\r\n constructor(private commonService: CommonService) { }\r\n saveVideoTrackingData(data: any) {\r\n return this.commonService.post(this.saveVideoTrackingDataURL, data);\r\n }\r\n getAllVideoTracking() {\r\n let url = this.getVideoTrackingList;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getQuizDetailsByPatientId(id: any) {\r\n return this.commonService.getById(\r\n this.GetQuizDetailsByPatientId + \"?PatientId=\" + id,\r\n\r\n {}\r\n );\r\n }\r\n getMasterData(value: string = \"\") {\r\n return this.commonService.post(this.getMasterDataByNameURL, {\r\n masterdata: value,\r\n });\r\n }\r\n\r\n saveQuizTracking(value) {\r\n return this.commonService.post(this.saveQuizTrackingUrl, value);\r\n }\r\n\r\n getPatientAppointmentList(locationId: number, id: number) {\r\n let url = `?locationIds=${locationId}&patientIds=${id}`;\r\n return this.commonService.getById(this.getPatientAppointment + url, {});\r\n }\r\n getQuizTrackingById(locationId: number, quizId: number) {\r\n let url = `?patientId=${locationId}&quizId=${quizId}`;\r\n return this.commonService.getById(this.GetQuizTrackingByIdUrl + url, {});\r\n }\r\n getClientProfileInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getClientProfileInfoURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n GetVitalForPatient(id:number){\r\n return this.commonService.getById(\r\n this.GetVitalURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n \r\n GetPatientsDetailedInfoo(id: number) {\r\n return this.commonService.getById(\r\n this.GetPatientsDetailedInfo + \"?patientId=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n GetPatientsRewardPointsInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getClientRewardsByIdURL + \"?patientId=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n GetPatientsRewardPointsInfoForNgo(id: number) {\r\n return this.commonService.getById(\r\n this.getPatientRewardsForNgoByIdURL + \"?patientId=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n sendPointToNgo(toggleUpdateModel: any) {\r\n return this.commonService.post(this.sendPointToNgoURL, toggleUpdateModel);\r\n }\r\n\r\n getClientById(id: number) {\r\n return this.commonService.getById(\r\n this.getClientByIdURL + \"?patientId=\" + id,\r\n {}\r\n );\r\n }\r\n getClientProfileDashboardInfo(id: number) {\r\n return this.commonService.getById(\r\n this.getPatientsDashboardDetailsURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n getPatientCCDA(patientId: number) {\r\n return this.commonService.download(\r\n this.getPatientCCDAURL + \"?id=\" + patientId,\r\n {}\r\n );\r\n }\r\n //Patient Inurance\r\n getPatientInsurance(clientId: number) {\r\n return this.commonService.getById(\r\n this.getPatientInsurances + \"?patientId=\" + clientId,\r\n {}\r\n );\r\n }\r\n\r\n downloadFile(blob: Blob, filetype: string, filename: string) {\r\n var newBlob = new Blob([blob], { type: filetype });\r\n // IE doesn't allow using a blob object directly as link href\r\n // instead it is necessary to use msSaveOrOpenBlob\r\n if (window.navigator && (window.navigator as any).msSaveOrOpenBlob) {\r\n (window.navigator as any).msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n // For other browsers:\r\n // Create a link pointing to the ObjectURL containing the blob.\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(function () {\r\n // For Firefox it is necessary to delay revoking the ObjectURL\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n getImmunizationList(clientId: number) {\r\n let url = this.getImmunizationListURL + \"?patientId=\" + clientId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getPatientMedicalFamilyHistoryList(clientId: number) {\r\n let url =\r\n this.getPatientMedicalFamilyHistoryListURL + \"?patientid=\" + clientId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n //Allergy Method\r\n createAllergy(data: AllergyModel) {\r\n return this.commonService.post(this.createAllergyURL, data);\r\n }\r\n\r\n getAllergyList(clientId: number) {\r\n let url = this.getAllergyListURL + \"?patientid=\" + clientId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n getAllergyById(id: number) {\r\n return this.commonService.getById(this.getAllergyByIdURL + \"?id=\" + id, {});\r\n }\r\n deleteAllergy(id: number) {\r\n return this.commonService.patch(this.deleteAllergyURL + \"?id=\" + id, {});\r\n }\r\n //Medication Method\r\n getMedicationList(data: any) {\r\n let url = this.getMedicationListURL;\r\n return this.commonService.post(url,data);\r\n }\r\n createMedication(data: MedicationModel) {\r\n return this.commonService.post(this.createMedicationURL, data);\r\n }\r\n getMedicationById(id: number) {\r\n return this.commonService.getById(\r\n this.getMedicationByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n deleteMedication(id: number) {\r\n return this.commonService.patch(this.deleteMedicationURL + \"?id=\" + id, {});\r\n }\r\n\r\n // Surgical History Methods\r\n getSurgicalById(id: number) {\r\n return this.commonService.getById(\r\n `${this.getSurgicalHistoryByIdURL}?id=${id}`,\r\n {}\r\n );\r\n }\r\n getSurgicalList(clientId: number) {\r\n return this.commonService.getAll(\r\n `${this.getSurgicalHistoryListURL}?patientId=${clientId}`,\r\n {}\r\n );\r\n }\r\n createSurgical(data: SurgicalModel) {\r\n return this.commonService.post(this.createSurgicalHistoryURL, data);\r\n }\r\n deleteSurgical(id: number) {\r\n return this.commonService.delete(\r\n `${this.deleteSurgicalHistoryURL}?id=${id}`\r\n );\r\n }\r\n\r\n getAllAuthorization(clientId: number) {\r\n let url = this.getAllAuthorizationsForPatientURL + \"?patientId=\" + clientId;\r\n return this.commonService.getAll(url, {});\r\n }\r\n //chat\r\n getChatHistory(fromUserId: number, toUserId: number) {\r\n return this.commonService.getAll(\r\n `${this.getChatHistoryURL}?FromUserId=${fromUserId}&ToUserId=${toUserId}`,\r\n {}\r\n );\r\n }\r\n getAppointmentPayments(postData: PaymentFilterModel): Observable {\r\n return this.commonService.post(this.getPaymentUrl, postData, true);\r\n }\r\n getClientNetAppointmentPayment(clientId: any): Observable {\r\n return this.commonService.getAll(\r\n `${this.getClientNetAppointmentPaymentUrl}?clientId=${clientId}`,\r\n {}\r\n );\r\n }\r\n getAppointmentRefunds(postData: RefundFilterModel): Observable {\r\n return this.commonService.post(this.getRefundUrl, postData, true);\r\n }\r\n getReviewRatingById(id: number) {\r\n return this.commonService.getById(\r\n this.getReviewRatingURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n saveUpdateReviewRating(data: any) {\r\n return this.commonService.post(this.saveReviewRatingURL, data);\r\n }\r\n getReviewRatings() {\r\n return this.commonService.getAll(this.getAllReviewRatingURL, {});\r\n }\r\n getVitalList(clientId: number, filterModel: FilterModel) {\r\n let url =\r\n this.getVitalListURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&PatientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n //client encounter Methods\r\n getClientEncounters(\r\n filterModel: any,\r\n clientId: number,\r\n appointmentType: string,\r\n staffName: string,\r\n status: string,\r\n fromDate: string,\r\n toDate: string\r\n ) {\r\n let url =\r\n this.getPatientEncountersListURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize +\r\n \"&patientId=\" +\r\n clientId +\r\n \"&SortColumn=\" +\r\n filterModel.sortColumn +\r\n \"&SortOrder=\" +\r\n filterModel.sortOrder;\r\n if (appointmentType && appointmentType.length > 0)\r\n url = url + \"&appointmentType=\" + appointmentType;\r\n if (staffName && staffName != \"\") url = url + \"&staffName=\" + staffName;\r\n if (status && status != \"\") url = url + \"&status=\" + status;\r\n if (fromDate && fromDate != \"\") url = url + \"&fromDate=\" + fromDate;\r\n if (toDate && toDate != \"\") url = url + \"&toDate=\" + toDate;\r\n return this.commonService.getAll(url, {});\r\n }\r\n\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n return this.commonService.getUserScreenActionPermissions(\r\n moduleName,\r\n screenName\r\n );\r\n }\r\n\r\n getPatientMedicalHistoryById(id: any) {\r\n return this.commonService.getById(\r\n this.getPatientMedicalHistoryByIdURL + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n getPatientMedicalHistoryList(id: any) {\r\n return this.commonService.getById(\r\n this.getPatientMedicalHistoryListURL + \"?patientId=\" + id,\r\n {}\r\n );\r\n }\r\n\r\n savePatientMedicalHistory(data: any) {\r\n return this.commonService.post(this.savePatientMedicalHistoryURL, data);\r\n }\r\n deletePatientMedicalHistoryById(id: any) {\r\n return this.commonService.delete(\r\n this.deletePatientMedicalHistoryURL + \"?id=\" + id\r\n );\r\n }\r\n getVitalById(id: number) {\r\n return this.commonService.getById(this.getVitalByIdURL + \"?id=\" + id, {});\r\n }\r\n deleteVital(id: number) {\r\n return this.commonService.patch(this.deleteVitalURL + \"?id=\" + id, {});\r\n }\r\n getmediadetailbyId(id: number) {\r\n return this.commonService.getById(\r\n this.getmediadetailsbyId + \"?id=\" + id,\r\n {}\r\n );\r\n }\r\n getVideoTrackingdata(data: any) {\r\n return this.commonService.get(\r\n this.getVideoTrackingdatabyId +\r\n \"?patientId=\" +\r\n data[0] +\r\n \"&mediadetailsId=\" +\r\n data[1]\r\n );\r\n }\r\n getvitalsdetails(VitalgraphMOdel: VitalgraphMOdel) {\r\n let url =\r\n this.getvitalsforgraph +\r\n \"?FromDate=\" +\r\n VitalgraphMOdel.FromDate +\r\n \"&ToDate=\" +\r\n VitalgraphMOdel.ToDate +\r\n \"&VitalName=\" +\r\n VitalgraphMOdel.VitalName +\r\n \"&Key=\" +\r\n VitalgraphMOdel.Key +\r\n \"&PatientId=\" +\r\n VitalgraphMOdel.PatientId;\r\n return this.commonService.get(url);\r\n }\r\n\r\n GetTrainingbyPlan(data: any) {\r\n let queryParams = `?CourseCategory=${data.PlanType}&CourseName=${data.CourseName}&ModuleId=${data.ModuleId}&MonthId=${data.MonthId}&PatientId=${data.PatientId}`;\r\n let url = this.getTrainingbyPlan + queryParams;\r\n return this.commonService.get(url);\r\n }\r\n\r\n savePatientNICNo(formValues: any) {\r\n let queryParams = `?PatientId=${formValues.PatientId}&NICNo=${formValues.NICNo}`;\r\n let url = this.savePatientNIC + queryParams;\r\n return this.commonService.post(url, {});\r\n }\r\n getassigncourse(data: any) {\r\n let url = this.getAssignCourseName + '?Category=' + data[0] + '&CompanyId=' + data[1];\r\n return this.commonService.get(url);\r\n }\r\n getVitalSleepsDetails(VitalgraphMOdel: VitalgraphMOdel){\r\n let url =\r\n this.getvitalSleepforgraph +\r\n \"?FromDate=\" +\r\n VitalgraphMOdel.FromDate +\r\n \"&ToDate=\" +\r\n VitalgraphMOdel.ToDate +\r\n \"&VitalName=\" +\r\n VitalgraphMOdel.VitalName +\r\n \"&Key=\" +\r\n VitalgraphMOdel.Key +\r\n \"&PatientId=\" +\r\n VitalgraphMOdel.PatientId ;\r\n return this.commonService.get(url);\r\n }\r\n}\r\n","\r\nexport class ReviewRatingModel {\r\n id: number;\r\n patientAppointmentId: number; \r\n rating: number; \r\n review: string;\r\n staffId:number;\r\n \r\n}\r\n","module.exports = \"*{\\r\\n margin:0;\\r\\n padding:0;\\r\\n box-sizing: border-box;\\r\\n}\\r\\n\\r\\n.certificate-block{\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.certificate-img{\\r\\n width:900px;\\r\\n height:auto;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.certificate-img img{\\r\\n width:100%;\\r\\n height:auto;\\r\\n}\\r\\n\\r\\n.certificate-content{\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n -webkit-transform: translate(-50%, -50%);\\r\\n transform: translate(-50%, -50%);\\r\\n text-align: center;\\r\\n color: black;\\r\\n font-family: Arial, sans-serif;\\r\\n z-index: 9;\\r\\n}\\r\\n\\r\\n.title{\\r\\n font-family: \\\"Playfair Display\\\", serif;\\r\\n font-size: 42px;\\r\\n letter-spacing: 2px;\\r\\n}\\r\\n\\r\\n.achievement-text{\\r\\n font-family: \\\"Poppins\\\", sans-serif;\\r\\n font-size: 20px;\\r\\n font-weight: 400;\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.regular-text{\\r\\n font-family: \\\"Poppins\\\", sans-serif;\\r\\n font-weight: 300;\\r\\n font-size: 14px;\\r\\n color: black;\\r\\n}\\r\\n\\r\\nh1.achievers-name {\\r\\n margin-top: 30px;\\r\\n font-family: \\\"Great Vibes\\\", cursive;\\r\\n font-size: 52px;\\r\\n letter-spacing: 4px;\\r\\n font-weight: 500;\\r\\n margin-bottom: 10px;\\r\\n\\r\\n}\\r\\n\\r\\n.regular-text.success{\\r\\n margin-bottom:30px;\\r\\n} \\r\\n\\r\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n

CERTIFICATE

\\r\\n

of Achievement

\\r\\n

Presented to:

\\r\\n

{{certificateName}}

\\r\\n

For successfully achieving your monthly target of {{certificateSteps}} steps in {{certificatMonth}}.

\\r\\n

Your dedication to maintaining a healthy and active lifestyle is commendable. Keep up the great work and continue reaching new milestones with LetsBe!

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\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, Inject, Input, OnInit } from \"@angular/core\";\r\nimport { FormBuilder } from \"@angular/forms\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ViewRatingsComponent } from \"../../../agency-portal/view-ratings/view-ratings.component\";\r\nimport { ClientsService } from \"../../clients.service\";\r\nimport html2pdf from \"html2pdf.js\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { CommonService } from \"../../../core/services\";\r\nimport { getDate } from \"date-fns\";\r\nimport { toDate } from \"@angular/common/src/i18n/format_date\";\r\nimport html2canvas from \"html2canvas\";\r\n\r\n@Component({\r\n selector: \"app-download-certificate\",\r\n templateUrl: \"./download-certificate.component.html\",\r\n styleUrls: [\"./download-certificate.component.css\"],\r\n})\r\n\r\nexport class DownloadCertificateComponent implements OnInit {\r\n \r\n @Input() quizData: any = null;\r\n certificateAgeGroup: string;\r\n certificateSteps: string;\r\n certificatePlan: string;\r\n certificateName: string;\r\n certificatMonth: string;\r\n certificatYear: string;\r\n certificateUserImage: string;\r\n binded: boolean = false;\r\n currentDateTime: any;\r\n options = {\r\n margin: 1,\r\n filename: \"certificate.pdf\",\r\n image: {\r\n type: \"jpeg\",\r\n quality: \"0.90\",\r\n },\r\n html2canvas: {\r\n scale: 2,\r\n },\r\n jsPDF: {\r\n unit: \"in\",\r\n format: \"letter\",\r\n orientation: \"landscape\",\r\n },\r\n };\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formBuilder: FormBuilder,\r\n private clientService: ClientsService,\r\n private activatedRoute: ActivatedRoute,\r\n private notifierService: NotifierService,\r\n private route: Router,\r\n private dialogModalRef: MatDialogRef,\r\n public datepipe: DatePipe,\r\n private commonService: CommonService\r\n ) {\r\n //debugger\r\n\r\n this.currentDateTime = this.datepipe.transform(new Date(), \"MM/dd/yyyy\");\r\n\r\n var king = this.datepipe.transform(new Date(), \"MM\");\r\n var king = this.datepipe.transform(new Date(), \"yyyy\");\r\n var currentuser = this.commonService.getLoginUserInfo();\r\n //alert((formatdate(this.currentDateTime)).getFullYear());\r\n //alert((toDate(this.currentDateTime)).getMonth());\r\n this.certificateAgeGroup = this.data.data.age;\r\n this.certificateSteps = this.data.data.steps;\r\n this.certificatePlan = this.data.data.planType;\r\n this.certificatMonth = this.getMonth(\r\n Number(data.data.createdDate.split(\"/\")[0])\r\n );\r\n this.certificatYear = this.data.data.createdDate.split(\"/\")[2];\r\n this.certificateName=this.data.data.fullName\r\n // if(currentuser.data.users3.userRoles.roleName === 'Admin'){\r\n // this.certificateUserImage=this.data.data.userImage\r\n // }else{\r\n // this.certificateName =\r\n // currentuser.patientData.firstName +\r\n // \" \" +\r\n // currentuser.patientData.lastName;\r\n // this.certificateUserImage =\r\n // currentuser.patientData.photoThumbnailPath != \"\"\r\n // ? currentuser.patientData.photoThumbnailPath\r\n // : \"../../../../../assets/img/noimage3.png\";\r\n // }\r\n }\r\n\r\n getMonth(month: number) {\r\n const months = [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n \"Oct\",\r\n \"Nov\",\r\n \"Dec\",\r\n ];\r\n return months[month - 1];\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n download() {\r\n // this.certificateAgeGroup = data.age;\r\n // this.certificateSteps = data.steps;\r\n // this.certificateName = data.ngoName;\r\n // const certificateAgeGroup = document.getElementsByClassName('certificateAgeGroup')[0] as HTMLElement;\r\n // certificateAgeGroup.textContent=\"20-30\"//data.age;\r\n // const certificateSteps = document.getElementsByClassName('certificateSteps')[0] as HTMLElement;\r\n // certificateSteps.textContent=\"5000\"//data.steps;\r\n // const certificateName = document.getElementsByClassName('certificateName')[0] as HTMLElement;\r\n // certificateName.textContent=\"Mohsin Khan\"//data.ngoName;\r\n this.downloadCertificate();\r\n }\r\n\r\n downloadCertificate() {\r\n var element = document.getElementById(\"downloadCertificate\");\r\n \r\n // Use html2canvas to convert the HTML element to a canvas image\r\n html2canvas(element).then((canvas) => {\r\n // Convert canvas to image URL\r\n var imgData = canvas.toDataURL(\"image/png\");\r\n \r\n // Create a link element to trigger the download\r\n var link = document.createElement('a');\r\n link.href = imgData;\r\n link.download = 'certificate.png';\r\n \r\n // Trigger the download\r\n link.click();\r\n });\r\n }\r\n}\r\n","module.exports = \".del-cont {\\r\\n float: left;\\r\\n}\\r\\n.del-cont > button {\\r\\n background: none;\\r\\n border: 0px;\\r\\n color: #7a7a7a;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n padding: 0;\\r\\n cursor: pointer;\\r\\n margin-top: 12px;\\r\\n}\\r\\n.del-cont i {\\r\\n color: #7a7a7a;\\r\\n float: left;\\r\\n font-size: 15px;\\r\\n padding-right: 5px;\\r\\n position: inherit;\\r\\n}\\r\\n.del-cont button span {\\r\\n float: left;\\r\\n}\\r\\n.del-cont > button:hover,\\r\\n.del-cont > button:hover i {\\r\\n color: #000;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter vital 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 \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Note : {{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 \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, Inject, Output, EventEmitter } from \"@angular/core\";\r\n\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { VitalModel } from \"src/app/platform/modules/agency-portal/clients/vitals/vitals.model\";\r\nimport { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\n\r\n@Component({\r\n selector: \"app-vital-model\",\r\n templateUrl: \"./vital-model.component.html\",\r\n styleUrls: [\"./vital-model.component.css\"]\r\n})\r\nexport class VitalModelComponent implements OnInit {\r\n maxDate = new Date();\r\n patientId: number;\r\n vitalModel: VitalModel;\r\n vitalForm: FormGroup;\r\n submitted: boolean = false;\r\n headerText: string = \"ADD CURRENT VITALS\";\r\n error: string = \"Please fill in at least one or more vital other than the vital date.\";\r\n\r\n //////////////////\r\n @Output() refreshGrid: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private vitalDialogModalRef: MatDialogRef,\r\n private clientService: ClientsService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService\r\n ) {\r\n //assign data\r\n this.vitalModel = data.vital;\r\n this.refreshGrid.subscribe(data.refreshGrid);\r\n this.patientId = this.vitalModel.patientID;\r\n //update header text\r\n if (this.vitalModel.id != null && this.vitalModel.id > 0)\r\n this.headerText = \"EDIT CURRENT VITALS\";\r\n else this.headerText = \"ADD CURRENT VITALS\";\r\n }\r\n\r\n ngOnInit() {\r\n this.vitalForm = this.formBuilder.group({\r\n id: [this.vitalModel.id],\r\n createdDate: [this.vitalModel.createdDate],\r\n patientID: [this.vitalModel.patientID],\r\n bmi: [this.vitalModel.bmi],\r\n bpDiastolic: [this.vitalModel.bpDiastolic],\r\n bpSystolic: [this.vitalModel.bpSystolic],\r\n heartRate: [this.vitalModel.heartRate],\r\n heightIn: [this.vitalModel.heightIn],\r\n pulse: [this.vitalModel.pulse],\r\n respiration: [this.vitalModel.respiration],\r\n temperature: [this.vitalModel.temperature],\r\n vitalDate: [this.vitalModel.vitalDate],\r\n weightLbs: [this.vitalModel.weightLbs],\r\n steps: [this.vitalModel.steps],\r\n ecg: [this.vitalModel.ecg],\r\n spo2: [this.vitalModel.spo2],\r\n calories: [this.vitalModel.calories],\r\n bloodGlucose: [this.vitalModel.bloodGlucose],\r\n sleeppattern: [this.vitalModel.sleepPattern]\r\n });\r\n }\r\n\r\n //get the form controls on html page\r\n get formControls() {\r\n return this.vitalForm.controls;\r\n }\r\n\r\n //submit for create update of vitals\r\n onSubmit(event: any) {\r\n if (!this.vitalForm.invalid) {\r\n let clickType = event.currentTarget.name;\r\n this.submitted = true;\r\n this.vitalModel = this.vitalForm.value;\r\n this.vitalModel.patientID = this.patientId;\r\n this.clientService\r\n .createVital(this.vitalModel)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n if (clickType == \"Save\") this.closeDialog(\"save\");\r\n else if (clickType == \"SaveAddMore\") {\r\n this.refreshGrid.next();\r\n this.vitalForm.reset();\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n get vitalValidation() {\r\n return (\r\n !this.formControls.heightIn.value &&\r\n !this.formControls.weightLbs.value &&\r\n !this.formControls.heartRate.value &&\r\n !this.formControls.bpSystolic.value &&\r\n !this.formControls.bpDiastolic.value &&\r\n !this.formControls.pulse.value &&\r\n !this.formControls.respiration.value &&\r\n !this.formControls.temperature.value &&\r\n !this.formControls.steps.value &&\r\n !this.formControls.calories.value &&\r\n !this.formControls.sleeppattern.value\r\n );\r\n }\r\n //close popup\r\n closeDialog(action: string): void {\r\n this.vitalDialogModalRef.close(action);\r\n }\r\n}\r\n","module.exports = \".disabled {\\r\\n opacity: 0.5;\\r\\n pointer-events: none;\\r\\n cursor: not-allowed;\\r\\n }\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ company.companyName }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ patients.firstName+ ' ' + patients.lastName+' '+ '( '+ patients.email + ' )'\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
0 && lineChartLabelsss.length > 0\\\" class=\\\"mt-15\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
0 && lineChartLabelsss.length > 0\\\" class=\\\"mt-15\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\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 { Subscription } from \"rxjs\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\nimport { debug } from \"util\";\r\nimport { MatDialog } from \"@angular/material\";\r\n\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format } from \"date-fns\";\r\nimport { VitalModel } from \"src/app/platform/modules/agency-portal/clients/vitals/vitals.model\";\r\nimport {\r\n FilterModel,\r\n VitalgraphMOdel,\r\n} from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { DialogService } from \"src/app/shared/layout/dialog/dialog.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { error } from \"console\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { VitalModelComponent } from \"../../client-portal/vitals/vital-model/vital-model.component\";\r\nimport { SchedulerService } from \"../../scheduling/scheduler/scheduler.service\";\r\n@Component({\r\n selector: 'app-patientvital',\r\n templateUrl: './patientvital.component.html',\r\n styleUrls: ['./patientvital.component.css']\r\n})\r\nexport class PatientvitalComponent implements OnInit {\r\n\r\n vitalData: VitalModel;\r\n vitalListingData: VitalModel[];\r\n VitalgraphMOdel: VitalgraphMOdel;\r\n filterModel: FilterModel;\r\n keyinitial: any;\r\n startdate: string;\r\n enddate: string;\r\n lineChartDatass: Array = [];\r\n lineChartLabelsss: Array = [];\r\n\r\n heartLineChartDatass: Array = [];\r\n heartLineChartLabelsss: Array = [];\r\n\r\n key: string = \"Day\";\r\n metaData: any;\r\n inches: any;\r\n feets: any;\r\n displayedColumns: Array;\r\n actionButtons: Array;\r\n clientId: number;\r\n addPermission: boolean = true;\r\n header: string = \"Client Vitals\";\r\n isGrid: boolean = true;\r\n todayDate = new Date();\r\n toDate: string;\r\n //Charts\r\n lineChartData: Array = [];\r\n lineChartLabels: Array = [];\r\n lineChartType: string = \"line\";\r\n subscription: Subscription;\r\n viewmode: any;\r\n plans = [\r\n {\r\n id: 1,\r\n value: \"Today\",\r\n },\r\n {\r\n id: 2,\r\n value: \"Monthly\",\r\n },\r\n {\r\n id: 3,\r\n value: \"Year\",\r\n },\r\n ];\r\n\r\n loading: boolean = false;\r\n isDayActive: boolean = false;\r\n isKeyWeekActive: boolean = false;\r\n isKeyActive: boolean = false;\r\n isKeyYearActive: boolean = false;\r\n lastD: Date;\r\n startD: Date;\r\n count: number;\r\n AvailableCareGiver: any[];\r\n AvailableCompanies: any[];\r\n Comapnies: any[];\r\n patient: any[];\r\n patientId: number;\r\n companyList: any;\r\n selectedOfficeStaffs: Array;\r\n selectedOfficeClients: Array;\r\n officeStaffs: Array;\r\n officeClients: Array;\r\n // selectedCompanyId: any;\r\n // selectedPatientId: any;\r\n\r\n //constructor\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private notifier: NotifierService,\r\n private clientsService: ClientsService,\r\n public activityModal: MatDialog,\r\n private dialogService: DialogService,\r\n private commonService: CommonService,\r\n private datePipe: DatePipe,\r\n private schedulerService: SchedulerService,\r\n ) {\r\n this.officeStaffs = [];\r\n this.selectedOfficeStaffs = [];\r\n this.selectedOfficeClients = [];\r\n this.Comapnies = [];\r\n this.patient = [];\r\n this.officeClients = [];\r\n this.displayedColumns = [\r\n { displayName: \"Vital Date\", key: \"vitalDate\", isSort: true, width: \"20%\" },\r\n { displayName: \"Steps\", key: \"steps\", isSort: true, width: \"10%\" },\r\n { displayName: \"Calories\", key: \"calories\", isSort: true, width: \"10%\" },\r\n // { displayName: \"H-Rate\", key: \"heartRate\", isSort: true, width: \"10%\" },\r\n { displayName: \"ECG\", key: \"ecg\", isSort: true, width: \"10%\" },\r\n { displayName: \"BP (S/D)\", key: \"displayBP\", width: \"10%\" },\r\n { displayName: \"Stress\", key: \"stress\", width: \"10%\" },\r\n { displayName: \"Spo2\", key: \"spo2\", width: \"10%\" },\r\n { displayName: \"Blood Glucose\", key: \"bloodGlucose\", width: \"10%\" },\r\n // { displayName: \"Actions\", key: \"Actions\", width: \"10%\" },\r\n ];\r\n this.actionButtons = [\r\n // { displayName: \"Edit\", key: \"edit\", class: \"fa fa-pencil\" },\r\n // { displayName: \"Delete\", key: \"delete\", class: \"fa fa-times\" },\r\n ];\r\n }\r\n\r\n //on inital load\r\n ngOnInit() {\r\n //this.loading = true;\r\n this.key = \"Day\";\r\n this.keyinitial = \"hr\";\r\n this.toDate =\r\n this.toDate == null\r\n ? format(this.todayDate, \"YYYY-MM-DD\")\r\n : format(this.toDate, \"YYYY-MM-DD\");\r\n this.startdate = this.toDate;\r\n this.enddate = this.toDate;\r\n this.filterModel = new FilterModel();\r\n this.VitalgraphMOdel = new VitalgraphMOdel();\r\n //initialize filter model\r\n this.filterModel = new FilterModel();\r\n this.viewmode = \"Today\";\r\n this.subscription = this.commonService.currentLoginUserInfo.subscribe(\r\n (user: any) => {\r\n if (user) {\r\n this.clientId = user.id;\r\n //this.getUserPermissions();\r\n //call listing method\r\n // this.getVitalList(this.filterModel, \"grid\");\r\n //this.vitalgraphinfo();\r\n }\r\n }\r\n );\r\n //this.getUserPermissions();\r\n this.getcompany()\r\n }\r\n selectedCompanyName: number;\r\n selectedCompanyId: number | null = null; // Holds selected company ID\r\nselectedPatientId: number | null = null; // Holds selected patient ID\r\n getcompany() {\r\n\r\n this.schedulerService.getAllCompaniesdata().subscribe((response: any) => {\r\n if (response.statusCode !== 200) {\r\n (this.Comapnies = []);\r\n } else {\r\n this.Comapnies = response.data || [];\r\n this.AvailableCompanies = this.Comapnies\r\n }\r\n });\r\n }\r\n\r\n onCompanySelectionChange(companyId: number) {\r\n this.selectedCompanyId = companyId;\r\n\r\n this.schedulerService.getPatientBycompanyId(companyId).subscribe((response: any) => {\r\n // console.log(\"patients\", response);\r\n if (response.statusCode !== 200) {\r\n this.patient = [];\r\n } else {\r\n this.patient = response.data || [];\r\n this.AvailableCareGiver = this.patient;\r\n }\r\n });\r\n }\r\n PatientLast: any\r\n PatientFirstname: any\r\n onPatientSelectionChange(selectedPatient: any) {\r\n\r\n // console.log(\"Selected Patient:\", selectedPatient);\r\n this.selectedPatientId = selectedPatient.patientId; // Save selected patient ID\r\n this.patientId = selectedPatient.patientId;\r\n this.PatientFirstname = selectedPatient.firstName\r\n this.PatientLast = selectedPatient.lastName\r\n\r\n }\r\n getPatientById() {\r\n this.schedulerService.getPatientBycompanyId(4).subscribe((response: any) => {\r\n // console.log(\"patients\", response);\r\n if (response.statusCode !== 200) {\r\n (this.patient = []);\r\n } else {\r\n this.patient = response.data || [];\r\n }\r\n\r\n });\r\n }\r\n applyFilterCompanies(inputValue) {\r\n\r\n //this.caregiverAData = this.nonfilterdataCaregiver;\r\n this.AvailableCompanies = this.Comapnies.filter(function (el: any) {\r\n return el.companyName.toString().toLowerCase().includes(\r\n inputValue.toString().trim().toLowerCase()\r\n )\r\n });\r\n }\r\n\r\n applyFilterCaregiver(inputValue) {\r\n //this is the method for the searching with firstname and lastname but without spaces\r\n // return (el.firstName.toString().trim().toLowerCase()+el.lastName.toString().trim().toLowerCase()).includes(\r\n // inputValue.toString().trim().toLowerCase()\r\n // )\r\n //this.caregiverAData = this.nonfilterdataCaregiver;\r\n this.AvailableCareGiver = this.patient.filter(function (el: any) {\r\n return el.firstName.toString().toLowerCase().includes(\r\n inputValue.toString().trim().toLowerCase()\r\n )\r\n });\r\n }\r\n \r\n // Action when search button is clicked\r\n search() {\r\n const selectedCompany = this.selectedCompanyId;\r\n const selectedPatient = this.selectedPatientId;\r\n\r\n this.getVitalList(this.filterModel, \"grid\");\r\n \r\n // Perform your logic here, such as calling an API with selectedCompany and selectedPatient\r\n console.log('Company ID:', selectedCompany);\r\n console.log('Patient ID:', selectedPatient);\r\n }\r\n\r\n dropdownlisting(type: any) { }\r\n toggleYear() {\r\n this.loading = true;\r\n this.isDayActive = false;\r\n this.isKeyWeekActive = false;\r\n this.isKeyActive = false;\r\n this.isKeyYearActive = true;\r\n var date = new Date(),\r\n y = date.getFullYear(),\r\n m = date.getMonth(),\r\n d = date.getDate();\r\n var firstDay = new Date(y, m, d);\r\n var lastDay = new Date(y - 1, m + 1, d);\r\n this.startdate = format(lastDay, \"YYYY-MM-DD\");\r\n this.enddate = format(firstDay, \"YYYY-MM-DD\");\r\n this.key = \"Year\";\r\n this.keyinitial = \"\";\r\n this.vitalgraphinfo();\r\n }\r\n togglekey() {\r\n this.loading = true;\r\n this.isDayActive = false;\r\n this.isKeyWeekActive = false;\r\n this.isKeyYearActive = false;\r\n this.isKeyActive = true;\r\n // var date = new Date(),\r\n // y = date.getFullYear(),\r\n // m = date.getMonth();\r\n // var firstDay = new Date(y, m, 1);\r\n // var lastDay = new Date(y, m + 1, 0);\r\n var currentDate = new Date(); // Get the current date\r\n var thirtyDaysAgo = new Date(currentDate);\r\n thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 28);\r\n this.startdate = format(thirtyDaysAgo, \"YYYY-MM-DD\");\r\n this.enddate = format(currentDate, \"YYYY-MM-DD\");\r\n this.key = \"Month\";\r\n //this.keyinitial = \".\" + format(thirtyDaysAgo, \"MM\");\r\n this.vitalgraphinfo();\r\n }\r\n togglekeyweek() {\r\n this.loading = true;\r\n this.isDayActive = false;\r\n this.isKeyWeekActive = true;\r\n this.isKeyActive = false;\r\n this.isKeyYearActive = false;\r\n const today = new Date();\r\n // // ✅ Get the first day of the current week (Sunday)\r\n // const firstDay = new Date(today.setDate(today.getDate() - today.getDay()));\r\n // // ✅ Get the last day of the current week (Saturday)\r\n // const lastDay = new Date(\r\n // today.setDate(today.getDay()-today.getDay() + 6)\r\n // );\r\n //Last 7 days data\r\n const lastday = today;\r\n const SevenDayBefore = new Date(today);\r\n SevenDayBefore.setDate(today.getDate() - 6);\r\n this.startdate = format(SevenDayBefore, \"YYYY-MM-DD\");\r\n this.enddate = format(lastday, \"YYYY-MM-DD\");\r\n this.key = \"Week\";\r\n this.keyinitial = \".\" + format(SevenDayBefore, \"MM\");\r\n this.vitalgraphinfo();\r\n }\r\n toggleday() {\r\n this.loading = true;\r\n this.isDayActive = true;\r\n this.isKeyWeekActive = false;\r\n this.isKeyYearActive = false;\r\n this.isKeyActive = false;\r\n this.key = \"Day\";\r\n this.keyinitial = \"hr\";\r\n this.toDate =\r\n this.toDate == null\r\n ? format(this.todayDate, \"YYYY-MM-DD\")\r\n : format(this.toDate, \"YYYY-MM-DD\");\r\n this.startdate = format(this.todayDate, \"YYYY-MM-DD\") //this.toDate;\r\n this.enddate = format(this.todayDate, \"YYYY-MM-DD\") //this.toDate;\r\n //this.Demovitalgraphinfo();\r\n this.vitalgraphinfo();\r\n }\r\n Demovitalgraphinfo() {\r\n var demovitalgraph = [];\r\n this.VitalgraphMOdel.FromDate = this.startdate;\r\n this.VitalgraphMOdel.ToDate = this.enddate;\r\n this.VitalgraphMOdel.PatientId = this.clientId;\r\n this.VitalgraphMOdel.VitalName = \"HeartRate\";\r\n this.VitalgraphMOdel.Key = this.key;\r\n\r\n this.clientsService\r\n .deomoGetvitalsdetails(this.VitalgraphMOdel)\r\n .subscribe((res: any) => {\r\n demovitalgraph.push(res.data.vitalData); \r\n });\r\n this.isGrid = false;\r\n var interval = setInterval(() => {\r\n if (\r\n demovitalgraph.length != 0\r\n ) {\r\n\r\n clearInterval(interval); \r\n }\r\n }, 200);\r\n\r\n this.vitalgraphinfo();\r\n }\r\n\r\n vitalgraphinfo() {\r\n this.loading=true\r\n var vitalgraph = [];\r\n var a = [];\r\n var b = [];\r\n var c = [];\r\n var d = [];\r\n var e = [];\r\n var f = [];\r\n var g = [];\r\n var h = [];\r\n var sleep = [];\r\n var demovitalgraph = [];\r\n this.VitalgraphMOdel.FromDate = this.startdate;\r\n this.VitalgraphMOdel.ToDate = this.enddate;\r\n this.VitalgraphMOdel.PatientId = this.selectedPatientId; \r\n this.VitalgraphMOdel.Key = this.key;\r\n // this.VitalgraphMOdel.VitalName = \"HeartRate\";\r\n // this.clientsService\r\n // .getvitalsdetails(this.VitalgraphMOdel)\r\n // .subscribe((data: any) => {\r\n // vitalgraph.push(data.data.vitalsModelData);\r\n // });\r\n this.VitalgraphMOdel.VitalName = \"BPDiastolic\";\r\n this.clientsService\r\n .getvitalsdetails(this.VitalgraphMOdel)\r\n .subscribe((data: any) => {\r\n a.push(data.data.vitalsModelData);\r\n });\r\n this.VitalgraphMOdel.VitalName = \"BPSystolic\";\r\n this.clientsService\r\n .getvitalsdetails(this.VitalgraphMOdel)\r\n .subscribe((data: any) => {\r\n b.push(data.data.vitalsModelData);\r\n });\r\n this.VitalgraphMOdel.VitalName = \"Calories\";\r\n this.clientsService\r\n .getvitalsdetails(this.VitalgraphMOdel)\r\n .subscribe((data: any) => {\r\n c.push(data.data.vitalsModelData);\r\n });\r\n this.VitalgraphMOdel.VitalName = \"Steps\";\r\n this.clientsService\r\n .getvitalsdetails(this.VitalgraphMOdel)\r\n .subscribe((data: any) => {\r\n d.push(data.data.vitalsModelData);\r\n });\r\n this.VitalgraphMOdel.VitalName = \"Stress\";\r\n this.clientsService\r\n .getvitalsdetails(this.VitalgraphMOdel)\r\n .subscribe((data: any) => {\r\n e.push(data.data.vitalsModelData);\r\n });\r\n this.VitalgraphMOdel.VitalName = \"SPo2\";\r\n this.clientsService\r\n .getvitalsdetails(this.VitalgraphMOdel)\r\n .subscribe((data: any) => {\r\n f.push(data.data.vitalsModelData);\r\n });\r\n this.VitalgraphMOdel.VitalName = \"ECG\";\r\n this.clientsService\r\n .getvitalsdetails(this.VitalgraphMOdel)\r\n .subscribe((data: any) => {\r\n g.push(data.data.vitalsModelData);\r\n });\r\n this.VitalgraphMOdel.VitalName = \"BloodGlucose\";\r\n this.clientsService\r\n .getvitalsdetails(this.VitalgraphMOdel)\r\n .subscribe((data: any) => {\r\n h.push(data.data.vitalsModelData); \r\n });\r\n \r\n this.VitalgraphMOdel.VitalName = \"\";\r\n this.clientsService\r\n .getVitalSleepsDetails(this.VitalgraphMOdel)\r\n .subscribe((res: any) => {\r\n sleep.push(res.data); \r\n }); \r\n \r\n this.VitalgraphMOdel.VitalName = \"HeartRate\";\r\n this.clientsService\r\n .deomoGetvitalsdetails(this.VitalgraphMOdel)\r\n .subscribe((res: any) => {\r\n if(this.VitalgraphMOdel.Key == 'Day'){\r\n demovitalgraph.push(res.data.vitalData); \r\n }else{\r\n demovitalgraph.push(res.data.vitalsModelData); \r\n } \r\n });\r\n\r\n this.isGrid = false;\r\n var interval = setInterval(() => {\r\n if ( \r\n a.length != 0 &&\r\n b.length != 0 &&\r\n c.length != 0 &&\r\n d.length != 0 &&\r\n e.length != 0 &&\r\n f.length != 0 &&\r\n g.length != 0 &&\r\n h.length != 0 &&\r\n sleep.length!=0 &&\r\n demovitalgraph.length!=0\r\n ) {\r\n clearInterval(interval);\r\n if (this.VitalgraphMOdel.Key == 'Week') {\r\n const today = new Date();\r\n const lastday = today;\r\n const SevenDayBefore = new Date(today);\r\n SevenDayBefore.setDate(today.getDate() - 6);\r\n this.startD = SevenDayBefore;\r\n this.lastD = lastday;\r\n this.lineChartLabelsss = a[0].map(\r\n ({ monthdate }) => {\r\n if (this.startD <= this.lastD) {\r\n this.keyinitial = \".\" + format(this.startD, \"MM\");\r\n this.startD.setDate(this.startD.getDate() + 1);\r\n return monthdate + this.keyinitial;\r\n }\r\n });\r\n this.heartLineChartLabelsss=this.lineChartLabelsss;\r\n\r\n } else if (this.VitalgraphMOdel.Key == 'Year') {\r\n this.lineChartLabelsss = a[0].map(\r\n ({ dateNameString }) =>\r\n {\r\n dateNameString.substring(0,3);\r\n return dateNameString;\r\n }\r\n );\r\n this.heartLineChartLabelsss=this.lineChartLabelsss;\r\n }\r\n else if (this.VitalgraphMOdel.Key == 'Month') {\r\n var currentDate = new Date(); // Get the current date\r\n var thirtyDaysAgo = new Date(currentDate);\r\n thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);\r\n\r\n this.lineChartLabelsss = a[0].map(\r\n ({ monthdate }) => {\r\n if (thirtyDaysAgo <= currentDate) {\r\n this.keyinitial = \".\" + format(thirtyDaysAgo, \"MM\");\r\n thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() + 1);\r\n return monthdate + this.keyinitial;\r\n }\r\n });\r\n this.heartLineChartLabelsss=this.lineChartLabelsss;\r\n }\r\n else {\r\n this.lineChartLabelsss = a[0].map(\r\n ({ monthdate }) => monthdate + this.keyinitial\r\n );\r\n if(demovitalgraph[0]!=null){\r\n this.heartLineChartLabelsss = demovitalgraph[0].map(\r\n ({ dateTime }) => {\r\n dateTime = this.datePipe.transform(dateTime, \"hh:mm\")\r\n return dateTime;\r\n }\r\n ); \r\n \r\n }\r\n else{\r\n this.loading = false;\r\n }\r\n }\r\n \r\n \r\n this.lineChartDatass = [ \r\n {\r\n data: a[0].map(({ vitalValues }) => vitalValues),\r\n label: \"Diastolic BP\",\r\n borderColor: 'green',\r\n fill: true \r\n },\r\n {\r\n data: b[0].map(({ bpDiastolic }) => bpDiastolic),\r\n label: \"Systolic BP\",\r\n },\r\n {\r\n data: c[0].map(({ vitalValues }) => vitalValues),\r\n label: \"Calories\",\r\n },\r\n {\r\n data: d[0].map(({ vitalValues }) => vitalValues),\r\n label: \"Steps\",\r\n },\r\n {\r\n data: e[0].map(({ vitalValues }) => vitalValues),\r\n label: \"Stress\",\r\n },\r\n {\r\n data: f[0].map(({ vitalValues }) => vitalValues),\r\n label: \"SPo2\",\r\n },\r\n {\r\n data: g[0].map(({ vitalValues }) => vitalValues),\r\n label: \"ECG\",\r\n },\r\n {\r\n data: h[0].map(({ vitalValues }) => vitalValues),\r\n label: \"Blood Glucose\",\r\n },\r\n {\r\n data: sleep[0].map(({ totalSleepTime }) => totalSleepTime),\r\n label: \"Sleep\",\r\n }, \r\n ];\r\n if(this.VitalgraphMOdel.Key != 'Day'){\r\n this.heartLineChartDatass = [ \r\n {\r\n data:demovitalgraph[0].map(({ vitalValues }) => vitalValues),\r\n label: \"HeartRate\",\r\n }, \r\n ];\r\n }else{\r\n this.heartLineChartDatass = [ \r\n {\r\n data:demovitalgraph[0].map(({ vitalValue }) => vitalValue),\r\n label: \"HeartRate\",\r\n }, \r\n ]; \r\n } \r\n // console.log(\"this.heartLineChartDatass\",this.heartLineChartDatass);\r\n // console.log(\"this.heartLineChartLabelsss\", this.heartLineChartLabelsss,this.lineChartLabelsss);\r\n \r\n }\r\n }, 200);\r\n this.loading = false;\r\n }\r\n\r\n\r\n\r\n parseTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n getStartEndTime(obj: any) {\r\n let splitdate = obj.createdDate.split(\".\");\r\n let startDate: Date = new Date(splitdate[0]);\r\n let slotStartHr = startDate.getHours(),\r\n slotStartMin = startDate.getMinutes(),\r\n startTime = this.parseTime(slotStartHr + \":\" + slotStartMin);\r\n\r\n return { startTime: startTime };\r\n }\r\n //listing of vitals\r\n getVitalList(filterModel, type: string = \"\") {\r\n this.loading = true;\r\n // if(type == \"chart\")\r\n // {\r\n // this.vitalsChartData=[];\r\n // this.lineChartLabels=[];\r\n // }\r\n if (type == \"grid\") {\r\n if (!this.filterModel.pageSize) {\r\n this.filterModel.pageSize = filterModel.pageSize;\r\n }//This will be a fixed valeu as we need all the parameters\r\n } else {\r\n this.isGrid = type == 'grid' ? true : false;\r\n if (!this.filterModel.pageSize) {\r\n this.filterModel.pageSize = 10;\r\n }//This will be changed later\r\n }\r\n this.vitalListingData = [];\r\n this.clientsService\r\n .getVitalList(this.selectedPatientId, this.filterModel)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.toDate =\r\n this.toDate == null\r\n ? format(this.todayDate, \"DD-MM-YYYY\")\r\n : format(this.toDate, \"DD-MM-YYYY\");\r\n // if (response.data.vitalDate == this.toDate) {\r\n // this.vitalListingData = response.data;\r\n // console.log(\"vital data\",this.vitalListingData)\r\n // }\r\n this.vitalListingData = response.data;\r\n let datalisting = response.data;\r\n this.vitalListingData = (response.data || []).map((obj: any) => {\r\n obj.vitalDate = obj.vitalDate;\r\n obj.vitalDate = obj.vitalDate\r\n ? format(obj.vitalDate, \"DD-MM-YYYY hh:mm:ss a\")\r\n : \"-\";\r\n\r\n // obj.displayheight = obj.heightIn\r\n // ? this.convertInches(obj.heightIn)\r\n // : \"-\";\r\n obj.displayBP =\r\n obj.bpDiastolic && obj.bpSystolic\r\n ? this.convertBP(obj.bpSystolic, obj.bpDiastolic)\r\n : \"-\";\r\n obj.heartRate = obj.heartRate || \"-\";\r\n obj.calories = obj.calories || \"-\";\r\n //obj.bmi = obj.bmi || \"-\";\r\n obj.steps = obj.steps || \"-\";\r\n obj.stress = obj.stress || \"-\";\r\n obj.spo2 = obj.spo2 || \"-\";\r\n obj.ecg = obj.ecg || \"-\";\r\n obj.bloodGlucose = obj.bloodGlucose || \"-\";\r\n return obj;\r\n });\r\n\r\n this.isGrid = type == \"grid\" ? true : false;\r\n if (type == \"chart\") {\r\n this.vitalListingData = [];\r\n for (var i = 0; i < datalisting.length; i++) {\r\n if (\r\n format(datalisting[i].vitalDate, \"YYYY-MM-DD\") == this.toDate\r\n ) {\r\n this.vitalListingData.push(datalisting[i]);\r\n //console.log(\"vital data\", this.vitalListingData)\r\n } else if (\r\n format(datalisting[i].vitalDate, \"YYYY-MM-DD\") != this.toDate\r\n ) {\r\n if (\r\n format(datalisting[i].vitalDate, \"YYYY-MM-DD\") ==\r\n format(datalisting[0].vitalDate, \"YYYY-MM-DD\")\r\n ) {\r\n this.vitalListingData.push(datalisting[i]);\r\n //console.log(\"vital data\", this.vitalListingData)\r\n }\r\n }\r\n }\r\n\r\n //console.log(\"v:\", this.vitalListingData);\r\n //this.vitalListingData = response.data != null ? response.data : {};\r\n if (this.vitalListingData.length > 0) {\r\n this.lineChartLabels = this.vitalListingData.map(\r\n ({ vitalDate }) => format(vitalDate, \"hh:mm a\")\r\n );\r\n this.lineChartData = [\r\n {\r\n data: this.vitalListingData.map(({ heartRate }) => heartRate),\r\n label: \"Heart Rate\",\r\n },\r\n {\r\n data: this.vitalListingData.map(\r\n ({ bpDiastolic }) => bpDiastolic\r\n ),\r\n label: \"Diastolic BP\",\r\n },\r\n {\r\n data: this.vitalListingData.map(\r\n ({ bpSystolic }) => bpSystolic\r\n ),\r\n label: \"Systolic BP\",\r\n },\r\n {\r\n data: this.vitalListingData.map(({ calories }) => calories),\r\n label: \"Calories\",\r\n },\r\n {\r\n data: this.vitalListingData.map(({ steps }) => steps),\r\n label: \"Steps\",\r\n },\r\n {\r\n data: this.vitalListingData.map(({ stress }) => stress),\r\n label: \"Stress\",\r\n },\r\n {\r\n data: this.vitalListingData.map(({ spo2 }) => spo2),\r\n label: \"Spo2\",\r\n },\r\n {\r\n data: this.vitalListingData.map(({ ecg }) => ecg),\r\n label: \"ECG\",\r\n },\r\n {\r\n data: this.vitalListingData.map(\r\n ({ bloodGlucose }) => bloodGlucose\r\n ),\r\n label: \"Blood Glucose\",\r\n },\r\n ];\r\n }\r\n }\r\n this.metaData = response.meta;\r\n } else {\r\n this.vitalListingData = [];\r\n this.metaData = {};\r\n this.loading = false;\r\n }\r\n this.metaData.pageSizeOptions = [5, 10, 25, 50, 100];\r\n }, error => {\r\n this.loading = false;\r\n this.notifier.notify(\"error\", error.toString());\r\n }, () => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n toggleView(value: string = \"\") {\r\n if (value == \"grid\") {\r\n this.filterModel.pageSize = 5; //This will be a fixed valeu as we need all the parameters\r\n this.getVitalList(this.filterModel, \"grid\");\r\n } else {\r\n // this.filterModel.pageSize = 10; //This will be changed later\r\n // this.getVitalList(this.filterModel, \"chart\");\r\n this.toggleday();\r\n //this.vitalgraphinfo();\r\n }\r\n }\r\n\r\n //page load and sorting\r\n onPageOrSortChange(changeState?: any) {\r\n this.setPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order,\r\n this.filterModel.searchText\r\n );\r\n this.filterModel.pageNumber = changeState.pageNumber;\r\n this, this.filterModel.pageSize = changeState.pageSize;\r\n this.getVitalList(this.filterModel, \"grid\");\r\n }\r\n\r\n //table action\r\n onTableActionClick(actionObj?: any) {\r\n const id = actionObj.data && actionObj.data.id;\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"EDIT\":\r\n this.openDialog(id);\r\n break;\r\n case \"DELETE\":\r\n this.deleteDetails(id);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n //open popup\r\n openDialog(id: number) {\r\n if (id != null && id > 0) {\r\n this.clientsService.getVitalById(id).subscribe((response: any) => {\r\n if (response != null && response.data != null) {\r\n this.vitalData = response.data;\r\n this.createModel(this.vitalData);\r\n }\r\n });\r\n } else {\r\n this.vitalData = new VitalModel();\r\n // this.vitalData.vitalDate = new Date();\r\n this.createModel(this.vitalData);\r\n }\r\n }\r\n\r\n //create modal\r\n createModel(vitalData: VitalModel) {\r\n vitalData.patientID = this.clientId;\r\n const modalPopup = this.activityModal.open(VitalModelComponent, {\r\n hasBackdrop: true,\r\n data: { vital: vitalData, refreshGrid: this.refreshGrid.bind(this) },\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result === \"save\") {\r\n this.getVitalList(\r\n this.filterModel,\r\n this.isGrid == true ? \"grid\" : \"chart\"\r\n );\r\n }\r\n });\r\n }\r\n refreshGrid() {\r\n this.getVitalList(this.filterModel, this.isGrid == true ? \"grid\" : \"chart\");\r\n }\r\n\r\n deleteDetails(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this vital?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientsService.deleteVital(id).subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getVitalList(this.filterModel, \"grid\");\r\n } else if (response.statusCode === 401) {\r\n this.notifier.notify(\"warning\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string,\r\n searchText: string\r\n ) {\r\n this.filterModel.pageNumber = pageNumber;\r\n this.filterModel.pageSize = pageSize;\r\n this.filterModel.sortOrder = sortOrder;\r\n this.filterModel.sortColumn = sortColumn;\r\n this.filterModel.searchText = searchText;\r\n }\r\n\r\n convertInches(inches) {\r\n try {\r\n if (inches && inches > 0) {\r\n let feetFromInches = Math.floor(inches / 12); //There are 12 inches in a foot\r\n let inchesRemainder = inches % 12;\r\n let result = feetFromInches + \"'\" + inchesRemainder + '\"';\r\n return result;\r\n } else {\r\n return \"0\";\r\n }\r\n } catch (error) {\r\n return \"0\";\r\n }\r\n }\r\n convertBP(D, S) {\r\n try {\r\n let systolic = \"0\";\r\n let diastolic = \"0\";\r\n if (D && D > 0) {\r\n diastolic = D;\r\n }\r\n if (S && S > 0) {\r\n systolic = S;\r\n }\r\n return S + \"/\" + D;\r\n } catch (error) {\r\n return \"0/0\";\r\n }\r\n }\r\n\r\n // getUserPermissions() {\r\n // const actionPermissions = this.clientsService.getUserScreenActionPermissions(\r\n // \"CLIENT\",\r\n // \"CLIENT_VITALS_LIST\"\r\n // );\r\n // const {\r\n // CLIENT_VITALS_LIST_ADD,\r\n // CLIENT_VITALS_LIST_UPDATE,\r\n // CLIENT_VITALS_LIST_DELETE\r\n // } = actionPermissions;\r\n // if (!CLIENT_VITALS_LIST_UPDATE) {\r\n // let spliceIndex = this.actionButtons.findIndex(obj => obj.key == \"edit\");\r\n // this.actionButtons.splice(spliceIndex, 1);\r\n // }\r\n // if (!CLIENT_VITALS_LIST_DELETE) {\r\n // let spliceIndex = this.actionButtons.findIndex(\r\n // obj => obj.key == \"delete\"\r\n // );\r\n // this.actionButtons.splice(spliceIndex, 1);\r\n // }\r\n\r\n // this.addPermission = CLIENT_VITALS_LIST_ADD || false;\r\n // }\r\n}\r\n","import { Injectable, Injector } from \"@angular/core\";\r\nimport {\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHandler,\r\n HttpRequest,\r\n HttpErrorResponse\r\n} from \"@angular/common/http\";\r\nimport { Observable, of, throwError } from \"rxjs\";\r\nimport { Router } from \"@angular/router\";\r\nimport { catchError } from \"rxjs/operators\";\r\nimport { CommonService } from \"../services\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\n\r\n@Injectable()\r\nexport class HttpTokenInterceptor implements HttpInterceptor {\r\n constructor(\r\n private router: Router,\r\n private commonservice:CommonService,\r\n private snackBar: MatSnackBar,\r\n ) {}\r\n // private handleAuthError(err: HttpErrorResponse): Observable {\r\n // if (err.status === 401 || err.status === 403) {\r\n // // Show the notification message\r\n // this.snackBar.open('You are logged into another device, logging out from this device.', '', {\r\n // duration: 20000, // Show the message for 5 seconds\r\n // verticalPosition: 'top', // Adjust position (top, bottom, etc.)\r\n // horizontalPosition: 'center' // Adjust position (start, center, end, etc.)\r\n // });\r\n\r\n // // Perform logout actions\r\n // this.commonservice.logout();\r\n \r\n // // Optionally, navigate to login or clear storage, etc.\r\n // // this.router.navigateByUrl(`/login`);\r\n // // window.location.href = '/login';\r\n \r\n // return of(err.message); // Return observable to prevent further handling\r\n // }\r\n\r\n // return throwError(err);\r\n // }\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n let additionalHeaders;\r\n\r\n try {\r\n additionalHeaders = req.headers.get(\"additionalHeaders\") || \"\";\r\n } catch (error) {\r\n additionalHeaders = \"\";\r\n }\r\n const headerJson =\r\n (additionalHeaders && JSON.parse(additionalHeaders)) || {};\r\n // console.log(headerJson)\r\n const headersConfig = {\r\n // \"Content-Type\": \"application/json\",\r\n // Accept: \"application/json\",\r\n // ...headerJson\r\n };\r\n\r\n if (localStorage.getItem(\"access_token\")) {\r\n const token = JSON.parse(localStorage.getItem(\"access_token\"));\r\n headersConfig[\"Authorization\"] = `Bearer ${token}`;\r\n }\r\n\r\n const request = req.clone({ setHeaders: headersConfig });\r\n return next.handle(request)\r\n //return next.handle(request).pipe(catchError(x => this.handleAuthError(x)));\r\n }\r\n}\r\n","export * from './http.token.interceptor';\r\n","import { int } from \"aws-sdk/clients/datapipeline\";\r\n\r\nexport class FilterModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 5;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n}\r\nexport class MediaFilterModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 10;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n StartWith: string = '';\r\n CourseType: string = '';\r\n CategoryType: string = '';\r\n MonthId: int;\r\n Year: string = \"\";\r\n ModuleId: int;\r\n CourseId: int;\r\n}\r\n\r\nexport class TrainingFilterModel {\r\n PlanType: string = \"\";\r\n CourseName: string = \"\";\r\n ModuleId: int;\r\n MonthId: int;\r\n PatientId: int;\r\n}\r\nexport class ReportModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 10;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n}\r\n\r\n\r\nexport class ResponseModel {\r\n data: any = [];\r\n statusCode: number;\r\n message: string = \"\";\r\n appError: string = \"\";\r\n meta: Metadata;\r\n timeInterval: any;\r\n}\r\nexport class Metadata {\r\n totalRecords: number;\r\n currentPage: number;\r\n pageSize: number;\r\n defaultPageSize: number;\r\n totalPages: number;\r\n pageSizeOptions: number[] = [];\r\n}\r\n\r\nexport class ProviderListFilterModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 100;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n}\r\n\r\nexport class ProviderSearchFilterModel extends ProviderListFilterModel {\r\n Date: string;\r\n Locations: string;\r\n Taxonomies: string;\r\n // Genders: string;\r\n Gender: string;\r\n Specialities: string;\r\n Services: string;\r\n Rates: string;\r\n\r\n MinRate: string;\r\n\r\n ReviewRating: string;\r\n SortType: string;\r\n ProvidersearchText: string;\r\n ProviderId: string;\r\n keywords: string;\r\n}\r\nexport class PaymentFilterModel extends FilterModel {\r\n AppDate: string = \"\";\r\n PayDate: string = \"\";\r\n PatientName: string = \"\";\r\n StaffName: string = \"\";\r\n Status: string = \"\";\r\n AppointmentType: string = \"\";\r\n RangeStartDate: string = \"\";\r\n RangeEndDate: string = \"\";\r\n\r\n}\r\nexport class RefundFilterModel extends FilterModel {\r\n AppDate: string = \"\";\r\n RefundDate: string = \"\";\r\n PatientName: string = \"\";\r\n StaffName: string = \"\";\r\n}\r\n\r\n\r\nexport class StaffBasicDetailModel {\r\n providerBasicInfoModel: ProviderBasicInfoModel;\r\n staffSpecialityModel: Array = [];\r\n}\r\n\r\nexport class ProviderBasicInfoModel {\r\n staffId: number;\r\n name: string;\r\n photoThumbnailPath: string\r\n photoPath: string;\r\n gender: string;\r\n payRate: number;\r\n urgentCarePayRate: number;\r\n ratingCount: number;\r\n averageRating: number;\r\n}\r\nexport class StaffSpecialityModel {\r\n id: number;\r\n staffId: number;\r\n specialityId: number;\r\n speciality: string;\r\n isDeleted: boolean;\r\n}\r\nexport class FilterMemberShipModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 5;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n companyId: number = 0;\r\n}\r\n\r\nexport class VitalgraphMOdel {\r\n FromDate: string;\r\n ToDate: string;\r\n VitalName: string;\r\n PatientId: number = 0;\r\n Key: string;\r\n}\r\nexport class FilterVideoModel {\r\n pageNumber: number = 1;\r\n pageSize: number = 5;\r\n sortColumn: string = \"\";\r\n sortOrder: string = \"\";\r\n searchText: string = \"\";\r\n companyId: number = 0;\r\n PatientId: number = 0;\r\n\r\n}\r\nexport class CompleteAppointmentModel {\r\n staffId: number = 0;\r\n roleName: string = \"\";\r\n pageNumber: number = 1;\r\n pageSize: number = 5;\r\n}","import { NotificationsModel } from \"../../../../shared/models\";\r\n\r\nexport interface LoginUser {\r\n access_token: string;\r\n appConfigurations?: Array;\r\n data: any;\r\n expires_in: number;\r\n firstTimeLogin: boolean;\r\n notifications?: NotificationsModel;\r\n passwordExpiryStatus?: any;\r\n statusCode: number;\r\n userLocations?: Array;\r\n userPermission?: any;\r\n patientData?: any;\r\n patientInformation?: any;\r\n}\r\n\r\nexport class ProfileSetupModel {\r\n isProfileSetup: number = 0;\r\n basicProfile: number = 0;\r\n staffAvailability: number = 0;\r\n staffExperiences: number = 0;\r\n staffQualifications: number = 0;\r\n staffAwards: number = 0;\r\n staffTaxonomies: number = 0;\r\n staffLocation: number = 0;\r\n staffServices: number = 0;\r\n staffSpecialities: number = 0;\r\n}\r\n\r\nexport class LoggedInUserModel{\r\n roleId:number;\r\n staffId:number;\r\n userType: string;\r\n}\r\n"," import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { BehaviorSubject, ReplaySubject, Observable, Subject } from \"rxjs\";\r\nimport { distinctUntilChanged, map } from \"rxjs/operators\";\r\nimport { LoginUser, ProfileSetupModel } from \"../modals/loginUser.modal\";\r\nimport { environment } from \"../../../../../environments/environment\";\r\nimport base64 from \"base-64\";\r\nimport utf8 from \"utf8\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { Route } from \"aws-sdk/clients/eventbridge\";\r\n\r\n\r\n\r\n@Injectable()\r\nexport class CommonService {\r\n\r\n private router: Router;\r\n private videoSessionStartedSubject = new BehaviorSubject({\r\n IsStarted: false,\r\n });\r\n public videoSessionStarted = this.videoSessionStartedSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n private SytemInfoSubject = new BehaviorSubject({});\r\n public sytemInfo = this.SytemInfoSubject.asObservable().pipe(\r\n distinctUntilChanged()\r\n );\r\n\r\n public loginUserSubject = new BehaviorSubject({} as LoginUser);\r\n public loginUser = this.loginUserSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n // public currentUserSubject = new BehaviorSubject({} as object);\r\n // public currentUser = this.currentUserSubject\r\n // .asObservable()\r\n // .pipe(distinctUntilChanged());\r\n\r\n public currentLoginUserInfoSubject = new BehaviorSubject(null);\r\n public currentLoginUserInfo = this.currentLoginUserInfoSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n public loginSecuritySubject = new BehaviorSubject({} as object);\r\n public loginSecurity = this.loginSecuritySubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n private isAuthenticatedSubject = new ReplaySubject(1);\r\n public isAuthenticated = this.isAuthenticatedSubject.asObservable();\r\n private isPatientSubject = new BehaviorSubject(false);\r\n public isPatient = this.isPatientSubject.asObservable();\r\n\r\n private userRoleSubject = new BehaviorSubject(\"\");\r\n public userRole = this.userRoleSubject.asObservable();\r\n\r\n public loadingStateSubject = new Subject();\r\n public loadingState = this.loadingStateSubject.asObservable();\r\n private checkStaffProfile = \"Staffs/CheckStaffProfile?id=\";\r\n\r\n private getProviderBasicDeatilsURL = \"Staffs/GetProviderBasicDeatils\";\r\n\r\n // for update the client side navigations ...\r\n private updateClientNavigationSubject = new BehaviorSubject({} as any);\r\n public updateClientNavigation = this.updateClientNavigationSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n private _isProfileComplete = new BehaviorSubject(\r\n {} as ProfileSetupModel\r\n );\r\n isProfileComplete = this._isProfileComplete.asObservable();\r\n\r\n constructor(private http: HttpClient,private routers:Router) {\r\n SystemIpAddress.then((value) => {\r\n this.SytemInfoSubject.next({ ipAddress: value });\r\n }).catch((e) => console.error(e));\r\n }\r\n setIsProfileComplete(data) {\r\n this._isProfileComplete.next(data);\r\n }\r\n\r\n videoSession(isStarted: boolean) {\r\n if (!isStarted) localStorage.removeItem(\"otSession\");\r\n this.videoSessionStartedSubject.next({ IsStarted: isStarted });\r\n }\r\n getFullName(firstName: string, middleName: string, lastName: string) {\r\n return middleName != \"\"\r\n ? lastName != \"\"\r\n ? firstName + \" \" + middleName + \" \" + lastName\r\n : firstName + \" \" + middleName\r\n : firstName + \" \" + lastName;\r\n }\r\n initializeAuthData() {\r\n if (localStorage.getItem(\"access_token\")) {\r\n return this.http\r\n .get(`${environment.api_url}/GetUserByToken`)\r\n .subscribe((response) => {\r\n // login successful if there's a jwt token in the response\r\n if (response && response.access_token) {\r\n this.setAuth(response);\r\n } else {\r\n this.purgeAuth();\r\n }\r\n return response;\r\n });\r\n }\r\n }\r\n\r\n isValidFileType(fileName, fileType): boolean {\r\n // Create an object for all extension lists\r\n let extentionLists = { video: [], image: [], pdf: [], excel: [], xml: [] };\r\n let isValidType = false;\r\n extentionLists.video = [\"m4v\", \"avi\", \"mpg\", \"mp4\", \"wmv\"];\r\n extentionLists.image = [\"jpg\", \"jpeg\", \"bmp\", \"png\", \"ico\", \"wmf\", \"tif\", \"tiff\"];\r\n extentionLists.pdf = [\"pdf\"];\r\n extentionLists.excel = [\"excel\"];\r\n extentionLists.xml = [\"xml\"];\r\n //get the extension of the selected file.\r\n let fileExtension = fileName.split(\".\").pop().toLowerCase();\r\n isValidType = extentionLists[fileType].indexOf(fileExtension) > -1;\r\n return isValidType;\r\n }\r\n logout() {\r\n // remove user from local storage to log user out\r\n //sessionStorage.clear()\r\n sessionStorage.removeItem(\"patientId\")\r\n sessionStorage.removeItem(\"UserId\")\r\n sessionStorage.removeItem(\"access_token\")\r\n sessionStorage.removeItem(\"UserRole\")\r\n \r\n this.purgeAuth();\r\n //let hostName='admin.letsbe.me/web/login'\r\n let hostName = window.location.host;\r\n let baseUrl = `${window.location.protocol}//${hostName}`;\r\n this.navigateToExternalUrl(baseUrl);\r\n //window.location.host='admin.letsbe.me';\r\n //window.location.hostname='admin.letsbe.me/web/login';\r\n //window.location.origin='https://admin.letsbe.me/web/login';\r\n // Redirect to the base URL\r\n //window.location.href = baseUrl;\r\n //this.navigateToExternalUrl('https://admin.letsbe.me/web/login')\r\n //this.routers.navigate([baseUrl]);\r\n \r\n //window.location.href = 'https://admin.letsbe.me/web/login';\r\n\r\n }\r\n private navigateToExternalUrl(url: string): void {\r\n // Open the URL in a new tab\r\n window.open(url, '_self');\r\n }\r\n setAuth(user: LoginUser) {\r\n\r\n // const userRoleName =\r\n // user.data.users3 && user.data.users3.userRoles.userType;\r\n // if ((userRoleName || \"\").toUpperCase() != \"CLIENT\")\r\n // this.isProfileUpdated(user.data.id);\r\n localStorage.setItem(\"access_token\", JSON.stringify(user.access_token));\r\n // Set current user data into observable\r\n this.loginUserSubject.next(user);\r\n let locationid = user.data.staffLocation &&\r\n user.data.staffLocation[0] &&\r\n user.data.staffLocation[0].locationID;\r\n this.currentLoginUserInfoSubject.next({\r\n ...user.data,\r\n currentLocationId: locationid == undefined ? user.data.locationID : locationid,\r\n userLocations: user.userLocations || [],\r\n });\r\n // this.currentLoginUserInfoSubject.next({\r\n // ...user.data,\r\n // currentLocationId:\r\n // user.data.staffLocation &&\r\n // user.data.staffLocation[0] &&\r\n // user.data.staffLocation[0].locationID,\r\n // userLocations: user.userLocations || [],\r\n // });\r\n // Set isAuthenticated to true\r\n this.isAuthenticatedSubject.next(true);\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n this.userRoleSubject.next(userRoleName);\r\n }\r\n setIsPatient(isPatient: boolean = true) {\r\n this.isPatientSubject.next(isPatient);\r\n }\r\n purgeAuth() {\r\n // localStorage.removeItem(\"access_token\");\r\n // localStorage.removeItem(\"apptId\");\r\n // localStorage.removeItem(\"isPatient\");\r\n // localStorage.removeItem(\"opentok_client_id\");\r\n // localStorage.removeItem(\"UserId\");\r\n // localStorage.removeItem(\"payment_token\");\r\n // localStorage.removeItem(\"UserRole\");\r\n // localStorage.removeItem(\"staffdob\");\r\n // localStorage.removeItem(\"patientId\");\r\n // localStorage.removeItem(\"memberName\");\r\n // localStorage.removeItem(\"TestPAtient\");\r\n // localStorage.removeItem(\"patientid\");\r\n // localStorage.removeItem(\"staffid\");\r\n // localStorage.removeItem(\"CompanyId\");\r\n // localStorage.removeItem(\"Address\");\r\n const debugValue = localStorage.getItem(\"debug\");\r\n const businessTokenValue = localStorage.getItem(\"business_token\");\r\n \r\n // Clear all localStorage\r\n localStorage.clear();\r\n \r\n // Re-set the items you want to keep\r\n if (debugValue !== null) {\r\n localStorage.setItem(\"debug\", debugValue);\r\n }\r\n if (businessTokenValue !== null) {\r\n localStorage.setItem(\"business_token\", businessTokenValue);\r\n }\r\n // Set current user to an empty object\r\n this.loginUserSubject.next({} as LoginUser);\r\n\r\n this.currentLoginUserInfoSubject.next(null);\r\n // Set auth status to false\r\n this.isAuthenticatedSubject.next(false);\r\n //localStorage.clear();\r\n }\r\n\r\n setSecurityQuestions(securityQuestionObj: object) {\r\n this.loginSecuritySubject.next(securityQuestionObj);\r\n }\r\n\r\n getLoginUserInfo(): any {\r\n return this.loginUserSubject.value;\r\n }\r\n setCurrentUser(user: any) {\r\n localStorage.setItem(\"UserId\", user.userID)\r\n if (user.users1 != null)\r\n localStorage.setItem(\"UserRole\", user.users1.userRoles.userType)\r\n // if (user != null)\r\n // localStorage.setItem(\"UserRole\", user.users1.userRoles.userType)\r\n else if (user.users3 != null)\r\n localStorage.setItem(\"UserRole\", user.users3.userRoles.userType)\r\n else\r\n localStorage.setItem(\"UserRole\", user.userRoles.userType)\r\n // this.currentUserSubject.next(user);\r\n }\r\n // getCurrentUser(): any {\r\n // return this.currentUserSubject.value;\r\n // }\r\n\r\n getCurrentLoginLocationId(): string {\r\n\r\n let locationId: string = \"\";\r\n const loginData: any = this.currentLoginUserInfoSubject.value;\r\n if (loginData) {\r\n locationId = loginData.currentLocationId || 0;\r\n }\r\n return locationId.toString();\r\n }\r\n\r\n getSystemIpAddress(): string {\r\n return this.SytemInfoSubject.value && this.SytemInfoSubject.value.ipAddress;\r\n }\r\n\r\n updateCurrentLoginUserInfo(locationId: number) {\r\n const loginData: any = this.currentLoginUserInfoSubject.value;\r\n if (loginData) {\r\n const newUserObj = {\r\n ...loginData,\r\n currentLocationId: locationId,\r\n };\r\n this.currentLoginUserInfoSubject.next(newUserObj);\r\n }\r\n }\r\n\r\n updateClientNaviagations(clientId: number, userId: number = null) {\r\n this.updateClientNavigationSubject.next({ clientId, userId });\r\n }\r\n\r\n get getAdditionalHeaders(): string {\r\n const additionalHeaders = JSON.stringify({\r\n Offset: new Date().getTimezoneOffset().toString(),\r\n Timezone: calculateTimeZone(),\r\n IPAddress: this.getSystemIpAddress(),\r\n LocationID: this.getCurrentLoginLocationId(),\r\n BusinessToken: localStorage.getItem(\"business_token\")\r\n });\r\n return additionalHeaders;\r\n }\r\n\r\n\r\n post(url, data, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .post(`${environment.api_url}/${url}`, data, { headers: headers })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n get(url, isLoading: boolean = false): Observable {\r\n isLoading && this.loadingStateSubject.next(true);\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n\r\n return this.http.get(`${environment.api_url}/${url}`, {\r\n headers: headers,\r\n })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n //Array(res).slice(0,3);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n\r\n put(url, data): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n return this.http.put(`${environment.api_url}/${url}`, data, {\r\n headers: headers,\r\n });\r\n }\r\n\r\n getById(url, data, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n\r\n\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(`${environment.api_url}/${url}`, { headers: headers })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getAll(url, data, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(`${environment.api_url}/${url}`, { headers: headers })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n delete(url): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n return this.http.delete(`${environment.api_url}/${url}`, {\r\n headers: headers,\r\n });\r\n }\r\n patch(url, data, isLoading: boolean = true): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders,\r\n });\r\n isLoading && this.loadingStateSubject.next(true);\r\n return this.http\r\n .patch(`${environment.api_url}/${url}`, data, { headers: headers })\r\n .pipe(\r\n map((res) => {\r\n isLoading && this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n download(url, headers): Observable {\r\n return this.http.get(`${environment.api_url}/${url}`, {\r\n headers: headers,\r\n responseType: \"blob\",\r\n });\r\n }\r\n calculateFileSizehandler(files): boolean {\r\n let totalFileSize = 0;\r\n let fileSizeInKB;\r\n // @desc - define const max upload file size 5MB\r\n let totalFileSizeInMB;\r\n const fileSize5MB = \"5.00\";\r\n files.map((obj, i) => {\r\n totalFileSize = totalFileSize + obj.size;\r\n totalFileSizeInMB = (totalFileSize / 1024 / 1024).toFixed(2);\r\n fileSizeInKB = Math.round(obj.size / 1024); // converted bytes(incoming file size) to KB.\r\n // 1024kb = 1MB\r\n let fileSizeInMB = Math.round(obj.size / 1024 / 1024);\r\n let fileSizeInMBFixTo2Decimal = fileSizeInMB.toFixed(2);\r\n return fileSizeInKB >= 1024\r\n ? `${fileSizeInMBFixTo2Decimal}MB`\r\n : `${fileSizeInKB}KB`;\r\n });\r\n\r\n if (\r\n parseFloat(fileSizeInKB) === 0.0 ||\r\n parseFloat(totalFileSizeInMB) > parseFloat(fileSize5MB)\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n encryptValue(value: any, isEncrypt: boolean = true): any {\r\n let response: any;\r\n if (value != null && value != \"\") {\r\n let pwd = \"HCPRODUCT#!_2018@\";\r\n let bytes: any;\r\n if (isEncrypt) {\r\n bytes = utf8.encode(value.toString());\r\n response = base64.encode(bytes);\r\n //response = CryptoJS.AES.encrypt(JSON.stringify(value), pwd);\r\n } else {\r\n bytes = base64.decode(value);\r\n response = utf8.decode(bytes);\r\n // const bytes = CryptoJS.AES.decrypt(value, pwd);\r\n // if (bytes.toString()) {\r\n // response= JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\r\n // }\r\n // response = CryptoJS.AES.decrypt(value, pwd);//.toString(CryptoJS.enc.Utf8);\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n const returnObj = {};\r\n const loginData: LoginUser = this.loginUserSubject.value;\r\n if (loginData.userPermission) {\r\n const modules = loginData.userPermission.modulePermissions || [],\r\n screens = loginData.userPermission.screenPermissions || [],\r\n actions = loginData.userPermission.actionPermissions || [],\r\n userRoleName =\r\n loginData.data.users3 && loginData.data.users3.userRoles.userType,\r\n isAdminLogin = (userRoleName || \"\").toUpperCase() === \"ADMIN\";\r\n\r\n const moduleobj = modules.find((obj) => obj.moduleKey == moduleName);\r\n const screenObj = screens.find(\r\n (obj) =>\r\n obj.screenKey == screenName &&\r\n obj.moduleId == (moduleobj && moduleobj.moduleId)\r\n );\r\n\r\n const actionPermissions =\r\n actions.filter(\r\n (obj) => obj.screenId == (screenObj && screenObj.screenId)\r\n ) || [];\r\n\r\n actionPermissions.forEach((obj) => {\r\n returnObj[obj.actionKey] = obj.permission || isAdminLogin;\r\n });\r\n }\r\n \r\n return returnObj;\r\n }\r\n\r\n getProfileUpdated(staffId: number): Observable {\r\n return this.getById(this.checkStaffProfile + staffId, {});\r\n }\r\n\r\n isProfileUpdated(staffId: number) {\r\n if (staffId !== null || staffId !== undefined) {\r\n this.getProfileUpdated(staffId).subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.setIsProfileComplete(res.data as ProfileSetupModel);\r\n } else {\r\n let profile = new ProfileSetupModel();\r\n this.setIsProfileComplete(profile);\r\n }\r\n });\r\n }\r\n\r\n return false;\r\n }\r\n\r\n\r\n isRoutePermission(routeName: string): boolean {\r\n //this.isProfileUpdated(this.loginUserSubject.value.data.id);\r\n let changedRouteName = routeName.replace(\"/web\", \"\");\r\n if (changedRouteName.length) {\r\n const index = changedRouteName.indexOf(\"?\");\r\n changedRouteName = changedRouteName.substring(\r\n 0,\r\n index != -1 ? index : changedRouteName.length\r\n );\r\n }\r\n let permission = false;\r\n // Added Exception as per discussoon with Rishi- User Can Add/Edit his profile without Role permission.\r\n if (changedRouteName == \"/manage-users/user-profile\") {\r\n permission = true;\r\n return permission;\r\n }\r\n const loginData: LoginUser = this.loginUserSubject.value,\r\n userRoleName =\r\n loginData.data &&\r\n loginData.data.users3 &&\r\n loginData.data.users3.userRoles.userType;\r\n if (\r\n loginData.userPermission &&\r\n ((userRoleName || \"\").toUpperCase() == \"STAFF\" ||\r\n (userRoleName || \"\").toUpperCase() == \"PROVIDER\" ||\r\n (userRoleName || \"\").toUpperCase() == \"Health Consultant\" ||\r\n (userRoleName || \"\").toUpperCase() == \"ADMIN\")\r\n ) {\r\n const modules = loginData.userPermission.modulePermissions || [],\r\n screens = loginData.userPermission.screenPermissions || [],\r\n isAdminLogin = (userRoleName || \"\").toUpperCase() == \"ADMIN\";\r\n\r\n const moduleobj = modules.find(\r\n (obj) => obj.navigationLink == changedRouteName\r\n );\r\n if (moduleobj) {\r\n permission = moduleobj.permission || isAdminLogin;\r\n } else {\r\n // routing changes due to some conditions ....\r\n if (changedRouteName.includes(\"/Masters\"))\r\n changedRouteName = changedRouteName.replace(\"/Masters\", \"\");\r\n if (changedRouteName.includes(\"/manage-users\"))\r\n changedRouteName = changedRouteName.replace(\"/manage-users\", \"\");\r\n if (changedRouteName.includes(\"/payment\"))\r\n changedRouteName = changedRouteName.replace(\"/payment\", \"\");\r\n if (changedRouteName.includes(\"/Billing\"))\r\n changedRouteName = changedRouteName.replace(\"/Billing\", \"\");\r\n if (changedRouteName.includes(\"/Logs\"))\r\n changedRouteName = changedRouteName.replace(\"/Logs\", \"\");\r\n if (changedRouteName.includes(\"/manage-company\"))\r\n changedRouteName = changedRouteName.replace(\"/manage-company\", \"\");\r\n const screenObj = screens.find(\r\n (obj) => obj.navigationLink == changedRouteName\r\n );\r\n permission = (screenObj && screenObj.permission) || isAdminLogin;\r\n }\r\n\r\n if (changedRouteName == \"/user\" && !permission) {\r\n const encryptId = decodeURIComponent(routeName).replace(\r\n \"/web/manage-users/user?id=\",\r\n \"\"\r\n ),\r\n decUserId =\r\n encryptId &&\r\n !encryptId.includes(\"/web/manage-users/user\") &&\r\n this.encryptValue(encryptId, false);\r\n if (decUserId == loginData.data.id) permission = true;\r\n }\r\n }\r\n\r\n if(loginData.data.users3.userRoles.userType == \"NGO\")\r\n {\r\n permission=true;\r\n }\r\n\r\n return permission;\r\n }\r\n stDate: Date;\r\n edDate: Date;\r\n checkAvailablityofCallTime(startDateTime: string, endDateTime: string) {\r\n let currentDate = new Date();\r\n this.stDate = new Date(startDateTime);\r\n // this.stDate = new Date(\r\n // this.stDate.setMinutes(this.stDate.getMinutes() - 10)\r\n // );\r\n this.edDate = new Date(endDateTime);\r\n let apptDuration = this.diff_minutes(this.edDate, this.stDate);\r\n let currDuration = this.diff_minutes(currentDate, this.stDate);\r\n if (currDuration > 0 && apptDuration >= currDuration) {\r\n return true\r\n }\r\n return false;\r\n\r\n }\r\n diff_minutes(dt2, dt1) {\r\n var diff = (dt2.getTime() - dt1.getTime()) / 1000;\r\n diff /= 60;\r\n return Math.round(diff);\r\n }\r\n isRoutePermissionForClient(routeName: string): boolean {\r\n routeName = routeName.replace(\"/web\", \"\");\r\n if (routeName.length) {\r\n const index = routeName.indexOf(\"?\");\r\n routeName = routeName.substring(\r\n 0,\r\n index != -1 ? index : routeName.length\r\n );\r\n }\r\n let permission = false;\r\n const loginData: LoginUser = this.loginUserSubject.value,\r\n userRoleName =\r\n loginData.data &&\r\n loginData.data.users3 &&\r\n loginData.data.users3.userRoles.userType;\r\n if (\r\n !loginData.userPermission &&\r\n (userRoleName || \"\").toUpperCase() == \"CLIENT\"\r\n ) {\r\n const screens = [\r\n { navigationLink: \"/client/dashboard\", permission: true },\r\n { navigationLink: \"/client/my-scheduling\", permission: true },\r\n // { navigationLink: \"/client/payment-history\", permission: true },\r\n // { navigationLink: \"/client/refund-history\", permission: true },\r\n { navigationLink: \"/client/payment\", permission: true },\r\n { navigationLink: \"/client/manage-videos\", permission: true },\r\n { navigationLink: \"/client/manage-videos/view-quiz\", permission: true },\r\n { navigationLink: \"/client/manage-videos/manage-quiz\", permission: true },\r\n { navigationLink: \"/client/manage-videos/view-video\", permission: true },\r\n { navigationLink: \"/client/payment/payment-history\", permission: true },\r\n { navigationLink: \"/client/payment/refund-history\", permission: true },\r\n { navigationLink: \"/client/payment/card-history\", permission: true },\r\n { navigationLink: \"/client/my-profile\", permission: true },\r\n { navigationLink: \"/client/waiting-room\", permission: true },\r\n { navigationLink: \"/client/history\", permission: true },\r\n { navigationLink: \"/client/history/my-family-history\", permission: true },\r\n { navigationLink: \"/client/history/my-social-history\", permission: true },\r\n { navigationLink: \"/client/history/my-medical-history\", permission: true },\r\n { navigationLink: \"/client/history/my-surgical-history\", permission: true },\r\n { navigationLink: \"/client/history/my-allergies\", permission: true },\r\n { navigationLink: \"/client/my-vitals\", permission: true },\r\n { navigationLink: \"/client/my-documents\", permission: true },\r\n { navigationLink: \"/client/mailbox\", permission: true },\r\n { navigationLink: \"/client/assigned-documents\", permission: true },\r\n { navigationLink: \"/client/soap-note\", permission: true },\r\n { navigationLink: \"/client/client-profile\", permission: true },\r\n { navigationLink: \"/client/address\", permission: true },\r\n { navigationLink: \"/client/review-rating\", permission: true },\r\n { navigationLink: \"/client/review-ratingList\", permission: true },\r\n { navigationLink: \"/client/symptom-checker\", permission: true },\r\n { navigationLink: \"/client/second-opinion\", permission: true },\r\n { navigationLink: \"/client/second-opinion/booking\", permission: true },\r\n { navigationLink: \"/client/second-opinion/list\", permission: true },\r\n { navigationLink: \"/client/second-opinion/report\", permission: true },\r\n\r\n ];\r\n\r\n const screenObj = screens.find((obj) => obj.navigationLink == routeName);\r\n permission = screenObj && screenObj.permission;\r\n }\r\n return permission;\r\n }\r\n\r\n isRoutePermissionForProvider(routeName: string): boolean {\r\n routeName = routeName.replace(\"/web\", \"\");\r\n if (routeName.length) {\r\n const index = routeName.indexOf(\"?\");\r\n routeName = routeName.substring(\r\n 0,\r\n index != -1 ? index : routeName.length\r\n );\r\n }\r\n let permission = false;\r\n const loginData: LoginUser = this.loginUserSubject.value,\r\n userRoleName =\r\n loginData.data &&\r\n loginData.data.users3 &&\r\n loginData.data.users3.userRoles.userType;\r\n if (\r\n !loginData.userPermission &&\r\n (userRoleName || \"\").toUpperCase() == \"PROVIDER\"\r\n ) {\r\n const screens = [\r\n { navigationLink: \"/consultant/dashboard\", permission: true },\r\n { navigationLink: \"/consultant/scheduling\", permission: true },\r\n\r\n ];\r\n\r\n const screenObj = screens.find((obj) => obj.navigationLink == routeName);\r\n permission = screenObj && screenObj.permission;\r\n }\r\n return permission;\r\n }\r\n\r\n parseStringToHTML(str) {\r\n var dom = document.createElement('div');\r\n dom.innerHTML = str;\r\n return dom.firstChild;\r\n\r\n }\r\n redirect(path) {\r\n this.router.navigate([path]);\r\n }\r\n\r\n // To get the provider details\r\n getProviderBasicDeatils(staffID: number) {\r\n return this.getAll(`${this.getProviderBasicDeatilsURL}?staffId=${staffID}`, {}, true);\r\n }\r\n\r\n}\r\n\r\nconst SystemIpAddress = new Promise((r) => {\r\n const w: any = window,\r\n a = new (w.RTCPeerConnection ||\r\n w.mozRTCPeerConnection ||\r\n w.webkitRTCPeerConnection)({ iceServers: [] }),\r\n b = () => { };\r\n a.createDataChannel(\"\");\r\n a.createOffer((c) => a.setLocalDescription(c, b, b), b);\r\n a.onicecandidate = (c) => {\r\n try {\r\n c.candidate.candidate\r\n .match(\r\n /([0-9]{1,3}(\\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g\r\n )\r\n .forEach(r);\r\n } catch (e) { }\r\n };\r\n});\r\n\r\nfunction calculateTimeZone(dateInput?: Date): string {\r\n var dateObject = dateInput || new Date(),\r\n dateString = dateObject + \"\",\r\n tzAbbr: any =\r\n // Works for the majority of modern browsers\r\n dateString.match(/\\(([^\\)]+)\\)$/) ||\r\n // IE outputs date strings in a different format:\r\n dateString.match(/([A-Z]+) [\\d]{4}$/);\r\n\r\n if (tzAbbr) {\r\n // Old Firefox uses the long timezone name (e.g., \"Central\r\n // Daylight Time\" instead of \"CDT\")\r\n tzAbbr = tzAbbr[1];\r\n }\r\n return tzAbbr;\r\n}\r\n","export * from './common.service';\r\nexport * from './layout.service';\r\n","import { Injectable } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material';\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n private sidenav: MatSidenav;\r\n private clientDrawer: MatSidenav;\r\n\r\n\r\n public setSidenav(sidenav: MatSidenav) {\r\n this.sidenav = sidenav;\r\n }\r\n\r\n public setClientDrawer(clientDrawer: MatSidenav) {\r\n this.clientDrawer = clientDrawer;\r\n }\r\n\r\n public toggleClientDrawer(toggle?: boolean) {\r\n this.clientDrawer.toggle(toggle);\r\n }\r\n\r\n public toggleSideNav(toggle?: boolean) {\r\n this.sidenav.toggle(toggle);\r\n }\r\n\r\n public open() {\r\n return this.sidenav.open();\r\n }\r\n\r\n\r\n public close() {\r\n return this.sidenav.close();\r\n }\r\n\r\n public toggle(): void {\r\n this.sidenav.toggle();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../core/services\";\r\nimport { FilterModel } from \"../core/modals/common-model\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class MailboxService {\r\n private getMessageCountURL = \"api/Message/GetMessageCounts\";\r\n private getInboxMessagesURL =\"api/Message/GetInboxData\";\r\n private getSentMessagesURL =\"api/Message/GetSentMessageData\";\r\n private getDeletedMessagesURL =\"api/Message/GetDeleteMessageList\";\r\n private getFavouriteMessagesURL=\"api/Message/GetFavouriteMessageList\";\r\n private deleteSentMessagesURL=\"api/Message/DeleteSentMessage\";\r\n private deleteInboxMessagesURL=\"api/Message/DeleteInboxMessage\";\r\n private getThreadMessagesURL=\"api/Message/GetThreadMessages\";\r\n private getMessageByIdURL=\"api/Message/GetMessageById\";\r\n private replyMessageURL=\"api/Message/ReplyMessages\";\r\n private forwardMessageURL=\"api/Message/ForwardMessages\";\r\n private getUserListURL=\"api/Message/UsersDropDown\";\r\n private composeMessageURL=\"api/Message/Compose\";\r\n private setMessageAsFavouriteURL=\"api/Message/ChangeFavouriteMessageStatus\";\r\n \r\n\r\n constructor(private commonService: CommonService) {\r\n }\r\n\r\n getMessageCount(forStaff: boolean) {\r\n return this.commonService.getAll(this.getMessageCountURL+\"?forStaff=\"+forStaff, {});\r\n }\r\n getInboxMessages(id:number,forStaff:boolean,filterModel:FilterModel)\r\n {\r\n return this.commonService.getAll(this.getInboxMessagesURL+\"?id=\"+id+\"&forStaff=\"+forStaff+ \"&pageNumber=\"+filterModel.pageNumber+\"&pageSize=\"+filterModel.pageSize+\"&sortColumn=\"+filterModel.sortColumn+\"&sortOrder=\"+filterModel.sortOrder, {});\r\n }\r\n getSentMessages(id:number,forStaff:boolean,filterModel:FilterModel)\r\n {\r\n return this.commonService.getAll(this.getSentMessagesURL+\"?id=\"+id+\"&forStaff=\"+forStaff+ \"&pageNumber=\"+filterModel.pageNumber+\"&pageSize=\"+filterModel.pageSize+\"&sortColumn=\"+filterModel.sortColumn+\"&sortOrder=\"+filterModel.sortOrder, {});\r\n }\r\n getDeletedMessages(id:number,forStaff:boolean,filterModel:FilterModel)\r\n {\r\n return this.commonService.getAll(this.getDeletedMessagesURL+\"?id=\"+id+\"&forStaff=\"+forStaff+ \"&pageNumber=\"+filterModel.pageNumber+\"&pageSize=\"+filterModel.pageSize+\"&sortColumn=\"+filterModel.sortColumn+\"&sortOrder=\"+filterModel.sortOrder, {});\r\n }\r\n getFavouriteMessages(id:number,forStaff:boolean,filterModel:FilterModel)\r\n {\r\n return this.commonService.getAll(this.getFavouriteMessagesURL+\"?id=\"+id+\"&forStaff=\"+forStaff+ \"&pageNumber=\"+filterModel.pageNumber+\"&pageSize=\"+filterModel.pageSize+\"&sortColumn=\"+filterModel.sortColumn+\"&sortOrder=\"+filterModel.sortOrder, {});\r\n }\r\n getThreadMessage(id:number,forStaff:boolean)\r\n {\r\n return this.commonService.getAll(this.getThreadMessagesURL+\"?parentMessageId=\"+id+\"&forStaff=\"+forStaff, {});\r\n }\r\n getMessageById(id:number)\r\n {\r\n return this.commonService.getById(this.getMessageByIdURL+\"?MessageId=\"+id, {});\r\n }\r\n replyMessage(id:number)\r\n {\r\n return this.commonService.getById(this.replyMessageURL+\"?MessageId=\"+id, {});\r\n }\r\n forwardMessage(id:number)\r\n {\r\n return this.commonService.getById(this.forwardMessageURL+\"?MessageId=\"+id, {});\r\n }\r\n \r\n getUserList(forStaff:boolean,searchText:string='')\r\n {\r\n return this.commonService.getAll(this.getUserListURL+\"?isStaff=\"+forStaff +\"&searchText=\"+searchText, {})\r\n .pipe(map(x=>{\r\n return x.data;\r\n }));\r\n }\r\n \r\n composeMessage(data:any)\r\n {\r\n return this.commonService.post(this.composeMessageURL, data);\r\n }\r\n setMessageAsFavourite(id:number,fromInbox:boolean,isFavourite)\r\n {\r\n return this.commonService.patch(this.setMessageAsFavouriteURL+\"?MessageId=\"+id+\"&FromInbox=\"+fromInbox+\"&IsFavourite=\"+isFavourite, {});\r\n }\r\n\r\n deleteSentMessages(ids:any)\r\n {\r\n return this.commonService.patch(this.deleteSentMessagesURL, ids);\r\n }\r\n deleteInboxMessages(ids:any)\r\n {\r\n return this.commonService.patch(this.deleteInboxMessagesURL, ids);\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { HubConnection } from \"src/app/hubconnection.service\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { CallInitModel, CallStatus } from \"src/app/shared/models/callModel\";\r\nimport { ChatHistoryModel } from \"../agency-portal/clients/profile/chat-history.model\";\r\nimport { ChatInitModel } from \"src/app/shared/models/chatModel\";\r\nimport { TextChatService } from \"src/app/shared/text-chat/text-chat.service\";\r\nimport { CommonService } from \"../core/services\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { UrgentCareProviderActionComponent } from \"src/app/shared/urgentcare-provideraction/urgentcare-provideraction.component\";\r\nimport { PatientUrgentCareStatusComponent } from \"src/app/shared/patient-urgentcare-status/patient-urgentcare-status.component\";\r\nimport { CallNotificationComponent } from \"../../../shared/call-notification/call-notification.component\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class HubService {\r\n private hubConnection: HubConnection;\r\n appointmentId: number;\r\n isClientLogin: boolean;\r\n userRole: any;\r\n constructor(\r\n private appService: AppService,\r\n private commonService: CommonService,\r\n private activateRoute: ActivatedRoute,\r\n private textChatService: TextChatService,\r\n private appointmentDailog: MatDialog,\r\n //private dialogModalRef: MatDialogRef\r\n\r\n ) {\r\n this.hubConnection = new HubConnection();\r\n this.appointmentId = 0;\r\n this.commonService.currentLoginUserInfo.subscribe(\r\n (user: any) => {\r\n if (user) {\r\n if (user.users3 && user.users3.userRoles) {\r\n this.userRole = (user.users3.userRoles.userType || \"\").toUpperCase()\r\n }\r\n this.isClientLogin = this.userRole == \"CLIENT\";\r\n }\r\n }\r\n );\r\n \r\n }\r\n createHubConnection(userId: number) {\r\n //console.log(\"26 createhubconnection is called from hub service \");\r\n if (this.hubConnection) {\r\n var token = localStorage.getItem(\"business_token\");\r\n this.hubConnection.createHubConnection(token).then((response) => {\r\n this.hubConnection.getHubConnection().onclose(() => {\r\n this.ReconnectOnClose(userId);\r\n });\r\n\r\n this.hubConnection.ConnectWithBussinessToken(userId).then((res) => {\r\n this.getIncomingCallNotifications();\r\n this.getCallEndNotifications();\r\n this.getMessageNotifications();\r\n this.getIncomingUrgentCareProviderNotifications();\r\n this.getIncomingUrgentCarePatientNotifications();\r\n //console.log(\"Connection: connection id to server : \" + res);\r\n });\r\n });\r\n }\r\n }\r\n private ReconnectOnClose(userId: number) {\r\n setTimeout(() => {\r\n //console.log(\"27 reconnectonclose is called from hub service \");\r\n this.hubConnection.restartHubConnection().then(() => {\r\n this.hubConnection.ConnectWithBussinessToken(userId).then((res) => {\r\n this.getIncomingCallNotifications();\r\n //console.log(\"Restart Connection: connection id to server : \" + res);\r\n // console.log('Restart Connection: user id sent to server : ' + fromUserId);\r\n });\r\n });\r\n }, 5000);\r\n }\r\n getIncomingCallNotifications() {\r\n //console.log(\"28 getincomingcallnotification is called from hub service \");\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\r\n \"CallInitiated\",\r\n (appointmentId: number, fromUserId: number, toUserId: number, callerName: string) => {\r\n //this.dialogModalRef.close();\r\n console.log(\"Call initiated : \", appointmentId,fromUserId,toUserId,callerName);\r\n this.appointmentDailog.closeAll();\r\n let previousCallModel: CallInitModel = new CallInitModel();\r\n this.appService.call.subscribe((callInitModel: CallInitModel) => {\r\n previousCallModel = callInitModel;\r\n });\r\n //console.log(\r\n //\"Previous Call Initiated For Appointment Id : \",\r\n //previousCallModel.AppointmentId\r\n //);\r\n let callInitModel = new CallInitModel();\r\n callInitModel.CallStatus = CallStatus.Started;\r\n callInitModel.AppointmentId = appointmentId;\r\n callInitModel.CallerName = callerName;\r\n if (previousCallModel.AppointmentId != appointmentId) {\r\n //console.log(\"Call MOdel Changed : \", callInitModel);\r\n this.appService.CheckCallStarted(callInitModel);\r\n }\r\n //console.log(\"Call Initiated For Appointment : \", appointmentId);\r\n //var callButton = document.getElementById(\"divCallButton\");\r\n //callButton.classList.add(\"active\");\r\n }\r\n );\r\n }\r\n getCallEndNotifications() {\r\n //console.log(\"28 getendcallnotification is called from hub service \");\r\n\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\r\n \"CallEnd\",\r\n (appointmentId: number, fromUserId: number, toUserId: number, callerName: string, userType: string) => {\r\n // this.appointmentDailog.closeAll();\r\n // let previousCallModel: CallInitModel = new CallInitModel();\r\n // this.appService.call.subscribe((callInitModel: CallInitModel) => {\r\n // previousCallModel = callInitModel;\r\n // });\r\n // console.log(\r\n // \"CALL Ended in hub service : \"\r\n\r\n // );\r\n\r\n console.log('CallEnd', callerName, userType, appointmentId, fromUserId, toUserId);\r\n this.openEndCallActionDialog(callerName, userType);\r\n }\r\n );\r\n }\r\n handleIncomingCall(appointmentId: number, userId: number) {\r\n //console.log(\"29 handleincomingcall is called from hub service \");\r\n if (this.hubConnection.isConnected()) {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\"CallInitiate\", appointmentId, userId)\r\n // .then(() => {\r\n // this.getMessageNotifications();\r\n // })\r\n .catch((err) => console.error(err, \"Receive Incoming Call\"));\r\n return appointmentId;\r\n } else {\r\n this.hubConnection.restartHubConnection().then(() => {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\"CallInitiate\", appointmentId, userId)\r\n // .then(() => {\r\n // this.getMessageNotifications();\r\n // })\r\n .catch((err) => console.error(err, \"Receive Incoming Call\"));\r\n return appointmentId;\r\n });\r\n }\r\n }\r\n openProviderActionDialog(appointmentId: number) {\r\n //console.log(\"29 openprovideractiondialog is called from hub service \");\r\n const modalPopup = this.appointmentDailog.open(\r\n UrgentCareProviderActionComponent,\r\n {\r\n hasBackdrop: true,\r\n data: appointmentId,\r\n width: \"60%\"\r\n }\r\n );\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n // if (result === \"SAVE\") this.fetchEvents();\r\n });\r\n }\r\n openEndCallActionDialog(callerName: string, userType: string) {\r\n\r\n //console.log(\"29 openendcallactiondialog is called from hub service \");\r\n const modalPopup = this.appointmentDailog.open(\r\n CallNotificationComponent,\r\n {\r\n hasBackdrop: true,\r\n data: { callerName: callerName, userType: userType },\r\n width: \"60%\"\r\n }\r\n );\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n // if (result === \"SAVE\") this.fetchEvents();\r\n });\r\n }\r\n\r\n openPatientActionDialog() {\r\n //console.log(\"30 openpatientactiondialog is called from hub service \");\r\n const modalPopup = this.appointmentDailog.open(\r\n PatientUrgentCareStatusComponent,\r\n {\r\n hasBackdrop: true,\r\n //data: ,\r\n width: \"60%\"\r\n }\r\n );\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n // if (result === \"SAVE\") this.fetchEvents();\r\n });\r\n }\r\n\r\n // closeDialog(action: string): void {\r\n // this.dialogModalRef.close(action);\r\n // }\r\n\r\n getIncomingUrgentCareProviderNotifications() {\r\n //console.log(\"31 getIncomingUrgentcall is called from hub service \");\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\r\n \"CallProviderUrgentCare\",\r\n (appointmentId: number, fromUserId: number, toUserId: number) => {\r\n \r\n\r\n console.log('CallProviderUrgentCare', appointmentId, fromUserId, toUserId);\r\n\r\n this.openProviderActionDialog(appointmentId);\r\n // let previousCallModel: UrgentCareProviderActionInitModel = new UrgentCareProviderActionInitModel();\r\n // this.appService.ProviderActioncall.subscribe((callInitModel: UrgentCareProviderActionInitModel) => {\r\n // previousCallModel = callInitModel;\r\n // });\r\n // console.log(\r\n // \"Previous Urgent Call Initiated For Appointment Id : \",\r\n // previousCallModel.AppointmentId\r\n // );\r\n // let callInitModel = new UrgentCareProviderActionInitModel();\r\n // // callInitModel.CallStatus = CallStatus.Started;\r\n // callInitModel.AppointmentId = appointmentId;\r\n\r\n // console.log(\"Call UrgentCare Model Changed : \", callInitModel);\r\n // this.appService.ProviderActioncallStarted(callInitModel);\r\n\r\n // console.log(\"Urgebt care Call Initiated For Appointment : \", appointmentId);\r\n\r\n //var callButton = document.getElementById(\"divCallButton\");\r\n //callButton.classList.add(\"active\");\r\n }\r\n );\r\n }\r\n\r\n getIncomingUrgentCarePatientNotifications() {\r\n\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\r\n \"CallPatientUrgentCare\",\r\n (appointmentId: number, fromUserId: number, toUserId: number) => {\r\n\r\n console.log('CallPatientUrgentCare', appointmentId, fromUserId, toUserId);\r\n\r\n this.openPatientActionDialog();\r\n\r\n }\r\n );\r\n }\r\n\r\n getMessageNotifications() {\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\"ReceiveMessage\", (result, UserId, currentRoomId, appointmentId) => {\r\n console.log('ReceiveMessage', result, UserId, currentRoomId, appointmentId);\r\n\r\n //console.log(\"message from server\", result, currentRoomId);\r\n //hub service // if call is in progress and if someone send msg then chat window open automaticaly\r\n if (appointmentId > 0) {\r\n this.appointmentId = appointmentId;\r\n this.openChatRoom(this.appointmentId);\r\n }\r\n //\r\n if (\r\n currentRoomId == 0//this.currentRoomId\r\n ) {\r\n result.forEach((element) => {\r\n var currentDate = new Date();\r\n const messageObj: ChatHistoryModel = {\r\n message: element.message,\r\n isRecieved:\r\n element.isRecieved != undefined ? element.isRecieved : true,\r\n chatDate: currentDate.toString(),\r\n fromUserId: UserId,\r\n fileType: element.fileType,\r\n messageType: element.messageType,\r\n };\r\n // this.allMessageArray.push(messageObj);\r\n // this.scrollbarRef.scrollToBottom(1000);\r\n // console.log(this.allMessageArray);\r\n });\r\n }\r\n });\r\n }\r\n openChatRoom(appointmentId: number) {\r\n // this.commonService.currentLoginUserInfo.subscribe((response: any) => {\r\n //if (!localStorage.getItem(\"access_token\")) {\r\n if (localStorage.getItem(\"access_token\")) {\r\n var chatInitModel = new ChatInitModel();\r\n chatInitModel.isActive = true;\r\n chatInitModel.AppointmentId = appointmentId;\r\n //chatInitModel.UserId = response.userID;\r\n chatInitModel.UserId = JSON.parse(localStorage.getItem(\"UserId\")) || '';\r\n chatInitModel.UserRole = localStorage.getItem(\"UserRole\") || '';\r\n // if(this.isClientLogin){\r\n // //chatInitModel.UserRole = response.users3.userRoles.userType;\r\n // }else{\r\n // chatInitModel.UserRole = response.userRoles.userType;\r\n }\r\n //chatInitModel.UserRole = response.data.userRoles.userType;\r\n this.appService.CheckChatActivated(chatInitModel);\r\n //\r\n this.textChatService.setAppointmentDetail(\r\n chatInitModel.AppointmentId,\r\n chatInitModel.UserRole\r\n );\r\n //\r\n this.textChatService.setRoomDetail(\r\n chatInitModel.UserId,\r\n chatInitModel.AppointmentId\r\n );\r\n\r\n //});\r\n }\r\n\r\n\r\n}\r\n","module.exports = \".mat-input-element:disabled {\\r\\n color: black;\\r\\n}\\r\\n\\r\\n/* .scroll-box{\\r\\n overflow-y: auto;\\r\\n max-height: 400px;\\r\\n} */\\r\\n\\r\\n.crsr-ptr{\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.close.mat-button {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n right: 0;\\r\\n padding: 5px;\\r\\n line-height: 35px;\\r\\n width: 48px;\\r\\n color: blue;\\r\\n min-width: auto;\\r\\n }\\r\\n\\r\\n/* .otheraptslots{\\r\\n background-color: rgb(147, 238, 147);\\r\\n padding: 10px;\\r\\n border-radius: 40%;\\r\\n line-height: 25px;\\r\\n white-space: nowrap;\\r\\n \\r\\n}\\r\\n.slot-block .otheraptslots{\\r\\n border-radius: 10px;\\r\\n font-size: 16px;\\r\\n padding: 6px 12px;\\r\\n} */\\r\\n\\r\\n.otherappts-txt{\\r\\n\\r\\n display: inline-block;\\r\\n min-width: 10px;\\r\\n line-height: 1;\\r\\n color: white;\\r\\n text-align: center;\\r\\n white-space: nowrap;\\r\\n vertical-align: middle;\\r\\n border-radius: 10px;\\r\\n font-size: 15px !important;\\r\\n border: 0px !important;\\r\\n color: #000000 !important;\\r\\n font-weight: 500 !important;\\r\\n margin-top: 5px !important;\\r\\n margin-left: 5px !important;\\r\\n padding:6px !important;\\r\\n \\r\\n \\r\\n}\\r\\n\\r\\n.oddCellColor{\\r\\n background-color: #b6f3fa !important;\\r\\n}\\r\\n\\r\\n.evenCellColor{ \\r\\n background-color: #e0cdf7 !important;\\r\\n}\\r\\n\\r\\n.cancelledAppnmntColor {\\r\\n background-color: #b64c4c !important;\\r\\n}\\r\\n\\r\\n.declinedAppnmntColor {\\r\\n background-color: #956464 !important;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n

Appointment 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 fact_check\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{CompanyName}}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

Appointment 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

Patient Documents

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

Documents loading...

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

No documents available

\\r\\n
\\r\\n\\r\\n
0\\\" class=\\\"com-sm-12\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{doc.documentTitle}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n

Uploaded Date:\\r\\n {{doc.createdDate |date:'MM/dd/yyyy'}}\\r\\n

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

Other Appointments

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

\\r\\n Loading other appointments...\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n {{slotDateTime(app.startDateTime) + ' - ' +\\r\\n slotDateTime(app.endDateTime)}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\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 { DatePipe } from '@angular/common';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport * as format from 'date-fns/format';\r\nimport { AppService } from 'src/app/app-service.service';\r\nimport { DialogService } from 'src/app/shared/layout/dialog/dialog.service';\r\nimport { ChatInitModel } from 'src/app/shared/models/chatModel';\r\nimport { TextChatService } from 'src/app/shared/text-chat/text-chat.service';\r\nimport { ResponseModel } from 'src/app/super-admin-portal/core/modals/common-model';\r\nimport { ClientsService } from '../../agency-portal/clients/clients.service';\r\nimport { UserDocumentModel } from '../../agency-portal/users/users.model';\r\nimport { CommonService } from \"../../core/services\";\r\nimport { AppointmentModel } from '../scheduler/scheduler.model';\r\nimport { SchedulerService } from '../scheduler/scheduler.service';\r\nimport { ViewReportComponent } from './../../../../shared/view-report/view-report.component'\r\n\r\n@Component({\r\n selector: 'app-appointment-view',\r\n templateUrl: './appointment-view.component.html',\r\n styleUrls: ['./appointment-view.component.css']\r\n})\r\nexport class AppointmentViewComponent implements OnInit {\r\n\r\n appointment: AppointmentModel;\r\n appointmentId: number;\r\n reportId: any;\r\n appointmentForm: FormGroup;\r\n showReport: boolean = false;\r\n otherAppointments: AppointmentModel[] = [];\r\n otherAppointmentsPersistence: AppointmentModel[] = [];\r\n currentLoginUserId: any;\r\n isAdminLogin = false;\r\n isProviderLogin = false;\r\n isClientLogin = false;\r\n selectedAppointments: number[];\r\n loading: boolean = true;\r\n isFirstLoad = true;\r\n isLoadingOtherAppointments = true;\r\n statusColors: Array;\r\n documentList: Array;\r\n isLoadingDocuments = true\r\n isCompleted: boolean=false;\r\n CompanyName: any;\r\n isPastAppointment: boolean;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private schedulerService: SchedulerService,\r\n public dialogPopup: MatDialogRef,\r\n private commonService: CommonService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModal: MatDialog,\r\n private date: DatePipe,\r\n private clientService: ClientsService,\r\n private dialogService: DialogService,\r\n private notifier: NotifierService,\r\n private router: Router,\r\n private textChatService: TextChatService,\r\n private appService: AppService,\r\n\r\n ) {\r\n this.appointmentId = data;\r\n\r\n this.statusColors = [\r\n { name: \"pending\", color: \"#74d9ff\" },\r\n { name: \"approved\", color: \"#93ee93\" },\r\n { name: \"cancelled\", color: \"#ff8484\" },\r\n { name: \"Accepted\", color: \"rgb(179, 236, 203)\" },\r\n { name: \"Tentative\", color: \"rgb(253, 209, 100)\" },\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n this.getAllCompaniesdata();\r\n this.initializeFormFields(this.appointment);\r\n\r\n // this.commonService.loadingState.subscribe(\r\n // (isloading: boolean) => {\r\n // this.loading = isloading;\r\n // }\r\n // );\r\n\r\n\r\n this.commonService.currentLoginUserInfo.subscribe(\r\n (user: any) => {\r\n if (user) {\r\n this.currentLoginUserId = user.id;\r\n this.isAdminLogin =\r\n user.users3 &&\r\n user.users3.userRoles &&\r\n (user.users3.userRoles.userType || \"\").toUpperCase() == \"ADMIN\";\r\n\r\n this.isProviderLogin = user.users3 &&\r\n user.users3.userRoles &&\r\n (user.users3.userRoles.userType || \"\").toUpperCase() == \"PROVIDER\";\r\n\r\n this.isClientLogin = user.users3 &&\r\n user.users3.userRoles &&\r\n (user.users3.userRoles.userType || \"\").toUpperCase() == \"CLIENT\";\r\n this.selectedAppointments = [this.appointmentId];\r\n this.getAppointment(this.appointmentId);\r\n\r\n }\r\n }\r\n );\r\n\r\n\r\n }\r\n getAllCompaniesdata(){\r\n this.schedulerService.getAllCompaniesdata().subscribe(response=>(\r\n console.log(response)\r\n ))\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogPopup.close();\r\n }\r\n\r\n\r\n initializeFormFields(appointment?: AppointmentModel) {\r\n appointment = appointment || new AppointmentModel();\r\n\r\n const configControls = {\r\n 'patientName': [appointment.patientName],\r\n 'dob': [appointment.patientInfoDetails == null || appointment.patientInfoDetails.patientInfo == null || appointment.patientInfoDetails.patientInfo.length == 0 || !appointment.patientInfoDetails.patientInfo[0].dob ? undefined : this.toDateTimeString(appointment.patientInfoDetails.patientInfo[0].dob, true)],\r\n 'gender': [appointment.patientInfoDetails == null || appointment.patientInfoDetails.patientInfo == null || appointment.patientInfoDetails.patientInfo.length == 0 ? undefined : appointment.patientInfoDetails.patientInfo[0].gender],\r\n 'email': [appointment.patientInfoDetails == null || appointment.patientInfoDetails.patientInfo == null || appointment.patientInfoDetails.patientInfo.length == 0 ? undefined : appointment.patientInfoDetails.patientInfo[0].email],\r\n 'phone': [appointment.patientInfoDetails == null || appointment.patientInfoDetails.patientInfo == null || appointment.patientInfoDetails.patientInfo.length == 0 ? undefined : appointment.patientInfoDetails.patientInfo[0].phone],\r\n 'patientPhotoThumbnailPath': [appointment.patientPhotoThumbnailPath],\r\n 'startDateTime': [appointment.startDateTime ? this.toDateTimeString(appointment.startDateTime) : undefined],\r\n 'endDateTime': [appointment.endDateTime ? this.toDateTimeString(appointment.endDateTime) : undefined],\r\n 'notes': [appointment.notes],\r\n 'isTelehealthAppointment': [appointment.isTelehealthAppointment],\r\n 'statusName': [appointment.statusName],\r\n 'isClientRequired': [appointment.isClientRequired],\r\n 'mode': [appointment.mode],\r\n 'type': [appointment.type],\r\n 'provider': [appointment.appointmentStaffs == null || appointment.appointmentStaffs.length == 0 ? undefined : appointment.appointmentStaffs[0].staffName],\r\n\r\n }\r\n this.appointmentForm = this.formBuilder.group(configControls);\r\n this.appointmentForm.disable();\r\n this.loading = false;\r\n }\r\n\r\n\r\n get f() {\r\n return this.appointmentForm.controls;\r\n }\r\n\r\n showInfermedicaReport() {\r\n const modalPopup = this.dialogModal.open(\r\n ViewReportComponent,\r\n {\r\n hasBackdrop: true,\r\n data: this.reportId,\r\n }\r\n );\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n\r\n });\r\n }\r\n isApproved: boolean = false;\r\n getAppointment(appointmentId) {\r\n this.getUserDocuments(appointmentId);\r\n this.loading = true;\r\n this.schedulerService\r\n .getAppointmentDetailsWithPatient(appointmentId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n\r\n this.appointment = response.data;\r\n this.CompanyName= response.data.patientInfoDetails.patientInfo[0].companyName\r\n //console.log(this.CompanyName,\"this.CompanyName\")\r\n if (this.appointment.statusName !== \"Cancelled\" && new Date(this.appointment.startDateTime) < new Date()) {\r\n // The appointment is in the past\r\n this.isPastAppointment = true;\r\n } else {\r\n this.isPastAppointment = false;\r\n }\r\n this.isApproved = false;\r\n this.isCompleted = false;\r\n if (this.appointment.statusName == \"Completed\"){\r\n this.isCompleted = true;\r\n this.isApproved = false; \r\n }\r\n \r\n else{\r\n this.isApproved = true;\r\n this.isCompleted = true;\r\n }\r\n console.log(this.appointment, \"appoitment\");\r\n if (response.data.reportId > 0) {\r\n this.showReport = true;\r\n this.reportId = response.data.reportId;\r\n }\r\n this.initializeFormFields(this.appointment);\r\n if (this.isFirstLoad) {\r\n this.getAllAppointments(this.appointment.patientID)\r\n } else {\r\n if (this.otherAppointmentsPersistence && this.otherAppointmentsPersistence.length > 1) {\r\n this.filterOtherAppointments(appointmentId);\r\n }\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n getAllAppointments(patientId) {\r\n const filterModal = {\r\n locationIds: [101],\r\n // fromDate: format(this.appointmentForm.value.startDateTime, \"YYYY-MM-DD\"),\r\n // toDate: format(this.appointmentForm.value.endDateTime, \"YYYY-MM-DD\"),\r\n staffIds: [this.appointment.appointmentStaffs[0].staffId],\r\n patientIds: [patientId],\r\n };\r\n this.schedulerService.getListData(filterModal).subscribe(response => {\r\n this.isLoadingOtherAppointments = true;\r\n if (response.statusCode === 200) {\r\n this.isLoadingOtherAppointments = false;\r\n this.otherAppointments = response.data;\r\n this.otherAppointmentsPersistence = response.data;\r\n if (this.otherAppointments && this.otherAppointments.length > 0) {\r\n this.filterOtherAppointments(this.appointmentId);\r\n }\r\n }\r\n });\r\n }\r\n\r\n filterOtherAppointments(currentAppointmentId) {\r\n this.otherAppointments = [...this.otherAppointmentsPersistence.filter(x => x.patientAppointmentId != currentAppointmentId)];\r\n this.otherAppointments.sort((a, b) => { return new Date(b.startDateTime).valueOf() - new Date(a.startDateTime).valueOf() })\r\n }\r\n\r\n onClose() {\r\n this.dialogModal.closeAll();\r\n }\r\n\r\n onOtherAppointmentClick(appointmentId) {\r\n this.selectedAppointments.push(appointmentId);\r\n this.appointmentId = appointmentId;\r\n this.filterOtherAppointments(appointmentId);\r\n this.getAppointment(appointmentId);\r\n }\r\n\r\n toDateTimeString(date, onlyDate = false) {\r\n return this.date.transform(new Date(date), onlyDate ? 'MM/dd/yyyy' : 'MM/dd/yyyy hh:mm a')\r\n }\r\n\r\n slotDateTime(date) {\r\n return this.date.transform(new Date(date), 'MM/dd hh:mm a')\r\n }\r\n\r\n onBack() {\r\n this.selectedAppointments.pop();\r\n const previousAppointmentId = this.selectedAppointments[this.selectedAppointments.length - 1];\r\n this.appointmentId = previousAppointmentId;\r\n this.getAppointment(previousAppointmentId);\r\n }\r\n\r\n getBgColor(appointmentStatus): string {\r\n return this.statusColors.find(x => x.name.toLowerCase() == appointmentStatus.toLowerCase()).color;\r\n }\r\n\r\n getBgClass(index: number, event?): string {\r\n if (event) {\r\n switch (event.statusName.toUpperCase().toString()) {\r\n case \"APPROVED\": {\r\n return 'evenCellColor';\r\n }\r\n case \"PENDING\": {\r\n return 'oddCellColor';\r\n }\r\n case \"CANCELLED\": {\r\n return 'cancelledAppnmntColor';\r\n }\r\n case \"DECLINED\": {\r\n return 'declinedAppnmntColor';\r\n }\r\n case \"COMPLETED\": {\r\n return 'completeCellColor';\r\n }\r\n }\r\n }\r\n else {\r\n return index % 2 == 0 ? 'evenCellColor' : 'oddCellColor';\r\n }\r\n \r\n }\r\n\r\n\r\n getUserDocuments(appyId) {\r\n this.isLoadingDocuments = true;\r\n this.clientService\r\n .getPateintApptDocuments(appyId)\r\n .subscribe((response: ResponseModel) => {\r\n\r\n this.isLoadingDocuments = false;\r\n if (response != null) {\r\n this.documentList = response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n getUserDocument(value: UserDocumentModel) {\r\n this.clientService.getUserDocument(value.id).subscribe((response: any) => {\r\n this.clientService.downloadFile(response, response.type, value.url);\r\n });\r\n }\r\n\r\n deleteUserDocument(id: number) {\r\n this.dialogService\r\n .confirm(\"Are you sure you want to delete this document?\")\r\n .subscribe((result: any) => {\r\n if (result == true) {\r\n this.clientService\r\n .deleteUserDocument(id)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.getUserDocuments(this.appointmentId);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n videoCall() {\r\n // this.router.navigate([\"/web/encounter/video-call\"], {\r\n // queryParams: {\r\n // apptId: this.appointmentId,\r\n // },\r\n // });\r\n this.router.navigate([\"/web/waiting-room/check-in/\" + this.appointmentId]);\r\n this.dialogModal.closeAll();\r\n }\r\n\r\n chat() {\r\n this.commonService.loginUser.subscribe((response: any) => {\r\n if (response.access_token) {\r\n var chatInitModel = new ChatInitModel();\r\n chatInitModel.isActive = true;\r\n chatInitModel.AppointmentId = this.appointmentId;\r\n chatInitModel.UserId = response.data.userID;\r\n //chatInitModel.UserRole = response.data.userRoles.userType;\r\n\r\n if (this.isProviderLogin) {\r\n chatInitModel.UserRole = response.data.users1.userRoles.userType;\r\n } else {\r\n chatInitModel.UserRole = response.data.users3.userRoles.userType;\r\n }\r\n this.appService.CheckChatActivated(chatInitModel);\r\n // this.getAppointmentInfo(\r\n // chatInitModel.AppointmentId,\r\n // chatInitModel.UserRole\r\n // );\r\n this.textChatService.setAppointmentDetail(\r\n chatInitModel.AppointmentId,\r\n chatInitModel.UserRole\r\n );\r\n this.textChatService.setRoomDetail(\r\n chatInitModel.UserId,\r\n chatInitModel.AppointmentId\r\n );\r\n this.dialogModal.closeAll();\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Cancel Appointment

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please select cancellation reason\\r\\n \\r\\n \\r\\n
\\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, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { SchedulerService } from '../scheduler.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { CancelAppointmentModel } from '../scheduler.model';\r\nimport { CommonService } from \"../../../core/services\";\r\n\r\n@Component({\r\n selector: 'app-cancel-appointment-dialog',\r\n templateUrl: './cancel-appointment-dialog.component.html',\r\n styleUrls: ['./cancel-appointment-dialog.component.css']\r\n})\r\nexport class CancelAppointmentDialogComponent implements OnInit {\r\n cancelAppointmentForm: FormGroup;\r\n cancelAppointmentModel: CancelAppointmentModel;\r\n appointmentId: number;\r\n submitted: boolean = false;\r\n isloadingMasterData: boolean = false;\r\n masterCancelType: Array;\r\n currentLoginUserId:any;\r\n isAdminLogin=false;\r\n isClientLogin= false;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private schedulerService: SchedulerService,\r\n public dialogPopup: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private commonService: CommonService\r\n ) {\r\n this.appointmentId = data;\r\n this.masterCancelType = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeFormFields(this.cancelAppointmentModel);\r\n this.fetchMasterData();\r\n this.checkLoggedInUser();\r\n }\r\n\r\n checkLoggedInUser() {\r\n this.commonService.currentLoginUserInfo.subscribe(\r\n (user: any) => {\r\n if (user) {\r\n this.currentLoginUserId = user.id;\r\n this.isAdminLogin =\r\n user.users3 &&\r\n user.users3.userRoles &&\r\n (user.users3.userRoles.userType || \"\").toUpperCase() == \"ADMIN\";\r\n\r\n this.isClientLogin= user.users3 &&\r\n user.users3.userRoles &&\r\n (user.users3.userRoles.userType || \"\").toUpperCase() == \"CLIENT\";\r\n\r\n \r\n \r\n }\r\n });\r\n }\r\n\r\n initializeFormFields(cancelModel?: CancelAppointmentModel) {\r\n cancelModel = cancelModel || new CancelAppointmentModel();\r\n const configControls = {\r\n 'cancelTypeId': [cancelModel.cancelTypeId, Validators.required],\r\n 'cancelReason': [cancelModel.cancelReason, Validators.required],\r\n }\r\n this.cancelAppointmentForm = this.formBuilder.group(configControls);\r\n \r\n }\r\n\r\n get formControls() { return this.cancelAppointmentForm.controls; }\r\n\r\n onClose(): void {\r\n this.dialogPopup.close();\r\n }\r\n\r\n onSubmit(): void {\r\n this.submitted = true;\r\n if (this.cancelAppointmentForm.invalid) {\r\n this.submitted = false;\r\n return;\r\n }\r\n\r\n this.cancelAppointmentModel = this.cancelAppointmentForm.value;\r\n this.cancelAppointmentModel.ids = [this.appointmentId];\r\n\r\n this.schedulerService.cancelAppointment(this.cancelAppointmentModel)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify('success', response.message);\r\n this.dialogPopup.close('SAVE');\r\n } else {\r\n this.notifier.notify('error', response.message);\r\n }\r\n });\r\n }\r\n\r\n fetchMasterData(): void {\r\n // load master data\r\n this.isloadingMasterData = true;\r\n const masterData = { masterdata: \"MASTERCANCELTYPE\" };\r\n this.schedulerService.getMasterData(masterData)\r\n .subscribe((response: any) => {\r\n this.isloadingMasterData = false;\r\n this.masterCancelType = response.masterCancelType || [];\r\n //15/2/24\r\n this.masterCancelType =this.masterCancelType.filter(x => x.value.toLowerCase().includes('cancel ')); \r\n //\r\n if(this.isClientLogin){\r\n this.masterCancelType = this.masterCancelType.filter(x => x.value == 'Cancel By Patient');\r\n this.formControls.cancelTypeId.setValue(this.masterCancelType[0].id);\r\n }\r\n else if(this.isAdminLogin){\r\n this.masterCancelType = this.masterCancelType.filter(x => x.value == 'Cancel By Admin');\r\n this.formControls.cancelTypeId.setValue(this.masterCancelType[0].id);\r\n }\r\n else{\r\n this.masterCancelType = this.masterCancelType.filter(x => x.value == 'Cancel By HealthConsultant');\r\n this.formControls.cancelTypeId.setValue(this.masterCancelType[0].id);\r\n }\r\n\r\n });\r\n }\r\n\r\n}\r\n","import { ClientProfileModel } from \"../../agency-portal/clients/client-profile.model\";\r\n\r\nexport class AppointmentModel {\r\n 'patientAppointmentId': number = 0;\r\n 'appointmentTypeID': number = null;\r\n 'appointmentStaffs': AppointmentStaff[];\r\n 'patientID': number = null;\r\n 'patientName': string = '';\r\n 'serviceLocationID': number = null;\r\n 'officeAddressID': number = null;\r\n 'patientAddressID': number = null;\r\n 'customAddressID': number = null;\r\n 'customAddress': string = '';\r\n 'latitude': number = 0;\r\n 'longitude': number = 0;\r\n 'startDateTime': Date = new Date();\r\n 'endDateTime': Date = new Date();\r\n 'notes': string = '';\r\n 'isTelehealthAppointment': boolean = false;\r\n 'isRecurrence': boolean = false;\r\n 'isClientRequired': boolean = false;\r\n 'isBillableAppointment': boolean = false;\r\n 'isBillable': boolean = false;\r\n 'offset': number = 0;\r\n 'timezone': string = '';\r\n 'isExcludedFromMileage': boolean = false;\r\n 'isDirectService': boolean = false;\r\n 'mileage': number = null;\r\n 'driveTime': string = '';\r\n // some extra keys ...\r\n 'patientEncounterId': number = 0;\r\n 'parentAppointmentId': number = null;\r\n 'claimId': number = null;\r\n 'cancelTypeId': number = null;\r\n 'statusName': string = '';\r\n 'mode': string = '';\r\n 'type': string = '';\r\n 'PatientInfoDetails':ClientProfileModel = null;\r\n 'patientInfoDetails':ClientProfileModel = null;\r\n 'patientPhotoThumbnailPath':string = '';\r\n}\r\n\r\nexport class AppointmentStaff {\r\n 'staffId'?: number = 0;\r\n 'isDeleted'?: boolean = false;\r\n 'staffName'?: string = '';\r\n}\r\n\r\nexport class RecurrenceAppointmentModel {\r\n 'startDateTime': Date = new Date();\r\n 'endDateTime': Date = new Date();\r\n 'startDate': string = '';\r\n 'startTime': string = '';\r\n 'endTime': string = '';\r\n 'message': string = '';\r\n}\r\n\r\nexport class CancelAppointmentModel {\r\n 'cancelTypeId': number = null;\r\n 'cancelReason': string = '';\r\n 'ids': number[];\r\n}\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CommonService } from \"../../core/services\";\r\nimport { Observable } from \"rxjs\";\r\nimport { FilterModel } from \"../../core/modals/common-model\";\r\n\r\nconst getQueryParamsFromObject = (filterModal: object): string => {\r\n let queryParams = \"\";\r\n let index = 0;\r\n for (const key of Object.keys(filterModal)) {\r\n if (index === 0) queryParams += `?${key}=${filterModal[key]}`;\r\n else queryParams += `&${key}=${filterModal[key]}`;\r\n\r\n index++;\r\n }\r\n return queryParams;\r\n};\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SchedulerService {\r\n getMasterDataURL = \"api/MasterData/MasterDataByName\";\r\n getAllURL = \"api/PatientAppointments/GetPatientAppointmentList\";\r\n getAllCompanies=\"api/PatientAppointments/GetCompanies\";\r\n getPatientBycompani=\"api/PatientAppointments/GetPatientByCompanyId\";\r\n getStaffAndPatientByLocationURL = \"api/PatientAppointments/GetStaffAndPatientByLocation\";\r\n getStaffAvailabilityURL = \"AvailabilityTemplates/GetStaffAvailabilityWithLocation\";\r\n getMinMaxOfficeTimeURL = \"MasterLocations/GetMinMaxOfficeTime\";\r\n getPatientsURL = \"Patients/GetPatients\";\r\n checkIsValidAppointmentURL = \"api/PatientAppointments/CheckIsValidAppointmentWithLocation\";\r\n checkAuthorizationDetailsURL = \"api/PatientAppointments/GetPatientAuthorizationData\";\r\n getDataForSchedulerURL = \"api/PatientAppointments/GetDataForSchedulerByPatient\";\r\n createAppointmentURL = \"api/PatientAppointments/SavePatientAppointment\";\r\n createAppointmentFromPatientPortalURL = \"PatientPortalAppointment/SavePatientAppointment\";\r\n bookNewAppointmentFromPatientPortalURL = \"PatientPortalAppointment/BookNewAppointment\";\r\n RescheduleAppointmentURL = \"PatientPortalAppointment/RescheduleAppointment\";\r\n getAppointmentDetailURL = \"api/PatientAppointments/GetAppointmentDetails\";\r\n getpatientnoteslist= \"api/PatientAppointments/GetAppointmentListPatientId\";\r\n getPatientEncounterNotesByApptid= \"api/PatientAppointments/GetEncounterNotesByAppointmentId\";\r\n getAppointmentDetailsAsListURL = \"api/PatientAppointments/GetAppointmentDetailsAsList\";\r\n deleteAppointmentDetailURL = \"api/PatientAppointments/DeleteAppointment\";\r\n cancelAppointmentURL = \"api/PatientAppointments/CancelAppointments\";\r\n unCancelAppointmentURL = \"api/PatientAppointments/ActivateAppointments\";\r\n updateAppointmentStatusURL = \"api/PatientAppointments/UpdateAppointmentStatus\";\r\n updateCallDurationURL = 'api/PatientAppointments/UpdateCallDuration';\r\n bookNewFreeAppointmentFromPatientPortalURL = \"PatientPortalAppointment/BookNewFreeAppointment\";\r\n getAppointmentDetailsWithPatientURL = \"api/PatientAppointments/GetAppointmentDetailsWithPatient\";\r\n getStaffFeeSettingsURL = \"Staffs/GetStaffFeeSettings?id=\";\r\n getGetLastNewAppointmentURL = \"api/PatientAppointments/GetLastNewAppointment?providerId=\";\r\n GetPreviousAppointmentURL = \"api/PatientAppointments/GetPreviousAppointment\";\r\n // bookNewAppointmentFromPaymentPageURL = \"PatientPortalAppointment/BookNewAppointmentFromPaymentPage\";\r\n bookNewAppointmentFromPaymentPageURL = \"Home/BookNewAppointmentFromPaymentPage\";\r\n checkAppointmentTimeExpiryURL = \"Home/CheckAppointmentTimeExpiry\";\r\n bookNewUrgentCareAppointmentFromPatientPortalURL = \"PatientPortalAppointment/BookUrgentCareAppointment\";\r\n urgentCareRefundAppointmentFeeURL = \"PatientPortalAppointment/UrgentCareRefundAppointmentFee\";\r\n SaveSymptomatePatientReportURL = \"Payers/SaveSymptomatePatientReport\";\r\n private getStaffAvailabilityByLocationURL = \"AvailabilityTemplates/GetStaffAvailabilityWithLocation\";\r\n getLastUrgentCareCallStatusURL = \"api/PatientAppointments/GetLastUrgentCareCallStatus?userId=\";\r\n getLastUrgentCareCallStatusForPatientPortalURL = \"api/PatientAppointments/GetLastUrgentCareCallStatusForPatientPortal?userId=\";\r\n GetLastPatientFollowupDetailsURL = \"api/PatientAppointments/GetLastPatientFollowupDetails?userId=\";\r\n getLastPatientFollowupWithCurrentPovider = \"api/PatientAppointments/GetLastPatientFollowupWithCurrentPovider\";\r\n getAllfilteredApptURL = \"api/PatientAppointments/GetFilteredAppointmentList\";\r\n checkFollowupURL = \"api/PatientAppointments/CheckFollowUpAppointment\";\r\n checkFollowupFees = \"api/PatientAppointments/CheckPatientFollowupFees\";\r\n updateAppointmentNotesURL = \"api/PatientAppointments/UpdateAppointmentNotes\";\r\n OtpNotification=\"Home/SendRequestInfoForPatient\";\r\n constructor(private commonService: CommonService) { }\r\npatientID:number;\r\n getMasterData(masterData: any): Observable {\r\n return this.commonService.post(this.getMasterDataURL, masterData);\r\n }\r\n\r\n getListData(filterModal: any): Observable {\r\n // ?locationIds=1&fromDate=2018-11-11&toDate=2018-11-17&staffIds=3\r\n const queryParams = getQueryParamsFromObject(filterModal);\r\n\r\n return this.commonService.getAll(this.getAllURL + queryParams, {});\r\n }\r\n\r\n getStaffAndPatientByLocation(\r\n locationIds: string,\r\n permissionKey: string = \"SCHEDULING_LIST_VIEW_OTHERSTAFF_SCHEDULES\"\r\n ): Observable {\r\n const queryParams = `?locationIds=${locationIds}&permissionKey=${permissionKey}&isActiveCheckRequired=YES`;\r\n return this.commonService.getAll(\r\n this.getStaffAndPatientByLocationURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getStaffAvailability(staffIds: string, locationId: string): Observable {\r\n const queryParams = `?staffId=${staffIds}&locationId=${locationId}&isLeaveNeeded=true`;\r\n return this.commonService.getAll(\r\n this.getStaffAvailabilityURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getMinMaxOfficeTime(locationIds: string): Observable {\r\n const queryParams = `?locationIds=${locationIds}`;\r\n return this.commonService.getAll(\r\n this.getMinMaxOfficeTimeURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getPatientsByLocation(\r\n searchText: string,\r\n locationIds: string\r\n ): Observable {\r\n // http://108.168.203.227/HC_Patient_Merging/Patients/GetPatients\r\n const queryParams = `?searchKey=${searchText}&locationIDs=${locationIds}&pageSize=5&isActive=true`;\r\n return this.commonService.getAll(this.getPatientsURL + queryParams, {});\r\n }\r\n\r\n getDataForScheduler(filterModal: any): Observable {\r\n const queryParams = getQueryParamsFromObject(filterModal);\r\n return this.commonService.getAll(\r\n this.getDataForSchedulerURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n checkIsValidAppointment(appointmentData: any): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(this.checkIsValidAppointmentURL, postJson);\r\n }\r\n\r\n checkAuthorizationDetails(filterModal: any): Observable {\r\n const queryParams = getQueryParamsFromObject(filterModal);\r\n return this.commonService.getAll(\r\n this.checkAuthorizationDetailsURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n createAppointment(appointmentData: any, params: any): Observable {\r\n const queryParams = getQueryParamsFromObject(params);\r\n const postJson = appointmentData;\r\n return this.commonService.post(\r\n this.createAppointmentURL + queryParams,\r\n postJson\r\n );\r\n }\r\n updateAppointment(appointmentData: any): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(\r\n this.updateAppointmentNotesURL, postJson\r\n );\r\n }\r\n\r\n createAppointmentFromPatientPortal(appointmentData: any): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(\r\n this.createAppointmentFromPatientPortalURL,\r\n postJson\r\n );\r\n }\r\n bookNewAppointmentFromPatientPortal(appointmentData: any): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(\r\n this.bookNewAppointmentFromPatientPortalURL,\r\n postJson\r\n );\r\n }\r\n RescheduleAppointment(appointmentData: any): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(\r\n this.RescheduleAppointmentURL,\r\n postJson\r\n );\r\n }\r\n bookNewFreeAppointmentFromPatientPortal(appointmentData: any,UserId:number=0,isSelf:boolean=true): Observable {\r\n const postJson = appointmentData;\r\n const queryParams = `?UserId=${UserId}&isSelf=${isSelf}`;\r\n // return this.commonService.post(this.updateCallDurationURL + queryParams, {});\r\n\r\n return this.commonService.post(\r\n this.bookNewFreeAppointmentFromPatientPortalURL+ queryParams,\r\n postJson,\r\n );\r\n }\r\n\r\n bookNewAppointmentFromPaymentPage(appointmentData: any): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(\r\n this.bookNewAppointmentFromPaymentPageURL,\r\n postJson\r\n );\r\n }\r\n\r\n getAppointmentDetails(appointmentId: number): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}`;\r\n return this.commonService.getById(\r\n this.getAppointmentDetailURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getPatientnoteslist(obj: any): Observable {\r\n \r\n const queryParams = `?patientId=${obj.patientId}&pageNumber=${obj.pageNumber}&appointmentId=${obj.appointmentId}&pageSize=${obj.pageSize}&sortColumn=${obj.sortColumn}&sortOrder=${obj.sortOrder}`;//\r\n return this.commonService.getById(\r\n this.getpatientnoteslist + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getPatientEncounterNotesByApptId(patientId: any,appointmentId:any): Observable { \r\n const queryParams = `?patientId=${patientId}&appointmentId=${appointmentId}`;//\r\n return this.commonService.getById(\r\n this.getPatientEncounterNotesByApptid + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n // getPrescriptionList(clientId: number, filterModel: FilterModel) {\r\n // let url = this.getPrescriptionListURL + \"?pageNumber=\" + filterModel.pageNumber + \"&pageSize=\" + filterModel.pageSize + \"&PatientId=\" + clientId + \"&SortColumn=\" + filterModel.sortColumn + \"&SortOrder=\" + filterModel.sortOrder;\r\n // return this.commonService.getAll(url, {});\r\n // }\r\n\r\n getAppointmentDetailsWithPatient(appointmentId: number): Observable {\r\n\r\n const queryParams = `?appointmentId=${appointmentId}`;\r\n return this.commonService.getById(\r\n this.getAppointmentDetailsWithPatientURL + queryParams,\r\n {}\r\n );\r\n }\r\n getOtpNotification(AppointmentId:any,UserId:any){\r\n const queryParams = `?appointmentId=${AppointmentId}&userId=${UserId}`;\r\n return this.commonService.getAll(\r\n this.OtpNotification + queryParams,{}\r\n )\r\n }\r\n deleteAppointmentDetails(\r\n appointmentId: number,\r\n parentAppointmentId: number,\r\n deleteSeries: boolean,\r\n isAdmin: boolean\r\n ): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}&parentAppointmentId=${parentAppointmentId}&deleteSeries=${deleteSeries}&isAdmin=${isAdmin}`;\r\n return this.commonService.patch(\r\n this.deleteAppointmentDetailURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n cancelAppointment(appointmentData: any): Observable {\r\n return this.commonService.post(this.cancelAppointmentURL, appointmentData);\r\n }\r\n\r\n unCancelAppointment(appointmentId: number): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}`;\r\n return this.commonService.patch(\r\n this.unCancelAppointmentURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n updateAppointmentStatus(appointmentData: any): Observable {\r\n return this.commonService.post(\r\n this.updateAppointmentStatusURL,\r\n appointmentData\r\n );\r\n }\r\n\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n return this.commonService.getUserScreenActionPermissions(\r\n moduleName,\r\n screenName\r\n );\r\n }\r\n UpdateCallDuration(appointmentId: number, timeDuration: string): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}&timeDuration=${timeDuration}`;\r\n return this.commonService.post(this.updateCallDurationURL + queryParams, {});\r\n }\r\n\r\n getStaffFeeSettings(staffId: number): Observable {\r\n return this.commonService.get(this.getStaffFeeSettingsURL + staffId, true);\r\n }\r\n\r\n getGetLastNewAppointment(providerId: string): Observable {\r\n return this.commonService.get(this.getGetLastNewAppointmentURL + providerId, true);\r\n }\r\n getPreviousAppointment(providerId: string, patientId: number): Observable {\r\n const queryParams = `?providerId=${providerId}&clientId=${patientId}`\r\n return this.commonService.post(this.GetPreviousAppointmentURL + queryParams, {});\r\n }\r\n\r\n checkAppointmentTimeExpiry(\r\n appointmentId: number\r\n ): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}`;\r\n return this.commonService.patch(\r\n this.checkAppointmentTimeExpiryURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getAppointmentDetailsAsList(appointmentId: number): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}`;\r\n return this.commonService.getById(\r\n this.getAppointmentDetailsAsListURL + queryParams,\r\n {}\r\n );\r\n }\r\n getAllCompaniesdata(): Observable{\r\n return this.commonService.get(\r\n this.getAllCompanies\r\n )\r\n }\r\n getPatientBycompanyId(companyId:number): Observable{\r\n \r\n const queryParams = `?companyId=${companyId}`;\r\n return this.commonService.get(\r\n this.getPatientBycompani+queryParams)\r\n }\r\n bookUrgentCareAppointmentFromPatientPortal(appointmentData: any): Observable {\r\n const postJson = appointmentData;\r\n return this.commonService.post(\r\n this.bookNewUrgentCareAppointmentFromPatientPortalURL,\r\n postJson\r\n );\r\n }\r\n\r\n urgentCareRefundAppointmentFee(appointmentId: number): Observable {\r\n const queryParams = `?appointmentId=${appointmentId}`;\r\n return this.commonService.post(\r\n this.urgentCareRefundAppointmentFeeURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n SaveSymptomatePatientReport(data: any) {\r\n return this.commonService.post(this.SaveSymptomatePatientReportURL, data)\r\n }\r\n\r\n getLastUrgentCareCallStatus(userId: string): Observable {\r\n return this.commonService.get(this.getLastUrgentCareCallStatusURL + userId, true);\r\n }\r\n getLastUrgentCareCallStatusForPatientPortal(userId: string): Observable {\r\n return this.commonService.get(this.getLastUrgentCareCallStatusForPatientPortalURL + userId, true);\r\n }\r\n GetLastPatientFollowupDetails(patientId: any): Observable {\r\n return this.commonService.get(this.GetLastPatientFollowupDetailsURL + patientId, true);\r\n }\r\n GetLastPatientFollowupWithCurrentPovider(patinetUserId: string, providerId: any, appointmentDate: any, isNotification: boolean): Observable {\r\n const queryParams = `?userId=${patinetUserId}&staffId=${providerId}&appointmentDate=${appointmentDate}&isNotification=${isNotification}`;\r\n return this.commonService.get(this.getLastPatientFollowupWithCurrentPovider + queryParams);\r\n }\r\n\r\n getStaffAvailabilityByLocation(staffId: number, locationId: number) {\r\n return this.commonService.getById(\r\n this.getStaffAvailabilityByLocationURL +\r\n \"?staffId=\" +\r\n staffId +\r\n \"&locationId=\" +\r\n locationId +\r\n \"&isLeaveNeeded=false\",\r\n {}\r\n );\r\n }\r\n\r\n getfilteredAppointmentListData(filterModal: any): Observable {\r\n // ?locationIds=1&fromDate=2018-11-11&toDate=2018-11-17&staffIds=3\r\n const queryParams = getQueryParamsFromObject(filterModal);\r\n\r\n return this.commonService.getAll(this.getAllfilteredApptURL + queryParams, {});\r\n }\r\n checkfollowupAppointment(id: number): Observable {\r\n const queryParams = `?AppointmentId=${id}`;\r\n return this.commonService.get(this.checkFollowupURL + queryParams);\r\n }\r\n checkFollowupPricewhichoneapply(patinetUserId: string, providerId: any, appointmentDate: any): Observable {\r\n const queryParams = `?PatientId=${patinetUserId}&StaffId=${providerId}&appointmentDate=${appointmentDate}`;\r\n return this.commonService.get(this.checkFollowupFees + queryParams);\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport {\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatExpansionModule,\r\n MAT_DATE_LOCALE,\r\n MatFormFieldModule\r\n} from \"@angular/material\";\r\nimport { NgxMaterialTimepickerModule } from \"ngx-material-timepicker\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\n\r\n@NgModule({\r\n imports: [\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n NgxMaterialTimepickerModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTooltipModule,\r\n MatExpansionModule,\r\n MatFormFieldModule\r\n ],\r\n //providers: [{ provide: MAT_DATE_LOCALE, useValue: { useUtc: true } }],\r\n exports: [\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatOptionModule,\r\n MatGridListModule,\r\n MatProgressBarModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatSidenavModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatRadioModule,\r\n MatProgressSpinnerModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n NgxMaterialTimepickerModule,\r\n MatDatepickerModule,\r\n MatTooltipModule,\r\n MatExpansionModule\r\n ]\r\n})\r\nexport class PlatformMaterialModule {}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

{{title}} Appointment Invitation

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\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, Inject } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { AppointmentGraphService } from \"src/app/shared/appointment-graph/appointment-graph.service\";\r\n\r\n@Component({\r\n selector: \"app-accept-reject-appointment-invitation\",\r\n templateUrl: \"./accept-reject-appointment-invitation.component.html\",\r\n styleUrls: [\"./accept-reject-appointment-invitation.component.css\"]\r\n})\r\nexport class AcceptRejectAppointmentInvitationComponent implements OnInit {\r\n approveAppointmentForm: FormGroup;\r\n submitted: boolean = false;\r\n title: string = \"\";\r\n appointmentId: number = 0;\r\n status: string = \"\";\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private appointmentGraphService: AppointmentGraphService,\r\n public dialogPopup: MatDialogRef<\r\n AcceptRejectAppointmentInvitationComponent\r\n >,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService\r\n ) {\r\n if (data) {\r\n this.title = data.title;\r\n this.appointmentId = data.appointmentId;\r\n this.status = data.status;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeFormFields();\r\n }\r\n\r\n initializeFormFields() {\r\n const configControls = {\r\n notes: [\"\"],\r\n id: [this.appointmentId],\r\n status: [this.status]\r\n };\r\n this.approveAppointmentForm = this.formBuilder.group(configControls);\r\n }\r\n\r\n get formControls() {\r\n return this.approveAppointmentForm.controls;\r\n }\r\n\r\n onClose(): void {\r\n this.dialogPopup.close();\r\n }\r\n\r\n onSubmit(): void {\r\n this.submitted = true;\r\n if (this.approveAppointmentForm.invalid) {\r\n this.submitted = false;\r\n return;\r\n }\r\n\r\n const { NotesToMember } = this.approveAppointmentForm.value;\r\n // this.appointmentData[\"NotesToMember\"] = NotesToMember;\r\n\r\n this.appointmentGraphService\r\n .updateAppointmentStatus(this.approveAppointmentForm.value)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.dialogPopup.close(\"SAVE\");\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"ul.ul-user-list {\\r\\n background: #fff;\\r\\n position: relative;\\r\\n top: -17px;\\r\\n height: 135px;\\r\\n overflow: auto;\\r\\n width: 100%;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\nul.ul-user-list li {\\r\\n list-style: none;\\r\\n line-height: 51px;\\r\\n border-bottom: solid 1px #e5e5e5;\\r\\n margin-left: 0px;\\r\\n}\\r\\n\\r\\nul.ul-user-list li:hover {\\r\\n background: #e5e5e5;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.ul-user-list img.profile-pic.img-fluid {\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n border-radius: 50%;\\r\\n padding: 4px;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n

Invite User

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{type.key}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter name\\r\\n \\r\\n \\r\\n
    \\r\\n
  • \\r\\n \\\"user\\\" \\r\\n {{user.fullName}} - \\r\\n {{user.roleName}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter user email\\r\\n \\r\\n \\r\\n Please enter a valid email address\\r\\n \\r\\n \\r\\n
\\r\\n
\\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 { CommonService } from \"./../../platform/modules/core/services/common.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { debug } from \"util\";\r\nimport { AddNewCallerService } from \"./add-new-caller.service\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { Component, OnInit, ViewEncapsulation, Inject } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { AddNewCallerModel } from \"./add-new-caller.model\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\n@Component({\r\n selector: \"app-add-new-caller\",\r\n templateUrl: \"./add-new-caller.component.html\",\r\n styleUrls: [\"./add-new-caller.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AddNewCallerComponent implements OnInit {\r\n headerText: string = \"\";\r\n sendUserInvitationForm: FormGroup;\r\n submitted: boolean = false;\r\n private addNewCallerModel: AddNewCallerModel;\r\n masterRoles: any;\r\n userList: Array = [];\r\n userExisted: boolean = false;\r\n public userType: any;\r\n userTypes = [{ value: 1, key: \"Internal\" }, { value: 2, key: \"External\" }];\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private notifier: NotifierService,\r\n private formBuilder: FormBuilder,\r\n private addNewCallerService: AddNewCallerService,\r\n private commonService: CommonService\r\n ) {\r\n this.addNewCallerModel = new AddNewCallerModel();\r\n this.userType = this.userTypes.find(x => x.value == 1);\r\n if (\r\n data &&\r\n data.appointmentId &&\r\n +data.appointmentId > 0 &&\r\n data.sessionId &&\r\n +data.sessionId > 0\r\n ) {\r\n this.addNewCallerModel.appointmentId = data.appointmentId;\r\n this.addNewCallerModel.sessionId = data.sessionId;\r\n } else {\r\n if (\r\n localStorage.getItem(\"otSession\") &&\r\n localStorage.getItem(\"otSession\") != \"\"\r\n ) {\r\n var response = JSON.parse(\r\n this.commonService.encryptValue(\r\n localStorage.getItem(\"otSession\"),\r\n false\r\n )\r\n );\r\n this.addNewCallerModel.appointmentId = +response.appointmentId;\r\n this.addNewCallerModel.sessionId = +response.id;\r\n }\r\n }\r\n const webUrl = window.location.origin;\r\n this.addNewCallerModel.webRootUrl = `${webUrl}`;\r\n }\r\n\r\n ngOnInit() {\r\n this.sendUserInvitationForm = this.formBuilder.group(\r\n {\r\n staffId: [this.addNewCallerModel.staffId],\r\n sessionId: [this.addNewCallerModel.sessionId],\r\n appointmentId: [this.addNewCallerModel.appointmentId],\r\n webRootUrl: [this.addNewCallerModel.webRootUrl],\r\n name: [\r\n this.addNewCallerModel.name,\r\n [Validators.required, Validators.minLength, Validators.maxLength]\r\n ],\r\n email: [\r\n this.addNewCallerModel.email,\r\n [Validators.required, Validators.email]\r\n ]\r\n },\r\n { validator: this.validateForm.bind(this) }\r\n );\r\n\r\n this.getMasterData();\r\n //this.getAllUserListing();\r\n }\r\n get formControls() {\r\n return this.sendUserInvitationForm.controls;\r\n }\r\n validateForm(formGroup: FormGroup) {\r\n return null;\r\n }\r\n getMasterData() {\r\n // this.usersService\r\n // .getMasterData(\"MASTERROLES\")\r\n // .subscribe((response: any) => {\r\n // if (response != null) {\r\n // this.masterRoles =\r\n // response.masterRoles != null ? response.masterRoles : [];\r\n // }\r\n // });\r\n }\r\n onSubmit() {\r\n if (!this.sendUserInvitationForm.invalid) {\r\n this.submitted = true;\r\n this.addNewCallerService\r\n .inviteNewPerson(this.sendUserInvitationForm.value)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.notifier.notify(\"success\", \"Invitation sent successfully\");\r\n this.closeDialog(\"save\");\r\n } else if (response.statusCode == 201) {\r\n this.notifier.notify(\"info\", response.message);\r\n this.closeDialog(\"save\");\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n applyFilter(event: any) {\r\n var name = event.target.value;\r\n if (name.length > 3 && this.userType.value == 1) {\r\n this.getAllUserListing(name);\r\n } else {\r\n this.userList = [];\r\n this.userExisted = false;\r\n }\r\n }\r\n getAllUserListing(name: string = \"\") {\r\n this.addNewCallerService\r\n .getStaffDetailsByName(name)\r\n .subscribe((response: any) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.userList = response.data;\r\n this.userExisted = true;\r\n } else {\r\n this.userList = [];\r\n this.userExisted = false;\r\n }\r\n });\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n getUserDetail(user: any) {\r\n this.userExisted = false;\r\n this.formControls.name.setValue(user.fullName);\r\n this.formControls.email.setValue(user.email);\r\n this.formControls.staffId.setValue(user.staffID);\r\n }\r\n changeUserType(event: any, type: any) {\r\n this.userType = type;\r\n var name = this.formControls.name.value;\r\n if (name.length > 3 && this.userType.value == 1) {\r\n this.getAllUserListing(name);\r\n } else {\r\n this.userList = [];\r\n this.userExisted = false;\r\n }\r\n }\r\n}\r\n","export class AddNewCallerModel {\r\n name: string;\r\n email: string;\r\n webRootUrl: string;\r\n sessionId: number;\r\n appointmentId: number;\r\n staffId: number;\r\n}\r\n","import { CommonService } from \"./../../platform/modules/core/services/common.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class AddNewCallerService {\r\n private getStaffDetailsByNameUrl = \"Staffs/GetStaffsByName?name=\";\r\n private getOTSessionByAppointmentIdUrl = \"api/Telehealth/GetOTSessionByApptId?appointmentId=\";\r\n private inviteNewPersonUrl = \"GroupSession/SaveInvitation\";\r\n constructor(private commonService: CommonService) {}\r\n getStaffDetailsByName(name: string = \"\"): Observable {\r\n return this.commonService.getAll(\r\n `${this.getStaffDetailsByNameUrl}${name}`,\r\n {}\r\n );\r\n }\r\n getOTSessionByAppointmentId(apptId: number = 0): Observable {\r\n return this.commonService.getAll(\r\n `${this.getOTSessionByAppointmentIdUrl}${apptId}`,\r\n {}\r\n );\r\n }\r\n inviteNewPerson(data: any): Observable {\r\n return this.commonService.post(`${this.inviteNewPersonUrl}`, data);\r\n }\r\n}\r\n","module.exports = \"@import url(\\\"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css\\\");\\r\\n.iconbox-single {\\r\\n background: #fff;\\r\\n border-radius: 5px;\\r\\n -webkit-border-radius: 5px;\\r\\n box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02);\\r\\n -webkit-box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02);\\r\\n height: 160px;\\r\\n}\\r\\n.bi bi-journal-text {\\r\\n font-size:30px ; \\r\\n}\\r\\n.iconbox-single .box-title {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n height: 100%;\\r\\n}\\r\\n.circle-icon {\\r\\n display: flex;\\r\\n align-items: flex-end;\\r\\n}\\r\\n.circle-icon i {\\r\\n font-size: 130px;\\r\\n line-height: 98px;\\r\\n color: rgba(0, 0, 0, 0.15);\\r\\n}\\r\\n.icon-2 i {\\r\\n font-size: 162px;\\r\\n line-height: 108px;\\r\\n}\\r\\n.icon-1 i {\\r\\n font-size: 200px;\\r\\n line-height: 100px;\\r\\n}\\r\\n.iconbox-single p {\\r\\n margin: 0;\\r\\n opacity: 0.5;\\r\\n text-transform: uppercase;\\r\\n font-weight: 400;\\r\\n font-size: 13px;\\r\\n color: #fff;\\r\\n}\\r\\n.iconbox-single h5 {\\r\\n margin: 0;\\r\\n font-size: 40px;\\r\\n font-weight: 500;\\r\\n color: #fff;\\r\\n}\\r\\n.iconbox-single.gaps-click:hover p {\\r\\n color: #fff;\\r\\n opacity: 1;\\r\\n cursor: pointer;\\r\\n}\\r\\n.dashboard-panel>div {\\r\\n height: 30px;\\r\\n}\\r\\n.dashboard-panel button {\\r\\n width: 30px !important;\\r\\n height: 30px !important;\\r\\n padding: 0px !important;\\r\\n line-height: normal;\\r\\n}\\r\\n.dashboard_body table th {\\r\\n height: auto !important;\\r\\n color: #000 !important;\\r\\n font-weight: 500 !important;\\r\\n font-size: 11px !important;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n.dashboard_body .DivPager {\\r\\n padding: 0px 25px;\\r\\n}\\r\\n.remain-unit-circle {\\r\\n color: #fff;\\r\\n border: 1px solid transparent;\\r\\n width: 80px;\\r\\n text-align: center;\\r\\n display: block;\\r\\n border-radius: 30px;\\r\\n -webkit-border-radius: 30px;\\r\\n font-size: 13px;\\r\\n}\\r\\n.mb-minus-15 {\\r\\n margin-bottom: -15px;\\r\\n}\\r\\n.update-pwd {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.update-pwd i {\\r\\n cursor: pointer;\\r\\n}\\r\\n.dashboard-box .chart svg {\\r\\n width: 100%;\\r\\n}\\r\\n.icon-3 i {\\r\\n line-height: 104px;\\r\\n}\\r\\n.icon-5 i {\\r\\n font-size: 125px;\\r\\n line-height: 102px;\\r\\n}\\r\\n.dash-table {\\r\\n max-height: 400px;\\r\\n}\\r\\n.sticky-header {\\r\\n height: 380px;\\r\\n}\\r\\n.sticky-header table {\\r\\n table-layout: fixed;\\r\\n}\\r\\n.sticky-header table.mat-table thead,\\r\\n.sticky-header table.mat-table thead th {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n top: 0px;\\r\\n z-index: 100;\\r\\n}\\r\\n.dash-table a:hover,\\r\\n.sticky-header a:hover {\\r\\n text-decoration: underline;\\r\\n}\\r\\n.-vertical .ng-scrollbar-thumb {\\r\\n min-height: 70px;\\r\\n}\\r\\n.dashboardchart i {\\r\\n cursor: pointer;\\r\\n}\\r\\ntd.mat-table-sticky:first-child,\\r\\ntd.mat-table-sticky:last-child {\\r\\n background-color: #fff;\\r\\n background-clip: padding-box;\\r\\n}\\r\\ntd.mat-table-sticky:nth-child(2) {\\r\\n background-color: #fff;\\r\\n background-clip: padding-box;\\r\\n}\\r\\nth.mat-table-sticky:first-child,\\r\\nth.mat-table-sticky:nth-child(2),\\r\\nth.mat-table-sticky:last-child {\\r\\n background-color: #f1f5f7;\\r\\n}\\r\\n.sticky-table {\\r\\n width: 100%;\\r\\n}\\r\\n.sticky-table .table-hover tbody tr:hover {\\r\\n background-color: transparent;\\r\\n}\\r\\n.no-fixed {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n.no-fixed .table {\\r\\n table-layout: inherit;\\r\\n width: 100%;\\r\\n margin: 0px;\\r\\n}\\r\\n.no-fixed .table tr.mat-header-row th {\\r\\n position: static !important;\\r\\n width: auto;\\r\\n}\\r\\n/*increase height of bar chart*/\\r\\n.bar-dash>div {\\r\\n min-height: 320px;\\r\\n}\\r\\n.canvas.chartjs-render-monitor {\\r\\n height: 250px !important;\\r\\n}\\r\\n.refresh {\\r\\n padding-right: 27px;\\r\\n}\\r\\n.field-clear {\\r\\n position: absolute;\\r\\n bottom: 1.8em;\\r\\n cursor: pointer;\\r\\n color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n@media (max-width: 1199px) {\\r\\n .iconbox-single {\\r\\n height: 130px;\\r\\n }\\r\\n .iconbox-single h5 {\\r\\n font-size: 30px;\\r\\n }\\r\\n .circle-icon i {\\r\\n font-size: 72px;\\r\\n line-height: 53px;\\r\\n }\\r\\n .icon-2 i {\\r\\n font-size: 90px;\\r\\n line-height: 61px;\\r\\n }\\r\\n .icon-1 i {\\r\\n font-size: 110px;\\r\\n line-height: 54px;\\r\\n }\\r\\n}\\r\\n.app-data-table .mat-header-cell {\\r\\n text-align: center;\\r\\n}\\r\\n.mat-header-cell {\\r\\n text-align: center;\\r\\n}\\r\\n@media (max-width: 480px) {\\r\\n .dashboard-box .chart>div {\\r\\n width: 60px !important;\\r\\n }\\r\\n}\\r\\n.graph-form .mat-form-field ::ng-deep .mat-form-field-infix {\\r\\n border: none !important;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n Appointments Graph\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{obj.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 \\r\\n \\r\\n \\r\\n {{obj.value}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{obj.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 \\r\\n Accepted/Approved Appointments\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n 0}\\\"\\r\\n stickyHeader=\\\"true\\\" [inputColumns]=\\\"allAppointmentsDisplayedColumns\\\"\\r\\n [inputSource]=\\\"allAppointmentsList\\\" [inputMeta]=\\\"allAppointmentsMeta\\\"\\r\\n (onChange)=\\\"onUpcomingAptPageOrSortChange($event)\\\"\\r\\n [inputButtons]='allAppointmentsActionButtons'>\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n View Appointment\\r\\n \\r\\n \\r\\n Reschedule\\r\\n \\r\\n Cancel\\r\\n Appointment\\r\\n \\r\\n \\r\\n \\r\\n Set Availability\\r\\n \\r\\n \\r\\n Send Invitation\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n 0}\\\"\\r\\n stickyHeader=\\\"true\\\" [inputColumns]=\\\"cancelledDisplayedColumns\\\"\\r\\n [inputSource]=\\\"cancelledPatientAppointment\\\" [inputMeta]=\\\"cancelledAppointmentMeta\\\"\\r\\n [inputButtons]='cancelledActionButtons' (onChange)=\\\"onCancelledPageOrSortChange($event)\\\"\\r\\n (onTableActionClick)=\\\"onTableActionClick($event)\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n 0}\\\"\\r\\n stickyHeader=\\\"true\\\" [inputColumns]=\\\"invitedDisplayedColumns\\\"\\r\\n [inputSource]=\\\"invitedPatientAppointment\\\" [inputMeta]=\\\"invitedAppointmentMeta\\\"\\r\\n [inputButtons]='invitedActionButtons' (onChange)=\\\"onPendingInvitationPageOrSortChange($event)\\\"\\r\\n (onTableActionClick)=\\\"onPendingInvitationTableActionClick($event)\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n 0}\\\"\\r\\n stickyHeader=\\\"true\\\" [inputColumns]=\\\"CompleteDisplayedColumns\\\"\\r\\n [inputSource]=\\\"completeAppointment\\\" [inputMeta]=\\\"completeAppointmentMeta\\\"\\r\\n [inputButtons]=\\\"allcompletesActionButtons\\\" (onChange)=\\\"onCompletePageChange($event)\\\"\\r\\n (onTableActionClick)=\\\"onTableActionClicks($event)\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { AcceptRejectAppointmentInvitationComponent } from \"./../accept-reject-appointment-invitation/accept-reject-appointment-invitation.component\";\r\nimport { InvitedRejectedComponent } from \"./invited-rejected/invited-rejected.component\";\r\nimport { InvitedAcceptedComponent } from \"./invited-accepted/invited-accepted.component\";\r\nimport { InvitedPendingComponent } from \"./invited-pending/invited-pending.component\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ResponseModel } from \"./../../super-admin-portal/core/modals/common-model\";\r\nimport { MatPaginator, MatDialog, MatDialogRef } from \"@angular/material\";\r\nimport { ContextMenuService } from 'ngx-contextmenu';\r\nimport { ContextMenuComponent } from 'ngx-contextmenu';\r\nimport { AppointmentViewComponent } from \"./../../platform/modules/scheduling/appointment-view/appointment-view.component\";\r\nimport { StaffAppointmentComponent } from \"./../../shared/staff-appointment/staff-appointment.component\";\r\nimport { AddNewCallerService } from \"./../../shared/add-new-caller/add-new-caller.service\";\r\nimport { AddNewCallerComponent } from \"./../../shared/add-new-caller/add-new-caller.component\";\r\nimport { SetReminderComponent } from './../../shared/set-reminder/set-reminder.component'\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\n\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n ComponentFactoryResolver,\r\n ViewContainerRef,\r\n ComponentRef\r\n} from \"@angular/core\";\r\nimport {\r\n Metadata,\r\n FilterModel,\r\n CompleteAppointmentModel\r\n} from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { AppointmentGraphService } from \"src/app/shared/appointment-graph/appointment-graph.service\";\r\nimport { Color } from \"ng2-charts\";\r\nimport { format, addDays } from \"date-fns\";\r\nimport { merge, Subscription, Subject } from \"rxjs\";\r\nimport { ApproveAppointmentDialogComponent } from \"src/app/shared/approve-appointment-dialog/approve-appointment-dialog.component\";\r\nimport { CancelAppointmentDialogComponent } from \"src/app/shared/cancel-appointment-dialog/cancel-appointment-dialog.component\";\r\nimport { AppointmentReschedulingDialogComponent } from \"../appointment-rescheduling-dialog/appointment-rescheduling-dialog.component\";\r\nimport { OtpRequestSendComponent } from \"./otp-request-send/otp-request-send.component\";\r\n//import { PrescriptionNotesListComponent } from \"src/app/platform/modules/waiting-room/Prescription/prescription-notes-list/prescription-notes-list.component\";\r\nimport { PrescriptionNotesComponent } from \"./prescription-notes/prescription-notes.component\";\r\n\r\n\r\n@Component({\r\n selector: \"app-appointment-graph\",\r\n templateUrl: \"./appointment-graph.component.html\",\r\n styleUrls: [\"./appointment-graph.component.css\"]\r\n})\r\nexport class AppointmentGraphComponent implements OnInit {\r\n contextMenu: ContextMenuComponent;\r\n currentPatientId: number = 0;\r\n currentAppointmentId: number = 0;\r\n showTooltip: boolean = false;\r\n appointId: number = 0;\r\n allAppointmentsFilterModel: FilterModel;\r\n allAppointmentsMeta: Metadata;\r\n allAppointmentsList: Array = [];\r\n allAppointmentsDisplayedColumns: Array;\r\n allAppointmentsActionButtons: Array;\r\n filterModel: FilterModel;\r\n pendingAptfilterModel: FilterModel;\r\n completeAppointments:CompleteAppointmentModel;\r\n cancelledAptfilterModel: FilterModel;\r\n upcomingAptfilterModel: FilterModel;\r\n tentativeAptFilterModel: FilterModel;\r\n pendingAppointmentMeta: Metadata;\r\n cancelledAppointmentMeta: Metadata;\r\n completeAppointmentMeta:Metadata;\r\n tentativeAppointmentMeta: Metadata;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n pendingDisplayedColumns: Array;\r\n pendingActionButtons: Array;\r\n cancelledDisplayedColumns: Array;\r\n\r\n cancelledActionButtons: Array;\r\n tentativeDisplayedColumns: Array;\r\n tentativeActionButtons: Array;\r\n selectedIndex: number = 0;\r\n lineChartDataForAppointment: Array;\r\n showGraphAppointment: boolean = false;\r\n lineChartLabels_appointments: Array = [];\r\n lineChartOptions_appointments: any;\r\n barChartColors_appointments: Array;\r\n lineChartData_appointments: Array;\r\n filterParamsForAppointent: {\r\n statusIds: Array;\r\n appointmentTimeIntervalId: number;\r\n //isCheckTotalEnrollments: boolean\r\n CareManagerIds: Array;\r\n };\r\n\r\n masterStaffs: Array;\r\n pendingPatientAppointment: Array = [];\r\n cancelledPatientAppointment: Array = [];\r\n tentativePatientAppointment: Array = [];\r\n subscription: Subscription;\r\n currentLoginUserId: number;\r\n currentLocationId: number;\r\n userRoleName: string;\r\n masterTimeIntervalData: Array = [];\r\n masterAppointmenttimeIntervalData: Array = [];\r\n masterAppointmentStatus: Array = [];\r\n masterTaskTimeIntervalData: Array = [];\r\n filterTaskParams: {\r\n taskTypeIds: Array;\r\n timeIntervalFilterId: number;\r\n careManagerIds: Array;\r\n };\r\n // @ViewChild(\"tabContentPendingInvitation\", { read: ViewContainerRef })\r\n // tabContentPendingInvitation: ViewContainerRef;\r\n // @ViewChild(\"tabContentAcceptedInvitation\", { read: ViewContainerRef })\r\n // tabContentAcceptedInvitation: ViewContainerRef;\r\n // @ViewChild(\"tabContentRejectedInvitation\", { read: ViewContainerRef })\r\n // tabContentRejectedInvitation: ViewContainerRef;\r\n\r\n invitedDisplayedColumns: Array;\r\n invitedActionButtons: Array;\r\n invitedAptfilterModel: FilterModel;\r\n invitedAppointmentMeta: Metadata;\r\n invitedPatientAppointment: Array = [];\r\n\r\n invitedAcceptedDisplayedColumns: Array;\r\n invitedAcceptedActionButtons: Array;\r\n invitedAcceptedAptfilterModel: FilterModel;\r\n invitedAcceptedAppointmentMeta: Metadata;\r\n invitedAcceptedPatientAppointment: Array = [];\r\n\r\n invitedRejectedDisplayedColumns: Array;\r\n invitedRejectedActionButtons: Array;\r\n invitedRejectedAptfilterModel: FilterModel;\r\n invitedRejectedAppointmentMeta: Metadata;\r\n invitedRejectedPatientAppointment: Array = [];\r\n\r\n IstimeExpired = false;\r\n CompleteDisplayedColumns: ({ displayName: string; key: string; width: string; sticky: boolean; type?: undefined; url?: undefined; queryParamsColumn?: undefined; isInfo?: undefined; } | { displayName: string; key: string; width: string; type: string; url: string; queryParamsColumn: string; sticky: boolean; isInfo?: undefined; } | { displayName: string; key: string; width: string; sticky?: undefined; type?: undefined; url?: undefined; queryParamsColumn?: undefined; isInfo?: undefined; } | { displayName: string; key: string; width: string; type: string; url: string; queryParamsColumn: string; sticky?: undefined; isInfo?: undefined; } | { displayName: string; key: string; width: string; type: string; isInfo: boolean; sticky?: undefined; url?: undefined; queryParamsColumn?: undefined; })[];\r\n completeAppointment: Array = [];\r\n actionButtons: { label: string; icon: string; action: string; }[];\r\n allcompletesActionButtons: any;\r\n firstname: any;\r\n Staffdata: any;\r\n lastname: any;\r\n constructor(\r\n \r\n private appointmentGraphService: AppointmentGraphService,\r\n private commonService: CommonService,\r\n private dailog: MatDialog,\r\n private cfr: ComponentFactoryResolver,\r\n private contextMenuService: ContextMenuService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private addNewCallerService: AddNewCallerService,\r\n private prescriptionlistDialog: MatDialog\r\n ) {\r\n this.invitedAppointmentMeta = null;\r\n this.invitedAptfilterModel = new FilterModel();\r\n this.completeAppointments = new CompleteAppointmentModel();\r\n this.invitedDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n width: \"130px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n width: \"60px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"250px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"80px\", sticky: true }\r\n ];\r\n\r\n this.invitedActionButtons = [\r\n {\r\n displayName: \"Accept Invitation\",\r\n key: \"accept\",\r\n class: \"fa fa-check\"\r\n },\r\n { displayName: \"Reject Invitation\", key: \"reject\", class: \"fa fa-ban\" }\r\n ];\r\n\r\n this.invitedAcceptedAppointmentMeta = null;\r\n this.invitedAcceptedAptfilterModel = new FilterModel();\r\n this.invitedAcceptedDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n width: \"130px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n width: \"60px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"250px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n {\r\n displayName: \"Accepted Remarks\",\r\n key: \"invitationAcceptRejectRemarks\",\r\n width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n }\r\n ];\r\n\r\n this.invitedAcceptedActionButtons = [];\r\n\r\n this.invitedRejectedAppointmentMeta = null;\r\n this.invitedRejectedAptfilterModel = new FilterModel();\r\n this.invitedRejectedDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n width: \"120px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n width: \"120px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"260px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n {\r\n displayName: \"Rejected Remarks\",\r\n key: \"invitationAcceptRejectRemarks\",\r\n width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n }\r\n ];\r\n\r\n this.invitedRejectedActionButtons = [];\r\n\r\n this.pendingAptfilterModel = new FilterModel();\r\n this.cancelledAptfilterModel = new FilterModel();\r\n this.upcomingAptfilterModel = new FilterModel();\r\n this.tentativeAptFilterModel = new FilterModel();\r\n this.allAppointmentsFilterModel = new FilterModel();\r\n this.allAppointmentsMeta = null;\r\n\r\n this.filterParamsForAppointent = {\r\n statusIds: [],\r\n appointmentTimeIntervalId: null,\r\n CareManagerIds: []\r\n };\r\n\r\n this.pendingDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n width: \"120px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n width: \"120px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"280px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"160px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"80px\", sticky: true }\r\n ];\r\n\r\n this.pendingActionButtons = [\r\n { displayName: \"Approve\", key: \"approve\", class: \"fa fa-check\" },\r\n { displayName: \"Cancel\", key: \"cancel\", class: \"fa fa-ban\" }\r\n ];\r\n\r\n\r\n\r\n\r\n this.CompleteDisplayedColumns = [\r\n\r\n {\r\n displayName: \"Patient\",\r\n key: \"patientName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"bookingType\",\r\n width: \"120px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"bookingMode\",\r\n width: \"120px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"280px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n \r\n { \r\n displayName: \"Actions\", \r\n key: \"Actions\", \r\n width: \"80px\", \r\n sticky: true\r\n }\r\n ];\r\n \r\n //Define action buttons separately\r\n this.allcompletesActionButtons = [\r\n {\r\n displayName: \"View Details\", // Label for the action button\r\n key: \"viewDetails\", // Unique key for the action\r\n class: \"bi bi-journal-text\" // CSS class for the eye icon\r\n }\r\n ];\r\n\r\n this.cancelledDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n width: \"100px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n width: \"80px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n width: \"80px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"280px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"160px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n { displayName: \"Cancel Type\", key: \"cancelType\", width: \"140px\" },\r\n { displayName: \"Cancel Reason\", key: \"cancelReason\", width: \"180px\" },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"60px\", sticky: true }\r\n ];\r\n this.cancelledActionButtons = [];\r\n\r\n this.tentativeDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n width: \"120px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n width: \"120px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"280px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"80px\", sticky: true }\r\n ];\r\n this.tentativeActionButtons = [];\r\n\r\n this.allAppointmentsDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n class: \"\",\r\n width: \"110px\",\r\n sticky: true,\r\n\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n class: \"\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt. Type\",\r\n key: \"appointmentType\",\r\n width: \"130px\"\r\n },\r\n {\r\n displayName: \"Appt. Mode\",\r\n key: \"appointmentMode\",\r\n width: \"130px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"280px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"160px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n // {\r\n // displayName: \"Rating\",\r\n // key: \"rating\",\r\n // width: \"110px\",\r\n // type: \"rating\"\r\n // },\r\n // {\r\n // displayName: \"Review\",\r\n // key: \"review\",\r\n // width: \"150px\",\r\n // type: \"50\"\r\n // },\r\n // { displayName: \"Status\", key: \"statusName\", width: \"80px\" },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"50px\" }\r\n ];\r\n this.allAppointmentsActionButtons = [\r\n {\r\n displayName: \"Waiting-room info\",\r\n key: \"video\",\r\n class: \"fa fa-wpforms\"\r\n //class:\" fa fa-video-camera\"\r\n },\r\n // {\r\n // displayName: \"Request OTP\",\r\n // key: \"otp\",\r\n // class: \"fa fa-user-plus\"\r\n // //class:\" fa fa-video-camera\"\r\n // }\r\n ];\r\n\r\n \r\n this.lineChartData_appointments = [];\r\n\r\n (this.lineChartData_appointments = []), (this.masterStaffs = []);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.subscription = this.commonService.currentLoginUserInfo.subscribe(\r\n (user: any) => {\r\n if (user) {\r\n this.currentLoginUserId = user.id;\r\n this.currentLocationId = user.currentLocationId;\r\n this.userRoleName =\r\n user && user.users3 && user.users3.userRoles.userType;\r\n //this.isAdmin = true;\r\n\r\n if (this.currentLoginUserId > 0) {\r\n //this.filterTaskParams.careManagerIds = [this.currentLoginUserId];\r\n // this.filterCareGapGraph.CareManagerIds = [this.currentLoginUserId];\r\n this.filterParamsForAppointent.CareManagerIds = [\r\n this.currentLoginUserId\r\n ];\r\n //this.filterAlerts.CareManagerIds = [this.currentLoginUserId];\r\n //this.filterParamsForEncounter.CareManagerIds = [this.currentLoginUserId];\r\n let CMIdArray = [];\r\n CMIdArray.push(this.currentLoginUserId);\r\n // this.filterParamsForHRA.careManagerIds = CMIdArray;\r\n }\r\n this.filterParamsForAppointent.CareManagerIds = [\r\n this.currentLoginUserId\r\n ];\r\n // this.filterAlerts.CareManagerIds = [this.currentLoginUserId];\r\n }\r\n }\r\n );\r\n this.getMasterData();\r\n this.getStaffsByLocation();\r\n this.getUserPermissions();\r\n // this.getNotesAddedByStaff();\r\n }\r\n\r\n CheckTime(value): boolean {\r\n var currentDate = new Date();\r\n const y = new Date(currentDate).getFullYear(),\r\n m = new Date(currentDate).getMonth(),\r\n d = new Date(currentDate).getDate(),\r\n splitTime = new Date(currentDate).getTime(),\r\n hours = new Date(currentDate).getHours(),\r\n minutes = new Date(currentDate).getMinutes();\r\n var totalMinutes = +hours * 60 + +minutes;\r\n var row = value;\r\n var rdate = new Date(row.endDateTime);\r\n var endTime = row.endDateTime.split(\"T\");\r\n var endTimeArr = endTime[1].split(\":\");\r\n var endHour = endTimeArr[0];\r\n var endMin = endTimeArr[1];\r\n var totalEndMinutes = +endHour * 60 + +endMin;\r\n var icons = \"\";\r\n if (totalEndMinutes > totalMinutes && rdate >= currentDate) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n getMasterData() {\r\n const masterData = {\r\n masterdata:\r\n \"CAREPLANSTATUSFILTER,APPOINTMENTIMEGRAPHFILTER,APPOINTMENTSTATUS,ENCOUNTERTYPES,ENCOUNTERGRAPHFILTER,MASTERTASKSTIMEINTERVAL,PATIENTCAREGAPSTATUS,ALERTSINDICATORFILTER,MASTERCAREGAPSTIMEINTERVAL,MASTERENROLLMENTTYPEFILTER\"\r\n };\r\n this.appointmentGraphService\r\n .getMasterData(masterData)\r\n .subscribe((response: any) => {\r\n const staticEncTypes = [\r\n \"Acute Care\",\r\n \"Wellness Visit\",\r\n \"Administrative\",\r\n \"Disease Management\"\r\n ];\r\n\r\n this.masterTimeIntervalData = response.carePlanStatusFilter || [];\r\n this.masterAppointmenttimeIntervalData =\r\n response.appointmentTimeGraphFilter || [];\r\n this.masterAppointmentStatus = response.appointmentStatus || [];\r\n\r\n // this.masterEncountertimeIntervalData = response.encounterGraphfilter || [];\r\n this.masterTaskTimeIntervalData =\r\n response.masterTasksTimeInterval || [];\r\n // this.masterCareGapsStatus = response.patientCareGapStatus || [];\r\n // this.masterAlertTypes = response.masterLoadAlerts || [];\r\n // this.masterCareGapsTimeIntervalData = response.masterCareGapsTimeInterval || [];\r\n // this.masterEnrollmentTypeFilter = response.masterEnrollmentTypeFilter || [];\r\n\r\n let defaultTimeIntervalObj = this.masterTimeIntervalData.find(\r\n x => x.value == \"Monthly\"\r\n );\r\n // let defautlEncTimeIntervalObj = this.masterEncountertimeIntervalData.find(x => x.value == 'Weekly');\r\n let defaultAptTimeIntervalObj = this.masterAppointmenttimeIntervalData.find(\r\n x => x.value == \"Monthly\"\r\n );\r\n // let defaultTaskTimeIntervalObj = this.masterTaskTimeIntervalData.find(x => (x.value || '').split('(')[0].trim() == 'Weekly');\r\n // let defaultCareGapStatusObj = this.masterCareGapsStatus.find(x => x.value.toLowerCase() == 'open');\r\n // let defaultCareGapIntervalObj = this.masterCareGapsTimeIntervalData.find(x => (x.value || '').split('(')[0].trim() == 'Weekly');\r\n // let defaultEnrollTypeObj = this.masterEnrollmentTypeFilter.find(x => x.value == 'All');\r\n\r\n //this.filterParams.timeIntervalFilterId = defaultTimeIntervalObj && defaultTimeIntervalObj.id;\r\n // this.filterAlerts.EnrollmentId = defaultEnrollTypeObj && defaultEnrollTypeObj.id;\r\n // let idArray = this.masterAppointmentStatus.Select(x=>x.id);\r\n let idArray = this.masterAppointmentStatus.map(function (a) {\r\n return a.id;\r\n });\r\n this.filterParamsForAppointent.statusIds = idArray || [];\r\n\r\n // this.filterParamsForEncounter.encounterTimeIntervalId = defautlEncTimeIntervalObj && defautlEncTimeIntervalObj.id;\r\n this.filterParamsForAppointent.appointmentTimeIntervalId =\r\n defaultAptTimeIntervalObj && defaultAptTimeIntervalObj.id;\r\n //this.filterTaskParams.timeIntervalFilterId = defaultTaskTimeIntervalObj && defaultTaskTimeIntervalObj.id;\r\n //this.filterCareGapGraph.StatusIds = defaultCareGapStatusObj && defaultCareGapStatusObj.id;\r\n // this.filterCareGapGraph.TimeIntervalId = defaultCareGapIntervalObj && defaultCareGapIntervalObj.id;\r\n //this.filterCareGapGraph.EnrollmentId = defaultEnrollTypeObj && defaultEnrollTypeObj.id;\r\n\r\n // this.filterParamsForEncounter.encounterTypeIds = (response.encounterTypes || []).filter(x => staticEncTypes.includes(x.value)).map(x => x.id);\r\n // this.filterParamsForEncounter.EnrollmentId = defaultEnrollTypeObj && defaultEnrollTypeObj.id;\r\n // if (this.filterParams.timeIntervalFilterId > 0) {\r\n // this.getDataForProgramEnrollesLineChart(this.filterParams)\r\n // }\r\n if (this.filterParamsForAppointent.appointmentTimeIntervalId > 0) {\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n\r\n // if (this.filterCareGapGraph.StatusIds > 0 && this.filterCareGapGraph.TimeIntervalId > 0) {\r\n // this.getDataForCareGapStatusPieChart();\r\n // }\r\n\r\n // if (this.filterParamsForEncounter.encounterTimeIntervalId > 0) {\r\n // this.getDataForEncounterLineChart(this.filterParamsForEncounter)\r\n // }\r\n\r\n // if (this.filterAlerts.EnrollmentId > 0) {\r\n // this.getDataForAlertGraph();\r\n // }\r\n // this.viewEmptyEncounterGraph();\r\n // this.viewEmptyAppointmentGraph();\r\n });\r\n }\r\n onApptGraphCMSelect(event: any) {\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n onStatusSelect(event: any) {\r\n let statusIdArray = event.value;\r\n this.filterParamsForAppointent.statusIds = statusIdArray || [];\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n onAppointmenttimeInterval(event: any) {\r\n this.filterParamsForAppointent.appointmentTimeIntervalId = event.value;\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n onResetApptCMDropdown() {\r\n this.filterParamsForAppointent.CareManagerIds = [];\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n }\r\n onTabChanged(event: any) {\r\n\r\n this.selectedIndex = event.index;\r\n this.showTooltip = false;\r\n if (event.index == 0) {\r\n this.getDataForAppointmentLineChart(this.filterParamsForAppointent);\r\n } else if (event.index == 1) {\r\n this.showTooltip = true;\r\n this.getAllPatientAppointmentList();\r\n } else if (event.index == 2) {\r\n // this.getPendignPatientAppointmentList();\r\n this.getCancelledPatientAppointmentList();\r\n } else if (event.index == 3) {\r\n //this.getCancelledPatientAppointmentList();\r\n this.getPendingInvitedPatientAppointmentList();\r\n } else if (event.index == 4) {\r\n this.getNotesAddedByStaff();\r\n this.getPendingInvitedPatientAppointmentList();\r\n } else if (event.index == 5) {\r\n this.getAcceptedInvitedPatientAppointmentList();\r\n } else if (event.index == 6) {\r\n this.getRejectedInvitedPatientAppointmentList();\r\n }\r\n // else if (event.index == 4) {\r\n // this.loadChild(InvitedPendingComponent, this.tabContentPendingInvitation);\r\n // } else if (event.index == 5) {\r\n // this.loadChild(\r\n // InvitedAcceptedComponent,\r\n // this.tabContentAcceptedInvitation\r\n // );\r\n // } else if (event.index == 6) {\r\n // this.loadChild(\r\n // InvitedRejectedComponent,\r\n // this.tabContentRejectedInvitation\r\n // );\r\n // }\r\n }\r\n loadChild(component: any, tabContent: ViewContainerRef) {\r\n let factory: any;\r\n factory = this.cfr.resolveComponentFactory(component);\r\n tabContent.clear();\r\n let comp: ComponentRef<\r\n InvitedPendingComponent\r\n > = tabContent.createComponent(factory);\r\n //comp.instance.handleTabChange.subscribe(this.handleTabChange.bind(this));\r\n }\r\n\r\n getDataForAppointmentLineChart(filterParamsForAppointent: any) {\r\n this.appointmentGraphService\r\n .getLineChartDataForAppointments(filterParamsForAppointent)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.lineChartDataForAppointment = response.data || [];\r\n // this.viewAppointmentLineGraph();\r\n if (\r\n this.lineChartDataForAppointment &&\r\n this.lineChartDataForAppointment.length > 0\r\n ) {\r\n this.viewAppointmentLineGraph();\r\n } else {\r\n this.showGraphAppointment = false;\r\n }\r\n } else {\r\n this.lineChartDataForAppointment = [];\r\n }\r\n });\r\n }\r\n getAllPatientAppointmentList(pageNumber: number = 1, pageSize: number = 5) {\r\n const filters = {\r\n // locationIds: this.currentLocationId,\r\n // staffIds: (this.userRoleName || '').toUpperCase() == 'ADMIN' ? \"\" : this.currentLoginUserId,\r\n //fromDate: format(new Date(), \"YYYY-MM-DD\"),\r\n //toDate: format(addDays(new Date(), 720), \"YYYY-MM-DD\"),\r\n // status: 'Approved',\r\n pageNumber,\r\n pageSize\r\n };\r\n this.appointmentGraphService\r\n .getAcceptedOrApprovedAppointmentList(filters)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n\r\n this.allAppointmentsList =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.allAppointmentsList = (this.allAppointmentsList || []).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n // console.log(this.allAppointmentsList)\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n return x;\r\n });\r\n this.allAppointmentsMeta = response.meta;\r\n }\r\n this.allAppointmentsMeta.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n getPendignPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getPendingPatientAppointment(this.pendingAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.pendingPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.pendingPatientAppointment = (this.pendingPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.pendingAppointmentMeta = response.meta;\r\n } else {\r\n this.pendingPatientAppointment = [];\r\n this.pendingAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n\r\n getCancelledPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getCancelledPatientAppointment(this.cancelledAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.cancelledPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.cancelledPatientAppointment = (this\r\n .cancelledPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.cancelledAppointmentMeta = response.meta;\r\n } else {\r\n this.cancelledPatientAppointment = [];\r\n this.cancelledAppointmentMeta = null;\r\n }\r\n this.cancelledAppointmentMeta.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n\r\n getTentativePatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getTentativePatientAppointmentList(this.tentativeAptFilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.tentativePatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.tentativePatientAppointment = (this\r\n .tentativePatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.tentativeAppointmentMeta = response.meta;\r\n } else {\r\n this.tentativePatientAppointment = [];\r\n this.tentativeAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n viewAppointmentLineGraph() {\r\n this.showGraphAppointment = true;\r\n let appointmentArrayMonth = Array.from(\r\n new Set(this.lineChartDataForAppointment.map(x => x.xAxis))\r\n ).map(xAxis => {\r\n let x = this.lineChartDataForAppointment.find(x => x.xAxis == xAxis);\r\n return {\r\n ...x\r\n };\r\n });\r\n let resultArrayAppointment = Array.from(\r\n new Set(this.lineChartDataForAppointment.map(x => x.appointmentStatus))\r\n )\r\n .sort()\r\n .map(appointmentStatus => {\r\n return this.lineChartDataForAppointment.find(\r\n x => x.appointmentStatus == appointmentStatus\r\n ).appointmentStatus;\r\n });\r\n\r\n if (resultArrayAppointment.includes(\"Accepted\")) {\r\n resultArrayAppointment.push(resultArrayAppointment.shift());\r\n }\r\n let bgColors = resultArrayAppointment.map(appointmentStatus => {\r\n return this.lineChartDataForAppointment.find(\r\n x => x.appointmentStatus == appointmentStatus\r\n ).color;\r\n });\r\n\r\n this.lineChartLabels_appointments = [];\r\n this.lineChartOptions_appointments = {\r\n responsive: true,\r\n maintainAspectRatio: false\r\n };\r\n this.barChartColors_appointments = [\r\n { backgroundColor: \"rgb(147, 238, 147)\" },\r\n { backgroundColor: \"rgb(122, 219, 131)\" },\r\n { backgroundColor: \"rgb(255, 132, 132)\" },\r\n { backgroundColor: \"rgb(116, 217, 255)\" },\r\n { backgroundColor: \"rgb(253, 209, 100)\" }\r\n ];\r\n if ((bgColors || []).filter(x => x != null).length > 0) {\r\n this.barChartColors_appointments = (bgColors || []).map(c => {\r\n return { backgroundColor: c };\r\n });\r\n }\r\n if (appointmentArrayMonth.length > 0) {\r\n let sortedMonth = appointmentArrayMonth.sort((a, b) => {\r\n return (\r\n new Date(a.yearNumber).getTime() - new Date(b.yearNumber).getTime()\r\n );\r\n });\r\n this.lineChartLabels_appointments = sortedMonth\r\n .filter(x => x.xAxis != null)\r\n .map(({ xAxis, yearNumber }) => xAxis);\r\n }\r\n if (resultArrayAppointment && resultArrayAppointment.length > 0) {\r\n let newChartDataArray = [];\r\n for (let i = 0; i < resultArrayAppointment.length; i++) {\r\n newChartDataArray.push({\r\n label: resultArrayAppointment[i],\r\n data: this.lineChartDataForAppointment\r\n .filter(x => x.appointmentStatus == resultArrayAppointment[i])\r\n .sort((a, b) => {\r\n return a.monthNumber - b.monthNumber;\r\n })\r\n .map(({ appointmentCount }) => parseInt(appointmentCount)),\r\n fill: false,\r\n stack: \"a\"\r\n });\r\n }\r\n this.lineChartData_appointments = [...newChartDataArray];\r\n }\r\n }\r\n getStaffsByLocation(): void {\r\n const locId = this.currentLocationId.toString();\r\n this.appointmentGraphService\r\n .getStaffAndPatientByLocation(locId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode == 200) {\r\n if ((this.userRoleName || \"\").toUpperCase() == \"ADMIN\") {\r\n this.masterStaffs = response.data.staff || [];\r\n }\r\n else {\r\n this.masterStaffs.push(response.data.staff.find(x => x.id == this.currentLoginUserId));\r\n // console.log(this.currentLoginUserId,\"this.currentLoginUserId\")\r\n this.Staffdata=response.data.staff.find(staff => staff.id === this.currentLoginUserId);\r\n this.firstname=this.Staffdata.firstName\r\n this.lastname=this.Staffdata.lastName\r\n // console.log( this.firstname,\" this.firstname\")\r\n }\r\n\r\n } else {\r\n this.masterStaffs = [];\r\n }\r\n });\r\n }\r\n key:any\r\n getNotesAddedByStaff() {\r\n if((this.userRoleName || \"\").toUpperCase() == \"STAFF\"){\r\n // staffId=this.currentLoginUserId\r\n this.key=this.userRoleName\r\n }\r\n this.completeAppointments.staffId = this.currentLoginUserId;\r\n this.completeAppointments.roleName = this.key;\r\n\r\n this.appointmentGraphService.getNotesAddedByStaff(this.completeAppointments)\r\n .subscribe((response) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.completeAppointment =\r\n response.data != null && response.data.getStaffNoteAdded\r\n. length > 0\r\n ? response.data.getStaffNoteAdded\r\n : [];\r\n this.completeAppointment = (this.completeAppointment || []).map(x => {\r\n const staffsArray = (x.completeAppointment || []).map(y => y.staffName);\r\n const patientArray = (x.completeAppointment || []).map(y => y.patientName);\r\n const staffIds = (x.completeAppointment || []).map(y => y.staffId);\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService = format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n // Add patientName, bookingMode, and bookingType properties\r\n x.patientName = x.patientName;\r\n x.bookingMode = x.bookingMode;\r\n x.bookingType = x.bookingType;\r\n //console.log(response, \"NotesData\");\r\n return x;\r\n });\r\n this.completeAppointmentMeta = response.data.filterModels;\r\n }\r\n else {\r\n this.completeAppointmentMeta = null;\r\n }\r\n this.completeAppointmentMeta.pageSizeOptions = [5, 10, 25, 50, 100]; \r\n })\r\n}\r\n\r\n\r\n\r\n onTableActionClicks(event: any,index:any) {\r\n \r\n if (event.action === 'viewDetails') {\r\n // Call the openDialog method passing the appointment id\r\n this.openDialogss(event.data.patientAppointmentId,event.data.patientId);\r\n }\r\n\r\n \r\n\r\n }\r\n openDialogss(id:any,patientId:any) {\r\n\r\n var patientencounternotesModal = this.prescriptionlistDialog.open(PrescriptionNotesComponent, {\r\n data: {\r\n appointmentId:id,\r\n patientId:patientId\r\n // this.completeAppointment.map(x=>{\r\n //if(x.patientAppointmentId==id){\r\n //return x.patientId\r\n //}\r\n //})\r\n\r\n },\r\n });\r\n patientencounternotesModal.afterClosed().subscribe((result: string) => { \r\n });\r\n\r\n }\r\n \r\n // this.getPatientEncounterNotesByApptId(id); \r\n //#region complete appoointment\r\n onCompletePageChange(changeState?: any) {\r\n \r\n this.completedAppointment(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getNotesAddedByStaff();\r\n }\r\n completedAppointment(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.completeAppointments.pageNumber = pageNumber;\r\n this.completeAppointments.pageSize = pageSize;\r\n }\r\n //#endregion\r\n\r\n\r\n\r\n\r\n\r\n\r\n onPendingPageOrSortChange(changeState?: any) {\r\n this.setPendingPaginatorModel(\r\n changeState.pageNumber,\r\n 5,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getPendignPatientAppointmentList();\r\n }\r\n onCancelledPageOrSortChange(changeState?: any) {\r\n this.setCancelledPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getCancelledPatientAppointmentList();\r\n }\r\n onUpcomingAptPageOrSortChange(changeState?: any) {\r\n this.setUpcomingPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getAllPatientAppointmentList(changeState.pageNumber, changeState.pageSize);\r\n }\r\n onTentativeAptPageOrSortChange(changeState?: any) {\r\n this.setTentativeAptPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getTentativePatientAppointmentList();\r\n }\r\n setPendingPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.pendingAptfilterModel.pageNumber = pageNumber;\r\n this.pendingAptfilterModel.pageSize = pageSize;\r\n this.pendingAptfilterModel.sortOrder = sortOrder;\r\n this.pendingAptfilterModel.sortColumn = sortColumn;\r\n }\r\n setCancelledPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.cancelledAptfilterModel.pageNumber = pageNumber;\r\n this.cancelledAptfilterModel.pageSize = pageSize;\r\n this.cancelledAptfilterModel.sortOrder = sortOrder;\r\n this.cancelledAptfilterModel.sortColumn = sortColumn;\r\n }\r\n setUpcomingPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.upcomingAptfilterModel.pageNumber = pageNumber;\r\n this.upcomingAptfilterModel.pageSize = pageSize;\r\n this.upcomingAptfilterModel.sortOrder = sortOrder;\r\n this.upcomingAptfilterModel.sortColumn = sortColumn;\r\n }\r\n setTentativeAptPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.tentativeAptFilterModel.pageNumber = pageNumber;\r\n this.tentativeAptFilterModel.pageSize = pageSize;\r\n this.tentativeAptFilterModel.sortOrder = sortOrder;\r\n this.tentativeAptFilterModel.sortColumn = sortColumn;\r\n }\r\n getUserPermissions() {\r\n const schedulerActionPermissions = this.appointmentGraphService.getUserScreenActionPermissions(\r\n \"SCHEDULING\",\r\n \"SCHEDULING_LIST\"\r\n );\r\n const {\r\n SCHEDULING_LIST_CANCEL_APPOINTMENT,\r\n SCHEDULING_LIST_APPROVE_APPOINTMENT\r\n } = schedulerActionPermissions;\r\n let userRole: string = \"\";\r\n this.commonService.userRole.subscribe(res => {\r\n userRole = res;\r\n });\r\n\r\n if ((userRole || \"\").toUpperCase() != \"PROVIDER\") {\r\n let spliceIndex = this.pendingActionButtons.findIndex(\r\n obj => obj.key == \"approve\"\r\n );\r\n this.pendingActionButtons.splice(spliceIndex, 1);\r\n }\r\n\r\n // if (!SCHEDULING_LIST_APPROVE_APPOINTMENT) {\r\n // let spliceIndex = this.pendingActionButtons.findIndex(obj => obj.key == 'approve');\r\n // this.pendingActionButtons.splice(spliceIndex, 1)\r\n // }\r\n if (!SCHEDULING_LIST_CANCEL_APPOINTMENT) {\r\n let spliceIndex = this.pendingActionButtons.findIndex(\r\n obj => obj.key == \"cancel\"\r\n );\r\n this.pendingActionButtons.splice(spliceIndex, 1);\r\n }\r\n }\r\n onTableActionClick(actionObj?: any) {\r\n\r\n const id = actionObj.data && actionObj.data.patientAppointmentId;\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"APPROVE\":\r\n const appointmentData = {\r\n id: id,\r\n status: \"APPROVED\"\r\n };\r\n this.createApproveAppointmentModel(appointmentData);\r\n break;\r\n case \"CANCEL\":\r\n this.cancelAppointmentDialog(id);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n \r\n }\r\n\r\n CheckIstimeExpired = (item: any): boolean => {\r\n return this.IstimeExpired;\r\n }\r\n\r\n onTableRowClick(actionObj?: any) {\r\n this.currentAppointmentId = actionObj.data.patientAppointmentId;\r\n this.currentPatientId = actionObj.data.patientID;\r\n this.IstimeExpired = this.CheckTime(actionObj.data);\r\n //console.log(actionObj.data);\r\n if (this.selectedIndex == 1 && actionObj.action != \"video\" && actionObj.action != \"otp\") {\r\n this.onContextMenu(actionObj.action);\r\n }\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"VIDEO\":\r\n // this.router.navigate([\"/web/encounter/soap\"], {\r\n // queryParams: {\r\n // apptId: this.currentAppointmentId,\r\n // encId: actionObj.data.patientEncounterId\r\n // },\r\n // });\r\n this.router.navigate([\"/web/waiting-room/\" + this.currentAppointmentId]);\r\n break;\r\n case \"OTP\":\r\n var otpmodel = {\r\n id: this.currentAppointmentId,\r\n status: true,\r\n }\r\n this.appointmentGraphService.sendotprequest(otpmodel).subscribe((data: any) => {\r\n this.openDialog();\r\n })\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n createApproveAppointmentModel(appointmentData: any) {\r\n let dbModal;\r\n dbModal = this.dailog.open(ApproveAppointmentDialogComponent, {\r\n hasBackdrop: true,\r\n data: appointmentData\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") {\r\n this.getPendignPatientAppointmentList();\r\n }\r\n });\r\n }\r\n cancelAppointmentDialog(id: number) {\r\n let dbModal;\r\n dbModal = this.dailog.open(CancelAppointmentDialogComponent, {\r\n hasBackdrop: true,\r\n data: id\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") {\r\n this.getPendignPatientAppointmentList();\r\n }\r\n });\r\n }\r\n\r\n getPendingInvitedPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getPendingInvitedPatientAppointment(this.invitedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedPatientAppointment = (this.invitedPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.invitedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedPatientAppointment = [];\r\n this.invitedAppointmentMeta = null;\r\n }\r\n this.invitedAppointmentMeta.pageSizeOptions = [5, 10, 25, 50, 100];\r\n });\r\n }\r\n onPendingInvitationTableActionClick(actionObj?: any) {\r\n const id = actionObj.data && actionObj.data.patientAppointmentId;\r\n switch ((actionObj.action || \"\").toUpperCase()) {\r\n case \"ACCEPT\":\r\n const appointmentAcceptData = {\r\n title: \"Accept\",\r\n appointmentId: id,\r\n status: \"Invitation_Accepted\"\r\n };\r\n this.createAcceptRejectInvitationAppointmentModel(\r\n appointmentAcceptData\r\n );\r\n break;\r\n case \"REJECT\":\r\n const appointmentRejectData = {\r\n title: \"Reject\",\r\n appointmentId: id,\r\n status: \"Invitation_Rejected\"\r\n };\r\n this.createAcceptRejectInvitationAppointmentModel(\r\n appointmentRejectData\r\n );\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n createAcceptRejectInvitationAppointmentModel(appointmentData: any) {\r\n let dbModal;\r\n dbModal = this.dailog.open(AcceptRejectAppointmentInvitationComponent, {\r\n hasBackdrop: true,\r\n data: appointmentData\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") {\r\n this.getPendingInvitedPatientAppointmentList();\r\n }\r\n });\r\n }\r\n getAcceptedInvitedPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getAcceptedInvitedPatientAppointment(this.invitedAcceptedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedAcceptedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedAcceptedPatientAppointment = (this\r\n .invitedAcceptedPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.invitedAcceptedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedAcceptedPatientAppointment = [];\r\n this.invitedAcceptedAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n onContextMenu($event: MouseEvent) {\r\n\r\n this.contextMenuService.show.next({\r\n anchorElement: $event.target,\r\n // Optional - if unspecified, all context menu components will open\r\n contextMenu: this.contextMenu,\r\n event: $event,\r\n item: 5\r\n\r\n });\r\n\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n openDialogBookAppointment(staffId: number, providerId: string, type: boolean) {\r\n\r\n let dbModal;\r\n dbModal = this.dailog.open(AppointmentReschedulingDialogComponent, {\r\n hasBackdrop: true, minWidth: '50%', maxWidth: '50%',\r\n data: {\r\n staffId: staffId,\r\n userInfo: null,\r\n providerId: providerId,\r\n locationId: this.currentLocationId || 0,\r\n isNewAppointment: type,\r\n appointmentId: type ? 0 : this.currentAppointmentId,\r\n patientId: type ? 0 : this.currentPatientId\r\n }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n\r\n if (result != null && result != \"close\") {\r\n if (result == \"booked\") {\r\n }\r\n }\r\n else {\r\n this.getAllPatientAppointmentList();\r\n }\r\n });\r\n }\r\n createCancelAppointmentModel(appointmentId: number) {\r\n const modalPopup = this.dailog.open(\r\n CancelAppointmentDialogComponent,\r\n {\r\n hasBackdrop: true,\r\n data: appointmentId,\r\n }\r\n );\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n\r\n });\r\n }\r\n createViewAppointmentModel(appointmentId: number) {\r\n const modalPopup = this.dailog.open(\r\n AppointmentViewComponent,\r\n {\r\n hasBackdrop: true, minWidth: '80%', maxWidth: '80%',\r\n data: appointmentId,\r\n\r\n }\r\n );\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n\r\n });\r\n }\r\n createAddPersonModel(appointmentId: number, sessionId: number) {\r\n\r\n const modalPopup = this.dailog.open(AddNewCallerComponent, {\r\n hasBackdrop: true,\r\n data: { appointmentId: appointmentId, sessionId: sessionId },\r\n });\r\n }\r\n addEvent(event: any, type: any): void {\r\n\r\n\r\n switch (type) {\r\n case '1':\r\n this.openDialogBookAppointment(this.currentLoginUserId, this.currentLoginUserId.toString(), true)\r\n break;\r\n case '2':\r\n this.createViewAppointmentModel(this.currentAppointmentId);\r\n break;\r\n case '3':\r\n this.openDialogBookAppointment(this.currentLoginUserId, this.currentLoginUserId.toString(), false)\r\n break;\r\n case '4':\r\n this.createCancelAppointmentModel(this.currentAppointmentId);\r\n break;\r\n case '5':\r\n const modalPopup = this.dailog.open(SetReminderComponent, {\r\n hasBackdrop: true,\r\n data: { appointmentId: this.currentAppointmentId },\r\n });\r\n\r\n modalPopup.afterClosed().subscribe((result) => {\r\n if (result === \"save\") { }\r\n });\r\n break;\r\n\r\n case '6':\r\n if ((this.userRoleName || '').toUpperCase() == 'ADMIN') {\r\n this.router.navigate([\"/web/manage-users/users\"]);\r\n }\r\n else if ((this.userRoleName || '').toUpperCase() == 'PROVIDER' || (this.userRoleName || '').toUpperCase() == 'STAFF') {\r\n localStorage.setItem('tabToLoad', \"Availability\");\r\n this.router.navigate([\"/web/manage-users/user\"], {\r\n queryParams: {\r\n id: this.commonService.encryptValue(this.currentLoginUserId),\r\n },\r\n });\r\n }\r\n break;\r\n case '7':\r\n\r\n this.addNewCallerService\r\n .getOTSessionByAppointmentId(this.currentAppointmentId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.createAddPersonModel(\r\n this.currentAppointmentId,\r\n response.data.id\r\n );\r\n }\r\n });\r\n break;\r\n\r\n\r\n }\r\n\r\n }\r\n getRejectedInvitedPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getRejectedInvitedPatientAppointment(this.invitedRejectedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedRejectedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedRejectedPatientAppointment = (this\r\n .invitedRejectedPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.invitedRejectedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedRejectedPatientAppointment = [];\r\n this.invitedRejectedAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n onPendingInvitationPageOrSortChange(changeState?: any) {\r\n this.setInvitePendingPaginatorModel(\r\n changeState.pageNumber,\r\n changeState.pageSize,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getPendingInvitedPatientAppointmentList();\r\n }\r\n setInvitePendingPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.invitedAptfilterModel.pageNumber = pageNumber;\r\n this.invitedAptfilterModel.pageSize = pageSize;\r\n this.invitedAptfilterModel.sortOrder = sortOrder;\r\n this.invitedAptfilterModel.sortColumn = sortColumn;\r\n }\r\n onAcceptedInvitationPageOrSortChange(changeState?: any) {\r\n this.setInviteAcceptedPaginatorModel(\r\n changeState.pageNumber,\r\n 5,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getAcceptedInvitedPatientAppointmentList();\r\n }\r\n setInviteAcceptedPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.invitedAcceptedAptfilterModel.pageNumber = pageNumber;\r\n this.invitedAcceptedAptfilterModel.pageSize = pageSize;\r\n this.invitedAcceptedAptfilterModel.sortOrder = sortOrder;\r\n this.invitedAcceptedAptfilterModel.sortColumn = sortColumn;\r\n }\r\n onRejectedInvitationPageOrSortChange(changeState?: any) {\r\n this.setInviteRejectedPaginatorModel(\r\n changeState.pageNumber,\r\n 5,\r\n changeState.sort,\r\n changeState.order\r\n );\r\n this.getRejectedInvitedPatientAppointmentList();\r\n }\r\n setInviteRejectedPaginatorModel(\r\n pageNumber: number,\r\n pageSize: number,\r\n sortColumn: string,\r\n sortOrder: string\r\n ) {\r\n this.invitedRejectedAptfilterModel.pageNumber = pageNumber;\r\n this.invitedRejectedAptfilterModel.pageSize = pageSize;\r\n this.invitedRejectedAptfilterModel.sortOrder = sortOrder;\r\n this.invitedRejectedAptfilterModel.sortColumn = sortColumn;\r\n }\r\n openDialog(): void {\r\n const dialogRef = this.dailog.open(OtpRequestSendComponent, {\r\n\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n // console.log(result)\r\n });\r\n }\r\n}\r\n\r\n","import { FilterModel } from \"./../../super-admin-portal/core/modals/common-model\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class AppointmentGraphService {\r\n private getNotedAddedByStaff=\"api/PatientAppointments/GetAllSoapNoteListByStaffId\";\r\n private getMasterDataURL = \"api/MasterData/MasterDataByName\";\r\n private getLineChartDataForAppointmentsURL = \"AdminDashboard/GetAppointmentsDataForGraph\";\r\n private getAcceptedOrApprovedAppointmentURL = \"api/PatientAppointments/GetAcceptedOrApprovedAppointmentList\";\r\n private getPendingPatientAppointmentURL = \"api/PatientAppointments/GetPendingAppointmentList\";\r\n private getCancelledPatientAppointmentURL = \"api/PatientAppointments/GetCancelledAppointmentList\";\r\n private getTentativePatientAppointmentURL = \"api/PatientAppointments/GetTentativeAppointmentList\";\r\n private getStaffAndPatientByLocationURL = \"api/PatientAppointments/GetStaffAndPatientByLocation\";\r\n private updateAppointmentStatusURL = \"api/PatientAppointments/UpdateAppointmentStatus\";\r\n private cancelAppointmentURL = \"api/PatientAppointments/CancelAppointments\";\r\n private getPendingInvitedPatientAppointmentURL = \"api/PatientAppointments/GetPendingInvitationAppointmentList\";\r\n private getAcceptedInvitedPatientAppointmentURL = \"api/PatientAppointments/GetAcceptedInvitationAppointmentList\";\r\n private getRejectedInvitedPatientAppointmentURL = \"api/PatientAppointments/GetRejectedInvitationAppointmentList\";\r\n private getUrgentcareAppointmentListURL = \"api/PatientAppointments/GetUrgentCareAppointmentList\";\r\n private requestotp = \"api/PatientAppointments/UpdateAppointmentRequestOTPStatus\";\r\n\r\n constructor(private commonService: CommonService) { }\r\n getLineChartDataForAppointments(filterParamsForAppointent: any) {\r\n let url =\r\n this.getLineChartDataForAppointmentsURL +\r\n \"?StatusIds=\" +\r\n (filterParamsForAppointent.statusIds || []).join() +\r\n \"&AppointmentTimeIntervalId=\" +\r\n filterParamsForAppointent.appointmentTimeIntervalId +\r\n \"&CareManagerIds=\" +\r\n (filterParamsForAppointent.CareManagerIds || []).join();\r\n return this.commonService.getAll(url, {});\r\n }\r\n getAcceptedOrApprovedAppointmentList(filterModel: any) {\r\n const queryParams = `?pageNumber=${filterModel.pageNumber}&pageSize=${filterModel.pageSize}&fromDate=${filterModel.fromDate}&toDate=${filterModel.toDate}`;\r\n return this.commonService.getAll(\r\n this.getAcceptedOrApprovedAppointmentURL + queryParams,\r\n {}\r\n );\r\n }\r\n\r\n getNotesAddedByStaff(completeAppointments:any): Observable {\r\n return this.commonService.getById(this.getNotedAddedByStaff + `?StaffId=${completeAppointments.staffId}&RoleName=${completeAppointments.roleName}&PageNumber=${completeAppointments.pageNumber}&PageSize=${completeAppointments.pageSize}`, {});\r\n }\r\n getPendingPatientAppointment(filterModel: FilterModel) {\r\n const URL =\r\n this.getPendingPatientAppointmentURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n getCancelledPatientAppointment(filterModel: FilterModel) {\r\n const URL =\r\n this.getCancelledPatientAppointmentURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n getTentativePatientAppointmentList(filterModel: FilterModel) {\r\n const URL =\r\n this.getTentativePatientAppointmentURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n getStaffAndPatientByLocation(\r\n locationIds: string,\r\n permissionKey: string = \"SCHEDULING_LIST_VIEW_OTHERSTAFF_SCHEDULES\"\r\n ): Observable {\r\n const queryParams = `?locationIds=${locationIds}&permissionKey=${permissionKey}&isActiveCheckRequired=YES`;\r\n return this.commonService.getAll(\r\n this.getStaffAndPatientByLocationURL + queryParams,\r\n {}\r\n );\r\n }\r\n getMasterData(masterData: any): Observable {\r\n return this.commonService.post(this.getMasterDataURL, masterData);\r\n }\r\n getUserScreenActionPermissions(moduleName: string, screenName: string): any {\r\n return this.commonService.getUserScreenActionPermissions(\r\n moduleName,\r\n screenName\r\n );\r\n }\r\n // appointments\r\n updateAppointmentStatus(appointmentData: any): Observable {\r\n return this.commonService.post(\r\n this.updateAppointmentStatusURL,\r\n appointmentData\r\n );\r\n }\r\n cancelAppointment(appointmentData: any): Observable {\r\n return this.commonService.post(this.cancelAppointmentURL, appointmentData);\r\n }\r\n getPendingInvitedPatientAppointment(filterModel: FilterModel) {\r\n const URL =\r\n this.getPendingInvitedPatientAppointmentURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n getRejectedInvitedPatientAppointment(filterModel: FilterModel) {\r\n const URL =\r\n this.getRejectedInvitedPatientAppointmentURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n getAcceptedInvitedPatientAppointment(filterModel: FilterModel) {\r\n const URL =\r\n this.getAcceptedInvitedPatientAppointmentURL +\r\n \"?pageNumber=\" +\r\n filterModel.pageNumber +\r\n \"&pageSize=\" +\r\n filterModel.pageSize;\r\n return this.commonService.getAll(URL, {});\r\n }\r\n getUrgentcareAppointmentList(filterModel: any) {\r\n const queryParams = `?pageNumber=${filterModel.pageNumber}&pageSize=${filterModel.pageSize}&fromDate=${filterModel.fromDate}&toDate=${filterModel.toDate}`;\r\n return this.commonService.getAll(\r\n this.getUrgentcareAppointmentListURL + queryParams,\r\n {}\r\n );\r\n }\r\n sendotprequest(otprequestmodel:any): Observable{\r\n return this.commonService.post(this.requestotp, otprequestmodel);\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \" 0}\\\"\\r\\n stickyHeader=\\\"true\\\" [inputColumns]=\\\"invitedAcceptedDisplayedColumns\\\" [inputSource]=\\\"invitedAcceptedPatientAppointment\\\" [inputMeta]=\\\"invitedAcceptedAppointmentMeta\\\"\\r\\n [inputButtons]='invitedAcceptedActionButtons'>\\r\\n\\r\\n\"","import { AppointmentGraphService } from \"./../appointment-graph.service\";\r\nimport {\r\n FilterModel,\r\n Metadata\r\n} from \"./../../../super-admin-portal/core/modals/common-model\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { format } from \"date-fns\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\n@Component({\r\n selector: \"app-invited-accepted\",\r\n templateUrl: \"./invited-accepted.component.html\",\r\n styleUrls: [\"./invited-accepted.component.css\"]\r\n})\r\nexport class InvitedAcceptedComponent implements OnInit {\r\n invitedAcceptedDisplayedColumns: Array;\r\n invitedAcceptedActionButtons: Array;\r\n invitedAcceptedAptfilterModel: FilterModel;\r\n invitedAcceptedAppointmentMeta: Metadata;\r\n invitedAcceptedPatientAppointment: Array = [];\r\n constructor(\r\n private appointmentGraphService: AppointmentGraphService,\r\n private commonService: CommonService\r\n ) {\r\n this.invitedAcceptedAppointmentMeta = null;\r\n this.invitedAcceptedAptfilterModel = new FilterModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.invitedAcceptedDisplayedColumns = [\r\n {\r\n displayName: \"Care Manager\",\r\n key: \"staffName\",\r\n width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Member Name\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt Type\",\r\n key: \"appointmentType\",\r\n width: \"130px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"250px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n }\r\n ];\r\n\r\n this.invitedAcceptedActionButtons = [];\r\n this.getAcceptedInvitedPatientAppointmentList();\r\n }\r\n getAcceptedInvitedPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getAcceptedInvitedPatientAppointment(this.invitedAcceptedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedAcceptedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedAcceptedPatientAppointment = (this\r\n .invitedAcceptedPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.invitedAcceptedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedAcceptedPatientAppointment = [];\r\n this.invitedAcceptedAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \" 0}\\\"\\r\\n stickyHeader=\\\"true\\\" [inputColumns]=\\\"invitedDisplayedColumns\\\" [inputSource]=\\\"invitedPatientAppointment\\\" [inputMeta]=\\\"invitedAppointmentMeta\\\"\\r\\n [inputButtons]='invitedActionButtons'>\\r\\n\\r\\n\"","import { Router, NavigationEnd } from \"@angular/router\";\r\nimport { AppointmentGraphService } from \"./../appointment-graph.service\";\r\nimport {\r\n FilterModel,\r\n Metadata\r\n} from \"./../../../super-admin-portal/core/modals/common-model\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { format } from \"date-fns\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\n\r\n@Component({\r\n selector: \"app-invited-pending\",\r\n templateUrl: \"./invited-pending.component.html\",\r\n styleUrls: [\"./invited-pending.component.css\"]\r\n})\r\nexport class InvitedPendingComponent implements OnInit, OnDestroy {\r\n invitedDisplayedColumns: Array;\r\n invitedActionButtons: Array;\r\n invitedAptfilterModel: FilterModel;\r\n invitedAppointmentMeta: Metadata;\r\n invitedPatientAppointment: Array = [];\r\n\r\n mySubscription: any;\r\n constructor(\r\n private appointmentGraphService: AppointmentGraphService,\r\n private commonService: CommonService,\r\n private router: Router\r\n ) {\r\n this.invitedAppointmentMeta = null;\r\n this.invitedAptfilterModel = new FilterModel();\r\n\r\n this.router.routeReuseStrategy.shouldReuseRoute = function() {\r\n return false;\r\n };\r\n this.mySubscription = this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n // Trick the Router into believing it's last link wasn't previously loaded\r\n this.router.navigated = false;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.invitedDisplayedColumns = [\r\n {\r\n displayName: \"Care Manager\",\r\n key: \"staffName\",\r\n width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Member Name\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt Type\",\r\n key: \"appointmentType\",\r\n width: \"130px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"250px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"80px\", sticky: true }\r\n ];\r\n\r\n this.invitedActionButtons = [\r\n { displayName: \"Approve\", key: \"approve\", class: \"fa fa-check\" },\r\n { displayName: \"Cancel\", key: \"cancel\", class: \"fa fa-ban\" }\r\n ];\r\n this.getPendingInvitedPatientAppointmentList();\r\n }\r\n ngOnDestroy() {\r\n if (this.mySubscription) {\r\n this.mySubscription.unsubscribe();\r\n }\r\n }\r\n getPendingInvitedPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getPendingInvitedPatientAppointment(this.invitedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedPatientAppointment = (this.invitedPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.invitedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedPatientAppointment = [];\r\n this.invitedAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \" 0}\\\"\\r\\n stickyHeader=\\\"true\\\" [inputColumns]=\\\"invitedRejectedDisplayedColumns\\\" [inputSource]=\\\"invitedRejectedPatientAppointment\\\" [inputMeta]=\\\"invitedRejectedAppointmentMeta\\\"\\r\\n [inputButtons]='invitedRejectedActionButtons'>\\r\\n\\r\\n\"","import { AppointmentGraphService } from \"./../appointment-graph.service\";\r\nimport {\r\n FilterModel,\r\n Metadata\r\n} from \"./../../../super-admin-portal/core/modals/common-model\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { format } from \"date-fns\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\n@Component({\r\n selector: \"app-invited-rejected\",\r\n templateUrl: \"./invited-rejected.component.html\",\r\n styleUrls: [\"./invited-rejected.component.css\"]\r\n})\r\nexport class InvitedRejectedComponent implements OnInit {\r\n invitedRejectedDisplayedColumns: Array;\r\n invitedRejectedActionButtons: Array;\r\n invitedRejectedAptfilterModel: FilterModel;\r\n invitedRejectedAppointmentMeta: Metadata;\r\n invitedRejectedPatientAppointment: Array = [];\r\n constructor(\r\n private appointmentGraphService: AppointmentGraphService,\r\n private commonService: CommonService\r\n ) {\r\n this.invitedRejectedAppointmentMeta = null;\r\n this.invitedRejectedAptfilterModel = new FilterModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.invitedRejectedDisplayedColumns = [\r\n {\r\n displayName: \"Care Manager\",\r\n key: \"staffName\",\r\n width: \"110px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Member Name\",\r\n key: \"fullName\",\r\n width: \"120px\",\r\n type: \"link\",\r\n url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Appt Type\",\r\n key: \"appointmentType\",\r\n width: \"130px\"\r\n },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"250px\",\r\n type: \"link\",\r\n url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"250px\",\r\n type: \"50\",\r\n isInfo: true\r\n }\r\n ];\r\n\r\n this.invitedRejectedActionButtons = [];\r\n this.getRejectedInvitedPatientAppointmentList();\r\n }\r\n getRejectedInvitedPatientAppointmentList() {\r\n this.appointmentGraphService\r\n .getRejectedInvitedPatientAppointment(this.invitedRejectedAptfilterModel)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.invitedRejectedPatientAppointment =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.invitedRejectedPatientAppointment = (this\r\n .invitedRejectedPatientAppointment || []\r\n ).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n return x;\r\n });\r\n this.invitedRejectedAppointmentMeta = response.meta;\r\n } else {\r\n this.invitedRejectedPatientAppointment = [];\r\n this.invitedRejectedAppointmentMeta = null;\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n width: 40vw !important;\\r\\n}\"","module.exports = \"
\\r\\nOTP Request Sent!!!!\\r\\n
\\r\\n
\\r\\n \\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-otp-request-send',\r\n templateUrl: './otp-request-send.component.html',\r\n styleUrls: ['./otp-request-send.component.css']\r\n})\r\nexport class OtpRequestSendComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef) { }\r\n\r\n ngOnInit() {\r\n }\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","module.exports = \".patient-encounter-notes {\\r\\n /* Add styling for the container */\\r\\n}\\r\\n\\r\\n.encounter-note {\\r\\n /* Add styling for each encounter note */\\r\\n margin-bottom: 20px; /* Example margin between each encounter note */\\r\\n}\\r\\n\\r\\n.encounter-note p {\\r\\n /* Add styling for each paragraph within the encounter note */\\r\\n margin: 0; /* Remove default margin */\\r\\n}\\r\\n\\r\\n.encounter-note p b {\\r\\n /* Add styling for bold elements within the encounter note */\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.encounter-note p span {\\r\\n /* Add styling for spans within the encounter note */\\r\\n /* Example styles */\\r\\n color: #333; /* Example color */\\r\\n}\\r\\n\\r\\n.encounter-note {\\r\\n margin-bottom: 20px; /* Example margin between each encounter note */\\r\\n}\\r\\n\\r\\n.encounter-note hr {\\r\\n border-top: 1px solid #ccc; /* Example border style */\\r\\n margin-top: 20px; /* Example margin to create space between the line and the next note */\\r\\n}\"","module.exports = \"\\r\\n\\r\\n
\\r\\n

Notes

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n 0; else noRecordsFound\\\">\\r\\n
\\r\\n

Date: {{encounterdata.createdDate | date: 'dd/MM/yyyy'}}

\\r\\n

{{encounterdata.encounterNotes}}

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

No records found.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\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, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\nimport { SchedulerService } from 'src/app/platform/modules/scheduling/scheduler/scheduler.service';\r\n\r\n@Component({\r\n selector: 'app-prescription-notes',\r\n templateUrl: './prescription-notes.component.html',\r\n styleUrls: ['./prescription-notes.component.css']\r\n})\r\nexport class PrescriptionNotesComponent implements OnInit {\r\n\r\n appointmentId:any;\r\n patientEncounterNotesList: any[];\r\n patientId: any;\r\n loading:boolean=false;\r\n \r\n constructor( @Inject(MAT_DIALOG_DATA) public data: any,\r\n private schedulerService: SchedulerService ,\r\n private patientencounternotesModalRef: MatDialogRef, ) {\r\n \r\n console.log(data);\r\n \r\n this.appointmentId=data.appointmentId;\r\n this.patientId=data.patientId\r\n \r\n }\r\n \r\n ngOnInit() {\r\n this. getPatientEncounterNotesByApptId() ; \r\n }\r\n \r\n getPatientEncounterNotesByApptId() {\r\n this.loading=true;\r\n this.schedulerService\r\n .getPatientEncounterNotesByApptId(this.patientId,this.appointmentId)\r\n .subscribe((response) => {\r\n if (response != null && response.data != null && response.statusCode == 200){\r\n this.patientEncounterNotesList = response.data; \r\n \r\n }else{\r\n this.patientEncounterNotesList =[]\r\n }\r\n this.loading=false; \r\n }); \r\n }\r\n \r\n closeDialog(action: string): void {\r\n this.patientencounternotesModalRef.close(action);\r\n }\r\n\r\n}\r\n","module.exports = \"main {\\r\\n padding: 1em;\\r\\n font-family: Arial, Helvetica, sans-serif;\\r\\n text-align: center;\\r\\n margin-top: 50px;\\r\\n display: block;\\r\\n color: greenyellow;\\r\\n}\\r\\n\\r\\nlabel {\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.upload-drop-zone {\\r\\n height: 200px;\\r\\n border-width: 2px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n/* skin.css Style*/\\r\\n\\r\\n.upload-drop-zone {\\r\\n color: #ccc;\\r\\n border-style: dashed;\\r\\n border-color: #ccc;\\r\\n line-height: 200px;\\r\\n text-align: center\\r\\n}\\r\\n\\r\\n.upload-drop-zone.drop {\\r\\n color: #222;\\r\\n border-color: #222;\\r\\n}\\r\\n\\r\\n.browse-doc {\\r\\n border-radius: 0px;\\r\\n}\\r\\n\\r\\n.browse-doc .browse {\\r\\n line-height: normal;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding: 10px 0px;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n padding-right: 15px;\\r\\n filter: grayscale(100%);\\r\\n -webkit-filter: grayscale(100%);\\r\\n opacity: 0.8;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.uploading-data p {\\r\\n width: 90%;\\r\\n font-size: 14px;\\r\\n color: rgba( 0, 0, 0, 0.80);\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.custom_modal {\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions {\\r\\n padding: 15px 18px !important;\\r\\n}\\r\\n\\r\\n.uplaod_pic i {\\r\\n font-size: 24px;\\r\\n}\\r\\n\\r\\n.cancel-btn {\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 80px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.ml-auto,\\r\\n.mat-dialog-actions .mat-primary {\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #2f2660;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 6px 10px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions {\\r\\n display: block !important;\\r\\n}\\r\\n\\r\\n.txt-css {\\r\\n font-size: 22px;\\r\\n font-weight: 500;\\r\\n color: #2f2660;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n

Appointment Rescheduling

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

Choose one of the below options for appointment rescheduling

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, Inject, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { CallInitModel, CallStatus, UrgentCareProviderActionInitModel } from \"../models/callModel\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { SchedulerService } from \"src/app/platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { UrgentCareProviderActionComponent } from \"../urgentcare-provideraction/urgentcare-provideraction.component\";\r\nimport { PreponeAppointmentComponent } from \"../prepone-appointment/prepone-appointment.component\";\r\nimport { PostponeAppointmentComponent } from \"../postpone-appointment/postpone-appointment.component\";\r\n\r\n@Component({\r\n selector: \"app-appointment-rescheduling\",\r\n templateUrl: \"./appointment-rescheduling-dialog.component.html\",\r\n styleUrls: [\"./appointment-rescheduling-dialog.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AppointmentReschedulingDialogComponent implements OnInit {\r\n userId: number = null;\r\n appointmentId: number;\r\n masterDocumentTypes: any = []\r\n //addDocumentForm: FormGroup;\r\n fileList: any = [];\r\n dataURL: any;\r\n submitted: boolean = false;\r\n todayDate = new Date();\r\n \r\n constructor(private dialogModalRef: MatDialogRef,private dailog: MatDialog,\r\n private router: Router,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService, private schedulerService: SchedulerService, private commonService: CommonService,private appService: AppService) {\r\n \r\n //this.appointmentId = this.data;\r\n }\r\n \r\n ngOnInit() {\r\n \r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userId = user.data.userID;\r\n \r\n }\r\n });\r\n }\r\n \r\n \r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n openPreponeDialog(){\r\n \r\n let dbModal;\r\n dbModal = this.dailog.open(PreponeAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: this.data,\r\n width:'55%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") {\r\n this.dialogModalRef.close();\r\n }\r\n });\r\n\r\n }\r\n\r\n openPostPoneDialog(){\r\n \r\n let dbModal;\r\n dbModal = this.dailog.open(PostponeAppointmentComponent, {\r\n hasBackdrop: true,\r\n data: this.data,\r\n width:'70%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"SAVE\") {\r\n this.dialogModalRef.close();\r\n }\r\n });\r\n \r\n }\r\n \r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Approve Appointment

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\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, Inject } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { AppointmentGraphService } from \"src/app/shared/appointment-graph/appointment-graph.service\";\r\n\r\n@Component({\r\n selector: \"app-approve-appointment-dialog\",\r\n templateUrl: \"./approve-appointment-dialog.component.html\",\r\n styleUrls: [\"./approve-appointment-dialog.component.css\"]\r\n})\r\nexport class ApproveAppointmentDialogComponent implements OnInit {\r\n approveAppointmentForm: FormGroup;\r\n appointmentData: number;\r\n submitted: boolean = false;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private appointmentGraphService: AppointmentGraphService,\r\n public dialogPopup: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService\r\n ) {\r\n this.appointmentData = data;\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeFormFields();\r\n }\r\n\r\n initializeFormFields() {\r\n const configControls = {\r\n NotesToMember: [\"\"]\r\n };\r\n this.approveAppointmentForm = this.formBuilder.group(configControls);\r\n }\r\n\r\n get formControls() {\r\n return this.approveAppointmentForm.controls;\r\n }\r\n\r\n onClose(): void {\r\n this.dialogPopup.close();\r\n }\r\n\r\n onSubmit(): void {\r\n this.submitted = true;\r\n if (this.approveAppointmentForm.invalid) {\r\n this.submitted = false;\r\n return;\r\n }\r\n\r\n const { NotesToMember } = this.approveAppointmentForm.value;\r\n this.appointmentData[\"NotesToMember\"] = NotesToMember;\r\n\r\n this.appointmentGraphService\r\n .updateAppointmentStatus(this.appointmentData)\r\n .subscribe((response: any) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.dialogPopup.close(\"SAVE\");\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \".chartjs-render-monitor {\\r\\n height: 250px !important;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n\"","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n EventEmitter,\r\n Output\r\n} from \"@angular/core\";\r\nimport { BaseChartDirective } from \"ng2-charts\";\r\n\r\n@Component({\r\n selector: \"app-bar-chart\",\r\n templateUrl: \"./bar-chart.component.html\",\r\n styleUrls: [\"./bar-chart.component.css\"]\r\n})\r\nexport class BarChartComponent implements OnInit, OnChanges {\r\n @Input() barChartData: any[];\r\n @Input() barChartLabels: any[];\r\n @Input() barChartOptions: any[];\r\n @Input() barChartColors: any[] = null;\r\n @Output() chartClicked: EventEmitter = new EventEmitter();\r\n @ViewChild(\"barChart\") chart: BaseChartDirective;\r\n barChartType: string = \"bar\";\r\n constructor() {\r\n this.barChartData = [];\r\n this.barChartLabels = [];\r\n this.barChartOptions = [];\r\n this.barChartColors = [];\r\n }\r\n\r\n ngOnInit() { }\r\n //debugger;\r\n onChartClicked({ event, active }: { event: MouseEvent; active: {}[] }): void {\r\n this.chartClicked.emit({ event, active });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (\r\n changes.barChartLabels &&\r\n changes.barChartLabels.previousValue !=\r\n changes.barChartLabels.currentValue\r\n ) {\r\n if (this.chart !== undefined && this.chart.ctx !== undefined) {\r\n this.chart.ngOnDestroy();\r\n this.chart.labels = this.barChartLabels;\r\n this.chart.datasets = this.barChartData;\r\n this.chart.chart = this.chart.getChartBuilder(this.chart.ctx);\r\n this.chart.chart.update();\r\n }\r\n }\r\n if (\r\n changes.barChartColors &&\r\n changes.barChartColors.previousValue !=\r\n changes.barChartColors.currentValue\r\n ) {\r\n if (this.chart !== undefined && this.chart.ctx !== undefined) {\r\n this.chart.ngOnDestroy();\r\n this.chart.colors = this.barChartColors;\r\n this.chart.chart = this.chart.getChartBuilder(this.chart.ctx);\r\n this.chart.chart.update();\r\n }\r\n }\r\n }\r\n\r\n public chartHovered({\r\n event,\r\n active\r\n }: {\r\n event: MouseEvent;\r\n active: {}[];\r\n }): void {\r\n // console.log(event, active);\r\n }\r\n}\r\n","module.exports = \"#left,\\r\\n#right {\\r\\n position: relative;\\r\\n border: 1px solid #efefef !important;\\r\\n margin: 0 auto;\\r\\n padding: 10px;\\r\\n text-align: center;\\r\\n width: 84%;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n#left.inactive:hover,\\r\\n#right.inactive:hover {\\r\\n background-color: #00305B;\\r\\n}\\r\\n\\r\\n#left.inactive:hover svg,\\r\\n#left.inactive:hover span,\\r\\n#right.inactive:hover svg,\\r\\n#right.inactive:hover span {\\r\\n color: #fff;\\r\\n fill: #fff;\\r\\n}\\r\\n\\r\\n#left.inactive svg,\\r\\n#left.inactive span,\\r\\n#right.inactive,\\r\\n#right.inactive svg,\\r\\n#right.inactive span {\\r\\n fill: #00305B;\\r\\n /* text-decoration: underline; */\\r\\n}\\r\\n\\r\\n.close {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n right: 0;\\r\\n padding: 5px;\\r\\n line-height: 35px;\\r\\n width: 48px;\\r\\n color: 00305B;\\r\\n min-width: auto;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"telehealth\\\"\\r\\n
\\r\\n Telehealth\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-booking-type-model',\r\n templateUrl: './booking-type-model.component.html',\r\n styleUrls: ['./booking-type-model.component.css']\r\n})\r\nexport class BookingTypeModelComponent implements OnInit {\r\n patientData: any;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModelRef: MatDialogRef,\r\n ) {\r\n this.patientData = data;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n reDirectTo(type: string) {\r\n let url = '';\r\n // url = type === 'telehealth' ? 'telehealth' : 'secondOpinion'\r\n url = type === 'telehealth' ? 'telehealth' : 'telehealth'\r\n this.closeDialog(url);\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModelRef.close(action);\r\n }\r\n onCloseClick() {\r\n this.dialogModelRef.close();\r\n }\r\n}\r\n","module.exports = \".div-call {\\r\\n width: 100%;\\r\\n position: fixed;\\r\\n top: 0;\\r\\n z-index: 900;\\r\\n text-align: center;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n background: #0006;\\r\\n display: none;\\r\\n}\\r\\n.div-call.active {\\r\\n display: flex;\\r\\n}\\r\\n.div-call .div-call-container {\\r\\n background-color: #131212;\\r\\n text-align: center;\\r\\n left: 0;\\r\\n right: 0;\\r\\n margin: auto;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n position: relative;\\r\\n padding: 10px 10px 32px 10px;\\r\\n border-radius: 10px;\\r\\n box-shadow: 0px 0px 13px #2e403c;\\r\\n}\\r\\n.div-call button {\\r\\n background: none;\\r\\n min-width: auto;\\r\\n}\\r\\n.div-call button span.material-icons {\\r\\n padding: 10px;\\r\\n border-radius: 50%;\\r\\n top: 12px;\\r\\n position: relative;\\r\\n color: #fff;\\r\\n}\\r\\n.div-call button span.material-icons.call {\\r\\n background: #148814;\\r\\n}\\r\\n.div-call button span.material-icons.call-end {\\r\\n background: #d00;\\r\\n}\\r\\n.div-call button span.call-text {\\r\\n position: relative;\\r\\n top: 12px;\\r\\n left: 8px;\\r\\n color: #148814;\\r\\n display: none;\\r\\n}\\r\\n.div-call button.btn-call {\\r\\n position: relative;\\r\\n -webkit-animation-name: shake;\\r\\n animation-name: shake;\\r\\n -webkit-animation-duration: 2s;\\r\\n animation-duration: 2s;\\r\\n -webkit-animation-iteration-count: infinite;\\r\\n animation-iteration-count: infinite;\\r\\n -webkit-animation-timing-function: ease-in;\\r\\n animation-timing-function: ease-in;\\r\\n cursor: pointer;\\r\\n}\\r\\n.div-call button.btn-call:hover {\\r\\n -webkit-animation-name: none;\\r\\n animation-name: none;\\r\\n}\\r\\n.div-call button.btn-call-end {\\r\\n position: relative;\\r\\n -webkit-animation-name: shake1;\\r\\n animation-name: shake1;\\r\\n -webkit-animation-duration: 1.5s;\\r\\n animation-duration: 1.5s;\\r\\n -webkit-animation-iteration-count: infinite;\\r\\n animation-iteration-count: infinite;\\r\\n -webkit-animation-timing-function: ease-in;\\r\\n animation-timing-function: ease-in;\\r\\n cursor: pointer;\\r\\n}\\r\\n.div-call button.btn-call-end:hover {\\r\\n -webkit-animation-name: none;\\r\\n animation-name: none;\\r\\n}\\r\\n@-webkit-keyframes shake {\\r\\n 0% {\\r\\n top: 0;\\r\\n }\\r\\n 10% {\\r\\n top: -2px;\\r\\n }\\r\\n 20% {\\r\\n top: 2px;\\r\\n }\\r\\n 30% {\\r\\n top: -4px;\\r\\n }\\r\\n 40% {\\r\\n top: 4px;\\r\\n }\\r\\n 50% {\\r\\n top: -6px;\\r\\n }\\r\\n 60% {\\r\\n top: 6px;\\r\\n }\\r\\n 70% {\\r\\n top: -4px;\\r\\n }\\r\\n 80% {\\r\\n top: 4px;\\r\\n }\\r\\n 90% {\\r\\n top: -2px;\\r\\n }\\r\\n 100% {\\r\\n top: 0;\\r\\n }\\r\\n}\\r\\n@keyframes shake {\\r\\n 0% {\\r\\n top: 0;\\r\\n }\\r\\n 10% {\\r\\n top: -2px;\\r\\n }\\r\\n 20% {\\r\\n top: 2px;\\r\\n }\\r\\n 30% {\\r\\n top: -4px;\\r\\n }\\r\\n 40% {\\r\\n top: 4px;\\r\\n }\\r\\n 50% {\\r\\n top: -6px;\\r\\n }\\r\\n 60% {\\r\\n top: 6px;\\r\\n }\\r\\n 70% {\\r\\n top: -4px;\\r\\n }\\r\\n 80% {\\r\\n top: 4px;\\r\\n }\\r\\n 90% {\\r\\n top: -2px;\\r\\n }\\r\\n 100% {\\r\\n top: 0;\\r\\n }\\r\\n}\\r\\n@-webkit-keyframes shake1 {\\r\\n 0% {\\r\\n top: 0;\\r\\n }\\r\\n 10% {\\r\\n top: -1px;\\r\\n }\\r\\n 20% {\\r\\n top: 1px;\\r\\n }\\r\\n 30% {\\r\\n top: -3px;\\r\\n }\\r\\n 40% {\\r\\n top: 3px;\\r\\n }\\r\\n 50% {\\r\\n top: -5px;\\r\\n }\\r\\n 60% {\\r\\n top: 5px;\\r\\n }\\r\\n 70% {\\r\\n top: -3px;\\r\\n }\\r\\n 80% {\\r\\n top: 3px;\\r\\n }\\r\\n 90% {\\r\\n top: -1px;\\r\\n }\\r\\n 100% {\\r\\n top: 0;\\r\\n }\\r\\n}\\r\\n@keyframes shake1 {\\r\\n 0% {\\r\\n top: 0;\\r\\n }\\r\\n 10% {\\r\\n top: -1px;\\r\\n }\\r\\n 20% {\\r\\n top: 1px;\\r\\n }\\r\\n 30% {\\r\\n top: -3px;\\r\\n }\\r\\n 40% {\\r\\n top: 3px;\\r\\n }\\r\\n 50% {\\r\\n top: -5px;\\r\\n }\\r\\n 60% {\\r\\n top: 5px;\\r\\n }\\r\\n 70% {\\r\\n top: -3px;\\r\\n }\\r\\n 80% {\\r\\n top: 3px;\\r\\n }\\r\\n 90% {\\r\\n top: -1px;\\r\\n }\\r\\n 100% {\\r\\n top: 0;\\r\\n }\\r\\n}\\r\\n/**********************User Image ripple effect*********************/\\r\\n.request-loader {\\r\\n position: relative;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 150px;\\r\\n width: 150px;\\r\\n border-radius: 100%;\\r\\n /* background: #fff; */\\r\\n /* box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25); */\\r\\n}\\r\\n/* .request-loader img {\\r\\n position: relative;\\r\\n font-size: 72px;\\r\\n top: 5px;\\r\\n left: -5px;\\r\\n} */\\r\\n.request-loader::after {\\r\\n opacity: 0;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n left: 0px;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n content: \\\"\\\";\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n border: 8px solid rgba(255, 255, 255, 0.2);\\r\\n border-radius: 100%;\\r\\n -webkit-animation-name: ripple;\\r\\n animation-name: ripple;\\r\\n -webkit-animation-duration: 3s;\\r\\n animation-duration: 3s;\\r\\n -webkit-animation-delay: 0s;\\r\\n animation-delay: 0s;\\r\\n -webkit-animation-iteration-count: infinite;\\r\\n animation-iteration-count: infinite;\\r\\n -webkit-animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1);\\r\\n animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1);\\r\\n /* z-index: -1; */\\r\\n}\\r\\n.request-loader::before {\\r\\n opacity: 0;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n left: 0px;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n content: \\\"\\\";\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n border: 8px solid rgba(255, 255, 255, 0.2);\\r\\n border-radius: 100%;\\r\\n -webkit-animation-name: ripple;\\r\\n animation-name: ripple;\\r\\n -webkit-animation-duration: 3s;\\r\\n animation-duration: 3s;\\r\\n -webkit-animation-delay: 0.5s;\\r\\n animation-delay: 0.5s;\\r\\n -webkit-animation-iteration-count: infinite;\\r\\n animation-iteration-count: infinite;\\r\\n -webkit-animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1);\\r\\n animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1);\\r\\n /* z-index: -1; */\\r\\n}\\r\\n@-webkit-keyframes ripple {\\r\\n from {\\r\\n opacity: 1;\\r\\n -webkit-transform: scale3d(0.75, 0.75, 1);\\r\\n transform: scale3d(0.75, 0.75, 1);\\r\\n }\\r\\n to {\\r\\n opacity: 0;\\r\\n -webkit-transform: scale3d(1.5, 1.5, 1);\\r\\n transform: scale3d(1.5, 1.5, 1);\\r\\n }\\r\\n}\\r\\n@keyframes ripple {\\r\\n from {\\r\\n opacity: 1;\\r\\n -webkit-transform: scale3d(0.75, 0.75, 1);\\r\\n transform: scale3d(0.75, 0.75, 1);\\r\\n }\\r\\n to {\\r\\n opacity: 0;\\r\\n -webkit-transform: scale3d(1.5, 1.5, 1);\\r\\n transform: scale3d(1.5, 1.5, 1);\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n {{callInitModel.CallerName}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\\"user\\\"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit, ViewEncapsulation, Inject } from \"@angular/core\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { CallInitModel, CallStatus } from \"../models/callModel\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Observable, Subscription, Subject } from \"rxjs\";\r\nimport { DOCUMENT } from '@angular/common';\r\n@Component({\r\n selector: \"app-call-button\",\r\n templateUrl: \"./call-button.component.html\",\r\n styleUrls: [\"./call-button.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class CallButtonComponent implements OnInit {\r\n callInitModel: CallInitModel;\r\n loggedInUserName: any;\r\n\r\n private subscription: Subscription;\r\n constructor(\r\n private appService: AppService,\r\n private commonService: CommonService,\r\n private router: Router,\r\n @Inject(DOCUMENT) private _document: Document\r\n ) {\r\n console.log(\" 40 call button constructor \")\r\n this.callInitModel = new CallInitModel();\r\n }\r\n\r\n ngOnInit() {\r\n console.log(\" 50 call button ngoninit\")\r\n this.appService.call.subscribe((callInitModel: CallInitModel) => {\r\n\r\n this.callInitModel = callInitModel;\r\n });\r\n this.checkLoggedInClient();\r\n\r\n\r\n }\r\n checkLoggedInClient() {\r\n this.subscription = this.commonService.loginUser.subscribe(\r\n (user: any) => {\r\n\r\n if (user.data) {\r\n console.log(user.data, \"data\");\r\n localStorage.setItem('Address', user.patientInformation ? user.patientInformation.address : null);\r\n localStorage.setItem('categoryType', user.data.categoryType);\r\n localStorage.setItem('patientId', user.data.id);\r\n localStorage.setItem('NICNo', user.data.niC_number);\r\n localStorage.setItem('CompanyId', user.data.company_id);\r\n localStorage.setItem('UserId', user.data.userID);\r\n\r\n const userRoleName =\r\n user.data.users3 && user.data.users3.userRoles.userType;\r\n if ((userRoleName || \"\").toUpperCase() === \"CLIENT\" || (userRoleName || \"\").toUpperCase() === \"PATIENT\") {\r\n\r\n this.loggedInUserName = user.patientData ? user.patientData.firstName + \" \" + user.patientData.lastName : '';\r\n }\r\n else {\r\n this.loggedInUserName = user.data.firstName + ' ' + user.data.lastName;\r\n }\r\n\r\n }\r\n })\r\n }\r\n\r\n pickCall() {\r\n console.log(\"9 pick call called from call button\");\r\n\r\n this.callInitModel.CallStatus = CallStatus.Picked;\r\n this.appService.CheckCallStarted(this.callInitModel);\r\n this.commonService.userRole.subscribe((role) => {\r\n if (role.toLowerCase() == \"provider\" || role.toLowerCase() == \"health consultant\") {\r\n this.reloadClient();\r\n\r\n //this.router.navigate([\"/web/waiting-room/check-in-video-call/\"+this.callInitModel.AppointmentId]);\r\n } else {\r\n\r\n\r\n // this.router.navigateByUrl(\"/web/waiting-room/check-in-video-call/\"+this.callInitModel.AppointmentId)\r\n // .then(()=>{this.reloadComponent()});\r\n\r\n this.reloadComponent();\r\n\r\n }\r\n });\r\n }\r\n reloadClient() {\r\n // let currentUrl = \"/web/waiting-room/check-in-video-call/\"+this.callInitModel.AppointmentId;\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.router.onSameUrlNavigation = 'reload';\r\n this.router.navigate([\"/web/encounter/soap\"], {\r\n queryParams: {\r\n apptId: this.callInitModel.AppointmentId,\r\n encId: 0,\r\n },\r\n });\r\n }\r\n reloadComponent() {\r\n let currentUrl = \"/web/waiting-room/check-in-soap/\" + this.callInitModel.AppointmentId;\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.router.onSameUrlNavigation = 'reload';\r\n this.router.navigate([currentUrl]);\r\n }\r\n ngOnDestroy() {\r\n // window.location.reload();\r\n }\r\n\r\n declineCall() {\r\n console.log(\"8 declient call called from call button\");\r\n if (this.callInitModel.AppointmentId > 0 && Number(localStorage.getItem(\"UserId\")) > 0) {\r\n console.log(\"inside publisher method\")\r\n this.appService\r\n .getEndCall(this.callInitModel.AppointmentId, Number(localStorage.getItem(\"UserId\")))\r\n .subscribe((res) => {\r\n console.log(res);\r\n });\r\n }\r\n this.callInitModel.CallStatus = CallStatus.Declined;\r\n this.callInitModel.AppointmentId = 0;\r\n this.appService.CheckCallStarted(this.callInitModel);\r\n\r\n\r\n\r\n }\r\n}\r\n","module.exports = \".buttons\\r\\n{\\r\\ntext-align: center;\\r\\n}\\r\\n.accept\\r\\n{\\r\\n margin-right: 10px;\\r\\n min-width: 120px;\\r\\n border-radius: 30px;\\r\\n color: #fff;\\r\\n}\\r\\nbutton.cancel-btn {\\r\\n color: #FFF;\\r\\n background: #8c8c8c;\\r\\n border-radius: 30px;\\r\\n min-width: 120px;\\r\\n min-height: auto;\\r\\n font-weight: 500;\\r\\n font-family: \\\"Montserrat\\\", sans-serif;\\r\\n font-size: 14px;\\r\\n border: 0;\\r\\n}\\r\\n.modal-design-sec-inner {\\r\\n margin: 24px 0 10px 0 !important;\\r\\n}\\r\\n.payment-btn-sec {\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n.payment-btn-sec button {\\r\\n display: inline-block;\\r\\n vertical-align: middle;\\r\\n}\\r\\n.strip{\\r\\n width: 100% !important;\\r\\n}\\r\\n.custom-modal-design{\\r\\nmax-width: 100%!important;\\r\\n}\\r\\n\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n

CALL NOTIFICATION

\\r\\n
\\r\\n
\\r\\n
\\r\\n
Video call has been disconnected by
\\r\\n
{{callerName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\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, Input, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { PublisherComponent } from 'src/app/platform/modules/agency-portal/encounter/video-chat/publisher/publisher.component';\r\nimport { OpentokService } from 'src/app/platform/modules/agency-portal/encounter/opentok.service';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { TextChatService } from \"./../../../app/shared/text-chat/text-chat.service\";\r\nimport { AppService } from \"./../../app-service.service\";\r\nimport { state } from \"@angular/animations\";\r\nimport { CommonService } from \"./../../../app/platform/modules/core/services/common.service\";\r\nimport { DialogService } from '../layout/dialog/dialog.service';\r\n@Component({\r\n selector: 'app-call-notification',\r\n templateUrl: './call-notification.component.html',\r\n styleUrls: ['./call-notification.component.css'],\r\n providers: [PublisherComponent]\r\n})\r\nexport class CallNotificationComponent implements OnInit {\r\n\r\n callerName: any;\r\n userType: any;\r\n\r\n\r\n constructor\r\n (\r\n\r\n\r\n private dialogRef: MatDialogRef,\r\n private diaglog: MatDialog,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private publisher: PublisherComponent,\r\n private opentokService: OpentokService,\r\n private notifierService: NotifierService,\r\n private commonService: CommonService,\r\n private appService: AppService,\r\n private textChatService: TextChatService,\r\n private dialogService: DialogService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n\r\n // private encounterService: EncounterService,\r\n // private notifierService: NotifierService\r\n ) {\r\n this.callerName = this.data.callerName;\r\n this.userType = this.data.userType;\r\n this.publisher = new PublisherComponent(opentokService, commonService, router, activatedRoute, null, appService, textChatService,dialogService);\r\n // this.patientname = data.patientname;\r\n // this.isEndCall = data.isEndCall;\r\n // this.isUrgentCall = data.isUrgentCall;\r\n // this.CallerName = this.notificationPayload.callerName;\r\n // this.telehealthSessionDetailId = this.notificationPayload.telehealthSessionDetailId;\r\n // this.notificationType = this.notificationPayload.notificationType;\r\n\r\n\r\n\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n\r\n }\r\n\r\n declineCall(): void {\r\n try {\r\n this.publisher.endCall();\r\n this.dialogRef.close('close');\r\n }\r\n catch\r\n {\r\n this.dialogRef.close('close');\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","module.exports = \"\"","module.exports = \"
\\r\\n

Cancel Appointment

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select cancel type\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please select cancellation reason\\r\\n \\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, Inject } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { AppointmentGraphService } from \"src/app/shared/appointment-graph/appointment-graph.service\";\r\n\r\n@Component({\r\n selector: \"app-cancel-appointment-dialog\",\r\n templateUrl: \"./cancel-appointment-dialog.component.html\",\r\n styleUrls: [\"./cancel-appointment-dialog.component.css\"]\r\n})\r\nexport class CancelAppointmentDialogComponent implements OnInit {\r\n cancelAppointmentForm: FormGroup;\r\n appointmentId: number;\r\n submitted: boolean = false;\r\n isloadingMasterData: boolean = false;\r\n masterCancelType: Array;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private appointmentGraphService: AppointmentGraphService,\r\n public dialogPopup: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService\r\n ) {\r\n this.appointmentId = data;\r\n this.masterCancelType = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeFormFields();\r\n this.fetchMasterData();\r\n }\r\n\r\n initializeFormFields() {\r\n const configControls = {\r\n cancelTypeId: [\"\", Validators.required],\r\n cancelReason: [\"\"]\r\n };\r\n this.cancelAppointmentForm = this.formBuilder.group(configControls);\r\n }\r\n\r\n get formControls() {\r\n return this.cancelAppointmentForm.controls;\r\n }\r\n\r\n onClose(): void {\r\n this.dialogPopup.close();\r\n }\r\n\r\n onSubmit(): void {\r\n \r\n this.submitted = true;\r\n if (this.cancelAppointmentForm.invalid) {\r\n this.submitted = false;\r\n return;\r\n }\r\n\r\n let postData = this.cancelAppointmentForm.value;\r\n postData.ids = [this.appointmentId];\r\n\r\n this.appointmentGraphService\r\n .cancelAppointment(postData)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.notifier.notify(\"success\", response.message);\r\n this.dialogPopup.close(\"SAVE\");\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n fetchMasterData(): void {\r\n // load master data\r\n this.isloadingMasterData = true;\r\n const masterData = { masterdata: \"MASTERCANCELTYPE\" };\r\n this.appointmentGraphService\r\n .getMasterData(masterData)\r\n .subscribe((response: any) => {\r\n this.isloadingMasterData = false;\r\n if (response) {\r\n this.masterCancelType = response.masterCancelType || [];\r\n //15/2/24\r\n this.masterCancelType = this.masterCancelType.filter(x => x.value.toLowerCase().includes('cancel '));\r\n //\r\n let defautlType = this.masterCancelType.find(\r\n x => (x.value || \"\").toUpperCase() == \"CARE MANAGER CANCELLATION\"\r\n );\r\n this.formControls[\"cancelTypeId\"].patchValue(\r\n defautlType && defautlType.id\r\n );\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{value.message}}\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"app-chat-widget {\\n position: absolute;\\n bottom: 0px;\\n right: 0px;\\n z-index: 1; }\\n\\n.chat-btn {\\n bottom: 20px;\\n right: 30px;\\n border-radius: 50%;\\n width: 60px;\\n height: 60px;\\n padding: 0px !important;\\n min-width: auto;\\n position: fixed; }\\n\\n.chat-hideicon {\\n width: 20px; }\\n\\n.chat-box {\\n height: 400px;\\n width: 350px;\\n overflow: hidden;\\n background-color: white;\\n position: fixed;\\n bottom: 90px;\\n right: 30px;\\n -webkit-transform: translateX(0%);\\n transform: translateX(0%);\\n box-shadow: 0 2px 10px 1px #b5b5b5;\\n -webkit-box-shadow: 0 2px 10px 1px #b5b5b5;\\n border-radius: 10px;\\n -webkit-border-radius: 10px;\\n transition: 0.3s ease; }\\n\\n.chat-box .inner {\\n overflow: scroll;\\n height: 85%;\\n padding-top: 64px;\\n background: #ffffff;\\n -ms-overflow-style: none;\\n overflow: -moz-scrollbars-none; }\\n\\n.chat-box .inner::-webkit-scrollbar {\\n width: 0 !important; }\\n\\n.chat-box .inner .content {\\n padding: 10.66666667px;\\n position: relative; }\\n\\n.nav {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n height: 64px;\\n z-index: 100;\\n transition: 0.3s ease; }\\n\\n.nav .default-nav {\\n height: 64px;\\n width: 100%;\\n position: absolute;\\n left: 0;\\n top: 0;\\n z-index: 110;\\n background-color: #35cce6;\\n border-bottom: 3px solid #1ab4ce;\\n color: #ffffff;\\n transition: 0.3s ease; }\\n\\n.nav .default-nav .main-nav {\\n position: absolute;\\n left: 0;\\n width: 100%;\\n height: 64px;\\n top: 0;\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n transition: 0.3s ease; }\\n\\n.nav .default-nav .main-nav .main-nav-item {\\n height: 64px;\\n display: flex;\\n justify-content: start;\\n align-items: center;\\n padding: 0px 15px;\\n transition: 0.3s ease; }\\n\\n.nav .default-nav .main-nav .main-nav-item img {\\n width: 50px;\\n height: 50px;\\n border: 1px solid #35cce6;\\n border-radius: 100px;\\n background-color: #F4F7F9;\\n margin-right: 20px; }\\n\\n.nav .default-nav .main-nav .main-nav-item .main-nav-item-link {\\n display: block;\\n text-decoration: none;\\n color: inherit;\\n transition: 0.3s ease;\\n font-size: 18px; }\\n\\n.send-chat {\\n position: fixed;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 64px;\\n background: #F4F7F9; }\\n\\n.send-chat .input {\\n height: 64px;\\n background: #F4F7F9;\\n border: none;\\n width: calc(100% - 64px);\\n position: absolute;\\n left: 0;\\n top: 0;\\n padding: 5px 15px;\\n resize: none;\\n overflow: scroll;\\n font-weight: 300;\\n -ms-overflow-style: none;\\n overflow: -moz-scrollbars-none; }\\n\\n.send-chat .input:focus {\\n outline: none; }\\n\\n.send-chat .input::-webkit-scrollbar {\\n width: 10 !important; }\\n\\n.send-chat .send {\\n position: fixed;\\n height: 42.66666667px;\\n width: 42.66666667px;\\n border-radius: 50%;\\n border: 0;\\n background: #52D6A2;\\n color: #ffffff;\\n bottom: 10.66666667px;\\n right: 10.66666667px; }\\n\\n.send-chat .send:before {\\n content: '';\\n background: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/104946/ic_send_white_48dp.png) no-repeat center center;\\n background-size: 25.6px;\\n position: absolute;\\n top: 0;\\n left: 5px;\\n right: 0;\\n bottom: 0; }\\n\\n.send-chat .send:focus {\\n outline: none; }\\n\\n.send-chat .send:hover {\\n cursor: pointer; }\\n\\n.message-wrapper {\\n position: relative;\\n overflow: hidden;\\n width: 100%;\\n margin: 10px 0px; }\\n\\n.message-wrapper .text-wrapper {\\n padding: 5px 8px;\\n margin: 0px;\\n border-radius: 5px;\\n -webkit-border-radius: 5px;\\n font-weight: 300;\\n position: relative; }\\n\\n.client-chat div {\\n float: right;\\n background: #A3EAF7; }\\n\\n.response-chat div {\\n float: left;\\n background: #F5F7F9; }\\n\\n@media (max-width: 480px) {\\n .chat-box {\\n width: 80%; } }\\n\"","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n Inject,\r\n ViewEncapsulation,\r\n ViewChild,\r\n AfterViewInit\r\n} from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { CommonService } from \"../../platform/modules/core/services\";\r\nimport { ChatHistoryModel } from \"../../platform/modules/agency-portal/clients/profile/chat-history.model\";\r\nimport { HubConnection } from \"../../hubconnection.service\";\r\nimport { ScrollbarComponent } from \"ngx-scrollbar\";\r\n\r\n@Component({\r\n selector: \"app-chat-widget\",\r\n templateUrl: \"./chat-widget.component.html\",\r\n styleUrls: [\"./chat-widget.component.scss\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ChatWidgetComponent implements OnInit, AfterViewInit {\r\n @Input() fromUserId: number;\r\n @Input() toUserId: number;\r\n @Input() allMessageArray: Array;\r\n @Input() imgSource: string = \"\";\r\n @Input() badge: number;\r\n @Input() title: string = \"\";\r\n @Input() subTitle: string = \"\";\r\n @Input() showCloseButton: boolean = false;\r\n @Input() autoFocus: boolean = true;\r\n message: string;\r\n hubConnection: HubConnection;\r\n @ViewChild(\"scrollbar\") scrollbarRef: ScrollbarComponent;\r\n\r\n showChatModal: boolean;\r\n\r\n constructor() {\r\n this.showChatModal = false;\r\n this.message = \"\";\r\n this.hubConnection = new HubConnection();\r\n }\r\n\r\n onToggleChatModal() {\r\n this.showChatModal = !this.showChatModal;\r\n }\r\n\r\n ngOnInit() {\r\n this.createHubConnection();\r\n }\r\n\r\n createHubConnection() {\r\n if (this.hubConnection) {\r\n var token = JSON.parse(localStorage.getItem(\"access_token\"));\r\n console.log('ChatWidgetComponent - createHubConnection - access_token', token);\r\n\r\n this.hubConnection.createHubConnection(token).then(response => {\r\n this.hubConnection.getHubConnection().onclose(() => {\r\n this.ReconnectOnClose(this.fromUserId);\r\n });\r\n this.hubConnection\r\n .ConnectToServerWithUserId(this.fromUserId, 1)\r\n .then(res => {\r\n this.getMessageNotifications();\r\n });\r\n });\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n // this.scrollbarRef.scrollState.subscribe(e => console.log(e))\r\n }\r\n sendMessage(event) {\r\n if (!this.message || !this.message.trim()) return false;\r\n this.handleNewUserMessage(this.message);\r\n // const messageObj: ChatHistoryModel = {\r\n // message: this.message,\r\n // isRecieved: false\r\n // };\r\n // this.allMessageArray.push(messageObj);\r\n this.message = \"\";\r\n }\r\n handleNewUserMessage(message: string = \"\") {\r\n if (this.hubConnection.isConnected()) {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\"SendMessage\", message, this.fromUserId, this.toUserId)\r\n .catch(err => console.error(err, \"ReceiveMessageReceiveMessageerror\"));\r\n return message;\r\n } else {\r\n this.hubConnection.restartHubConnection().then(() => {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\"SendMessage\", message, this.fromUserId, this.toUserId)\r\n .catch(err =>\r\n console.error(err, \"ReceiveMessageReceiveMessageerror\")\r\n );\r\n return message;\r\n });\r\n }\r\n }\r\n getMessageNotifications() {\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\"ReceiveMessage\", (result, fromUserId) => {\r\n console.log(\"message from server\", result, fromUserId, this.toUserId);\r\n if (fromUserId == this.toUserId) {\r\n // const messageObj: ChatHistoryModel = {\r\n // message: result,\r\n // isRecieved: true\r\n // };\r\n // this.allMessageArray.push(messageObj);\r\n }\r\n });\r\n }\r\n ReconnectOnClose(fromUserId) {\r\n setTimeout(() => {\r\n this.hubConnection.restartHubConnection().then(() => {\r\n this.hubConnection.ConnectToServerWithUserId(fromUserId, 1).then(() => {\r\n // console.log('Restart Connection: user id sent to server : ' + fromUserId);\r\n });\r\n });\r\n }, 5000);\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n Please enter address\\r\\n \\r\\n\"","import { Component, Input, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { GooglePlaceDirective } from 'ngx-google-places-autocomplete';\r\nimport { Address } from 'ngx-google-places-autocomplete/objects/address';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-google-address-input',\r\n templateUrl: './google-address-input.component.html',\r\n styleUrls: ['./google-address-input.component.css']\r\n})\r\nexport class GoogleAddressInputComponent {\r\n\r\n @Input('control') address: FormControl = new FormControl('');\r\n @Input() placeholder: string = 'Address';\r\n @Output() onAddressChange = new EventEmitter();\r\n\r\n @ViewChild(\"placesRef\") placesRef: GooglePlaceDirective;\r\n addressOptions = {\r\n types: [],\r\n //componentRestrictions: { country: 'XX' }\r\n }\r\n constructor() { }\r\n\r\n public handleAddressChange(address: Address) {\r\n let addType = '';\r\n let city = null;\r\n let country = null;\r\n let state = null;\r\n let postalCode = null;\r\n let address1 = address.formatted_address;\r\n let lat = address.geometry.location.lat();\r\n let long = address.geometry.location.lng();\r\n for (let i = 0; i <= address.address_components.length; i++) {\r\n if (address.address_components[i] != undefined) {\r\n addType = address.address_components[i].types[0];\r\n if (addType == 'locality')\r\n city = address.address_components[i].long_name;\r\n else if (addType == 'country')\r\n country = address.address_components[i].short_name;\r\n else if (addType == 'administrative_area_level_1')\r\n state = address.address_components[i].short_name;\r\n else if (addType == 'postal_code')\r\n postalCode = address.address_components[i].long_name;\r\n }\r\n\r\n }\r\n let pObJ = {};\r\n pObJ = {\r\n address1: address1,\r\n country: country,\r\n city: city,\r\n state: state,\r\n zip: postalCode,\r\n latitude: lat,\r\n longitude: long\r\n }\r\n // pAdd.patchValue(pObJ);\r\n this.onAddressChange.emit(pObJ);\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n

{{heading}}

\\r\\n {{daysToDday}} Day(s) \\r\\n {{hoursToDday}} Hrs \\r\\n {{minutesToDday}} Min \\r\\n {{secondsToDday}} S\\r\\n
\"","module.exports = \".timer {\\n text-align: center;\\n font-family: 'Poppins', sans-serif;\\n font-size: 10px;\\n letter-spacing: -1px; }\\n\\n.timer span {\\n font-size: 2em;\\n margin: 0 3px 0 15px; }\\n\"","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit, Inject, OnDestroy, Input } from '@angular/core';\r\nimport { interval, Subscription } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'app-count-down',\r\n templateUrl: './count-down.component.html',\r\n styleUrls: ['./count-down.component.scss']\r\n})\r\nexport class CountDownComponent implements OnInit, OnDestroy {\r\n\r\n @Input() inputDate: Date;\r\n @Input() heading: string;\r\n\r\n private subscription: Subscription;\r\n\r\n public dateNow = new Date();\r\n milliSecondsInASecond = 1000;\r\n hoursInADay = 24;\r\n minutesInAnHour = 60;\r\n SecondsInAMinute = 60;\r\n\r\n public timeDifference;\r\n public secondsToDday: number;\r\n public minutesToDday: number;\r\n public hoursToDday: number;\r\n public daysToDday: number;\r\n dd: Date;\r\n\r\n\r\n constructor() {\r\n let date = new Date();\r\n date.setHours(date.getHours() + 2);\r\n this.dd = date;\r\n\r\n }\r\n ngOnInit() {\r\n this.subscription = interval(1000)\r\n .subscribe(x => { this.getTimeDifference(); });\r\n }\r\n private getTimeDifference() {\r\n\r\n this.timeDifference = this.dd.getTime() - new Date().getTime();\r\n this.timeDifference = new Date(this.inputDate).getTime() - new Date().getTime();\r\n this.allocateTimeUnits(this.timeDifference);\r\n }\r\n\r\n private allocateTimeUnits(timeDifference) {\r\n this.secondsToDday = Math.floor((timeDifference) / (this.milliSecondsInASecond) % this.SecondsInAMinute);\r\n this.minutesToDday = Math.floor((timeDifference) / (this.milliSecondsInASecond * this.minutesInAnHour) % this.SecondsInAMinute);\r\n this.hoursToDday = Math.floor((timeDifference) / (this.milliSecondsInASecond * this.minutesInAnHour * this.SecondsInAMinute) % this.hoursInADay);\r\n this.daysToDday = Math.floor((timeDifference) / (this.milliSecondsInASecond * this.minutesInAnHour * this.SecondsInAMinute * this.hoursInADay));\r\n }\r\n\r\n get isShowDays(): boolean {\r\n return (this.daysToDday > 0) ? true : false;\r\n }\r\n\r\n get isShowHours(): boolean {\r\n return (this.isShowDays || this.hoursToDday > 0) ? true : false;\r\n }\r\n\r\n get isShowMints(): boolean {\r\n return (this.isShowHours || this.minutesToDday > 0) ? true : false;\r\n }\r\n\r\n get isShowSeconds(): boolean {\r\n return (this.isShowMints || this.secondsToDday > 0) ? true : false;\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \"/*Table Css*/\\r\\ntable {\\r\\n width: 100%;\\r\\n}\\r\\n.fa-custom {\\r\\n font-size: 2.0em;\\r\\n color: green;\\r\\n}\\r\\n.table {\\r\\n border-collapse: collapse;\\r\\n background-color: transparent;\\r\\n}\\r\\n.customtable {\\r\\n white-space: normal;\\r\\n}\\r\\ntable th.mat-header-cell>div>button {\\r\\n color: #000;\\r\\n text-transform: uppercase;\\r\\n font-size: 11px;\\r\\n font-weight: 500;\\r\\n}\\r\\ntd.mat-cell,\\r\\ntd.mat-footer-cell,\\r\\nth.mat-header-cell {\\r\\n padding-left: 0.75rem !important;\\r\\n padding-right: 0.75rem !important;\\r\\n}\\r\\n/*Pagination*/\\r\\n.mat-paginator .mat-paginator-container {\\r\\n justify-content: space-between;\\r\\n min-height: 0px !important;\\r\\n padding: 0px !important;\\r\\n flex-wrap: wrap-reverse;\\r\\n max-height: 42px;\\r\\n}\\r\\n.bgcolor-circle {\\r\\n border: 1px solid #efefef;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n display: block;\\r\\n padding: 2px;\\r\\n border-radius: 50%;\\r\\n -webkit-border-radius: 50%;\\r\\n}\\r\\n/* @media (max-width: 1199px){\\r\\n .customtable {\\r\\n white-space: nowrap;\\r\\n }\\r\\n} */\\r\\n@media (max-width: 520px) {\\r\\n .mat-paginator .mat-paginator-container {\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n }\\r\\n\\r\\n .mat-paginator-range-label {\\r\\n margin: 0px !important;\\r\\n }\\r\\n\\r\\n .mat-paginator-range-actions {\\r\\n display: inline-block !important;\\r\\n text-align: center;\\r\\n }\\r\\n}\\r\\n.table-responsive .alert.alert-danger {\\r\\n border-radius: 0px;\\r\\n line-height: 39px;\\r\\n border: none;\\r\\n background: #fff3f3;\\r\\n width: 97%;\\r\\n margin-left: 7px;\\r\\n color: #d00;\\r\\n}\\r\\n.star {\\r\\n margin-right: -9px;\\r\\n font-size: 19px !important;\\r\\n}\\r\\n.average-rating {\\r\\n font-size: 12px !important;\\r\\n line-height: 30px;\\r\\n}\\r\\ntr.mat-header-row {\\r\\n height: 47px !important;\\r\\n font-family: 'Poppins', sans-serif !important;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 16px !important;\\r\\n line-height: 24px;\\r\\n \\r\\n}\\r\\n.table-bordered {\\r\\n border: none;\\r\\n /* padding-left: 30px !important;\\r\\n padding-right: 30px !important; */\\r\\n border-radius: 5px;\\r\\n}\\r\\n.cstm-mat-grid .dash-table table thead,\\r\\n.group-table.table thead {\\r\\n background-color: var(--colorVariable) !important;\\r\\n}\\r\\n.mat-slide-toggle-bar {\\r\\n background-color: var(--colorVariable) !important;\\r\\n}\\r\\n.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb {\\r\\n background-color: var(--colorVariable) !important;\\r\\n}\\r\\n.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar {\\r\\n background-color: #CDF3EE !important;\\r\\n}\\r\\ntr.mat-header-row th.mat-header-cell {\\r\\n border: 0.5px solid #E7E7E7;\\r\\n color: #FFFFFF !important;\\r\\n font-family: 'Poppins',sans-serif;\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n font-size: 16px;\\r\\n line-height: 24px;\\r\\n text-align: center !important;\\r\\n}\\r\\n.cstm-mat-grid .dash-table table.mat-table,\\r\\n.group-table.table.mat-table {\\r\\n border: none !important;\\r\\n text-align: center !important;\\r\\n}\\r\\nth.mat-header-cell:first-of-type {\\r\\n border-top-left-radius: 5px !important;\\r\\n}\\r\\nth.mat-header-cell:last-of-type {\\r\\n border-top-right-radius: 5px !important;\\r\\n text-align: center !important;\\r\\n}\\r\\n.group-table tr:nth-child(even) {\\r\\n background-color: #FFFFFF;\\r\\n}\\r\\n.mat-header-cell{\\r\\n text-align: center !important;\\r\\n}\\r\\n.nw-dashboardchart .table-responsive {\\r\\n /* width:710px;\\r\\noverflow: auto; */\\r\\n margin-top: 0 !important;\\r\\n}\\r\\n.table-bordered {\\r\\n border: none !important;\\r\\n}\\r\\ntd, th {\\r\\n vertical-align: middle !important;\\r\\n}\\r\\n.mat-sort-header-container {\\r\\n justify-content: center !important;\\r\\n}\\r\\n\\r\\n\\r\\n\"","module.exports = \"\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.displayName}} \\r\\n \\r\\n \\r\\n column.type\\\"\\r\\n [matTooltip]=\\\"element[column.key]\\\" matTooltipClass=\\\"example-tooltip\\\"\\r\\n class=\\\"fa fa-info-circle infoIcon\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Actions\\r\\n \\r\\n \\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\\r\\n\\r\\n\"","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { MatPaginator, MatSort, MatTableDataSource } from \"@angular/material\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { merge } from \"rxjs\";\r\n\r\n// const displayedColumns: Array = [\r\n// { displayName: 'Service Code', key: 'serviceCode', isSort: true, class: '' },\r\n// { displayName: 'Description', key: 'description', isSort: true, class: '' },\r\n// { displayName: 'Billable', key: 'isBillable' },\r\n// { displayName: 'Unit Duration', key: 'unitDuration' },\r\n// { displayName: 'Rate Per Unit', key: 'ratePerUnit' },\r\n// { displayName: 'Required Authorization', key: 'isRequiredAuthorization' },\r\n// ];\r\n\r\n@Component({\r\n selector: \"app-data-table\",\r\n templateUrl: \"./data-table.component.html\",\r\n styleUrls: [\"./data-table.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DataTableComponent implements OnInit, OnChanges {\r\n @Input() inputSource: any[];\r\n @Input() inputColumns: any[];\r\n @Input() inputMeta: any;\r\n @Input() inputButtons: any[];\r\n @Output() onChange = new EventEmitter();\r\n @Output() onTableActionClick = new EventEmitter();\r\n @Input() stickyHeader: boolean;\r\n @Input() showTooltip: boolean;\r\n displayedColumns: Array;\r\n extraColumns: Array;\r\n columnsToDisplay: Array;\r\n\r\n // dataSource: MatTableDataSource> = new MatTableDataSource<\r\n // Array\r\n // >();\r\n dataSource: Array = [];\r\n metaData: Meta;\r\n actionButton: Array;\r\n noRecords: Array;\r\n isLoadingResults = true;\r\n tooltipText: any = \"\";\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n constructor(private domSanitizer:DomSanitizer){\r\n\r\n }\r\n ngOnInit() {\r\n //this.dataSource = new MatTableDataSource>();\r\n //let data = this.inputSource;\r\n this.noRecords = [{}];\r\n\r\n // If the user changes the sort order, reset back to the first page.\r\n this.sort.sortChange.subscribe(() => (this.paginator.pageIndex = 0));\r\n\r\n merge(this.sort.sortChange, this.paginator.page).subscribe(() => {\r\n this.isLoadingResults = true;\r\n const changeState = {\r\n sort: this.sort.active || \"\",\r\n order: this.sort.direction || \"\",\r\n pageNumber: this.paginator.pageIndex + 1,\r\n pageSize: this.paginator.pageSize,\r\n };\r\n this.onChange.emit(changeState);\r\n });\r\n }\r\n\r\n ngOnChanges(value: any) {\r\n this.tooltipText = this.showTooltip ? \"Click to view options\" : \" \";\r\n if (value.inputColumns) {\r\n this.displayedColumns = (value.inputColumns.currentValue || []).filter(\r\n (x) => x.key != \"Actions\"\r\n );\r\n let changedColumns = (this.displayedColumns || []).map((obj) => obj.key);\r\n if (\r\n value.inputButtons != null &&\r\n value.inputButtons.currentValue.length > 0\r\n )\r\n changedColumns.push(\"Actions\");\r\n this.columnsToDisplay = changedColumns;\r\n this.extraColumns = (value.inputColumns.currentValue || []).filter(\r\n (x) => x.key == \"Actions\"\r\n );\r\n }\r\n\r\n if (value.inputSource) {\r\n this.isLoadingResults = false;\r\n this.dataSource = value.inputSource.currentValue;\r\n }\r\n if (value.inputMeta) {\r\n this.metaData = value.inputMeta.currentValue || new Meta();\r\n }\r\n if (value.inputButtons) {\r\n this.actionButton = value.inputButtons.currentValue || [];\r\n }\r\n \r\n }\r\n onToggleClick(action: string, data: any, column: string) {\r\n const actionObj = {\r\n action,\r\n data,\r\n column,\r\n };\r\n this.onTableActionClick.emit(actionObj);\r\n }\r\n onActionClick(action: string, data: any) {\r\n const actionObj = {\r\n action,\r\n data,\r\n };\r\n this.onTableActionClick.emit(actionObj);\r\n }\r\n onCellClick(action: string, data: any) {\r\n const actionObj = {\r\n action,\r\n data,\r\n };\r\n this.onTableActionClick.emit(actionObj);\r\n }\r\n\r\n getCellColor(color){\r\n return this.domSanitizer.bypassSecurityTrustStyle(color);\r\n }\r\n}\r\n\r\nclass Meta {\r\n totalPages?: number = 0;\r\n pageSize?: number = 5;\r\n currentPage?: number = 1;\r\n defaultPageSize?: number = 5;\r\n totalRecords?: number = 0;\r\n pageSizeOptions?: number[] = [];\r\n}\r\n","module.exports = \"\"","module.exports = \"

\\r\\n date-picker works!\\r\\n

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-date-picker',\r\n templateUrl: './date-picker.component.html',\r\n styleUrls: ['./date-picker.component.css']\r\n})\r\nexport class DatePickerComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Reset\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Undo\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Redo\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Play\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Stop\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Window 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 Zoom & Pan\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Livewire\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Scroll\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Draw\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Filter\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Only for HTML5 compatible browsers...\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
{{frameInfo.PatientID}}
\\r\\n
{{frameInfo.PatientName}} [{{frameInfo.PatientSex}}]
\\r\\n
{{frameInfo.PatientBirthDate}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
{{frameInfo.InstitutionName}}
\\r\\n
{{frameInfo.StudyDate}} {{frameInfo.StudyTime}}
\\r\\n
{{frameInfo.Modality}}
\\r\\n
\\r\\n
\\r\\n
{{frameInfo.SeriesNumber}}:{{frameInfo.InstanceNumber}}
\\r\\n
ST: {{frameInfo.SliceThickness}}
\\r\\n
SL: {{frameInfo.SliceLocation}}
\\r\\n
RES: {{frameInfo.Rows}}x{{frameInfo.Columns}}
\\r\\n
FOV: {{frameInfo.ReconstructionDiameter}}
\\r\\n
\\r\\n
\\r\\n
WC: {{frameInfo.WindowCenter}}
\\r\\n
WW: {{frameInfo.WindowWidth}}
\\r\\n
Pos: {{position.i}}, {{position.j}}, {{position.k}}
\\r\\n
Value: {{position.value}}
\\r\\n
Zoom: {{zoom.scale}}
\\r\\n
0\\\">Slice: {{currentSlice}}/{{totalSlices}}
\\r\\n
= 0\\\">Frame: {{currentFrame}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \".main-dwv {\\n background-color: #0475AF; }\\n\\n.button-row {\\n text-align: center;\\n padding: 5px;\\n background-color: #fff;\\n display: flex;\\n flex-direction: row;\\n align-items: center; }\\n\\n.mat-raised-button {\\n margin: 0.1em; }\\n\\n.legend {\\n text-align: center;\\n font-size: 8pt;\\n margin: 1em; }\\n\\n/* Layers */\\n\\n.layerContainer {\\n position: relative;\\n padding: 0;\\n margin: auto;\\n text-align: center;\\n /* height: 500px; */\\n width: 100%;\\n border: solid 0px #ccc;\\n color: #fff; }\\n\\n.imageLayer {\\n width: 100%;\\n position: absolute;\\n left: 0px;\\n top: 0px; }\\n\\n.drawDiv {\\n position: absolute;\\n pointer-events: none;\\n border: dotted 0px #000;\\n width: 100%;\\n min-height: 200px; }\\n\\n/* drag&drop */\\n\\n.dropBox {\\n margin: auto;\\n text-align: center;\\n vertical-align: middle;\\n color: #fff; }\\n\\n.top-left-panel {\\n text-align: left;\\n top: 5px;\\n position: absolute;\\n color: #fff;\\n text-shadow: 0 1px 3px #1c1c1c; }\\n\\n.top-right-panel {\\n text-align: right;\\n top: 5px;\\n right: 5px;\\n position: absolute;\\n color: #fff;\\n text-shadow: 0 1px 3px #1c1c1c; }\\n\\n.top-center-panel {\\n text-align: right;\\n padding-top: 150px;\\n text-shadow: 0 1px 3px #1c1c1c; }\\n\\n.bottom-left-panel {\\n text-align: left;\\n bottom: 20px;\\n text-shadow: 0 1px 3px #1c1c1c;\\n position: absolute;\\n color: #fff;\\n top: 400px; }\\n\\n.bottom-right-panel {\\n text-align: right;\\n right: 10px;\\n position: absolute;\\n bottom: 40px;\\n color: #fff;\\n text-shadow: 0 1px 3px #1c1c1c; }\\n\\n.panel-text {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n max-width: 200px;\\n color: #fff;\\n text-shadow: 0 1px 3px #1c1c1c; }\\n\\n.tags-panel {\\n margin: 10px auto auto auto; }\\n\\n.custom-file {\\n position: relative;\\n display: inline-block;\\n margin-bottom: 0; }\\n\\n.custom-file-input {\\n position: relative;\\n z-index: 2;\\n margin: 0;\\n opacity: 0; }\\n\\n.small-select {\\n width: 150px !important; }\\n\\n.btn-icon {\\n border-radius: 20px !important;\\n padding: 0px 8px !important; }\\n\\n.sidepanel {\\n width: 0;\\n position: fixed;\\n z-index: 1;\\n height: 250px;\\n top: 0;\\n left: 0;\\n background-color: #111;\\n overflow-x: hidden;\\n transition: 0.5s;\\n padding-top: 60px; }\\n\\n.sidepanel a {\\n padding: 8px 8px 8px 32px;\\n text-decoration: none;\\n font-size: 25px;\\n color: #818181;\\n display: block;\\n transition: 0.3s; }\\n\\n.sidepanel a:hover {\\n color: #f1f1f1; }\\n\\n.sidepanel .closebtn {\\n position: absolute;\\n top: 0;\\n right: 25px;\\n font-size: 36px; }\\n\\n.openbtn {\\n font-size: 20px;\\n cursor: pointer;\\n background-color: #111;\\n color: white;\\n padding: 10px 15px;\\n border: none; }\\n\\n.openbtn:hover {\\n background-color: #444; }\\n\\n.example-container {\\n width: 100%;\\n min-height: 60px;\\n margin: 2px;\\n border: 0px solid #555;\\n position: unset;\\n overflow: unset; }\\n\\n.container {\\n position: relative;\\n margin: 0; }\\n\\n.image {\\n opacity: 1;\\n display: block;\\n width: 100%;\\n height: auto;\\n transition: .5s ease;\\n -webkit-backface-visibility: hidden;\\n backface-visibility: hidden; }\\n\\n.middle {\\n transition: .5s ease;\\n opacity: 0;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -ms-transform: translate(-50%, -50%);\\n text-align: center; }\\n\\n.container:hover .image {\\n opacity: 0.3; }\\n\\n.container:hover .middle {\\n opacity: 1; }\\n\\n.text {\\n color: black;\\n font-size: 16px;\\n padding: 16px 32px; }\\n\\n.top-row {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n background: #F8A02D;\\n height: 70px;\\n position: relative; }\\n\\n.top-row .d-left-sec {\\n flex: 1;\\n min-width: 30%;\\n padding: 10px;\\n cursor: pointer; }\\n\\n.top-row .d-left-sec .col {\\n text-align: center; }\\n\\n.top-row .d-left-sec .col span {\\n font-size: 12px;\\n color: #ffffff; }\\n\\n.top-row .d-left-sec .col svg {\\n width: 25px;\\n height: 25px;\\n fill: #ffffff; }\\n\\n.top-row .d-right-sec {\\n flex: 1;\\n min-width: 70%; }\\n\\n.top-row .d-right-sec .mat-drawer {\\n overflow: inherit; }\\n\\n.top-row .d-right-sec .d-main-menu {\\n display: flex;\\n justify-content: flex-end; }\\n\\n.top-row .d-right-sec .d-main-menu .col {\\n text-align: center;\\n padding-top: 5px;\\n cursor: pointer; }\\n\\n.top-row .d-right-sec .d-main-menu .col span {\\n font-size: 12px;\\n color: #ffffff;\\n display: block; }\\n\\n.top-row .d-right-sec .d-main-menu .col svg {\\n width: 30px;\\n height: 30px;\\n fill: #ffffff; }\\n\\n.bottom-row {\\n min-height: 550px;\\n max-height: 600px;\\n background: #545454;\\n position: relative; }\\n\\n.mat-drawer {\\n width: 70% !important; }\\n\\n.sub-menu {\\n position: absolute;\\n z-index: 9999;\\n display: flex;\\n justify-content: flex-end;\\n width: 100%;\\n left: 0;\\n bottom: -40px; }\\n\"","import { Component, ElementRef, EventEmitter, Inject, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport * as dwv from 'dwv';\r\nimport { CommonService } from 'src/app/platform/modules/core/services';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n\r\n// get element\r\ndwv.gui.getElement = dwv.gui.base.getElement;\r\n\r\n// Image decoders (for web workers)\r\ndwv.image.decoderScripts = {\r\n \"jpeg2000\": 'assets/dwv/decoders/pdfjs/decode-jpeg2000.js',\r\n 'jpeg-lossless': 'assets/dwv/decoders/rii-mango/decode-jpegloss.js',\r\n 'jpeg-baseline': 'assets/dwv/decoders/pdfjs/decode-jpegbaseline.js',\r\n \"rle\": 'assets/dwv/decoders/dwv/decode-rle.js'\r\n};\r\n@Component({\r\n selector: 'app-dicom-viewer',\r\n templateUrl: './dicom-viewer.component.html',\r\n styleUrls: ['./dicom-viewer.component.scss']\r\n})\r\nexport class DicomViewerComponent implements OnInit {\r\n @Output() filesUploaded = new EventEmitter<{ fileName: string, file: File, data: string[] }[]>();\r\n @ViewChild('canvas') canvas: ElementRef;\r\n @ViewChild(\"fileUpload\") fileUpload: ElementRef;\r\n\r\n uploadedFiles: { fileName: string, file: File, data: string[] }[] = [];\r\n\r\n filterList: string[] = [\"Threshold\", \"Sharpen\", \"Sobel\"];\r\n shapeList: { text: string, value: string }[] = [\r\n { text: \"Arrow\", value: \"Arrow\" },\r\n { text: \"Ruler\", value: \"Ruler\" },\r\n { text: \"Angle\", value: \"Protractor\" },\r\n { text: \"Rectangle\", value: \"Rectangle\" },\r\n { text: \"Roi\", value: \"Roi\" },\r\n { text: \"Ellipse\", value: \"Ellipse\" },\r\n { text: \"Free hand\", value: \"FreeHand\" },\r\n ];\r\n drawLineColor: string = \"#ffff00\";\r\n position: { i: number, j: number, k: number, value: number } = { i: 0, j: 0, k: 0, value: 0 };\r\n zoom: { scale: number, cx: number, cy: number } = { scale: 0, cx: 0, cy: 0 };\r\n presetNames: string[] = [];\r\n selectedPresetName: string = null;\r\n selectedColourMap: string = \"plain\";\r\n minThreshold: number = 0;\r\n maxThreshold: number = 255;\r\n\r\n colourMaps = {\r\n \"plain\": dwv.image.lut.plain,\r\n \"invplain\": dwv.image.lut.invPlain,\r\n \"rainbow\": dwv.image.lut.rainbow,\r\n \"hot\": dwv.image.lut.hot,\r\n \"hotiron\": dwv.image.lut.hot_iron,\r\n \"pet\": dwv.image.lut.pet,\r\n \"hotmetalblue\": dwv.image.lut.hot_metal_blue,\r\n \"pet20step\": dwv.image.lut.pet_20step\r\n };\r\n\r\n colourList = [\r\n { text: 'Plain', value: 'plain' },\r\n { text: 'Inverted', value: 'invplain' },\r\n { text: 'Rainbow', value: 'rainbow' },\r\n { text: 'Hot', value: 'hot' },\r\n { text: 'Hot iron', value: 'hotiron' },\r\n { text: 'Pet', value: 'pet' },\r\n { text: 'Hot metal blue', value: 'hotmetalblue' },\r\n { text: 'Pet 20 step', value: 'pet20step' },\r\n ];\r\n\r\n filters = [\"Sharpen\", \"Sobel\" /*, \"Threshold\"*/];\r\n\r\n tools = {\r\n Scroll: {},\r\n WindowLevel: {},\r\n ZoomAndPan: {},\r\n Draw: {\r\n options: this.shapeList.map(x => x.value),\r\n type: 'factory',\r\n events: ['draw-create', 'draw-change', 'draw-move', 'draw-delete']\r\n },\r\n Livewire: {\r\n events: [\"draw-create\", \"draw-change\", \"draw-move\", \"draw-delete\"]\r\n },\r\n Filter: {\r\n options: this.filterList,\r\n type: \"instance\",\r\n events: [\"filter-run\", \"filter-undo\"]\r\n },\r\n // Floodfill: {\r\n // events: [\"draw-create\", \"draw-change\", \"draw-move\", \"draw-delete\"]\r\n // }\r\n };\r\n\r\n toolNames: { text: string, value: string }[] = [\r\n { text: 'Scroll', value: 'Scroll' },\r\n { text: 'Window level', value: 'WindowLevel' },\r\n { text: 'Zoom and pan', value: 'ZoomAndPan' },\r\n { text: 'Draw', value: 'Draw' },\r\n { text: 'Livewire', value: 'Livewire' },\r\n { text: 'Filter', value: 'Filter' },\r\n ];\r\n\r\n frameInfo: IFrameInformationVM = {\r\n PatientID: null,\r\n PatientName: null,\r\n PatientSex: null,\r\n PatientBirthDate: null,\r\n InstitutionName: null,\r\n StudyDate: null,\r\n StudyTime: null,\r\n Modality: null,\r\n SeriesNumber: null,\r\n InstanceNumber: null, // AcquisitionNumber|SamplesPerPixel|PixelRepresentation|RescaleSlope\r\n PatientPosition: null,\r\n SliceThickness: null,\r\n SliceLocation: null,\r\n Rows: null,\r\n Columns: null,\r\n ReconstructionDiameter: null,\r\n WindowCenter: null,\r\n WindowWidth: null,\r\n RescaleIntercept: null,\r\n };\r\n\r\n selectedTool = 'Select Tool';\r\n optionTool = 'Select Tool';\r\n selectedDrawTool = \"Ruler\";\r\n selectedFilterTool = \"Sharpen\";\r\n loadProgress = 0;\r\n dataLoaded = false;\r\n metaData: any[] = [];\r\n currentFrame: number = null;\r\n currentSlice: number = null;\r\n totalSlices: number = null;\r\n isPlaying: boolean = false;\r\n isShowTags: boolean = false;\r\n isLocalFile: boolean = false;\r\n\r\n private dwvApp: any;\r\n\r\n // drop box class name\r\n private dropboxClassName = 'dropBox';\r\n private borderClassName = 'dropBoxBorder';\r\n private hoverClassName = 'hover';\r\n fileName: string;\r\n filesUploaded1: any;\r\n uploadedFiles1: string;\r\n dynamicFile: File;\r\n fileInfo: any;\r\n URL: string;\r\n sasToken: string;\r\n enableSideMenuButton: boolean = false;\r\n showBackButton: boolean = false;\r\n hideAllMainMenu: boolean = false;\r\n token: string; //this variable will store the token value.\r\n fileUrl: string;\r\n octetFile: any;\r\n\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private commonService: CommonService,\r\n ) {\r\n if(data.url){\r\n this.isLocalFile = true;\r\n this.fileUrl = data.url;\r\n }\r\n else{\r\n this.fileUrl = data;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n // create app\r\n this.dwvApp = new dwv.App();\r\n\r\n // initialise app\r\n this.dwvApp.init({\r\n containerDivId: 'dwv',\r\n tools: this.tools\r\n });\r\n\r\n // handle load events\r\n let nReceivedError = null;\r\n let nReceivedAbort = null;\r\n\r\n this.dwvApp.addEventListener('load-start', (/*event*/) => {\r\n this.dataLoaded = false;\r\n nReceivedError = 0;\r\n nReceivedAbort = 0;\r\n });\r\n\r\n this.dwvApp.addEventListener('load-progress', (event) => {\r\n this.loadProgress = event.loaded;\r\n });\r\n\r\n this.dwvApp.addEventListener('load', (/*event*/) => {\r\n this.presetNames = this.dwvApp.getViewController().getWindowLevelPresetsNames();\r\n\r\n if (this.presetNames && this.presetNames.length > 0)\r\n this.selectedPresetName = this.presetNames[0];\r\n\r\n // set dicom tags\r\n this.metaData = dwv.utils.objectToArray(this.dwvApp.getMetaData());\r\n this.getValuesFromMetadata();\r\n\r\n // set the selected tool\r\n let selectedTool = 'Scroll';\r\n if (this.dwvApp.isMonoSliceData() &&\r\n this.dwvApp.getImage().getNumberOfFrames() === 1) {\r\n selectedTool = 'ZoomAndPan';\r\n }\r\n\r\n this.onChangeTool(selectedTool);\r\n\r\n // hide dropBox\r\n this.hideDropbox();\r\n\r\n // set data loaded flag\r\n this.dataLoaded = true;\r\n\r\n this.totalSlices = this.dwvApp.getImage().getGeometry().getSize().getNumberOfSlices() - 1;\r\n this.currentSlice = this.dwvApp.getViewController().getCurrentPosition().k;\r\n\r\n this.currentFrame = this.dwvApp.getViewController().getCurrentFrame();\r\n });\r\n\r\n this.dwvApp.addEventListener('load-end', (/*event*/) => {\r\n if (nReceivedError) {\r\n this.loadProgress = 0;\r\n alert('Received errors during load. Check log for details.');\r\n }\r\n if (nReceivedAbort) {\r\n this.loadProgress = 0;\r\n alert('Load was aborted.');\r\n }\r\n });\r\n\r\n this.dwvApp.addEventListener('error', (event) => {\r\n console.error(event.error);\r\n ++nReceivedError;\r\n });\r\n\r\n this.dwvApp.addEventListener('abort', (/*event*/) => {\r\n ++nReceivedAbort;\r\n });\r\n\r\n // handle key events\r\n this.dwvApp.addEventListener('keydown', (event) => {\r\n this.dwvApp.defaultOnKeydown(event);\r\n });\r\n\r\n // handle slice-change events\r\n this.dwvApp.addEventListener('slice-change', (event) => {\r\n this.currentSlice = this.dwvApp.getViewController().getCurrentPosition().k;\r\n });\r\n\r\n // handle frame-change events\r\n this.dwvApp.addEventListener('frame-change', (event) => {\r\n this.currentFrame = this.dwvApp.getViewController().getCurrentFrame();\r\n });\r\n\r\n // handlecolor-change events\r\n this.dwvApp.addEventListener('color-change', (event: { type: string, wc: string, ww: string }) => {\r\n this.frameInfo.WindowCenter = event.wc.toString();\r\n this.frameInfo.WindowWidth = event.ww.toString();\r\n });\r\n\r\n // handle wl-center-change events\r\n this.dwvApp.addEventListener('wl-center-change', (event: { type: string, wc: string, ww: string }) => {\r\n this.frameInfo.WindowCenter = event.wc.toString();\r\n this.frameInfo.WindowWidth = event.ww.toString();\r\n });\r\n\r\n // handle wl-width-change events\r\n this.dwvApp.addEventListener('wl-width-change', (event: { type: string, wc: string, ww: string }) => {\r\n this.frameInfo.WindowCenter = event.wc.toString();\r\n this.frameInfo.WindowWidth = event.ww.toString();\r\n });\r\n\r\n // handle position-change events\r\n this.dwvApp.addEventListener('position-change', (event: { type: string, i: number, j: number, k: number, value: number }) => {\r\n this.position = event;\r\n });\r\n\r\n // handle zoom-change events\r\n this.dwvApp.addEventListener('zoom-change', (event: { type: string, scale: number, cx: number, cy: number }) => {\r\n this.zoom = event;\r\n let scale = (event.scale || 0);\r\n scale = Math.round(scale * 100) / 100;\r\n this.zoom.scale = scale;\r\n });\r\n\r\n // handle window resize\r\n window.addEventListener('resize', this.dwvApp.onResize);\r\n\r\n // setup drop box\r\n this.setupDropbox();\r\n\r\n // possible load from location\r\n dwv.utils.loadFromUri(window.location.href, this.dwvApp);\r\n\r\n\r\n if (this.fileUrl) {\r\n //this.createFile();\r\n this.onUplaod1();\r\n }\r\n }\r\n\r\n private _onUplaod1 = () => {\r\n if (this.fileUrl) {\r\n if(this.isLocalFile){\r\n this.dwvApp.loadURLs([this.fileUrl], [], true);\r\n }\r\n else{\r\n var accessToken = localStorage.getItem(\"access_token\")\r\n var _URl = environment.api_url + '/SecondOpinion/GetFile?url=' + this.fileUrl + '&token=' + accessToken;\r\n // load file with URL and token.\r\n this.dwvApp.loadURLs([_URl], [{ BusinessToken: localStorage.getItem(\"business_token\") }], false);\r\n this.hideDropbox();\r\n } \r\n }\r\n };\r\n\r\n public get onUplaod1() {\r\n return this._onUplaod1;\r\n }\r\n public set onUplaod1(value) {\r\n this._onUplaod1 = value;\r\n }\r\n\r\n onUplaod = () => {\r\n const fileUpload = this.fileUpload.nativeElement;\r\n fileUpload.onchange = () => {\r\n\r\n this.dwvApp.loadFiles(fileUpload.files);\r\n this.hideDropbox();\r\n this.uploadedFiles = [];\r\n for (let x = 0; x < fileUpload.files.length; x++) {\r\n this.uploadedFiles.push({\r\n fileName: fileUpload.files[x].name,\r\n file: fileUpload.files[x],\r\n data: []\r\n });\r\n }\r\n this.filesUploaded.emit(this.uploadedFiles);\r\n // fileUpload.value = '';\r\n };\r\n fileUpload.click();\r\n }\r\n\r\n /**\r\n * Handle a change tool event.\r\n * @param tool The new tool name.\r\n */\r\n onChangeTool = (tool: string) => {\r\n if (this.dwvApp) {\r\n this.selectedTool = tool;\r\n this.optionTool = tool;\r\n this.dwvApp.setTool(tool);\r\n\r\n if (tool === 'WindowLevel') {\r\n this.dwvApp.setWindowLevelPreset(this.selectedPresetName);\r\n this.dwvApp.getViewController().setColourMap(this.colourMaps[this.selectedColourMap]);\r\n this.showBackButton = true;\r\n // this.hideAllMainMenu=true;\r\n }\r\n\r\n if (tool === 'Filter') {\r\n this.showBackButton = true;\r\n // this.hideAllMainMenu=true;\r\n }\r\n\r\n if (tool === 'Draw') {\r\n this.onChangeShape(this.tools.Draw.options[0]);\r\n this.onChangeShape(this.selectedDrawTool);\r\n this.showBackButton = true;\r\n // this.hideAllMainMenu=true;\r\n }\r\n }\r\n }\r\n\r\n hideBackButton() {\r\n this.showBackButton = false;\r\n this.hideAllMainMenu = false;\r\n }\r\n\r\n /**\r\n * Handle a change draw shape event.\r\n * @param shape The new shape name.\r\n */\r\n private onChangeShape = (shape: string) => {\r\n if (this.dwvApp && this.selectedTool === 'Draw') {\r\n this.dwvApp.setDrawLineColour(this.drawLineColor);\r\n this.dwvApp.setDrawShape(shape);\r\n }\r\n }\r\n\r\n /**\r\n * Handle a reset event.\r\n */\r\n onReset = () => {\r\n if (this.dwvApp) {\r\n this.dwvApp.deleteDraws();\r\n this.dwvApp.resetDisplay();\r\n // this.minThreshold = 0;\r\n // this.maxThreshold = 255;\r\n // this.onThreshold();\r\n }\r\n }\r\n\r\n onUndo = () => {\r\n if (this.dwvApp) {\r\n this.dwvApp.undo();\r\n }\r\n }\r\n\r\n onRedo = () => {\r\n if (this.dwvApp) {\r\n this.dwvApp.redo();\r\n }\r\n }\r\n\r\n /**\r\n * Open the DICOM tags dialog.\r\n */\r\n openTagsDialog = () => {\r\n // this.isShowTags = !this.isShowTags;\r\n\r\n const initialState = {\r\n metaData: this.metaData\r\n };\r\n\r\n // this.bsModalService\r\n // .show(DicomMetaDataComponent, Object.assign({}, { initialState, class: 'modal-lg' }));\r\n\r\n // const obj = JSON.parse(\"{\\\"version\\\":\\\"0.3\\\",\\\"window-center\\\":128,\\\"window-width\\\":256,\\\"position\\\":{\\\"i\\\":0,\\\"j\\\":0,\\\"k\\\":0},\\\"scale\\\":1,\\\"scaleCenter\\\":{\\\"x\\\":0,\\\"y\\\":0},\\\"translation\\\":{\\\"x\\\":0,\\\"y\\\":0},\\\"drawings\\\":{\\\"attrs\\\":{\\\"listening\\\":true,\\\"visible\\\":true},\\\"className\\\":\\\"Layer\\\",\\\"children\\\":[{\\\"attrs\\\":{\\\"name\\\":\\\"position-group\\\",\\\"id\\\":\\\"slice-0_frame-0\\\",\\\"visible\\\":true},\\\"className\\\":\\\"Group\\\",\\\"children\\\":[{\\\"attrs\\\":{\\\"name\\\":\\\"ruler-group\\\",\\\"visible\\\":true,\\\"id\\\":\\\"vvagn6n382e\\\",\\\"draggable\\\":true},\\\"className\\\":\\\"Group\\\",\\\"children\\\":[{\\\"attrs\\\":{\\\"points\\\":[420,129,176,118],\\\"stroke\\\":\\\"#121211\\\",\\\"strokeWidth\\\":1.8028169014084507,\\\"name\\\":\\\"shape\\\"},\\\"className\\\":\\\"Line\\\"},{\\\"attrs\\\":{\\\"points\\\":[419.59403966200404,138.00493840645686,420.40596033799596,119.99506159354496],\\\"stroke\\\":\\\"#121211\\\",\\\"strokeWidth\\\":1.8028169014084507,\\\"name\\\":\\\"shape-tick0\\\"},\\\"className\\\":\\\"Line\\\"},{\\\"attrs\\\":{\\\"points\\\":[175.594039662004,127.0049384064564,176.405960337996,108.99506159354314],\\\"stroke\\\":\\\"#121211\\\",\\\"strokeWidth\\\":1.8028169014084507,\\\"name\\\":\\\"shape-tick1\\\"},\\\"className\\\":\\\"Line\\\"},{\\\"attrs\\\":{\\\"x\\\":176,\\\"y\\\":103,\\\"name\\\":\\\"label\\\"},\\\"className\\\":\\\"Label\\\",\\\"children\\\":[{\\\"attrs\\\":{\\\"fontSize\\\":10.816901408450704,\\\"fontFamily\\\":\\\"Verdana\\\",\\\"fill\\\":\\\"#121211\\\",\\\"name\\\":\\\"text\\\",\\\"text\\\":\\\"{length}\\\"},\\\"className\\\":\\\"Text\\\"},{\\\"attrs\\\":{\\\"width\\\":47.80570983886719,\\\"height\\\":10.816901408450704},\\\"className\\\":\\\"Tag\\\"}]}]}]}]},\\\"drawingsDetails\\\":{\\\"vvagn6n382e\\\":{\\\"textExpr\\\":\\\"{length}\\\",\\\"longText\\\":\\\"\\\",\\\"quant\\\":{}}}}\");\r\n // new dwv.State().apply(this.dwvApp, obj);\r\n\r\n // this.dialog.open(TagsDialogComponent,\r\n // {\r\n // width: '80%',\r\n // height: '90%',\r\n // data: {\r\n // title: 'DICOM Tags',\r\n // value: this.metaData\r\n // }\r\n // }\r\n // );\r\n }\r\n\r\n // onReport = () => {\r\n // const initialState = {\r\n // uploadedFiles: this.uploadedFiles\r\n // };\r\n\r\n // this.bsModalService\r\n // .show(DicomReportComponent, Object.assign({}, { initialState, class: 'modal-lg' }));\r\n // }\r\n\r\n onExport = (): void => {\r\n const imageData: ImageData = this.dwvApp.getImageData();\r\n const canvas = document.createElement(\"canvas\");\r\n canvas.width = imageData.width;\r\n canvas.height = imageData.height;\r\n const ctx = canvas.getContext(\"2d\");\r\n ctx.putImageData(imageData, 0, 0);\r\n const dataURL = canvas.toDataURL(\"image/png\");\r\n const link = document.createElement('a');\r\n link.setAttribute('download', 'Download-Image.png');\r\n link.setAttribute('href', dataURL.replace(\"image/png\", \"image/octet-stream\"));\r\n link.click();\r\n\r\n const stateData = \"data:text/json;charset=utf-8,\" + encodeURIComponent(JSON.stringify(this.dwvApp.getState()));\r\n const dlAnchorElem = document.createElement('a');\r\n dlAnchorElem.setAttribute(\"href\", stateData);\r\n dlAnchorElem.setAttribute(\"download\", \"state.json\");\r\n dlAnchorElem.click();\r\n }\r\n\r\n onPlay = (): void => {\r\n if (this.dwvApp) {\r\n this.dwvApp.getViewController().play();\r\n this.isPlaying = true;\r\n }\r\n }\r\n\r\n /** async createFile() {\r\n if (this.fileName) {\r\n var headers={\r\n 'AccountName':'pacsstorage',\r\n 'AccountKey':`08NLGiSuCvBgntwWhip42YCCxPBSxRg8wNZPiD81HLe/48TANHPK/CD9xHYA5Dwru9yhiP+nLhA70RR60/gomQ==` \r\n }\r\n let response = await fetch(this.fileName);\r\n let data = await response.blob();\r\n let metadata = {\r\n type: 'image/jpeg'\r\n };\r\n let file = new File([data], \"test.jpg\", metadata);\r\n this.dynamicFile = file;\r\n this.onUplaod1();\r\n }\r\n }*/\r\n\r\n onStop = (): void => {\r\n if (this.dwvApp) {\r\n this.dwvApp.getViewController().stop();\r\n this.isPlaying = false;\r\n }\r\n }\r\n\r\n onSharpen = (): void => {\r\n if (this.dwvApp) {\r\n // this.dwvApp.restoreOriginalImage();\r\n new dwv.tool.filter.Sharpen(this.dwvApp).run();\r\n }\r\n }\r\n\r\n onThreshold = (): void => {\r\n if (this.dwvApp) {\r\n this.dwvApp.restoreOriginalImage();\r\n const threshold = new dwv.tool.filter.Threshold(this.dwvApp);\r\n threshold.activate(true);\r\n threshold.run({ min: this.minThreshold, max: this.maxThreshold });\r\n }\r\n }\r\n\r\n /* openNav() {\r\n document.getElementById(\"mySidepanel\").style.width = \"250px\";\r\n }\r\n \r\n closeNav() {\r\n document.getElementById(\"mySidepanel\").style.width = \"0\";\r\n }\r\n */\r\n onSobel = (): void => {\r\n if (this.dwvApp) {\r\n //this.dwvApp.restoreOriginalImage();\r\n new dwv.tool.filter.Sobel(this.dwvApp).run();\r\n }\r\n }\r\n\r\n // drag and drop [begin] -----------------------------------------------------\r\n\r\n /**\r\n * Setup the data load drop box: add event listeners and set initial size.\r\n */\r\n private setupDropbox = () => {\r\n // start listening to drag events on the layer container\r\n const layerContainer = this.dwvApp.getElement('layerContainer');\r\n\r\n if (layerContainer) {\r\n layerContainer.addEventListener('dragover', this.onDragOver);\r\n layerContainer.addEventListener('dragleave', this.onDragLeave);\r\n layerContainer.addEventListener('drop', this.onDrop);\r\n }\r\n\r\n // set the initial drop box size\r\n const box = this.dwvApp.getElement(this.dropboxClassName);\r\n\r\n if (box) {\r\n const size = this.dwvApp.getLayerContainerSize();\r\n // const dropBoxSize = 2 * size.height / 3;\r\n const dropBoxSize = size.height * 1.0;\r\n box.setAttribute('style', 'width:' + dropBoxSize + 'px;height:' + dropBoxSize + 'px');\r\n }\r\n }\r\n\r\n /**\r\n * Handle a drag over.\r\n * @param event The event to handle.\r\n */\r\n private onDragOver = (event: DragEvent) => {\r\n // prevent default handling\r\n event.stopPropagation();\r\n event.preventDefault();\r\n\r\n // update box border\r\n const box = this.dwvApp.getElement(this.borderClassName);\r\n if (box && box.className.indexOf(this.hoverClassName) === -1) {\r\n box.className += ' ' + this.hoverClassName;\r\n }\r\n }\r\n\r\n /**\r\n * Handle a drag leave.\r\n * @param event The event to handle.\r\n */\r\n private onDragLeave = (event: DragEvent) => {\r\n // prevent default handling\r\n event.stopPropagation();\r\n event.preventDefault();\r\n\r\n // update box class\r\n const box = this.dwvApp.getElement(this.borderClassName + ' hover');\r\n if (box && box.className.indexOf(this.hoverClassName) !== -1) {\r\n box.className = box.className.replace(' ' + this.hoverClassName, '');\r\n }\r\n }\r\n\r\n /**\r\n * Hide the data load drop box.\r\n */\r\n private hideDropbox = () => {\r\n // remove box\r\n const box = this.dwvApp.getElement(this.dropboxClassName);\r\n this.enableSideMenuButton = true;\r\n\r\n if (box) {\r\n box.parentNode.removeChild(box);\r\n }\r\n }\r\n\r\n /**\r\n * Handle a drop event.\r\n * @param event The event to handle.\r\n */\r\n private onDrop = (event: DragEvent) => {\r\n // prevent default handling\r\n event.stopPropagation();\r\n event.preventDefault();\r\n\r\n // load files\r\n this.dwvApp.loadFiles(event.dataTransfer.files);\r\n // hide drop box\r\n this.hideDropbox();\r\n }\r\n\r\n // drag and drop [end] -------------------------------------------------------\r\n\r\n private getValuesFromMetadata = (): void => {\r\n const keys = Object.keys(this.frameInfo);\r\n\r\n keys.forEach(key => {\r\n const item = (this.metaData || []).filter(x => x.name === key)[0];\r\n\r\n this.frameInfo[key] = 'NA';\r\n\r\n if (item)\r\n this.frameInfo[key] = item.value || 'NA';\r\n });\r\n }\r\n\r\n windowLevelSubType(item) {\r\n this.selectedColourMap = item.value;\r\n this.dwvApp.setWindowLevelPreset(\"Default0\");\r\n this.dwvApp.getViewController().setColourMap(this.colourMaps[this.selectedColourMap]);\r\n }\r\n\r\n drawSubType(item) {\r\n this.selectedDrawTool = item.value;\r\n this.onChangeShape(this.selectedDrawTool);\r\n }\r\n\r\n // Close the dialog \r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n}\r\n\r\nexport interface IFrameInformationVM {\r\n PatientID?: string,\r\n PatientName?: string,\r\n PatientSex?: string,\r\n PatientBirthDate?: string,\r\n InstitutionName?: string,\r\n StudyDate?: string,\r\n StudyTime?: string,\r\n Modality?: string,\r\n SeriesNumber?: string,\r\n InstanceNumber?: string, // AcquisitionNumber|SamplesPerPixel|PixelRepresentation|RescaleSlope\r\n PatientPosition?: string,\r\n SliceThickness?: string,\r\n SliceLocation?: string,\r\n Rows?: string,\r\n Columns?: string,\r\n ReconstructionDiameter?: string,\r\n WindowCenter?: string,\r\n WindowWidth?: string,\r\n RescaleIntercept?: string,\r\n}\r\n\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControlName][appMrnNumber]', \r\n})\r\nexport class MrnNumberDirective {\r\n\r\n constructor(public ngControl: NgControl) { }\r\n @HostListener('ngModelChange', ['$event'])\r\n onModelChange(event) {\r\n this.onInputChange(event, false);\r\n }\r\n\r\n @HostListener('keydown.backspace', ['$event'])\r\n keydownBackspace(event) {\r\n this.onInputChange(event.target.value, true);\r\n }\r\n\r\n onInputChange(event, backspace) {\r\n let newVal='';\r\n if(event!=null)\r\n newVal = event.replace(/\\D/g, '');\r\n if (backspace && newVal.length <= 6) {\r\n newVal = newVal.substring(0, newVal.length - 1);\r\n }\r\n if (newVal.length === 0) {\r\n newVal = '';\r\n } else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, '($1)');\r\n } else if (newVal.length <= 6) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})/, '($1) $2');\r\n } else if (newVal.length <= 10) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,4})/, '($1) $2-$3');\r\n } else {\r\n newVal = newVal.substring(0, 10);\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,4})/, '($1) $2-$3');\r\n }\r\n this.ngControl.valueAccessor.writeValue(newVal);\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appNumbersOnly]'\r\n})\r\nexport class NumbersOnlyDirective {\r\n\r\n @Input() allowDecimals?: boolean;\r\n\r\n private regex: RegExp;\r\n // Allow key codes for special events. Reflect :\r\n // Backspace, tab, end, home\r\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight'];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n\r\n if (this.allowDecimals)\r\n this.regex = new RegExp(/^\\d+\\.?\\d*$/g);\r\n else\r\n this.regex = new RegExp(/^[0-9]*$/g);\r\n\r\n\r\n // Allow Backspace, tab, end, and home keys OR allow ctrl+A\r\n if (this.specialKeys.indexOf(event.key) !== -1 || (event.keyCode === 65 && (event.ctrlKey || event.metaKey))) {\r\n return;\r\n }\r\n let current: string = this.el.nativeElement.value;\r\n let next: string = current.concat(event.key);\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControlName][appPhoneNumber]',\r\n})\r\nexport class PhoneNumberDirective {\r\n\r\n constructor(public ngControl: NgControl) { }\r\n\r\n @HostListener('ngModelChange', ['$event'])\r\n onModelChange(event) {\r\n this.onInputChange(event, false);\r\n }\r\n\r\n @HostListener('keydown.backspace', ['$event'])\r\n keydownBackspace(event) {\r\n this.onInputChange(event.target.value, true);\r\n }\r\n\r\n onInputChange(event, backspace) { \r\n let newVal='';\r\n if(event!=null)\r\n newVal = event.replace(/\\D/g, '');\r\n if (backspace && newVal.length <= 6) {\r\n newVal = newVal.substring(0, newVal.length - 1);\r\n }\r\n if (newVal.length === 0) {\r\n newVal = '';\r\n } else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, '($1)');\r\n } else if (newVal.length <= 6) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})/, '($1) $2');\r\n } else if (newVal.length <= 11) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,4})/, '($1) $2-$3');\r\n } else {\r\n newVal = newVal.substring(0, 10);\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,4})/, '($1) $2-$3');\r\n }\r\n this.ngControl.valueAccessor.writeValue(newVal);\r\n }\r\n}","import { Directive, HostListener } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControlName][appRate]',\r\n})\r\nexport class RateDirective {\r\n constructor(public ngControl: NgControl) { }\r\n\r\n @HostListener('ngModelChange', ['$event'])\r\n onModelChange(event) {\r\n this.onInputChange(event, false);\r\n }\r\n\r\n @HostListener('keydown.backspace', ['$event'])\r\n keydownBackspace(event) {\r\n this.onInputChange(event.target.value, true);\r\n }\r\n\r\n onInputChange(event, backspace) {\r\n let newVal='';\r\n if(event!=null)\r\n newVal = event.replace(/\\D/g, '');\r\n if (backspace && newVal.length <= 6) {\r\n newVal = newVal.substring(0, newVal.length - 1);\r\n }\r\n if (newVal.length === 0) {\r\n newVal = '';\r\n } \r\n else{\r\n newVal = newVal.replace(/^\\d{0,6}(\\.\\d{1,2})?$/, '$1'); \r\n }\r\n this.ngControl.valueAccessor.writeValue(newVal);\r\n }\r\n}\r\n\r\n\r\n\r\n// import { Directive } from '@angular/core';\r\n\r\n// @Directive({\r\n// selector: '[appRate]'\r\n// })\r\n// export class RateDirective {\r\n\r\n// constructor() { }\r\n\r\n// }\r\n","\r\nimport { Directive, HostListener } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControlName][appSsn]',\r\n})\r\nexport class SsnDirective {\r\n\r\n constructor(public ngControl: NgControl) { }\r\n\r\n @HostListener('ngModelChange', ['$event'])\r\n onModelChange(event) {\r\n this.onInputChange(event, false);\r\n }\r\n\r\n @HostListener('keydown.backspace', ['$event'])\r\n keydownBackspace(event) {\r\n this.onInputChange(event.target.value, true);\r\n }\r\n\r\n onInputChange(event, backspace) {\r\n let newVal=''\r\n if(event!=null)\r\n newVal = event.replace(/\\D/g, '');\r\n if (newVal.length === 0) {\r\n newVal = '';\r\n } else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, '$1');\r\n } else if (newVal.length <= 5) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,2})/, '$1-$2');\r\n } else if (newVal.length <= 10) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,2})(\\d{0,4})/, '$1-$2-$3');\r\n } else {\r\n newVal = newVal.substring(0, 9);\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,2})(\\d{0,4})/, '$1-$2-$3');\r\n }\r\n this.ngControl.valueAccessor.writeValue(newVal);\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n// import { Directive } from '@angular/core';\r\n\r\n// @Directive({\r\n// selector: '[appSsn]'\r\n// })\r\n// export class SsnDirective {\r\n\r\n// constructor() { }\r\n\r\n// }\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControlName][appZipcode]',\r\n})\r\nexport class ZipcodeDirective {\r\n\r\n constructor(public ngControl: NgControl) { }\r\n\r\n @HostListener('ngModelChange', ['$event'])\r\n onModelChange(event) {\r\n this.onInputChange(event, false);\r\n }\r\n\r\n @HostListener('keydown.backspace', ['$event'])\r\n keydownBackspace(event) {\r\n this.onInputChange(event.target.value, true);\r\n }\r\n\r\n onInputChange(event, backspace) {\r\n let newVal='';\r\n if(event!=null)\r\n newVal = event.replace(/\\D/g, '');\r\n //let newVal = event.replace(/\\D/g, '');\r\n // if (backspace && newVal.length <= 5) {\r\n // newVal = newVal.substring(0, newVal.length - 1);\r\n // }\r\n if (newVal.length === 0) {\r\n newVal = '';\r\n } else if (newVal.length <= 5) {\r\n newVal = newVal.replace(/^(\\d{0,5})/, '$1');\r\n } else if (newVal.length <= 10 && newVal.length > 5) {\r\n newVal = newVal.replace(/^(\\d{0,5})(\\d{0,4})/, '$1-$2');\r\n }\r\n else {\r\n newVal = newVal.substring(0, 10);\r\n newVal = newVal.replace(/^(\\d{0,5})(\\d{0,4})/, '$1-$2');\r\n }\r\n \r\n this.ngControl.valueAccessor.writeValue(newVal);\r\n }\r\n}\r\n\r\n// import { Directive } from '@angular/core';\r\n\r\n// @Directive({\r\n// selector: '[appZipcode]'\r\n// })\r\n// export class ZipcodeDirective {\r\n\r\n// constructor() { }\r\n\r\n// }\r\n","module.exports = \".schedule-modal {\\r\\n background-color: rgba(99, 216, 145, .15);\\r\\n color: #2f2660;\\r\\n padding: 20px 25px;\\r\\n border-radius: 3px;\\r\\n -webkit-border-radius: 3px;\\r\\n}\\r\\n\\r\\n.cancel-btn {\\r\\n position: absolute;\\r\\n right: 20px;\\r\\n}\\r\\n\\r\\n.schedule-modal h3 {\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n\\r\\n.zi-999 {\\r\\n z-index: 999;\\r\\n}\\r\\n\\r\\n.close-dialog .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #86a47e;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 6px 10px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\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, Inject, Optional, OnInit, ViewChild } from '@angular/core';\r\nimport { saveAs } from 'file-saver';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { FileViewModel } from 'src/app/platform/modules/agency-portal/users/users.model';\r\n\r\n@Component({\r\n selector: 'app-doc-viewer',\r\n templateUrl: './doc-viewer.component.html',\r\n styleUrls: ['./doc-viewer.component.css']\r\n})\r\nexport class DocViewerComponent implements OnInit {\r\n message: string = '';\r\n viewer = 'url';\r\n doc: string;\r\n\r\n docTypes = ['TXT', 'DOC', 'DOCX', 'XLS', 'XLSX', 'PPT', 'PPTX', 'PDF', 'PAGES', 'TIFF', 'SVG']\r\n imgTypes = ['JPG', 'JPEG', 'PNG'];\r\n videoTypes = ['MP4', 'mov', 'wmv', 'AVI', 'AVCHD', 'FLV', 'F4V', 'SWF', 'MKV', 'WEBM', 'HTML5', 'MPEG-2'];\r\n\r\n isDocFile = false;\r\n\r\n videoUrl: any;\r\n docBlob: Blob;\r\n isImage: boolean;\r\n isVideo: boolean;\r\n iHeight: number;\r\n iWidth: number;\r\n fileName: string;\r\n @ViewChild('video') matVideo: any;\r\n video: HTMLVideoElement;\r\n fileUrl: any;\r\n fileUrl2: any;\r\n file: string;\r\n file2: string;\r\n fileData: any;\r\n constructor(\r\n public dialogPopup: MatDialogRef,\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data: FileViewModel,\r\n private sanitizer: DomSanitizer\r\n ) {\r\n this.fileData = data;\r\n if (this.fileData.url) {\r\n if (this.docTypes.includes(this.fileData.ext.toUpperCase())) {\r\n this.doc = this.fileData.url;\r\n this.fileUrl = this.fileData.url;\r\n this.isDocFile = true; \r\n } \r\n else if (this.imgTypes.includes(this.fileData.ext.toUpperCase())) {\r\n this.isImage = true; \r\n this.fileUrl = this.sanitizer.bypassSecurityTrustUrl(this.fileData.url);\r\n this.doc = this.fileData.url;; \r\n } \r\n }\r\n else{\r\n this.file = String(data);\r\n this.fileUrl2 = String(this.file).split('.').pop();\r\n this.file2 = this.fileUrl2;\r\n this.fileUrl = data;\r\n const fileType = this.file2.toUpperCase();\r\n if (this.docTypes.includes(fileType)) {\r\n this.isDocFile = true;\r\n this.doc = this.file;//data.fileUrl;\r\n } else if (this.imgTypes.includes(fileType)) {\r\n this.isImage = true;\r\n this.doc = this.file;\r\n // this.documentOpen(data.blob);\r\n } else if (this.videoTypes.includes(fileType)) {\r\n this.isVideo = true;\r\n this.documentOpen(data.blob);\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n closeDialog(action: string): void {\r\n this.dialogPopup.close(action);\r\n }\r\n\r\n documentOpen(file: any) {\r\n if (file) {\r\n this.fileUrl = undefined;\r\n this.iHeight = screen.height / 1.6;\r\n this.iWidth = screen.height - 2;\r\n if (this.isImage) {\r\n this.showImg(file);\r\n } else if (this.isVideo) {\r\n this.docBlob = file;\r\n this.videoUrl = URL.createObjectURL(file);\r\n } else {\r\n const fileName = this.data.fileUrl.substring(this.data.fileUrl.lastIndexOf('/') + 1);\r\n saveAs(file, fileName);\r\n this.closeDialog('');\r\n }\r\n }\r\n }\r\n\r\n showImg(blob: Blob) {\r\n var thisClass = this;\r\n let reader = new FileReader();\r\n reader.readAsDataURL(blob);\r\n reader.onloadend = function () {\r\n let base64String = reader.result as string;\r\n const imgStringArray = base64String.split(';');\r\n const imgString = 'data:' + blob.type + ';' + imgStringArray[1];\r\n thisClass.fileUrl = imgString;\r\n }\r\n }\r\n}\r\n\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\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 { FormArray, FormGroup } from '@angular/forms';\r\nimport { DynamicFormControlService } from '../dynamic-form-control-service';\r\nimport { ControlBase, ControlTypesHelper, QuestionBase, QuestionnaireAnswerModel } from '../dynamic-form-models';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-dynamic-form',\r\n templateUrl: './dynamic-form.component.html',\r\n providers: [DynamicFormControlService]\r\n})\r\nexport class DynamicFormComponent implements OnInit {\r\n @Input() isFormDisabled = false;\r\n @Input() controls: ControlBase[] | null = [];\r\n @Output() onSubmitEmitter: EventEmitter = new EventEmitter();\r\n form!: FormGroup;\r\n payLoad = '';\r\n isSubmitted = false;\r\n\r\n constructor(private fcs: DynamicFormControlService) { }\r\n\r\n ngOnInit() {\r\n this.form = this.fcs.toFormGroup(this.controls as ControlBase[]);\r\n if(this.isFormDisabled){\r\n this.form.disable();\r\n }\r\n }\r\n\r\n private markFormGroupTouched(formGroup: FormGroup) {\r\n (Object).values(formGroup.controls).forEach(control => {\r\n control.markAsTouched();\r\n\r\n if (control.controls) {\r\n this.markFormGroupTouched(control);\r\n }\r\n });\r\n }\r\n\r\n onSubmit() {\r\n this.markFormGroupTouched(this.form);\r\n this.isSubmitted = true\r\n if (this.form.invalid) {\r\n return;\r\n }\r\n if (this.controls.some(x => x.controlType == ControlTypesHelper.controlTypes.checkbox)) {\r\n let isInvalid = false;\r\n const checkboxControls = [...this.controls.filter(x => x.controlType == ControlTypesHelper.controlTypes.checkbox)];\r\n checkboxControls.forEach(cb => {\r\n const formArray = this.form.controls[cb.formControlName];\r\n const isAnySelected = formArray.controls.some(x => x.value);\r\n if (!isInvalid) {\r\n isInvalid = !isAnySelected;\r\n }\r\n });\r\n if (isInvalid) {\r\n return;\r\n } else {\r\n this.createPayload(this.form.value)\r\n }\r\n\r\n } else {\r\n this.createPayload(this.form.value)\r\n }\r\n\r\n }\r\n\r\n private createPayload(formData) {\r\n\r\n let answers: QuestionnaireAnswerModel[] = [];\r\n\r\n this.controls.forEach(c => {\r\n\r\n if (c.controlType == ControlTypesHelper.controlTypes.checkbox) {\r\n const cbOptionsArray = formData[c.formControlName];\r\n const cbValues: string[] = [];\r\n cbOptionsArray.forEach((cbValue, index) => {\r\n if (cbValue) {\r\n const valTxt = c.options[index].key;\r\n cbValues.push(valTxt);\r\n }\r\n });\r\n const ans: QuestionnaireAnswerModel = { answer: cbValues.toString(), questionId: c.questionId };\r\n answers.push(ans);\r\n }\r\n else {\r\n const ans: QuestionnaireAnswerModel = { answer: formData[c.formControlName], questionId: c.questionId };\r\n answers.push(ans);\r\n }\r\n });\r\n\r\n this.onSubmitEmitter.emit(answers);\r\n }\r\n}","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n {{control.order +'. '+control.questionText}}\\r\\n {{control.type == 'number' ? '(Number)' : ''}} \\r\\n *\\r\\n
\\r\\n \\r\\n \\r\\n {{control.order +' '+control.label}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{control.label}} is required\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{control.order +' '+control.label}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{opt.value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{control.label}} is required\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{control.order +' '+control.label}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{control.label}} is required\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{control.order +' '+control.label}}\\r\\n \\r\\n\\r\\n \\r\\n {{opt.key}}\\r\\n \\r\\n {{control.label}} is required\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{control.order +' '+control.label}}\\r\\n \\r\\n {{ control.options[i].key }}\\r\\n \\r\\n {{control.label}} is required\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\"","import { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\nimport { Component, Input, NgZone, OnInit, ViewChild } from '@angular/core';\r\nimport { FormArray, FormGroup } from '@angular/forms';\r\nimport { take } from 'rxjs/operators';\r\nimport { ControlBase, ControlTypesHelper, QuestionBase } from '../dynamic-form-models';\r\n\r\n\r\n@Component({\r\n selector: 'app-dynamic-form-control',\r\n templateUrl: './dynamic-form-control-component.html',\r\n styleUrls: ['./dynamic-form-control.component.scss']\r\n})\r\nexport class DynamicFormControlComponent implements OnInit {\r\n @Input() control!: ControlBase;\r\n @Input() form!: FormGroup;\r\n @Input() isSubmitted: boolean;\r\n\r\n constructor(private _ngZone: NgZone) {\r\n\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n \r\n if(this.control && this.control.value){\r\n if(this.control.controlType == ControlTypesHelper.controlTypes.checkbox){\r\n const valuesArray = this.control.value.split(',');\r\n const formArray = this.form.controls[this.control.formControlName];\r\n formArray.controls.forEach((c,i) => {\r\n const optionValue = this.control.options[i].key;\r\n if(valuesArray.includes(optionValue)){\r\n c.setValue(true);\r\n }\r\n })\r\n } else {\r\n if(this.control.controlType == ControlTypesHelper.controlTypes.textbox){\r\n \r\n // console.log(this.control)\r\n }\r\n this.form.controls[this.control.formControlName].setValue(this.control.value);\r\n }\r\n }\r\n }\r\n\r\n get isValid() { return this.form.controls[this.control.formControlName].valid; }\r\n\r\n @ViewChild('autosizetestarea') autosize: CdkTextareaAutosize;\r\n\r\n triggerResize() {\r\n // Wait for changes to be applied, then trigger textarea resize.\r\n this._ngZone.onStable.pipe(take(1))\r\n .subscribe(() => {\r\n if (this.autosize)\r\n this.autosize.resizeToFitContent(true)\r\n });\r\n }\r\n\r\n hasError = (errorName: string) => {\r\n if (!this.isSubmitted) {\r\n return false;\r\n } else {\r\n if (errorName == 'required' && this.control.controlType == ControlTypesHelper.controlTypes.checkbox && this.control.isRequired) {\r\n const formArray = this.form.controls[this.control.formControlName];\r\n const isAnySelected = formArray.controls.some(x => x.value);\r\n return !isAnySelected;\r\n }\r\n else {\r\n return this.form.controls[this.control.formControlName].hasError(errorName);\r\n }\r\n }\r\n }\r\n\r\n get hasErrors(): boolean {\r\n if (!this.isSubmitted) {\r\n return false;\r\n } else {\r\n if (this.control.controlType == ControlTypesHelper.controlTypes.checkbox && this.control.isRequired) {\r\n const formArray = this.form.controls[this.control.formControlName];\r\n const isAnySelected = formArray.controls.some(x => x.value);\r\n return !isAnySelected;\r\n }\r\n else {\r\n return (this.form.controls[this.control.formControlName].valid) ? false : true;\r\n }\r\n }\r\n }\r\n}","module.exports = \".invalid-txt {\\n color: #f44336; }\\n\\n.mat-checkbox, .mat-radio-button {\\n margin-right: 25px; }\\n\\n.numbertxt {\\n color: gray; }\\n\\n.mat-input-element:disabled, .mat-select-disabled .mat-select-value, .mat-checkbox-disabled, .mat-radio-button.mat-radio-disabled {\\n color: rgba(0, 0, 0, 0.87) !important; }\\n\\n.question-block {\\n background-color: #fff;\\n padding: 14px;\\n border-left: 5px solid #003359;\\n padding-bottom: 0;\\n min-height: 105px;\\n margin-bottom: 7px;\\n box-shadow: 0px 0px 7px 0px #e8e8e8; }\\n\\n.question-block mat-label {\\n color: #2f2660; }\\n\\n.question-block .mat-form-field-infix,\\n.question-block .mat-form-field-infix textarea {\\n width: 100% !important; }\\n\"","import { Injectable } from '@angular/core';\r\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ControlBase, QuestionBase } from './dynamic-form-models';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class DynamicFormControlService {\r\n constructor() { }\r\n\r\n // toFormGroup(controls: ControlBase[]) {\r\n // const group: any = {};\r\n // if (controls && controls.length > 0) {\r\n // controls.forEach(c => {\r\n // group[c.formControlName] = c.isRequired ? new FormControl(c.value || undefined, Validators.required)\r\n // : new FormControl(c.value || undefined);\r\n // });\r\n // }\r\n // return new FormGroup(group);\r\n // }\r\n\r\n toFormGroup(questions: ControlBase[] ) {\r\n const group: any = {};\r\n \r\n questions.forEach(question => {\r\n group[question.formControlName] = this.getControl(question);\r\n });\r\n return new FormGroup(group);\r\n }\r\n\r\n getControl(question: ControlBase){\r\n \r\n if(question.controlType === 'checkbox'){\r\n const formArray:FormControl[] =[];\r\n question.options.forEach(() => formArray.push(new FormControl(undefined)));\r\n return new FormArray(formArray);\r\n } else {\r\n return question.isRequired ? new FormControl(question.value || undefined, Validators.required)\r\n : new FormControl(question.value || undefined)\r\n }\r\n \r\n }\r\n}","export class ControlBase {\r\n value: T|undefined;\r\n formControlName: string;\r\n label: string;\r\n isRequired: boolean;\r\n order: number;\r\n controlType: string;\r\n type: string;\r\n options: {key: string, value: string}[];\r\n questionText:string;\r\n questionId:number;\r\n \r\n constructor(options: {\r\n value?: T;\r\n formControlName?: string;\r\n label?: string;\r\n isRequired?: boolean;\r\n order?: number;\r\n controlType?: string;\r\n type?: string;\r\n options?: {key: string, value: string}[];\r\n questionText? :string;\r\n questionId? :number;\r\n\r\n } = {}) {\r\n this.value = options.value;\r\n this.formControlName = options.formControlName || '';\r\n this.label = options.label || '';\r\n this.isRequired = !!options.isRequired;\r\n this.order = options.order === undefined ? 1 : options.order;\r\n this.controlType = options.controlType || '';\r\n this.type = options.type || '';\r\n this.options = options.options || [];\r\n this.questionText = options.questionText || '';\r\n this.questionId = options.questionId || 0;\r\n }\r\n }\r\n\r\n export class ControlTypesHelper{\r\n\r\n static controlTypes= {\r\n textbox : 'textbox',\r\n dropdown : 'dropdown',\r\n radiobutton : 'radiobutton',\r\n checkbox : 'checkbox',\r\n textarea : 'textarea',\r\n }\r\n \r\n \r\n\r\n }\r\n\r\n\r\n export class QuestionBase {\r\n value: T|undefined;\r\n key: string;\r\n label: string;\r\n required: boolean;\r\n order: number;\r\n controlType: string;\r\n type: string;\r\n options: {key: string, value: string}[];\r\n \r\n constructor(options: {\r\n value?: T;\r\n key?: string;\r\n label?: string;\r\n required?: boolean;\r\n order?: number;\r\n controlType?: string;\r\n type?: string;\r\n options?: {key: string, value: string}[];\r\n } = {}) {\r\n this.value = options.value;\r\n this.key = options.key || '';\r\n this.label = options.label || '';\r\n this.required = !!options.required;\r\n this.order = options.order === undefined ? 1 : options.order;\r\n this.controlType = options.controlType || '';\r\n this.type = options.type || '';\r\n this.options = options.options || [];\r\n }\r\n\r\n\r\n }\r\n\r\n export class SaveQuestionAsnwerRequestModel{\r\n patientAppointmentId: number;\r\n answers: QuestionnaireAnswerModel[] = [];\r\n }\r\n\r\n export class QuestionnaireAnswerModel {\r\n questionId: number;\r\n answer: string;\r\n }\r\n export class sendotppatient {\r\n staffID: number;\r\n patientAppointmentId:number;\r\n patientID:number;\r\n patientVitals:boolean;\r\n patientMedication:boolean;\r\n patientDocument:boolean;\r\n }","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n border-bottom: 2px dotted #ddd;\\r\\n font-family: 'Rafleway', sans-serif;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.cstm-cross.policy-blk .fa {\\r\\n top: -24px;\\r\\n right: -24px;\\r\\n}\\r\\n\\r\\n.pay-step.hgt-scroll {\\r\\n height: 410px !important;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 18px;\\r\\n margin-top: 10px;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #003359;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: block;\\r\\n color: #4e4852;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 14px;\\r\\n font-weight: 600;\\r\\n color: #2f2660;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #4e4852;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #2f2660;\\r\\n font-size: 20px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n padding: 15px;\\r\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.60);\\r\\n font-size: 14px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type label {\\r\\n margin: 0px 10px 0px 0px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n width: 135px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #003359;\\r\\n border-color: #003359;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding-bottom: 10px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type .mat-radio-outer-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #63d891;\\r\\n border-radius: 0;\\r\\n display: inline-block;\\r\\n font-size: 15px !important;\\r\\n padding: 5px 10px;\\r\\n height: auto;\\r\\n margin: 5px 10px 5px 0px;\\r\\n line-height: normal;\\r\\n color: #63d891;\\r\\n cursor: pointer;\\r\\n height: 36px !important;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #003359;\\r\\n color: #fff;\\r\\n background-color: #003359;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 0px;\\r\\n font-size: 16px;\\r\\n margin: 10px 0px 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n margin: 15px 0px 20px;\\r\\n line-height: 18px;\\r\\n}\\r\\n\\r\\n.fnt-sze {\\r\\n font-size: 14px;\\r\\n margin-right: 12px;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-txtarea textarea.mat-input-element {\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.custom-txtarea label {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mat-radio-label-content {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.terms-check {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/* .mat-datepicker-content .mat-calendar{\\r\\n width:550px !important;\\r\\n height: auto !important;\\r\\n} */\\r\\n\\r\\n.followupError {\\r\\n color: #f44336;\\r\\n}\\r\\n\\r\\n.hgt-scroll {\\r\\n height: 465px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n margin-top: 6px;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #2f2660;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 6px 10px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n.cstm-cancel-btn i {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.link-btn.min-w-100 {\\r\\n min-width: 100px;\\r\\n margin-right: auto !important;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.appointment-panel .appointment-content {\\r\\n padding: 12px 15px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-label {\\r\\n padding-top: 5px !important;\\r\\n padding-bottom: 5px !important;\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell {\\r\\n padding: 15px 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell-content {\\r\\n width: 30px !important;\\r\\n left: 36% !important;\\r\\n font-weight: 600 !important;\\r\\n height: 30px;\\r\\n}\\r\\n\\r\\n/* .appointment-content .mat-calendar-body-today:selected(.mat-calendar-body-selected) {\\r\\n border-color: #f87515;\\r\\n background-color: #f87515;\\r\\n color: #fff;\\r\\n} */\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\r\\n border-color: rgba(0, 0, 0, 0.04);\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-controls {\\r\\n margin: 0 10px !important\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-spacer {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-header {\\r\\n padding: 0px 8px 0 8px !important;\\r\\n background-color: #003359 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-period-button {\\r\\n margin: 0 auto !important;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n letter-spacing: 3px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-content {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header {\\r\\n background-color: #003359 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header th {\\r\\n font-size: 13px !important;\\r\\n color: #fff !important;\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-card {\\r\\n box-shadow: none !important;\\r\\n padding: 0 !important;\\r\\n border: 1px solid #efefef !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header-divider {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-previous-button {\\r\\n position: absolute !important;\\r\\n left: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-arrow {\\r\\n border-top-color: #fff !important;\\r\\n}\\r\\n\\r\\n/* scroller hide css */\\r\\n\\r\\n/* .appointment-content .ng-scrollbar-container{\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.schedule-btn {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn {\\r\\n border: 1px solid #ccc;\\r\\n background-color: transparent;\\r\\n background-color: #b9b9b9;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn:hover {\\r\\n background-color: #11d3e9;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.calnedar-dropdown.mat-form-field {\\r\\n width: 0px;\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.schedule-date h3 {\\r\\n margin: 0px;\\r\\n font-weight: 600;\\r\\n font-size: 22px;\\r\\n padding-left: 5px;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.hideDiv {\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.cstm-radio-btn .mat-radio-button label {\\r\\n margin-bottom: 0;\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n.receipt {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n\\r\\n.cstm-add {\\r\\n display: block;\\r\\n width: 75%;\\r\\n}\\r\\n\\r\\n.cstm-add input:focus-visible {\\r\\n outline: none !important\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name>div>div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.select-box {\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.select-box input {\\r\\n width: 100%;\\r\\n margin: 0 !important;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.custom_modal{\\r\\n width:100%;\\r\\n}\\r\\n\\r\\n.cancel-btn {\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 80px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions{\\r\\n margin-bottom: 0 !important;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.mat-dialog-title{\\r\\n background-color: #28a745;\\r\\n padding: 7px;\\r\\n}\\r\\n\\r\\n.appointment-panel .title .custom_form{\\r\\n color: #000;\\r\\n font-weight: 400;\\r\\n font-size: 18px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Patient Last FollowUp

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{lastAppointmentStartTime|date:'MM/dd/yyyy hh:mm a'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{lastAppointmentEndTime|date:'MM/dd/yyyy hh:mm a'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{bookingMode}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{notes}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{lastAppointment.appointmentStaffs[0].staffName}}\\r\\n
\\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, Inject } from '@angular/core';\r\nimport { CommonService } from \"./../../platform/modules/core/services/common.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { debug } from \"util\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { FollowupModal } from './followup.modal'\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from \"@angular/forms\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\n@Component({\r\n selector: 'app-followup-appointment',\r\n templateUrl: './followup-appointment.component.html',\r\n styleUrls: ['./followup-appointment.component.css']\r\n})\r\nexport class FollowupAppointmentComponent implements OnInit {\r\n lastAppointmentStartTime: any;\r\n lastAppointmentEndTime: any;\r\n appointmentId: any;\r\n notes: any;\r\n bookingMode: any;\r\n lastAppointment: any;\r\n providerInfo: any;\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private schedulerService: SchedulerService,) {\r\n this.appointmentId = data.id,\r\n this.lastAppointmentStartTime = data.lastAppointmentStartTime;\r\n this.lastAppointmentEndTime = data.lastAppointmentEndTime;\r\n this.notes = data.notes;\r\n this.bookingMode = data.bookingMode;\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n if (this.appointmentId) {\r\n this.getAppointmentDetails();\r\n }\r\n }\r\n\r\n getAppointmentDetails() {\r\n this.schedulerService\r\n .getAppointmentDetails(this.appointmentId)\r\n .subscribe(response => {\r\n this.lastAppointment = response.data;\r\n if (response.statusCode == 200) {\r\n }\r\n });\r\n }\r\n \r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n}\r\n","module.exports = \"/*Header Right Side User Dropdown*/\\r\\n.user-dropdown button {\\r\\n background: no-repeat;\\r\\n border: 0px;\\r\\n padding: 0px;\\r\\n width: 48px;\\r\\n height: 48px;\\r\\n}\\r\\n.bell-icon i,\\r\\n.message_box .main-head i {\\r\\n font-size: 22px;\\r\\n color: var(--colorVariable) !important;\\r\\n}\\r\\n.no_noti {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n background: var(--colorVariable);\\r\\n z-index: 1;\\r\\n position: absolute;\\r\\n border-radius: 50%;\\r\\n right: 5px;\\r\\n top: 4px;\\r\\n color: #fff;\\r\\n font-size: 10px;\\r\\n line-height: 15px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.natification_box.mat-menu-panel {\\r\\n overflow: hidden;\\r\\n width: 250px;\\r\\n}\\r\\n.natification_box .mat-menu-content {\\r\\n margin: -8px 0;\\r\\n}\\r\\n.natification_box h3 {\\r\\n margin: 0;\\r\\n color: #fff;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.natification_box button {\\r\\n background: none;\\r\\n border: 0;\\r\\n padding: 0;\\r\\n color: #fff;\\r\\n font-size: 20px;\\r\\n font-weight: 400;\\r\\n line-height: 18px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.natification_box .mat-menu-item {\\r\\n line-height: normal !important;\\r\\n min-height: auto !important;\\r\\n border-bottom: 1px solid #ddd !important;\\r\\n height: auto;\\r\\n padding: 10px 8px;\\r\\n font-size: 14px;\\r\\n /* display: flex; */\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n.natification_box .unread-noti {\\r\\n background-color: #f5f7f9 !important;\\r\\n}\\r\\n/* .natification_box .mat-menu-item > div {\\r\\n // width: 90%;\\r\\n white-space: normal;\\r\\n} */\\r\\n.natification_box i.fa.fa-clock-o {\\r\\n float: right;\\r\\n right: 9px;\\r\\n position: relative;\\r\\n}\\r\\n.natification_box .mat-menu-item div span {\\r\\n font-size: 11px;\\r\\n color: rgba(0, 0, 0, 0.6);\\r\\n padding-top: 5px;\\r\\n}\\r\\n.user-dropdown button img {\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n /* border: 1px solid #ddd; */\\r\\n border-radius: 100px;\\r\\n}\\r\\n.setting_menu button.mat-menu-item {\\r\\n padding: 8px 10px;\\r\\n height: auto;\\r\\n line-height: inherit;\\r\\n font-size: 13px;\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n.setting_menu button span i {\\r\\n font-size: 18px;\\r\\n margin-right: 8px;\\r\\n}\\r\\n.welcomeName {\\r\\n font-size: 14px;\\r\\n color: #2f2660;\\r\\n padding-left: 20px;\\r\\n cursor: pointer;\\r\\n display: none;\\r\\n}\\r\\n.bell-icon i,\\r\\n.message_box .main-head i {\\r\\n font-size: 22px;\\r\\n color: var(--colorVariable) !important;\\r\\n}\\r\\n.no_noti {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n background: var(--colorVariable);\\r\\n z-index: 1;\\r\\n position: absolute;\\r\\n border-radius: 50%;\\r\\n right: 5px;\\r\\n top: 4px;\\r\\n color: #fff;\\r\\n font-size: 10px;\\r\\n line-height: 15px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.natification_box.mat-menu-panel {\\r\\n overflow: hidden;\\r\\n width: 250px;\\r\\n}\\r\\n.natification_box .mat-menu-content {\\r\\n margin: -8px 0;\\r\\n}\\r\\n.natification_box .main-head {\\r\\n background: var(--colorVariable);\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding: 8px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n.natification_box h3 {\\r\\n margin: 0;\\r\\n color: #fff;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.natification_box button {\\r\\n background: none;\\r\\n border: 0;\\r\\n padding: 0;\\r\\n color: #fff;\\r\\n font-size: 20px;\\r\\n font-weight: 400;\\r\\n line-height: 18px;\\r\\n cursor: pointer;\\r\\n}\\r\\n/* .natification_box .mat-menu-item {\\r\\n line-height: normal !important;\\r\\n min-height: auto !important;\\r\\n border-bottom: 1px solid #ddd !important;\\r\\n height: auto;\\r\\n padding: 10px 8px;\\r\\n font-size: 14px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n} */\\r\\n.natification_box .unread-noti {\\r\\n background-color: #f5f7f9 !important;\\r\\n}\\r\\n.natification_box .mat-menu-item > div {\\r\\n width: 90%;\\r\\n white-space: normal;\\r\\n}\\r\\n.natification_box .mat-menu-item div span {\\r\\n font-size: 11px;\\r\\n color: rgba(0, 0, 0, 0.6);\\r\\n padding-top: 5px;\\r\\n}\\r\\n.message_box .mat-menu-item > div {\\r\\n padding-left: 55px;\\r\\n word-break: break-all;\\r\\n white-space: normal;\\r\\n}\\r\\n.message_box .mailimg {\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 50%;\\r\\n width: 37px;\\r\\n height: 37px;\\r\\n overflow: hidden;\\r\\n position: absolute;\\r\\n left: 7px;\\r\\n top: 10px;\\r\\n}\\r\\n.main-head.show-all {\\r\\n background: #f5f7f9;\\r\\n text-align: center;\\r\\n display: block;\\r\\n}\\r\\n.main-head.show-all button {\\r\\n background: none;\\r\\n padding: 0;\\r\\n border: 0;\\r\\n color: #000;\\r\\n cursor: pointer;\\r\\n font-size: 14px;\\r\\n}\\r\\n.profile-pic {\\r\\n cursor: pointer;\\r\\n}\\r\\n/* .cdk-overlay-connected-position-bounding-box { */\\r\\n/*top: 21px !important;*/\\r\\n/* } */\\r\\n/*Header Right Side User Dropdown*/\\r\\n.book-new-app {\\r\\n color: #2f2660;\\r\\n font-size: 14px;\\r\\n display: flex;\\r\\n border-right: 1px solid #ccc;\\r\\n padding: 0 20px;\\r\\n /* margin-right: 10px; */\\r\\n align-items: center;\\r\\n}\\r\\n.book-new-app .material-icons{\\r\\n color: var(--colorVariable);\\r\\n}\\r\\n.fa-chevron-down{\\r\\n font-size: 12px;\\r\\n color: #929292;\\r\\n padding-left: 7px;\\r\\n}\\r\\n@media all and (max-width:600px){\\r\\n .user-dropdown button {\\r\\n margin: 0 5px !important;\\r\\n }\\r\\n .book-new-app{\\r\\n padding: 0 10px;\\r\\n }\\r\\n .main-header button{\\r\\n padding: 0 10px;\\r\\n margin: 0 7px;\\r\\n }\\r\\n .centered-menu-item {\\r\\n justify-content: center; /* Center vertically if needed */\\r\\n }\\r\\n \\r\\n .read-notification {\\r\\n background-color: #ffffff; /* White background for read notifications */\\r\\n }\\r\\n \\r\\n .unread-notification {\\r\\n background-color: #c29696; /* Light grey background for unread notifications */\\r\\n font-weight: bold; /* Bold text for unread notifications */\\r\\n }\\r\\n\\r\\n .notification-box {\\r\\n width: 320px;\\r\\n background-color: #fff;\\r\\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\\r\\n border-radius: 8px;\\r\\n padding: 0;\\r\\n font-family: Arial, sans-serif;\\r\\n }\\r\\n \\r\\n .notification-header {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n background-color: #f5f5f5;\\r\\n padding: 12px 16px;\\r\\n border-bottom: 1px solid #e0e0e0;\\r\\n }\\r\\n \\r\\n .notification-header h3 {\\r\\n margin: 0;\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n color: #333;\\r\\n }\\r\\n \\r\\n .clear-btn {\\r\\n background-color: transparent;\\r\\n border: none;\\r\\n color: #888;\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .notification-body {\\r\\n padding: 8px 16px;\\r\\n }\\r\\n \\r\\n .notification-item {\\r\\n padding: 12px 0;\\r\\n border-bottom: 1px solid #f0f0f0;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n }\\r\\n \\r\\n .unread {\\r\\n background-color: #e3f2fd;\\r\\n }\\r\\n \\r\\n .read {\\r\\n background-color: #f9f9f9;\\r\\n }\\r\\n \\r\\n .notification-action {\\r\\n font-weight: 600;\\r\\n margin-bottom: 4px;\\r\\n color: #333;\\r\\n }\\r\\n \\r\\n .notification-content p {\\r\\n margin: 0;\\r\\n color: #666;\\r\\n font-size: 14px;\\r\\n }\\r\\n \\r\\n .timestamp {\\r\\n font-size: 12px;\\r\\n color: #999;\\r\\n margin-top: 4px;\\r\\n }\\r\\n \\r\\n .no-notifications {\\r\\n text-align: center;\\r\\n padding: 20px;\\r\\n color: #888;\\r\\n }\\r\\n \\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

Notification

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
{{ doc.notificationAction }}
\\r\\n
\\r\\n {{ doc.message }}\\r\\n \\r\\n  {{ doc.timeStamp }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\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 {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n ViewEncapsulation,\r\n EventEmitter,\r\n Output\r\n} from \"@angular/core\";\r\n\r\nimport { Router } from \"@angular/router\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { LoginUser } from \"../../../platform/modules/core/modals/loginUser.modal\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { ChangePasswordComponent } from \"../../../platform/modules/agency-portal/change-password/change-password.component\";\r\nimport { ResponseModel } from \"../../../super-admin-portal/core/modals/common-model\";\r\nimport { SharedService } from \"../../shared.service\";\r\nimport { CommonService } from \"../../../platform/modules/core/services\";\r\nimport * as moment from \"moment\";\r\nimport {\r\n HeaderInfo,\r\n NavItem,\r\n MessageNotificationModel,\r\n UserDocumentNotificationModel\r\n} from \"../../models\";\r\nimport { debug } from \"util\";\r\nimport { BookingTypeModelComponent } from \"../../booking-type-model/booking-type-model.component\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { animate, style, transition, trigger } from \"@angular/animations\";\r\n\r\n\r\n@Component({\r\n selector: \"app-client-header-layout\",\r\n templateUrl: \"./client-header-layout.component.html\",\r\n styleUrls: [\"./client-header-layout.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger('slideOut', [\r\n transition(':leave', [\r\n style({ transform: 'translateX(0%)', opacity: 1 }),\r\n animate('300ms ease-out', style({ transform: 'translateX(100%)', opacity: 0 }))\r\n ])\r\n ])\r\n ]\r\n})\r\n\r\nexport class ClientHeaderLayoutComponent implements OnInit, OnChanges {\r\n @Input() headerInfo: HeaderInfo;\r\n @Output() eventChangePassword: EventEmitter = new EventEmitter();\r\n documentNotifications: Array = [];\r\n notificationsURL = \"api/Notification/GetHeaderNotification\";\r\n changeMessageStatusURL = \"api/Message/ChangeMessageStatus\";\r\n totalUnreadNotificationCount: number;\r\n userInfo: any;\r\n patientData: any;\r\n userNavigations: NavItem[];\r\n //userLocations: Array;\r\n //currentLocationId: number;\r\n subscription: Subscription;\r\n photoPath: any;\r\n\r\n constructor(\r\n private sharedService: SharedService,\r\n private commonService: CommonService,\r\n private dailog: MatDialog,\r\n private router: Router,\r\n private userService:UsersService\r\n ) {\r\n //this.userLocations = [];\r\n this.userInfo = {};\r\n this.userNavigations = [];\r\n //this.currentLocationId = null;\r\n }\r\n\r\n ngOnChanges(changes) {\r\n const headerInfo = changes.headerInfo || null;\r\n if (headerInfo && headerInfo.currentValue) {\r\n this.userInfo = headerInfo.currentValue.user;\r\n //this.userLocations = headerInfo.currentValue.userLocations;\r\n localStorage.setItem('organizationID', this.userInfo.organizationID);\r\n \r\n this.userNavigations = headerInfo.currentValue.userNavigations;\r\n\r\n\r\n }\r\n }\r\n\r\n onSelectUserMenu(item: NavItem) {\r\n switch (item.route) {\r\n case \"/web/sign-out\":\r\n this.commonService.logout();\r\n //sessionStorage.setItem('redirectTo','/web/client-login');\r\n sessionStorage.setItem(\"redirectTo\", \"/web/login-selection\");\r\n this.router.navigateByUrl('/web/login-selection');\r\n //location.reload();\r\n break;\r\n case \"\":\r\n this.eventChangePassword.emit();\r\n break;\r\n default:\r\n item.route && this.router.navigate([item.route]);\r\n break;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user) {\r\n this.patientData = user.patientData;\r\n }\r\n });\r\n this.getHeaderNotifications();\r\n } \r\n toggleSidenav() {\r\n this.sharedService.toggle();\r\n }\r\n\r\n getHeaderNotifications() {\r\n // debugger\r\n let staffId = 0;\r\n let patientID = 0;\r\n let UserRole = localStorage.getItem('UserRole');\r\n if (UserRole === 'STAFF') {\r\n staffId = parseInt(localStorage.getItem('patientId'), 10) || 0;\r\n } else if (UserRole === 'CLIENT') {\r\n patientID = parseInt(localStorage.getItem('patientId'), 10) || 0;\r\n }\r\n \r\n const Datamodel = {\r\n staffId: staffId,\r\n patientID: patientID,\r\n pageNumber: 1,\r\n pageSize: 50\r\n };\r\n \r\n this.userService.Getnotification(Datamodel).subscribe((response: ResponseModel) => {\r\n console.log(response,'response')\r\n if (\r\n response &&\r\n response.data != undefined &&\r\n response.statusCode == 200\r\n ) {\r\n this.onReceiveNotification(response.data);\r\n }\r\n });\r\n }\r\n // getHeaderNotifications() {\r\n \r\n // this.commonService\r\n // .getAll(this.notificationsURL, {}, false)\r\n // .subscribe((response: ResponseModel) => {\r\n // if (\r\n // response &&\r\n // response.data != undefined &&\r\n // response.statusCode == 200\r\n // ) {\r\n // this.onReceiveNotification(response.data);\r\n // }\r\n // });\r\n // }\r\n onReceiveNotification(notificationResponse: any) {\r\n // Set the total unread notification count\r\n this.totalUnreadNotificationCount = notificationResponse.unReadNotificationCount != undefined ?\r\n notificationResponse.unReadNotificationCount.totalUnReadNotification : 0;\r\n \r\n // Set the document notifications list\r\n this.documentNotifications = notificationResponse.userDocumentNotification != undefined ?\r\n notificationResponse.userDocumentNotification : [];\r\n \r\n // Process each notification\r\n this.documentNotifications.forEach(notification => {\r\n // Format the timestamp\r\n notification.timeStamp = moment\r\n .utc(notification.timeStamp)\r\n .local()\r\n .format(\"YYYY-MM-DD, h:mm a\");\r\n \r\n // Handle notification based on its type\r\n switch (notification.type) {\r\n case \"UserInvitation\":\r\n notification.notificationAction = notification.type;\r\n notification.message = notification.message;\r\n break;\r\n \r\n case \"ChatMessage\":\r\n notification.message = notification.message;\r\n break;\r\n \r\n // Add more cases as needed based on notification types\r\n }\r\n \r\n // Additional logic for read/unread notifications\r\n if (!notification.isReadNotification) {\r\n // Logic for handling unread notifications, if any\r\n }\r\n });\r\n }\r\n ClearNotification() {\r\n const patientID = parseInt(localStorage.getItem('patientId'), 10) || 0;\r\n \r\n // Process for clearing notifications\r\n this.userService.ClearNotification(patientID).subscribe((res => {\r\n console.log(res);\r\n this.getHeaderNotifications();\r\n }), error => {\r\n console.error(\"Error clearing notifications\", error);\r\n });\r\n }\r\n \r\n\r\n\r\n changeNotificationStatus(messageId: number) {\r\n this.commonService\r\n .patch(\r\n this.changeMessageStatusURL +\r\n \"?MessageId=\" +\r\n messageId +\r\n \"&Unread=\" +\r\n false,\r\n {}\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n \r\n if (response != null && response.statusCode == 200) {\r\n this.getHeaderNotifications();\r\n }\r\n });\r\n }\r\n\r\n onBookNewClick() {\r\n this.router.navigate(['/doctor-list'])\r\n }\r\n}\r\n","module.exports = \".no-backdrop {\\r\\n opacity: 0;\\r\\n}\\r\\n.schedule-modal{\\r\\n background-color: #f0ad4e;\\r\\n color: #fff;\\r\\n padding: 20px 25px;\\r\\n border-radius: 3px;\\r\\n -webkit-border-radius: 3px;\\r\\n}\\r\\n.mat-dialog-content > div {\\r\\n font-size: 15px;\\r\\n}\\r\\n.schedule-modal .mat-dialog-content, .schedule-modal .mat-dialog-actions {\\r\\n padding: 0px !important;\\r\\n}\\r\\n.schedule-modal .mat-dialog-actions {\\r\\n justify-content: flex-start;\\r\\n }\\r\\n.schedule-modal button.mat-button {\\r\\n min-width: auto;\\r\\n padding: 5px 10px;\\r\\n background: #fff;\\r\\n line-height: normal;\\r\\n color: #f0ad4e;\\r\\n margin: 10px 10px 0px 0px;\\r\\n text-transform: uppercase;\\r\\n font-size: 12px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
{{message}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, OnChanges, Input, Inject, Output, EventEmitter, Optional, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.css']\r\n})\r\nexport class DialogComponent implements OnInit {\r\n message: string = '';\r\n actions: Array;\r\n\r\n constructor(\r\n public dialogPopup: MatDialogRef,\r\n @Optional() @Inject(MAT_DIALOG_DATA) public data: any,\r\n ) {\r\n this.actions = (data && data.length) ? data : deafultActions;\r\n }\r\n \r\n ngOnInit() {\r\n this.dialogPopup.backdropClick().subscribe(result => {\r\n this.dialogPopup.close();\r\n })\r\n }\r\n\r\n handleClick(value: any) {\r\n this.dialogPopup.close(value);\r\n }\r\n \r\n}\r\n\r\nconst deafultActions = [{\r\n name: 'yes',\r\n value: true,\r\n},{\r\n \r\n name: 'Cancel',\r\n value: false,\r\n}]\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { MatDialog } from '@angular/material';\r\nimport { DialogComponent } from './dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DialogService {\r\n\r\n constructor(private dialog: MatDialog) { }\r\n\r\n public confirm(\r\n message: string,\r\n data?: Array): Observable {\r\n const modalRef = this.dialog.open(DialogComponent, { data: data, hasBackdrop: true, backdropClass: 'no-backdrop', disableClose: false, width: 'auto', minWidth: 'auto',maxWidth: 'auto', position: { bottom: '10px', right: '10px' } });\r\n modalRef.componentInstance.message = message;\r\n return modalRef.afterClosed();\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n © {{ today | date: 'yyyy' }}.\\r\\n A healthcare project from CareHub.\\r\\n Code licensed under CareHub.\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-layout-footer',\r\n templateUrl: './footer.component.html'\r\n})\r\nexport class FooterComponent {\r\n today: number = Date.now();\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n

Notification

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
{{doc.notificationAction}}
\\r\\n
\\r\\n {{doc.message}}\\r\\n  {{doc.timeStamp | date:'MMM d, y, h:mm a'}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{userInfo.firstName+' '+(userInfo.middleName||'')+' '+userInfo.lastName}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"/*Header Right Side User Dropdown*/\\n.user-dropdown button {\\n background: no-repeat;\\n border: 0px;\\n padding: 0px;\\n width: 48px;\\n height: 48px; }\\n.main-header button {\\n margin: 0px 5px !important; }\\n.user-dropdown button img {\\n width: 35px;\\n height: 35px;\\n border-radius: 100px; }\\n.setting_menu button.mat-menu-item {\\n padding: 8px 10px;\\n height: auto;\\n line-height: inherit;\\n font-size: 13px;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n align-items: center; }\\n.setting_menu button span i {\\n font-size: 18px;\\n margin-right: 8px; }\\n.welcomeName {\\n font-size: 14px;\\n color: #2f2660;\\n padding-left: 20px;\\n cursor: pointer;\\n display: none; }\\n.bell-icon i,\\n.message_box .main-head i {\\n font-size: 22px;\\n color: var(--colorVariable) !important; }\\n.no_noti {\\n width: 15px;\\n height: 15px;\\n background: var(--colorVariable);\\n z-index: 1;\\n position: absolute;\\n border-radius: 50%;\\n right: 5px;\\n top: 4px;\\n color: #fff;\\n font-size: 10px;\\n line-height: 15px;\\n font-weight: 600; }\\n.natification_box.mat-menu-panel {\\n overflow: hidden;\\n width: 250px; }\\n.natification_box .mat-menu-content {\\n margin: -8px 0; }\\n.natification_box .main-head {\\n background: var(--colorVariable);\\n border-bottom: 1px solid #ddd;\\n padding: 8px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center; }\\n.natification_box h3 {\\n margin: 0;\\n color: #fff;\\n font-size: 14px;\\n font-weight: 500; }\\n.natification_box button {\\n background: none;\\n border: 0;\\n padding: 0;\\n color: #fff;\\n font-size: 20px;\\n font-weight: 400;\\n line-height: 18px;\\n cursor: pointer; }\\n.natification_box .mat-menu-item {\\n line-height: normal !important;\\n min-height: auto !important;\\n border-bottom: 1px solid #ddd !important;\\n height: auto;\\n padding: 10px 8px;\\n font-size: 14px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center; }\\n.natification_box .unread-noti {\\n background-color: #f5f7f9 !important; }\\n.natification_box .mat-menu-item > div {\\n white-space: normal; }\\n.natification_box i.fa.fa-clock-o {\\n float: right;\\n right: 9px;\\n position: relative; }\\n.natification_box .mat-menu-item div span {\\n font-size: 11px;\\n color: rgba(0, 0, 0, 0.6);\\n padding-top: 5px; }\\n.message_box .mat-menu-item > div {\\n padding-left: 55px;\\n word-break: break-all;\\n white-space: normal; }\\n.message_box .mailimg {\\n border: 1px solid #ddd;\\n border-radius: 50%;\\n width: 37px;\\n height: 37px;\\n overflow: hidden;\\n position: absolute;\\n left: 7px;\\n top: 10px; }\\n.main-head.show-all {\\n background: #f5f7f9;\\n text-align: center;\\n display: block; }\\n.main-head.show-all button {\\n background: none;\\n padding: 0;\\n border: 0;\\n color: #000;\\n cursor: pointer;\\n font-size: 14px; }\\n.profile-pic {\\n cursor: pointer; }\\n.cdk-overlay-connected-position-bounding-box {\\n top: 21px !important; }\\n/*Header Right Side User Dropdown*/\\n@media all and (max-width: 500px) {\\n .main-header button {\\n margin: 0px 5px !important; }\\n .centered-menu-item {\\n justify-content: center;\\n /* Center vertically if needed */ } }\\n\"","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n ViewEncapsulation,\r\n EventEmitter,\r\n Output\r\n} from \"@angular/core\";\r\n\r\nimport { SharedService } from \"../shared.service\";\r\nimport {\r\n HeaderInfo,\r\n NavItem,\r\n MessageNotificationModel,\r\n UserDocumentNotificationModel,\r\n NotificationsModel\r\n} from \"../models\";\r\nimport { Router } from \"@angular/router\";\r\nimport { CommonService } from \"../../platform/modules/core/services\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { LoginUser } from \"../../platform/modules/core/modals/loginUser.modal\";\r\nimport { MatDialog } from \"@angular/material\";\r\nimport { ChangePasswordComponent } from \"../../platform/modules/agency-portal/change-password/change-password.component\";\r\nimport { ResponseModel } from \"../../super-admin-portal/core/modals/common-model\";\r\nimport * as moment from \"moment\";\r\nimport { AuthenticationService } from \"src/app/platform/modules/auth/auth.service\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\n@Component({\r\n selector: \"app-layout-header\",\r\n templateUrl: \"header.component.html\",\r\n styleUrls: [\"./header.component.scss\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HeaderComponent implements OnInit, OnChanges {\r\n @Input() headerInfo: HeaderInfo;\r\n @Output() eventChangePassword: EventEmitter = new EventEmitter();\r\n userInfo: any;\r\n userNavigations: NavItem[];\r\n photopath: any;\r\n userLocations: Array;\r\n currentLocationId: number;\r\n subscription: Subscription;\r\n messageNotifications: Array = [];\r\n documentNotifications: Array = [];\r\n notificationsURL = \"api/Notification/GetHeaderNotification\";\r\n notificationurls = \"api/Notification/GetPatientPortalNotificationList\"\r\n changeMessageStatusURL = \"api/Message/ChangeMessageStatus\";\r\n passwordExpiryColorCode = \"Red\";\r\n totalUnreadNotificationCount: number;\r\n \r\n staffId: any;\r\n pagenumber: number;\r\n pagesize: number;\r\n constructor(\r\n private sharedService: SharedService,\r\n private commonService: CommonService,\r\n private authenticationService: AuthenticationService,\r\n private router: Router,\r\n private userService: UsersService\r\n ) {\r\n this.userLocations = [];\r\n this.userInfo = {};\r\n this.userNavigations = [];\r\n this.currentLocationId = null;\r\n }\r\n\r\n ngOnChanges(changes) {\r\n const headerInfo = changes.headerInfo || null;\r\n if (headerInfo && headerInfo.currentValue) {\r\n this.userInfo = headerInfo.currentValue.user;\r\n this.userLocations = headerInfo.currentValue.userLocations;\r\n this.userNavigations = headerInfo.currentValue.userNavigations;\r\n //this.photopath =headerInfo.currentValue.user.photoPath\r\n // console.log(\"phtopath:\", headerInfo.currentValue)\r\n }\r\n this.getStaffProfileData();\r\n }\r\n\r\n getStaffProfileData() {\r\n this.userService.getStaffProfileData(this.userInfo.id).subscribe((response: ResponseModel) => {\r\n if (response != null && response.data != null) {\r\n this.photopath = response.data.photoPath;\r\n }\r\n });\r\n }\r\n\r\n onSelectUserMenu(item: NavItem) {\r\n\r\n switch (item.route) {\r\n case \"/web/sign-out\":\r\n this.authenticationService.SetUserOffline();\r\n this.commonService.logout();\r\n //sessionStorage.setItem('redirectTo', '/web/login-selection');//added code to redirect on we login\r\n\r\n // sessionStorage.setItem(\"redirectTo\", \"\");\r\n // this.router.navigateByUrl('/web/login');//commented code to double load\r\n //location.reload();//added code to reload\r\n break;\r\n case \"\":\r\n this.eventChangePassword.emit();\r\n break;\r\n default:\r\n item.route && this.router.navigate([item.route]);\r\n break;\r\n }\r\n }\r\n\r\n onDropdownSelectionChange(value: number) {\r\n this.commonService.updateCurrentLoginUserInfo(value);\r\n this.router.navigate([\"/web\"]);\r\n }\r\n\r\n\r\n ClearNotification(){\r\n const staffId = parseInt(localStorage.getItem('patientId'), 10) || 0;\r\n \r\n // Process for clearing notifications\r\n this.userService.ClearNotificationStaff(staffId).subscribe((res => {\r\n console.log(res);\r\n // Refresh notifications\r\n this.getHeaderNotifications();\r\n }), error => {\r\n console.error(\"Error clearing notifications\", error);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n this.currentLocationId = user.currentLocationId;\r\n }\r\n });\r\n this.getHeaderNotifications();\r\n }\r\n\r\n toggleSidenav() {\r\n this.sharedService.toggle();\r\n }\r\n // getHeaderNotifications() {\r\n // this.commonService\r\n // .getAll(this.notificationsURL, {})\r\n // .subscribe((response: ResponseModel) => {\r\n // if (\r\n // response &&\r\n // response.data != undefined &&\r\n // response.statusCode == 200\r\n // ) {\r\n // this.messageNotifications =\r\n // response.data.messageNotification != undefined\r\n // ? response.data.messageNotification\r\n // : [];\r\n // this.documentNotifications =\r\n // response.data.userDocumentNotification != undefined\r\n // ? response.data.userDocumentNotification\r\n // : [];\r\n // }\r\n // });\r\n // }\r\n getHeaderNotifications() {\r\n this.commonService\r\n .getAll(this.notificationsURL, {}, false)\r\n .subscribe((response: ResponseModel) => {\r\n if (\r\n response &&\r\n response.data != undefined &&\r\n response.statusCode == 200\r\n ) {\r\n this.onReceiveNotification(response.data);\r\n }\r\n });\r\n }\r\n onReceiveNotification(notificationResponse: any) {\r\n this.totalUnreadNotificationCount = notificationResponse.unReadNotificationCount != undefined ?\r\n notificationResponse.unReadNotificationCount.totalUnReadNotification : 0;\r\n\r\n this.documentNotifications =\r\n notificationResponse.userDocumentNotification != undefined\r\n ? notificationResponse.userDocumentNotification\r\n : [];\r\n this.documentNotifications.forEach(v => {\r\n v.timeStamp = moment\r\n .utc(v.timeStamp)\r\n .local()\r\n .format(\"YYYY-MM-DD, h:mm a\");\r\n switch (v.type) {\r\n case \"UserInvitation\":\r\n v.notificationAction = v.type;\r\n v.message = v.message;\r\n\r\n // v.message = v.patientName + \" has requested appointment at \";\r\n break;\r\n\r\n case \"ChatMessage\":\r\n v.message = v.message;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n changeNotificationStatus(messageId: number) {\r\n this.commonService\r\n .patch(\r\n this.changeMessageStatusURL +\r\n \"?MessageId=\" +\r\n messageId +\r\n \"&Unread=\" +\r\n false,\r\n {}\r\n )\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n this.getHeaderNotifications();\r\n }\r\n });\r\n }\r\n openMailbox(messageId: number = null, parentMessageId = null) {\r\n if (messageId != null) {\r\n this.router.navigate([\"/web/mailbox\"], {\r\n queryParams: {\r\n mId: this.commonService.encryptValue(messageId, true),\r\n pId:\r\n parentMessageId != null\r\n ? this.commonService.encryptValue(parentMessageId, true)\r\n : null\r\n }\r\n });\r\n } else this.router.navigate([\"/web/mailbox\"]);\r\n }\r\n openUser(userInfo: any) {\r\n this.router.navigate([\"/web/manage-users/user-profile\"]);\r\n }\r\n}\r\n","export * from './footer.component';\r\nexport * from './header.component';\r\nexport * from './sidebar.component';\r\n","module.exports = \"\\r\\n\\r\\n \\r\\n
\\r\\n {{item.displayName}}\\r\\n \\r\\n \\r\\n \\r\\n expand_more\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","module.exports = \"/**\\n * Applies styles for users in high contrast mode. Note that this only applies\\n * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`\\n * attribute, however Chrome handles high contrast differently.\\n * @param target Which kind of high contrast setting to target. Defaults to `active`, can be\\n * `white-on-black` or `black-on-white`.\\n */\\n/* Theme for the ripple elements.*/\\n/* stylelint-disable material/no-prefixes */\\n/* stylelint-enable */\\n:host {\\n display: block;\\n outline: none; }\\n:host .mat-list-item.active {\\n background-color: rgba(255, 255, 255, 0.15); }\\n:host .mat-list-item.active .mat-list-item-content {\\n color: #fff !important; }\\n:host:hover > .mat-list-item:not(.expanded), :host:focus > .mat-list-item:not(.expanded) {\\n background-color: rgba(255, 255, 255, 0.15) !important;\\n color: #fff; }\\n.mat-list-item .routeIcon {\\n margin-right: 40px; }\\n\"","import { StaffExperience } from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { StaffQualification } from \"./../../../front/doctor-profile/doctor-profile.model\";\r\nimport { ProfileSetupModel } from \"./../../../platform/modules/core/modals/loginUser.modal\";\r\nimport {\r\n Component,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnInit\r\n} from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport {\r\n animate,\r\n state,\r\n style,\r\n transition,\r\n trigger\r\n} from \"@angular/animations\";\r\nimport { NavItem } from \"../../models/navItem\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { DialogService } from \"../dialog/dialog.service\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\n\r\n@Component({\r\n selector: \"app-menu-list-item\",\r\n templateUrl: \"./menu-list-item.component.html\",\r\n styleUrls: [\"./menu-list-item.component.scss\"],\r\n animations: [\r\n trigger(\"indicatorRotate\", [\r\n state(\"collapsed\", style({ transform: \"rotate(0deg)\" })),\r\n state(\"expanded\", style({ transform: \"rotate(180deg)\" })),\r\n transition(\r\n \"expanded <=> collapsed\",\r\n animate(\"225ms cubic-bezier(0.4,0.0,0.2,1)\")\r\n )\r\n ])\r\n ]\r\n})\r\nexport class MenuListItemComponent implements OnChanges {\r\n expanded: boolean = false;\r\n profileSetup: ProfileSetupModel;\r\n @HostBinding(\"attr.aria-expanded\") ariaExpanded = this.expanded;\r\n @Input() item: NavItem;\r\n @Input() depth: number;\r\n\r\n constructor(\r\n public router: Router,\r\n private _commonService: CommonService,\r\n private notifier: NotifierService\r\n ) {\r\n if (this.depth === undefined) {\r\n this.depth = 0;\r\n }\r\n this.profileSetup = new ProfileSetupModel();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n const item: NavItem = changes.item.currentValue || {};\r\n if (item.children && item.children.length) {\r\n let routeName = this.router.url;\r\n this.expanded =\r\n this.item.children.findIndex(x => routeName.includes(x.route)) > -1;\r\n }\r\n }\r\n\r\n onItemSelected(item: NavItem) {\r\n let staffId: number = 0;\r\n this._commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user) {\r\n staffId = user.data.id;\r\n }\r\n });\r\n let isPatient: boolean = true;\r\n this._commonService.isPatient.subscribe(res => {\r\n isPatient = res;\r\n });\r\n let userRole: string = \"\";\r\n this._commonService.userRole.subscribe(res => {\r\n userRole = res;\r\n });\r\n this._commonService.isProfileComplete.subscribe(res => {\r\n if (!isPatient && (userRole || \"\").toUpperCase() == \"PROVIDER\")\r\n this.profileSetup = res;\r\n else this.profileSetup.isProfileSetup = 1;\r\n });\r\n if (this.profileSetup.isProfileSetup) {\r\n if (!item.children || !item.children.length) {\r\n this.router.navigate([item.route], { queryParams: item.params || {} });\r\n // this.navService.closeNav();\r\n }\r\n if (item.children && item.children.length) {\r\n this.router.navigate([item.children[0].route], { queryParams: item.children[0].params || {} });\r\n this.expanded = !this.expanded;\r\n }\r\n } else {\r\n this.notifier.hideAll();\r\n if (this.profileSetup == undefined || this.profileSetup == null)\r\n this.profileSetup = new ProfileSetupModel();\r\n if (this.profileSetup.basicProfile == 0)\r\n this.notifier.notify(\r\n \"error\",\r\n \"Your Basic Profile Not Completed, Please Complete Your Profile First..!!\"\r\n );\r\n else if (this.profileSetup.staffServices == 0)\r\n this.notifier.notify(\r\n \"error\",\r\n \"Services Not Added, Please Add Services First..!!\"\r\n );\r\n else if (this.profileSetup.staffTaxonomies == 0)\r\n this.notifier.notify(\r\n \"error\",\r\n \"Taxonmoies Not Added, Please Add Taxonmoies First..!!\"\r\n );\r\n else if (this.profileSetup.staffSpecialities == 0)\r\n this.notifier.notify(\r\n \"error\",\r\n \"Specialities Not Added, Please Add Specialities First..!!\"\r\n );\r\n else if (this.profileSetup.staffAvailability == 0)\r\n this.notifier.notify(\r\n \"error\",\r\n \"Availability Not Found, Please Add Availability First..!!\"\r\n );\r\n else if (this.profileSetup.staffExperiences == 0)\r\n this.notifier.notify(\r\n \"error\",\r\n \"Experience Not Added, Please Add Experience First..!!\"\r\n );\r\n else if (this.profileSetup.staffQualifications == 0)\r\n this.notifier.notify(\r\n \"error\",\r\n \"Qualification Not Added, Please Add Qualification First..!!\"\r\n );\r\n else if (this.profileSetup.staffAwards == 0)\r\n this.notifier.notify(\r\n \"error\",\r\n \"Awards Not Added, Please Add Awards First..!!\"\r\n );\r\n\r\n this.router.navigate([\"/web/manage-users/user\"], {\r\n queryParams: {\r\n id: this._commonService.encryptValue(staffId)\r\n }\r\n });\r\n }\r\n }\r\n\r\n isActiveRoute(item: NavItem): boolean {\r\n // if (!item.route) {\r\n // return false;\r\n // }\r\n\r\n // let routeIndex = this.router.url.indexOf(\"?\"),\r\n // isExact = routeIndex > -1 ? false : true;\r\n\r\n // if (item.route == \"/web/manage-users/user\" || item.route == \"/web/client\")\r\n // isExact = true;\r\n\r\n // return this.router.isActive(item.route, isExact);\r\n\r\n if(!item.route && item.children && item.children.length>0){\r\n const childItem = item.children.find(x => x.route && x.route == this.router.url);\r\n return childItem ? true : false;\r\n } else if(item.route){\r\n return item.route == this.router.url ? true : false;\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \".mat-list,\\n.mat-nav-list,\\n.mat-selection-list {\\n padding: 0px; }\\n\\n:hover > .mat-list-item:not(.expanded),\\n:focus > .mat-list-item:not(.expanded) {\\n background-color: transparent !important; }\\n\\n.example-app-name {\\n margin-bottom: 1rem; }\\n\\n.example-app-name img {\\n width: 101px;\\n height: auto;\\n margin-left: 0px; }\\n\\n.mat-nav-list .mat-list-item {\\n height: 70px !important; }\\n\\n.app-menu-button {\\n height: -webkit-fit-content;\\n height: -moz-fit-content;\\n height: fit-content; }\\n\\n.app-menu-button mat-icon {\\n color: rgba(255, 255, 255, 0.6); }\\n\\n.mat-drawer {\\n position: fixed !important; }\\n\\n.example-app-name {\\n width: 100%;\\n padding-left: 25px; }\\n\\n@media (max-width: 991px) {\\n .mat-drawer {\\n -webkit-transform: none;\\n transform: none; } }\\n\"","import { Component, ViewChild, OnInit, Input, OnChanges } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material';\r\nimport { SharedService } from '../shared.service';\r\nimport { NavItem, SidebarInfo } from '../models';\r\nimport { SubDomainService } from 'src/app/subDomain.service';\r\n\r\n@Component({\r\n selector: 'app-layout-sidebar',\r\n templateUrl: 'sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss'],\r\n providers:[SubDomainService]\r\n})\r\n\r\nexport class SidebarComponent implements OnInit, OnChanges {\r\n @Input() sidebarInfo: SidebarInfo;\r\n @ViewChild('sidenav') public sidenav: MatSidenav;\r\n isSideBarOpen= true;\r\n organizationModel:string;\r\n navItems: NavItem[] = [];\r\n constructor(private subDomainService : SubDomainService,private sharedService: SharedService) {\r\n this.subDomainService.subjectlogo.subscribe(res=>{\r\n \r\n if(res)\r\n {setTimeout(() => {\r\n this.organizationModel=sessionStorage.getItem(\"logo\");\r\n }, 500);\r\n \r\n \r\n }\r\n });\r\n if(sessionStorage.getItem(\"logo\"))\r\n this.organizationModel=sessionStorage.getItem(\"logo\");\r\n }\r\n ngAfterViewChecked()\r\n {\r\n if(sessionStorage.getItem(\"logo\"))\r\n {\r\n this.organizationModel=sessionStorage.getItem(\"logo\");\r\n }\r\n }\r\n ngOnChanges(changes) {\r\n \r\n const sidebarInfo = changes.sidebarInfo || null;\r\n if (sidebarInfo && sidebarInfo.currentValue) {\r\n this.navItems = sidebarInfo.currentValue.navigations;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if(sessionStorage.getItem(\"logo\"))\r\n this.organizationModel=sessionStorage.getItem(\"logo\");\r\n this.sharedService.setSidenav(this.sidenav);\r\n this.addremoveCustomClasses(true);\r\n }\r\n\r\n toggleSidebar(){\r\n this.isSideBarOpen = ! this.isSideBarOpen;\r\n this.addremoveCustomClasses(this.isSideBarOpen);\r\n }\r\n\r\n addremoveCustomClasses(isOpen){\r\n \r\n const elerefSidebar = document.getElementsByClassName('mat-drawer');\r\n const elerefContent = document.getElementsByClassName('mat-drawer-content');\r\n const elerefHeader = document.getElementsByClassName('main-header');\r\n\r\n let sidebar = elerefSidebar && elerefSidebar.length > 0 ? elerefSidebar[0] as HTMLElement : null;\r\n let content = elerefContent && elerefContent.length > 0 ? elerefContent[0] as HTMLElement : null;\r\n let header = elerefHeader && elerefHeader.length > 0 ? elerefHeader[0] as HTMLElement : null;\r\n\r\n if(isOpen) {\r\n if(sidebar){\r\n sidebar.classList.add('custom-nav-sidebar-open')\r\n sidebar.classList.remove('custom-nav-sidebar-close')\r\n }\r\n if(content){\r\n content.classList.add('custom-draw-content-open')\r\n content.classList.remove('custom-draw-content-close')\r\n }\r\n if(header){\r\n header.classList.add('custom-header-content-open')\r\n header.classList.remove('custom-header-content-close')\r\n }\r\n } else {\r\n if(sidebar){\r\n sidebar.classList.remove('custom-nav-sidebar-open')\r\n sidebar.classList.add('custom-nav-sidebar-close')\r\n }\r\n if(content){\r\n content.classList.remove('custom-draw-content-open')\r\n content.classList.add('custom-draw-content-close')\r\n }\r\n if(header){\r\n header.classList.remove('custom-header-content-open')\r\n header.classList.add('custom-header-content-close')\r\n }\r\n }\r\n\r\n \r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"/*Header Right Side User Dropdown*/\\n.user-dropdown button {\\n background: no-repeat;\\n border: 0px;\\n padding: 0px;\\n width: 48px;\\n height: 48px; }\\n.user-dropdown button img {\\n width: 35px;\\n height: 35px;\\n border: 1px solid #ddd;\\n border-radius: 100px; }\\n.setting_menu button.mat-menu-item {\\n padding: 8px 10px;\\n height: auto;\\n line-height: inherit;\\n font-size: 13px;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n align-items: center; }\\n.setting_menu button span i {\\n font-size: 18px;\\n margin-right: 8px; }\\n/*Header Right Side User Dropdown*/\\n\"","import { Component, OnInit, Input, OnChanges, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { SharedService } from '../shared.service';\r\nimport { HeaderInfo, NavItem } from '../models';\r\nimport { Router } from '@angular/router';\r\nimport { CommonService } from '../../super-admin-portal/core/services';\r\n\r\n@Component({\r\n selector: 'app-layout-super-admin-header',\r\n templateUrl: 'super-admin-header.component.html',\r\n styleUrls: ['./super-admin-header.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class SuperAdminHeaderComponent implements OnInit, OnChanges {\r\n @Input() headerInfo: HeaderInfo;\r\n userInfo: any = {};\r\n userNavigations: NavItem[] = [];\r\n\r\n constructor(private sharedService: SharedService, private commonService: CommonService, private router: Router) { }\r\n\r\n ngOnChanges(changes) {\r\n const headerInfo = changes.headerInfo || null;\r\n if (headerInfo && headerInfo.currentValue) {\r\n this.userInfo = headerInfo.currentValue.user;\r\n this.userNavigations = headerInfo.currentValue.userNavigations;\r\n }\r\n }\r\n\r\n onSelectUserMenu(item: NavItem) {\r\n switch (item.route) {\r\n case '/webadmin/sign-out':\r\n this.commonService.logout();\r\n sessionStorage.setItem('redirectTo','/webadmin');\r\n this.router.navigate(['/webadmin']);\r\n location.reload();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggleSidenav() {\r\n this.sharedService.toggle();\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-line-chart',\r\n templateUrl: './line-chart.component.html',\r\n styleUrls: ['./line-chart.component.css']\r\n})\r\nexport class LineChartComponent implements OnInit {\r\n @Input() lineChartData: any[];\r\n @Input() lineChartLabels: any[];\r\n // @Input() demoLineChartDatass: any[];\r\n // @Input() demoLineChartLabelsss: any[];\r\n\r\n public lineChartType: string = 'line';\r\n constructor() {\r\n this.lineChartData= [];\r\n this.lineChartLabels= [];\r\n // this.demoLineChartDatass= [];\r\n // this.demoLineChartLabelsss= []; \r\n }\r\n ngOnInit() {\r\n // console.log(\"lineChartData\",this.lineChartData);\r\n // console.log(\"lineChartLabels\",this.lineChartLabels);\r\n\r\n }\r\n}\r\n","module.exports = \".frgtpwd a {\\r\\n color: #003359 !important;\\r\\n cursor: pointer;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter username\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter password\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Forgot Password?\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AuthenticationService } from \"src/app/platform/modules/auth/auth.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { MatDialogRef, MatDialog } from \"@angular/material/dialog\";\r\nimport { RegisterModelComponent } from \"src/app/shared/register-model/register.component\";\r\n\r\n@Component({\r\n selector: \"app-agency-login\",\r\n templateUrl: \"./agency-login.component.html\",\r\n styleUrls: [\"./agency-login.component.css\"]\r\n})\r\nexport class AgencyLoginModelComponent implements OnInit {\r\n loginForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n subDomainInfo: any;\r\n errorMessage: string = null;\r\n ipAddress: string;\r\n loginResponse: any = null;\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private commonService: CommonService,\r\n private dialogModal: MatDialog\r\n ) {\r\n dialogModalRef.disableClose = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.sytemInfo.subscribe(obj => {\r\n this.ipAddress = obj.ipAddress;\r\n });\r\n this.loginForm = this.formBuilder.group({\r\n username: [\"\", Validators.required],\r\n password: [\"\", Validators.required]\r\n });\r\n\r\n // reset login status\r\n //this.commonService.logout();\r\n\r\n // get return url from route parameters or default to '/'\r\n // this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\r\n //this.returnUrl = \"web/dashboard\";\r\n }\r\n\r\n // convenience getter for easy access to form fields\r\n get f() {\r\n return this.loginForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.errorMessage = null;\r\n\r\n const postData = {\r\n username: this.f.username.value,\r\n password: this.f.password.value,\r\n ipaddress: this.ipAddress,\r\n macaddress: \"ec:aa:a0:2d:dc:67\"\r\n };\r\n this.authenticationService\r\n .login(postData)\r\n .pipe(first())\r\n .subscribe(\r\n response => {\r\n this.loginResponse = response;\r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n this.errorMessage = response.message;\r\n this.loading = false;\r\n } else if (response.statusCode === 205) {\r\n this.errorMessage = response.message;\r\n this.loading = false;\r\n } else {\r\n this.commonService.setIsPatient(true);\r\n this.closeDialog({\r\n response: this.loginResponse,\r\n isPatient: false\r\n });\r\n }\r\n // else {\r\n // this.router.navigate([\"/web/security-question\"]);\r\n // }\r\n },\r\n error => {\r\n //console.log(error);\r\n // this.alertService.error(error);\r\n this.errorMessage = error;\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n openDialogRegister() {\r\n this.closeDialog(null);\r\n let dbModal;\r\n dbModal = this.dialogModal.open(RegisterModelComponent, { data: {} });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") {\r\n }\r\n });\r\n }\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n forgetPassword() {\r\n this.closeDialog(\"\");\r\n this.router.navigateByUrl(\"/web/forgot-password\");\r\n }\r\n}\r\n","module.exports = \".frgtpwd a {\\r\\n color: #003359 !important;\\r\\n cursor: pointer;\\r\\n}\\r\\nbutton.example-full-width.login-btn.mat-raised-button.mat-primary {\\r\\n box-shadow: none;\\r\\n border-radius: 10px;\\r\\n line-height: 45px;\\r\\n}\"","module.exports = \"
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter username\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter password\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Forgot Password?\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\"","import { NotifierService } from \"angular-notifier\";\r\nimport { MatDialogRef, MatDialog } from \"@angular/material\";\r\nimport { Component, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AuthenticationService } from \"src/app/platform/modules/auth/auth.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { RegisterModelComponent } from \"src/app/shared/register-model/register.component\";\r\n\r\n@Component({\r\n selector: \"app-client-login\",\r\n templateUrl: \"./client-login.component.html\",\r\n styleUrls: [\"./client-login.component.css\"]\r\n})\r\nexport class ClientLoginModelComponent implements OnInit {\r\n loginForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n subDomainInfo: any;\r\n errorMessage: string = null;\r\n ipAddress: string;\r\n\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private commonService: CommonService,\r\n private dialogModal: MatDialog,\r\n private notifier: NotifierService\r\n ) {\r\n dialogModalRef.disableClose = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.sytemInfo.subscribe(obj => {\r\n this.ipAddress = obj.ipAddress;\r\n });\r\n this.loginForm = this.formBuilder.group({\r\n username: [\"\", Validators.required],\r\n password: [\"\", Validators.required]\r\n });\r\n\r\n // reset login status\r\n //this.commonService.logout();\r\n\r\n // get return url from route parameters or default to '/'\r\n // this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\r\n this.returnUrl = \"web/client/dashboard\";\r\n }\r\n\r\n // convenience getter for easy access to form fields\r\n get f() {\r\n return this.loginForm.controls;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.errorMessage = null;\r\n\r\n const postData = {\r\n username: this.f.username.value,\r\n password: this.f.password.value,\r\n ipaddress: this.ipAddress,\r\n macaddress: \"ec:aa:a0:2d:dc:67\"\r\n };\r\n this.authenticationService\r\n .clientLogin(postData)\r\n .pipe(first())\r\n .subscribe(\r\n response => {\r\n \r\n if (\r\n response.statusCode >= 400 &&\r\n response.statusCode < 500 &&\r\n response.message\r\n ) {\r\n this.errorMessage = response.message;\r\n this.loading = false;\r\n } else if (response.statusCode === 205) {\r\n this.errorMessage = response.message;\r\n this.loading = false;\r\n } else {\r\n this.commonService.setIsPatient(true);\r\n \r\n this.notifier.notify(\r\n \"success\",\r\n \"Login successfully, You have other menu choices soon after clicking picture\"\r\n );\r\n this.closeDialog({\r\n response: response,\r\n isPatient: true\r\n });\r\n //this.router.navigate([\"/doctor-list\"]);\r\n }\r\n },\r\n error => {\r\n // console.log(error);\r\n // this.alertService.error(error);\r\n this.errorMessage = error;\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n openDialogRegister() {\r\n this.closeDialog(null);\r\n let dbModal;\r\n dbModal = this.dialogModal.open(RegisterModelComponent, { data: {} });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") {\r\n }\r\n });\r\n }\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n forgetPassword() {\r\n this.closeDialog(\"\");\r\n this.router.navigateByUrl(\"/web/forgot-password\");\r\n }\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 10px !important;\\r\\n overflow: hidden;\\r\\n}\\r\\n.telelogin {\\r\\n padding: 0px 15px 0px 15px;\\r\\n}\\r\\n.tele-bg {\\r\\n background-image: url('tele-login-bg.jpg');\\r\\n background-repeat: no-repeat;\\r\\n background-size: cover;\\r\\n background-position: center;\\r\\n position: relative;\\r\\n color: #fff;\\r\\n z-index: 0;\\r\\n padding: 30px 15px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n.tele-bg:before {\\r\\n background-color: rgba(24, 155, 237, 0.85);\\r\\n position: absolute;\\r\\n left: 0;\\r\\n height: 100%;\\r\\n top: 0;\\r\\n content: \\\"\\\";\\r\\n z-index: -1;\\r\\n width: 100%;\\r\\n}\\r\\n.telelogin h3 {\\r\\n font-size: 16px;\\r\\n margin: 20px 0px;\\r\\n}\\r\\n.tele-bg p {\\r\\n color: #fff;\\r\\n}\\r\\n.telelogin .mat-tab-nav-bar,\\r\\n.telelogin .mat-tab-header {\\r\\n border: 0;\\r\\n}\\r\\n.telelogin .mat-tab-list .mat-tab-label {\\r\\n margin: 0px;\\r\\n border: 0px;\\r\\n padding: 0px 15px 0px 0px;\\r\\n height: auto;\\r\\n position: relative;\\r\\n}\\r\\n.telelogin .mat-tab-list .mat-tab-label:first-child:before {\\r\\n position: absolute;\\r\\n content: \\\"/\\\";\\r\\n right: 5px;\\r\\n color: rgba(0, 0, 0, 0.44);\\r\\n}\\r\\n.telelogin .mat-tab-list .mat-tab-label .mat-tab-label-content {\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n color: rgba(0, 0, 0, 0.44);\\r\\n}\\r\\n.telelogin-form h3 {\\r\\n margin: 0px;\\r\\n}\\r\\n.telelogin-form i {\\r\\n font-size: 15px;\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n cursor: pointer;\\r\\n}\\r\\n.frgtpwd {\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n.frgtpwd a {\\r\\n color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n.member-link {\\r\\n padding-top: 30px;\\r\\n padding-bottom: 20px;\\r\\n font-size: 13px;\\r\\n}\\r\\n.member-link span {\\r\\n color: #003359;\\r\\n cursor: pointer;\\r\\n}\\r\\n.member-link span:hover {\\r\\n text-decoration: underline;\\r\\n}\\r\\n.mat-tab-list .mat-ripple-element {\\r\\n display: none;\\r\\n}\\r\\n.cdk-overlay-pane {\\r\\n min-width: auto !important;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Welcome!

\\r\\n

Login to your account.

\\r\\n

Discover the best doctors, the city nearest to you.

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

Sign in

\\r\\n \\r\\n
\\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, ViewEncapsulation, Inject } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\n\r\n@Component({\r\n selector: \"app-login-model\",\r\n templateUrl: \"./login-model.component.html\",\r\n styleUrls: [\"./login-model.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LoginModelComponent implements OnInit {\r\n // profileTabs: any = [\"Agency\", \"Client\"];\r\n //profileTabs: any = [\"Provider\", \"Client\"]; //Agencyremove\r\n profileTabs: any = [\"Client\"];\r\n selectedIndex: number = 0;\r\n \r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef\r\n ) {\r\n dialogModalRef.disableClose = true;\r\n if (this.data != null && this.data != \"\" && this.data != undefined)\r\n if (\r\n this.data.selectedIndex != null &&\r\n this.data.selectedIndex != \"\" &&\r\n this.data.selectedIndex != undefined\r\n )\r\n this.selectedIndex = this.data.selectedIndex;\r\n }\r\n\r\n ngOnInit() {}\r\n loadComponent(eventType: any): any {\r\n this.selectedIndex = eventType.index;\r\n }\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n}\r\n","export class CallInitModel {\r\n CallStatus: number = 0;\r\n AppointmentId: number = 0;\r\n CallerName:string=\"\";\r\n}\r\nexport enum CallStatus {\r\n NoCall = 0,\r\n Started = 1,\r\n Picked = 2,\r\n Declined = 3,\r\n Over = 4,\r\n}\r\n\r\nexport class UrgentCareProviderActionInitModel { \r\n AppointmentId: number = 0;\r\n}\r\n","export class ChatInitModel {\r\n isActive: boolean = false;\r\n AppointmentId: number = 0; //You can replace same with room id,\r\n UserRole: string = \"\";\r\n UserId: number = 0;\r\n}\r\n","export class VideoRecordModel {\r\n isRecording: boolean = false;\r\n archiveId: string = \"\";\r\n}\r\n","import { FormControl } from '@angular/forms';\r\n\r\nexport interface ValidationResult {\r\n [key: string]: boolean;\r\n}\r\n\r\nexport class PasswordValidator {\r\n\r\n public static strong(control: FormControl): ValidationResult {\r\n let hasNumber = /\\d/.test(control.value);\r\n let hasUpper = /[A-Z]/.test(control.value);\r\n let hasLower = /[a-z]/.test(control.value);\r\n let hasSpecialChar = /[$&+,:;=?@#|'<>.^*()%!-]/.test(control.value);\r\n let minLength = control.value.length >= 8 ? true : false;\r\n // console.log('Num, Upp, Low, spc, min', hasNumber, hasUpper, hasLower, hasSpecialChar, minLength);\r\n const valid = hasNumber && hasUpper && hasLower && hasSpecialChar && minLength;\r\n if (!valid) {\r\n // return what´s not valid\r\n return { strong: true };\r\n }\r\n return null;\r\n }\r\n}","module.exports = \"main {\\r\\n padding: 1em;\\r\\n font-family: Arial, Helvetica, sans-serif;\\r\\n text-align: center;\\r\\n margin-top: 50px;\\r\\n display: block;\\r\\n color: greenyellow;\\r\\n}\\r\\n\\r\\nlabel {\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.upload-drop-zone {\\r\\n height: 200px;\\r\\n border-width: 2px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n/* skin.css Style*/\\r\\n\\r\\n.upload-drop-zone {\\r\\n color: #ccc;\\r\\n border-style: dashed;\\r\\n border-color: #ccc;\\r\\n line-height: 200px;\\r\\n text-align: center\\r\\n}\\r\\n\\r\\n.upload-drop-zone.drop {\\r\\n color: #222;\\r\\n border-color: #222;\\r\\n}\\r\\n\\r\\n.browse-doc {\\r\\n border-radius: 0px;\\r\\n}\\r\\n\\r\\n.browse-doc .browse {\\r\\n line-height: normal;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding: 10px 0px;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n padding-right: 15px;\\r\\n filter: grayscale(100%);\\r\\n -webkit-filter: grayscale(100%);\\r\\n opacity: 0.8;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.uploading-data p {\\r\\n width: 90%;\\r\\n font-size: 14px;\\r\\n color: rgba( 0, 0, 0, 0.80);\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.custom_modal {\\r\\n height: 400px;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions {\\r\\n padding: 15px 18px !important;\\r\\n}\\r\\n\\r\\n.uplaod_pic i {\\r\\n font-size: 24px;\\r\\n}\\r\\n\\r\\n.cancel-btn {\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 80px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.ml-auto,\\r\\n.mat-dialog-actions .mat-primary {\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #2f2660;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 6px 10px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions {\\r\\n display: block !important;\\r\\n}\\r\\n\\r\\n.txt-css {\\r\\n font-size: 22px;\\r\\n font-weight: 500;\\r\\n color: #2f2660;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n

Sorry!

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

Requested provider is not available now, your money will be refunded in a couple of business days, please check another provider

\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\"","import { Component, Inject, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { CallInitModel, CallStatus, UrgentCareProviderActionInitModel } from \"../models/callModel\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { SchedulerService } from \"src/app/platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\n\r\n@Component({\r\n selector: \"app-urgentcare-status\",\r\n templateUrl: \"./patient-urgentcare-status.component.html\",\r\n styleUrls: [\"./patient-urgentcare-status.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PatientUrgentCareStatusComponent implements OnInit {\r\n userId: number = null;\r\n appointmentId: number;\r\n masterDocumentTypes: any = []\r\n //addDocumentForm: FormGroup;\r\n fileList: any = [];\r\n dataURL: any;\r\n submitted: boolean = false;\r\n todayDate = new Date();\r\n constructor(private dialogModalRef: MatDialogRef,\r\n private router: Router,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService, private schedulerService: SchedulerService, private commonService: CommonService,private appService: AppService, private Dailog: MatDialog) {\r\n \r\n this.appointmentId = this.data;\r\n }\r\n \r\n ngOnInit() {\r\n \r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userId = user.data.userID;\r\n \r\n }\r\n });\r\n }\r\n \r\n \r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action); \r\n }\r\n\r\n onDoneClick() {\r\n //this.dialogModalRef.close(\"close\");\r\n this.Dailog.closeAll();\r\n //this.router.navigate([\"/urgentcare-providers\"]);\r\n }\r\n\r\n\r\n onAccept(){\r\n \r\n this.router.navigate([\"/web/encounter/soap\"], {\r\n queryParams: {\r\n apptId: this.appointmentId,\r\n encId: 0\r\n },\r\n });\r\n // this.router.navigate([\"/web/waiting-room/\"+this.appointmentId]);\r\n // this.dialogModalRef.close();\r\n }\r\n \r\n onReject(){\r\n \r\n this.schedulerService\r\n .urgentCareRefundAppointmentFee(this.appointmentId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n \r\n this.callPatientInformProviderAvailability(this.appointmentId);\r\n } else {\r\n \r\n }\r\n });\r\n }\r\n \r\n\r\n callPatientInformProviderAvailability(pateintapptid:number){\r\n \r\n if (pateintapptid > 0 && this.userId > 0) {\r\n this.appService\r\n .getcallPatientInformProviderAvailability(pateintapptid, this.userId)\r\n .subscribe((res) => {\r\n // console.log(res);\r\n });\r\n }\r\n // let callInitModel: UrgentCareProviderActionInitModel = new UrgentCareProviderActionInitModel();\r\n // callInitModel.AppointmentId = pateintapptid;\r\n // //callInitModel.CallStatus = CallStatus.Picked;\r\n // this.appService.ProviderActioncallStarted(callInitModel);\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"chatMessage\",\r\n})\r\nexport class ChatMessagePipe implements PipeTransform {\r\n imageExtension = [\".jpg\", \".JPG\", \".png\", \".PNG\", \".jpeg\", \".JPEG\"];\r\n transform(value: any, args?: any): any {\r\n if (args.messageType == 0) return value;\r\n else {\r\n var imgIndex = this.imageExtension.indexOf(args.fileType);\r\n if (imgIndex > -1) return '';\r\n else return \"\";\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"encounter\"\r\n})\r\nexport class EncounterPipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n let row = value;\r\n if (\r\n row != null &&\r\n row.patientEncounterId != null &&\r\n row.patientEncounterId != undefined &&\r\n row.patientEncounterId > 0\r\n )\r\n return ``;\r\n else return \"\";\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'invitationStatus'\r\n})\r\nexport class InvitationStatusPipe implements PipeTransform {\r\n\r\n transform(value: any, type?: any): any {\r\n let updatedValue = '', className = '';\r\n className=\"user-invitation-\"+value; \r\n return `${value}`;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"rating\"\r\n})\r\nexport class RatingPipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n // var html='';\r\n return value;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'span'\r\n})\r\nexport class SpanPipe implements PipeTransform {\r\n constructor(private sanitizer:DomSanitizer)\r\n {\r\n }\r\n transform(value: any, type?: any): any {\r\n return this.sanitizer.bypassSecurityTrustHtml(``)\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"status\"\r\n})\r\nexport class StatusPipe implements PipeTransform {\r\n transform(value: any, type?: any): any {\r\n let updatedValue = \"\",\r\n className = \"\";\r\n if (typeof value == \"boolean\") {\r\n (updatedValue = value ? \"Yes\" : \"No\"),\r\n (className = value ? \"greenfont\" : \"orangefont\");\r\n if (Array.isArray(type) && type.length == 2) {\r\n updatedValue = value ? type[0] : type[1];\r\n }\r\n } else if (typeof value == \"string\") {\r\n className = \"\";\r\n const maxLen = type;\r\n updatedValue =\r\n value.length > maxLen ? value.substring(0, maxLen) + \"...\" : value;\r\n }\r\n return `${updatedValue}`;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"timeCheck\"\r\n})\r\nexport class TimeCheckPipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n var currentDate = new Date();\r\n const y = new Date(currentDate).getFullYear(),\r\n m = new Date(currentDate).getMonth(),\r\n d = new Date(currentDate).getDate(),\r\n splitTime = new Date(currentDate).getTime(),\r\n hours = new Date(currentDate).getHours(),\r\n minutes = new Date(currentDate).getMinutes();\r\n var totalMinutes = +hours * 60 + +minutes;\r\n var row = value;\r\n var endTime = row.endDateTime.split(\"T\");\r\n var endTimeArr = endTime[1].split(\":\");\r\n var endHour = endTimeArr[0];\r\n var endMin = endTimeArr[1];\r\n var totalEndMinutes = +endHour * 60 + +endMin;\r\n var icons = \"\";\r\n if (totalEndMinutes > totalMinutes)\r\n icons = ``;\r\n //console.log(\"Total Min : \" + totalMinutes + \", Total End Min : \" + totalEndMinutes);\r\n // console.log(\r\n // \"Current Date Time : \" +\r\n // currentDate +\r\n // \", End Date Time : \" +\r\n // row.endDateTime\r\n // );\r\n return icons;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport * as _ from \"lodash\";\r\n@Pipe({\r\n name: \"unique\",\r\n pure: false\r\n})\r\nexport class UniquePipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n var days = [\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\",\r\n \"Sunday\"\r\n ];\r\n var availDay = [];\r\n if (value !== undefined && value !== null) {\r\n days.forEach(day => {\r\n var index = value.findIndex(x => x.day == day);\r\n if (index == -1)\r\n availDay.push({\r\n day: day,\r\n class: \"\",\r\n disabled: true,\r\n title: \"Not Available\"\r\n });\r\n else\r\n availDay.push({\r\n day: day,\r\n class: \"active\",\r\n disabled: false,\r\n title: \"Available\"\r\n });\r\n });\r\n }\r\n return availDay;\r\n }\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n border-bottom: 2px dotted #ddd;\\r\\n font-family: 'Rafleway', sans-serif;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.cstm-cross.policy-blk .fa {\\r\\n top: -24px;\\r\\n right: -24px;\\r\\n}\\r\\n\\r\\n.pay-step.hgt-scroll {\\r\\n height: 410px !important;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 18px;\\r\\n margin-top: 10px;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #003359;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: block;\\r\\n color: #4e4852;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 14px;\\r\\n font-weight: 600;\\r\\n color: #2f2660;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #4e4852;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #2f2660;\\r\\n font-size: 20px;\\r\\n display: flex;\\r\\n font-weight: 600;\\r\\n justify-content: space-between;\\r\\n padding: 15px;\\r\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.60);\\r\\n font-size: 14px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type label {\\r\\n margin: 0px 10px 0px 0px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n width: 135px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #003359;\\r\\n border-color: #003359;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding-bottom: 10px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type .mat-radio-outer-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #63d891;\\r\\n border-radius: 0;\\r\\n display: inline-block;\\r\\n font-size: 15px !important;\\r\\n padding: 5px 10px;\\r\\n height: auto;\\r\\n margin: 5px 10px 5px 0px;\\r\\n line-height: normal;\\r\\n color: #63d891;\\r\\n cursor: pointer;\\r\\n height: 36px !important;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #003359;\\r\\n color: #fff;\\r\\n background-color: #003359;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 0px;\\r\\n font-size: 16px;\\r\\n margin: 10px 0px 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n margin: 15px 0px 20px;\\r\\n line-height: 18px;\\r\\n}\\r\\n\\r\\n.fnt-sze {\\r\\n font-size: 14px;\\r\\n margin-right: 12px;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-txtarea textarea.mat-input-element {\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.custom-txtarea label {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mat-radio-label-content {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.terms-check {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/* .mat-datepicker-content .mat-calendar{\\r\\n width:550px !important;\\r\\n height: auto !important;\\r\\n} */\\r\\n\\r\\n.followupError {\\r\\n color: #f44336;\\r\\n}\\r\\n\\r\\n.hgt-scroll {\\r\\n height: 465px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n margin-top: 6px;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #2f2660;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 6px 10px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n.cstm-cancel-btn i {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.link-btn.min-w-100 {\\r\\n min-width: 100px;\\r\\n margin-right: auto !important;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.appointment-panel .appointment-content {\\r\\n padding: 12px 15px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-label {\\r\\n padding-top: 5px !important;\\r\\n padding-bottom: 5px !important;\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell {\\r\\n padding: 15px 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell-content {\\r\\n width: 30px !important;\\r\\n left: 36% !important;\\r\\n font-weight: 600 !important;\\r\\n height: 30px;\\r\\n}\\r\\n\\r\\n/* .appointment-content .mat-calendar-body-today:selected(.mat-calendar-body-selected) {\\r\\n border-color: #f87515;\\r\\n background-color: #f87515;\\r\\n color: #fff;\\r\\n} */\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\r\\n border-color: rgba(0, 0, 0, 0.04);\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-controls {\\r\\n margin: 0 10px !important\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-spacer {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-header {\\r\\n padding: 0px 8px 0 8px !important;\\r\\n background-color: #003359 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-period-button {\\r\\n margin: 0 auto !important;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n letter-spacing: 3px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-content {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header {\\r\\n background-color: #003359 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header th {\\r\\n font-size: 13px !important;\\r\\n color: #fff !important;\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-card {\\r\\n box-shadow: none !important;\\r\\n padding: 0 !important;\\r\\n border: 1px solid #efefef !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header-divider {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-previous-button {\\r\\n position: absolute !important;\\r\\n left: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-arrow {\\r\\n border-top-color: #fff !important;\\r\\n}\\r\\n\\r\\n/* scroller hide css */\\r\\n\\r\\n/* .appointment-content .ng-scrollbar-container{\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.schedule-btn {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn {\\r\\n border: 1px solid #ccc;\\r\\n background-color: transparent;\\r\\n background-color: #b9b9b9;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn:hover {\\r\\n background-color: #11d3e9;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.calnedar-dropdown.mat-form-field {\\r\\n width: 0px;\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.schedule-date h3 {\\r\\n margin: 0px;\\r\\n font-weight: 600;\\r\\n font-size: 22px;\\r\\n padding-left: 5px;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.hideDiv {\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.cstm-radio-btn .mat-radio-button label {\\r\\n margin-bottom: 0;\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n.receipt {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n\\r\\n.cstm-add {\\r\\n display: block;\\r\\n width: 75%;\\r\\n}\\r\\n\\r\\n.cstm-add input:focus-visible {\\r\\n outline: none !important\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name>div>div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.select-box {\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.select-box input {\\r\\n width: 100%;\\r\\n margin: 0 !important;\\r\\n padding: 10px;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n

{{fullname}}

\\r\\n
{{spl.speciality}}
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (17)\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • {{userInfo.phoneNumber}}
  • \\r\\n
  • {{userInfo.email}}
  • \\r\\n \\r\\n
  • {{userInfo.payRate | currency:'USD':'symbol-narrow'}}
  • \\r\\n
  • {{userInfo.ftFpayRate | currency:'USD':'symbol-narrow'}}
  • \\r\\n
  • {{userInfo.followUpPayRate | currency:'USD':'symbol-narrow'}}
  • \\r\\n\\r\\n\\r\\n
  • {{userInfo.address}} \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Book an appointment\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{c.label}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Appointment Booked\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n Select Date & Time\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Provider is not available on this date. Please choose another 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\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n Book\\r\\n
Please select appointment slot first to book in previous step, then pay here.\\r\\n
\\r\\n
\\r\\n
\\r\\n

You are requesting a booking with {{PatientFirstName}}{{\\\" \\\"}}\\r\\n
on {{confirmation.date | date:'fullDate'}} between {{confirmation.startTime}} to {{confirmation.endTime}}

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

You are requesting a booking with {{FirstName + ' ' + LastName}}{{\\\" \\\"}}\\r\\n
on {{confirmation.date | date:'fullDate'}} between {{confirmation.startTime}} to {{confirmation.endTime}}

\\r\\n
\\r\\n \\r\\n
We will send you an email with a booking confirmation.
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{type}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{mode}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n {{userInfo.payRate | currency:'USD':'symbol-narrow'}}\\r\\n
\\r\\n
\\r\\n {{userInfo.ftFpayRate | currency:'USD':'symbol-narrow'}}\\r\\n
\\r\\n
\\r\\n {{userInfo.followUpPayRate | currency:'USD':'symbol-narrow'}}\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n

\\r\\n \\r\\n {{file.fileName}}\\r\\n 134 kb\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n {{fts.label}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n

Thank you

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

Your appointment has been successfully booked with us,
{{PatientFirstName}} {{confirmation.date | date:'fullDate'}} between {{confirmation.startTime}} to {{confirmation.endTime}}

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

Your appointment has been successfully booked with ,
{{FirstName + ' ' + LastName}} {{confirmation.date | date:'fullDate'}} between {{confirmation.startTime}} to {{confirmation.endTime}}

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

Please Check you email for further assistance. We will contact you as soon as possible.

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { debug } from \"util\";\r\nimport { state } from \"@angular/animations\";\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { AppointmentModel } from \"./../../platform/modules/scheduling/scheduler/scheduler.model\";\r\n\r\n//import { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { isatty } from \"tty\";\r\nimport { userInfo } from \"os\";\r\nimport {\r\n MatSelect,\r\n MatDialog,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n MatAutocomplete,\r\n MatChipInputEvent,\r\n MatAutocompleteSelectedEvent,\r\n MatCalendar,\r\n} from \"@angular/material\";\r\n\r\nimport { FollowupAppointmentComponent } from \"./../followup-appointment/followup-appointment.component\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Inject,\r\n Renderer2,\r\n ViewChild,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n StaffAward,\r\n StaffQualification,\r\n StaffExperience,\r\n} from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format, getHours, getMinutes } from \"date-fns\";\r\nimport { map, startWith, switchMap } from \"rxjs/operators\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { DatePipe, DOCUMENT } from \"@angular/common\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { AddUserDocumentComponent } from \"src/app/platform/modules/agency-portal/users/user-documents/add-user-document/add-user-document.component\";\r\nimport { TermsConditionModalComponent } from \"../../front/terms-conditions/terms-conditions.component\";\r\nimport { SaveDocumentComponent } from \"../../front/save-document/save-document.component\";\r\nimport { ManageFeesRefundsModel } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { SymptomCheckerService } from \"../symptom-checker/symptom-checker.service\";\r\nimport { Router } from \"@angular/router\";\r\n//import { StripeToken, StripeSource } from \"stripe-angular\";\r\n\r\nconst getDateTimeString = (date: string, time: string): string => {\r\n const y = new Date(date).getFullYear(),\r\n m = new Date(date).getMonth(),\r\n d = new Date(date).getDate(),\r\n splitTime = time.split(\":\"),\r\n hours = parseInt(splitTime[0] || \"0\", 10),\r\n minutes = parseInt(splitTime[1].substring(0, 2) || \"0\", 10),\r\n meridiem = splitTime[1].substring(3, 5) || \"\",\r\n updatedHours =\r\n (meridiem || \"\").toUpperCase() === \"PM\" && hours != 12\r\n ? hours + 12\r\n : hours;\r\n\r\n const startDateTime = new Date(y, m, d, updatedHours, minutes);\r\n\r\n return format(startDateTime, \"YYYY-MM-DDTHH:mm:ss\");\r\n};\r\n@Component({\r\n selector: \"app-postpone-appointment\",\r\n templateUrl: \"./postpone-appointment.component.html\",\r\n styleUrls: [\"./postpone-appointment.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PostponeAppointmentComponent implements OnInit {\r\n \r\n submitted: boolean = false;\r\n isSelf: boolean = true;\r\n disableRadio: boolean = false;\r\n appointment: AppointmentModel;\r\n todayDate: Date = new Date();\r\n selectedOfficeStaffs: Array;\r\n selectedOfficeClients: Array;\r\n selectedProvider: any;\r\n currentNotes: any;\r\n choices: any[] = [\r\n { id: \"1\", label: \"self\", checked: true },\r\n { id: \"2\", label: \"referral\", checked: false },\r\n ];\r\n selectedClient: any;\r\n isShow: boolean = false;\r\n isLinear = false;\r\n payMode: Boolean = false;\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n thirdFormGroup: FormGroup;\r\n userInfo: any;\r\n loading = false;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n staffId: number;\r\n providerId: string;\r\n patientId: number;\r\n userRoleName: string;\r\n lastFollowupData: any;\r\n // appointmenType: any = [\"New\", \"Followup\", \"Free\"];\r\n //appointmenType: any = [\"New\", \"Free\"];\r\n appointmenType: any = [\"New\", \"Followup\"];\r\n appointmentMode: any = [\"Online\"];\r\n //appointmentMode: any = [\"Online\", \"Face to Face\"];\r\n confirmation: any = { type: \"New\", mode: \"Online\" };\r\n providerAvailiabilitySlots: any = [];\r\n patientAppointments: any;\r\n staffAvailability: any;\r\n locationId: number;\r\n showLoader: boolean = false;\r\n providerAvailableDates: any = [];\r\n providerNotAvailableDates: any = [];\r\n\r\n masterPatientLocation: Array;\r\n masterStaffs: Array;\r\n masterAddressTypes: Array;\r\n officeAndPatientLocations: Array;\r\n masterAppointmentTypes: Array;\r\n Organization: any;\r\n patientEmail: string;\r\n paymentToken: string = \"\";\r\n Message: any;\r\n IsPreviousFollowup: boolean = false;\r\n isNewAppointment: boolean = false;\r\n isNotBooked: boolean;\r\n isProfileLoaded: boolean = false;\r\n //Notes: string = \"\";\r\n appointmentId: number = 0;\r\n fileList: any = [];\r\n dataURL: any;\r\n officeStaffs: Array;\r\n officeClients: Array;\r\n isClientLogin: boolean;\r\n isAdminLogin: boolean;\r\n\r\n feeSettings: ManageFeesRefundsModel;\r\n hasPreviousNewMeeting = false;\r\n userControl = new FormControl();\r\n filteredSymptoms$: Observable;\r\n symptoms: any = [];\r\n @ViewChild(\"userInput\") userInput: ElementRef;\r\n @ViewChild(\"auto\") matAutocomplete: MatAutocomplete;\r\n @ViewChild(\"calendar\") calendar: MatCalendar;\r\n\r\n showselecttermscondition: boolean = false;\r\n istermsconditionchecked: boolean = false;\r\n submit: boolean = false;\r\n IsPaidAppointment: any;\r\n IsFreeAppointment: any;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private _formBuilder: FormBuilder,\r\n private homeService: HomeService,\r\n private commonService: CommonService,\r\n private notifierService: NotifierService,\r\n private usersService: UsersService,\r\n private schedulerService: SchedulerService,\r\n private datePipe: DatePipe,\r\n private renderer2: Renderer2,\r\n private dialogModal: MatDialog,\r\n private userService: UsersService,\r\n private notifier: NotifierService,\r\n private symptomCheckerService: SymptomCheckerService,\r\n private route: Router,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n this.officeStaffs = [];\r\n this.selectedOfficeStaffs = [];\r\n this.selectedOfficeClients = [];\r\n this.officeClients = [];\r\n\r\n this.userInfo = data.userInfo;\r\n this.locationId = data.locationId;\r\n this.providerId = data.staffId;\r\n this.staffId = data.staffId;\r\n (this.appointmentId = data.appointmentId),\r\n (this.patientId = data.patientId);\r\n this.currentNotes = data.currentNotes;\r\n\r\n this.isNewAppointment = data.isNewAppointment;\r\n\r\n dialogModalRef.disableClose = true;\r\n this.masterStaffs = [];\r\n this.masterPatientLocation = [];\r\n this.masterAppointmentTypes = [];\r\n this.masterAddressTypes = [];\r\n this.officeAndPatientLocations = [];\r\n this.filteredSymptoms$ = this.userControl.valueChanges.pipe(\r\n startWith(\"\"),\r\n // use switch map so as to cancel previous subscribed events, before creating new once\r\n switchMap((value) => {\r\n if (value != null && typeof value == \"string\") {\r\n if (value.length > 2) {\r\n return this.getPatientSymptoms(value).pipe();\r\n } else {\r\n // if no value is present, return null\r\n return of(null);\r\n }\r\n } else return of(null);\r\n })\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.Message = null;\r\n this.isNotBooked = true;\r\n this.homeService.getOrganizationDetail().subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.Organization = response.data;\r\n // console.log(response);\r\n }\r\n });\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userRoleName = (\r\n (user.data.users3 && user.data.users3.userRoles.userType) ||\r\n \"\"\r\n ).toUpperCase();\r\n this.isClientLogin = this.userRoleName === \"CLIENT\";\r\n this.isAdminLogin = this.userRoleName === \"ADMIN\";\r\n\r\n if (this.userRoleName === \"CLIENT\") {\r\n this.patientEmail = user.patientData.email;\r\n }\r\n }\r\n });\r\n\r\n // this.setAppointmentParameters();\r\n const s = this.renderer2.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n this.firstFormGroup = this._formBuilder.group({\r\n appointmentDate: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required],\r\n });\r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: [\"\", Validators.required],\r\n });\r\n this.thirdFormGroup = this._formBuilder.group({\r\n Notes: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required],\r\n });\r\n\r\n if (this.providerId != \"\") {\r\n this.getStaffDetail();\r\n this.getLastNewAppointment(this.providerId);\r\n } else {\r\n this.bindStaffProfile();\r\n }\r\n\r\n this.fetchStaffsAndPatients();\r\n\r\n if (this.isAdminLogin && this.isNewAppointment) {\r\n this.providerId = \"0\";\r\n this.staffId = 0;\r\n this.patientId = 0;\r\n }\r\n }\r\n\r\n hideDropDown(value: boolean) {\r\n this.payMode = value;\r\n this.formGroup3.Notes.setValue(this.currentNotes);\r\n }\r\n\r\n /*Stripe Start */\r\n openCheckout() {\r\n this.submit = true;\r\n \r\n let _amount = 0;\r\n \r\n if (this.confirmation.type == 'New' && this.confirmation.mode == 'Online') {\r\n _amount = this.userInfo.payRate;\r\n } else if (this.confirmation.type == 'New' && this.confirmation.mode == 'In-Person') {\r\n _amount = this.userInfo.ftFpayRate;\r\n } else if (this.confirmation.type.toLowerCase() == 'follow-up' ) {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n \r\n if (!_amount || _amount === 0 || _amount == 0.00) {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n } else {\r\n // var handler = (window).StripeCheckout.configure({\r\n // key: this.Organization.stripeKey,\r\n // locale: \"auto\",\r\n // token: function(token: any) {\r\n\r\n // if (token.id != \"\") {\r\n // localStorage.setItem(\"payment_token\", token.id);\r\n\r\n // }\r\n\r\n // }\r\n // });\r\n this.paymentToken = \"\";\r\n localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // {\r\n this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n // }\r\n\r\n // handler.open({\r\n // name: this.Organization.organizationName,\r\n // description: this.Organization.description,\r\n // image: this.Organization.logo,\r\n // amount: _amount * 100,\r\n // email: this.patientEmail,\r\n // closed: () => {\r\n // this.paymentToken = localStorage.getItem(\"payment_token\");\r\n // localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n // }\r\n // });\r\n }\r\n } \r\n \r\n \r\n\r\n /*Stripe End */\r\n get formGroup1() {\r\n return this.firstFormGroup.controls;\r\n }\r\n get formGroup3() {\r\n return this.thirdFormGroup.controls;\r\n }\r\n\r\n onSlotSelect(slot: any) {\r\n var index = this.providerAvailiabilitySlots.findIndex(\r\n (x) => x.isSelected == true\r\n );\r\n if (index != -1) {\r\n this.providerAvailiabilitySlots[index].isSelected = false;\r\n this.providerAvailiabilitySlots[index].isAvailable = true;\r\n }\r\n // this.providerAvailiabilitySlots.forEach(slot => {\r\n // slot.isSelected = false;\r\n\r\n // });\r\n this.confirmation.startTime = slot.startTime;\r\n this.confirmation.endTime = slot.endTime;\r\n slot.isSelected = true;\r\n slot.isAvailable = false;\r\n }\r\n\r\n onDateChange(event: any) {\r\n\r\n var curDate = this.datePipe.transform(new Date(), \"yyyy-MM-dd\");\r\n var selDate = this.datePipe.transform(event, \"yyyy-MM-dd\");\r\n\r\n if (\r\n this.isNewAppointment &&\r\n (this.userRoleName == \"ADMIN\" || !this.isSelf) &&\r\n (this.staffId == 0 || this.patientId == 0)\r\n ) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Please select both provider and patient\"\r\n );\r\n return null;\r\n }\r\n if (\r\n this.isNewAppointment &&\r\n this.userRoleName == \"PROVIDER\" &&\r\n this.patientId == 0\r\n ) {\r\n this.notifierService.notify(\"error\", \"Please select patient.\");\r\n return null;\r\n }\r\n\r\n if (selDate < curDate) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Appointment cannot be set for past date\"\r\n );\r\n return null;\r\n }\r\n\r\n this.disableRadio = true;\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n this.firstFormGroup.get(\"appointmentDate\").setValue(event);\r\n //let interval = 30;\r\n let interval = this.userInfo.timeInterval;\r\n const filterModal = {\r\n locationIds: this.locationId,\r\n // fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n // toDate: format(event.value, \"YYYY-MM-DD\"),\r\n fromDate: format(event, \"YYYY-MM-DD\"),\r\n toDate: format(event, \"YYYY-MM-DD\"),\r\n staffIds: this.staffId,\r\n patientIds: ([]).join(\",\"),\r\n };\r\n let clientAppointments: Array = [];\r\n\r\n let currentAvailabilityDay: any;\r\n let currentAvailableDates: Array = [];\r\n let currentUnAvailableDates: Array = [];\r\n let days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\",\r\n ];\r\n // let dayName = days[new Date(event.value).getDay()];\r\n let dayName = days[new Date(event).getDay()];\r\n this.staffAvailability = [];\r\n this.usersService\r\n .getStaffAvailabilityByLocation(this.staffId, this.locationId)\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n if (response.statusCode == 200) {\r\n this.schedulerService\r\n .getListData(filterModal)\r\n .subscribe((response: any) => {\r\n this.showLoader = false;\r\n if (response.statusCode == 200) {\r\n this.patientAppointments = response.data.appointments;\r\n this.patientAppointments.forEach((app) => {\r\n let obj = {\r\n startTime: app.startDateTime,\r\n endTime: app.endDateTime,\r\n };\r\n let timeObj = this.getStartEndTime(obj),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n if (\r\n !app.cancelTypeId ||\r\n (app.cancelTypeId == null && app.cancelTypeId == 0)\r\n ) {\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach((x) => {\r\n clientAppointments.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n statusName: app.statusName,\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.staffAvailability = availibiltyResponse.data.days;\r\n this.providerAvailableDates = availibiltyResponse.data.available;\r\n this.providerNotAvailableDates =\r\n availibiltyResponse.data.unavailable;\r\n\r\n //Find day wise availability\r\n currentAvailabilityDay = this.staffAvailability.filter(\r\n (x) => x.dayName === dayName\r\n );\r\n\r\n //Find date wise availability\r\n if (\r\n this.providerAvailableDates != null &&\r\n this.providerAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates = this.providerAvailableDates.filter(\r\n (x) =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n );\r\n }\r\n\r\n //find datewise unavailabilty\r\n if (\r\n this.providerNotAvailableDates != null &&\r\n this.providerNotAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates = this.providerNotAvailableDates.filter(\r\n (x) =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n );\r\n }\r\n let slots: Array = [];\r\n let slotsIntervals: Array = [];\r\n let unAvaiabilityIntervalArr: Array = [];\r\n let availDaySlots: Array = [];\r\n let availDateSlots: Array = [];\r\n let unAvailDateSlots: Array = [];\r\n\r\n //let curentTime = this.parseTime(currentDate);\r\n if (\r\n currentAvailabilityDay != null &&\r\n currentAvailabilityDay.length > 0\r\n ) {\r\n currentAvailabilityDay.forEach((currentDay) => {\r\n let timeObj = this.getStartEndTime(currentDay),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach((x) => {\r\n availDaySlots.push(x);\r\n });\r\n });\r\n }\r\n if (\r\n currentAvailableDates != null &&\r\n currentAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates.forEach((avail) => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach((x) => {\r\n availDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (\r\n currentUnAvailableDates != null &&\r\n currentUnAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates.forEach((avail) => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach((x) => {\r\n unAvailDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (availDateSlots.length == 0) {\r\n if (availDaySlots.length > 0) {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach((slot) => {\r\n const foundIndex = availDaySlots.findIndex(\r\n (x) =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDaySlots = availDaySlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDaySlots;\r\n }\r\n } else {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach((slot) => {\r\n const foundIndex = availDateSlots.findIndex(\r\n (x) =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDateSlots = availDateSlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDateSlots;\r\n }\r\n\r\n if (slots.length > 0) {\r\n slots.forEach((x) => {\r\n this.providerAvailiabilitySlots.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n startTimeftm: x.startTime\r\n .replace(\":00\", \"\")\r\n .replace(\"AM\", \"\")\r\n .replace(\"PM\", \"\"),\r\n endTimeftm: x.endTime.replace(\":00\", \"\"),\r\n location: \"Max Hospital, Mohali\",\r\n isAvailable: true,\r\n isSelected: false,\r\n isPassed: false,\r\n isReserved: false,\r\n });\r\n });\r\n }\r\n if (clientAppointments.length > 0) {\r\n clientAppointments.forEach((slot) => {\r\n let status = (slot.statusName as string).toLowerCase();\r\n if ((slot.statusName as string).toLowerCase() != \"cancel\") {\r\n const foundIndex =\r\n this.providerAvailiabilitySlots.findIndex(\r\n (x) =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n this.providerAvailiabilitySlots[foundIndex].isAvailable =\r\n false;\r\n this.providerAvailiabilitySlots[foundIndex].isReserved =\r\n true;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n let currentDate = new Date();\r\n if (\r\n this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n ) {\r\n let currentStartHr = currentDate.getHours(),\r\n currentStartMin = currentDate.getMinutes(),\r\n currentTime = currentStartHr * 60 + currentStartMin;\r\n this.providerAvailiabilitySlots.forEach((slot) => {\r\n if (slot.isAvailable == true) {\r\n let selStart = slot.startTime.split(\" \");\r\n let selStartTime = selStart[0];\r\n let selStartHr = +selStartTime.split(\":\")[0];\r\n let selHrMin =\r\n selStart[1] == \"AM\"\r\n ? selStartHr * 60\r\n : selStartHr == 12\r\n ? selStartHr * 60\r\n : (selStartHr + 12) * 60;\r\n let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n let selEnd = slot.endTime.split(\" \");\r\n let selEndTime = selEnd[0];\r\n let selEndHr = +selEndTime.split(\":\")[0];\r\n let selEndHrMin =\r\n selEnd[1] == \"AM\"\r\n ? selEndHr * 60\r\n : selEndHr == 12\r\n ? selEndHr * 60\r\n : (selEndHr + 12) * 60;\r\n let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n if (\r\n currentTime >= selStartMin &&\r\n (currentTime >= selEndMin || currentTime < selEndMin)\r\n ) {\r\n slot.isPassed = true;\r\n slot.isAvailable = false;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.notifierService.notify(\"error\", \"Please Set Availability\");\r\n this.closeModal();\r\n }\r\n });\r\n // this.confirmation.date = event.value;\r\n this.confirmation.date = event;\r\n }\r\n getStartEndTime(obj: any) {\r\n let startDate: Date = new Date(obj.startTime),\r\n endDate: Date = new Date(obj.endTime);\r\n\r\n let slotStartHr = startDate.getHours(),\r\n slotStartMin = startDate.getMinutes(),\r\n slotEndHr = endDate.getHours(),\r\n slotEndMin = endDate.getMinutes(),\r\n startTime = this.parseTime(slotStartHr + \":\" + slotStartMin),\r\n endTime = this.parseTime(slotEndHr + \":\" + slotEndMin);\r\n return { startTime: startTime, endTime: endTime };\r\n }\r\n parseTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n convertHours(mins: number) {\r\n let hour = Math.floor(mins / 60);\r\n mins = mins % 60;\r\n let time = \"\";\r\n if (this.pad(hour, 2) < 12) {\r\n time = this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" AM\";\r\n } else {\r\n time =\r\n this.pad(hour, 2) == 12\r\n ? this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" PM\"\r\n : this.pad(hour, 2) - 12 + \":\" + this.pad(mins, 2) + \" PM\";\r\n }\r\n //let converted = this.pad(hour, 2)+':'+this.pad(mins, 2);\r\n return time;\r\n }\r\n\r\n pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? this.pad(\"0\" + str, max) : str;\r\n }\r\n\r\n calculateTimeSlotRange(\r\n start_time: number,\r\n end_time: number,\r\n interval: number = 30\r\n ) {\r\n let i, formattedStarttime, formattedEndtime;\r\n let time_slots: Array = [];\r\n for (let i = start_time; i <= end_time - interval; i = i + interval) {\r\n formattedStarttime = this.convertHours(i);\r\n formattedEndtime = this.convertHours(i + interval);\r\n time_slots.push({\r\n startTime: formattedStarttime,\r\n endTime: formattedEndtime,\r\n });\r\n }\r\n return time_slots;\r\n }\r\n\r\n onTypeChange(type: any) {\r\n this.confirmation.type = type;\r\n this.IsPreviousFollowup = false;\r\n if (type.toLowerCase() == \"followup\") {\r\n this.schedulerService\r\n .GetLastPatientFollowupDetails(this.patientId)\r\n .subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.lastFollowupData = res.data;\r\n if (this.lastFollowupData) {\r\n this.IsPreviousFollowup = true;\r\n } else {\r\n this.IsPreviousFollowup = false;\r\n }\r\n }\r\n });\r\n } else {\r\n this.IsPreviousFollowup = false;\r\n }\r\n }\r\n openLastFollowup() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(FollowupAppointmentComponent, {\r\n hasBackdrop: true,\r\n width: \"70%\",\r\n data: {\r\n id: this.lastFollowupData.id,\r\n lastAppointmentStartTime: this.lastFollowupData.startDateTime,\r\n lastAppointmentEndTime: this.lastFollowupData.endDateTime,\r\n notes: this.lastFollowupData.notes,\r\n bookingMode: this.lastFollowupData.bookingMode,\r\n },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n }\r\n });\r\n }\r\n onModeChange(mode: any) {\r\n this.confirmation.mode = mode;\r\n }\r\n FirstName: any\r\n LastName: any\r\n bindStaffProfile() {\r\n \r\n this.FirstName = this.userInfo.firstName\r\n this.LastName = this.userInfo.lastName\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n this.isProfileLoaded = true;\r\n }\r\n getStaffDetail() {\r\n if (this.providerId != \"\") {\r\n this.homeService.getProviderDetail(this.providerId).subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.userInfo = res.data;\r\n this.bindStaffProfile();\r\n this.getAppointment();\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n bookNewAppointment(tokenId: string, paymentMode: string): any {\r\n this.submitted = true;\r\n\r\n let _amount = 0;\r\n if (this.confirmation.type == \"New\" && this.confirmation.mode == \"Online\") {\r\n _amount = this.userInfo.payRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"In-Person\"\r\n ) {\r\n _amount = this.userInfo.ftFpayRate;\r\n } else if (this.confirmation.type == \"Followup\") {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: this.patientId,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n //IsTelehealthAppointment: true,\r\n IsTelehealthAppointment:\r\n this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n //Notes: this.formGroup3.Notes.value,\r\n Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n //PayRate: this.userInfo.payRate,\r\n PayRate: _amount,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n StatusId: 1,\r\n },\r\n ];\r\n\r\n if (this.isNewAppointment) {\r\n this.createAppointmentFromPatientPortal(appointmentData[0]);\r\n } else {\r\n const rescheduleData = [\r\n {\r\n AppointmentId: this.appointmentId,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n },\r\n ];\r\n this.RescheduleAppointment(rescheduleData[0]);\r\n }\r\n }\r\n\r\n createAppointmentFromPatientPortal(appointmentData: any) {\r\n this.schedulerService\r\n .bookNewAppointmentFromPatientPortal(appointmentData)\r\n .subscribe((response) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n RescheduleAppointment(appointmentData: any) {\r\n this.schedulerService\r\n .RescheduleAppointment(appointmentData)\r\n .subscribe((response) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully Rescheduled, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n bookNewFreeAppointment(tokenId: string, paymentMode: string): any {\r\n this.submitted = true;\r\n // if (this.appointmentForm.invalid) {\r\n // this.submitted = false;\r\n // return;\r\n // }\r\n\r\n // submit form\r\n // const selectedStaffs = this.appointmentForm.get(\"StaffIDs\").value,\r\n // selectedAppointmentTypeId = this.appointmentForm.get(\"AppointmentTypeID\")\r\n // .value,\r\n // selectedPatientId = this.appointmentForm.get(\"PatientID\").value,\r\n // startDate = this.appointmentForm.get(\"startDate\").value,\r\n // startTime = this.appointmentStartTime, // this.appointmentForm.get('startTime').value,\r\n // endTime = this.appointmentEndTime; // this.appointmentForm.get('endTime').value;\r\n\r\n // let appointmentStaffs = null;\r\n // let staffIds = Array.isArray(selectedStaffs)\r\n // ? selectedStaffs\r\n // : [selectedStaffs];\r\n // appointmentStaffs = (this.appointmentModal.appointmentStaffs || []\r\n // ).map(Obj => {\r\n // return { StaffId: Obj.staffId, IsDeleted: true };\r\n // });\r\n // staffIds.forEach(staffId => {\r\n // // update case for appointment staffs ------\r\n // let staff = appointmentStaffs.find(\r\n // Obj => Obj.StaffId === staffId && Obj.IsDeleted\r\n // );\r\n // if (staff) {\r\n // let index = appointmentStaffs.indexOf(staff);\r\n // appointmentStaffs[index] = { StaffId: staff.StaffId, IsDeleted: false };\r\n // } else {\r\n // appointmentStaffs.push({ StaffId: staffId, IsDeleted: false });\r\n // }\r\n // });\r\n\r\n // let addressesObj = {\r\n // CustomAddressID: null,\r\n // CustomAddress: null,\r\n // PatientAddressID: null,\r\n // OfficeAddressID: null\r\n // };\r\n // if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OTHER\"\r\n // ) {\r\n // addressesObj.CustomAddress = this.appointmentForm.get(\r\n // \"CustomAddress\"\r\n // ).value;\r\n // addressesObj.CustomAddressID = this.appointmentForm.get(\r\n // \"CustomAddressID\"\r\n // ).value;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"PATIENT\"\r\n // ) {\r\n // addressesObj.PatientAddressID = this.selectedServiceLocation.id;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OFFICE\"\r\n // ) {\r\n // addressesObj.OfficeAddressID = this.selectedServiceLocation.id;\r\n // }\r\n\r\n // selectedPatientId && typeof selectedPatientId === \"object\"\r\n // ? selectedPatientId.id\r\n // : null;\r\n //this.recurrenceRule = this.appointmentId ? \"\" : this.recurrenceRule;\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: this.schedulerService.patientID,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n // IsTelehealthAppointment: true,\r\n IsTelehealthAppointment:\r\n this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.formGroup3.Notes.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n // PayRate: this.userInfo.payRate,\r\n // PayRate: this.confirmation.mode==\"Online\"?this.userInfo.payRate:this.userInfo.ftFpayRate ,\r\n PayRate: 0.0,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n IsFreeappointment:this.IsFreeAppointment,\r\n IsPaidAppointment:this.IsPaidAppointment\r\n },\r\n ];\r\n\r\n if (this.isNewAppointment) {\r\n this.createFreeAppointmentFromPatientPortal(appointmentData[0]);\r\n } else {\r\n const rescheduleData = [\r\n {\r\n IsFreeappointment:this.IsFreeAppointment,\r\n IsPaidAppointment:this.IsPaidAppointment,\r\n AppointmentId: this.appointmentId,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n },\r\n ];\r\n this.RescheduleAppointment(rescheduleData[0]);\r\n }\r\n }\r\n\r\n createFreeAppointmentFromPatientPortal(appointmentData: any) {\r\n // console.log(appointmentData);\r\n this.schedulerService\r\n .bookNewFreeAppointmentFromPatientPortal(appointmentData)\r\n .subscribe((response) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n // this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n openfreeapptCheckout() {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n }\r\n\r\n createModal() {\r\n let documentModal;\r\n documentModal = this.dialogModal.open(SaveDocumentComponent, { data: 0 });\r\n documentModal.afterClosed().subscribe((result: string) => {\r\n // if (result == 'save')\r\n // this.getUserDocuments();\r\n });\r\n }\r\n termsandconditionchecked(event) {\r\n if (event.checked) {\r\n this.istermsconditionchecked = true;\r\n this.opentermconditionmodal();\r\n this.showselecttermscondition = false;\r\n } else {\r\n this.istermsconditionchecked = false;\r\n }\r\n }\r\n\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width: \"70%\",\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n }\r\n });\r\n }\r\n\r\n handleImageChange(e) {\r\n //if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n let fileExtension = e.target.files[0].name.split(\".\").pop().toLowerCase();\r\n var input = e.target;\r\n var reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.fileList.push({\r\n data: this.dataURL,\r\n ext: fileExtension,\r\n fileName: e.target.files[0].name,\r\n });\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n // }\r\n // else\r\n // this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n }\r\n\r\n saveDocuments(apptId: number) {\r\n ///Please chnage this API to avoid loops\r\n\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: \"Document\",\r\n documentTypeIdStaff: 225,\r\n expiration: \"\",\r\n key: \"STAFF\",\r\n otherDocumentType: \"\",\r\n userId: 0,\r\n patientAppointmentId: apptId,\r\n };\r\n let dic = [];\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(\r\n `\"${element.data.replace(\r\n /^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/,\r\n \"\"\r\n )}\": \"${element.ext}\"`\r\n );\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {});\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.userService\r\n .uploadUserDocuments(formValues)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n //this.notifier.notify('success', response.message);\r\n //this.closeDialog(\"save\");\r\n } else this.notifier.notify(\"error\", response.message);\r\n });\r\n } else {\r\n //this.notifier.notify('error', \"Please add atleast one file\");\r\n }\r\n }\r\n\r\n // getProvidersFollowUpDaysAllowed(staffId){\r\n // this.schedulerService.getStaffFeeSettings(staffId).subscribe(response => {\r\n // if (response.statusCode === 200) {\r\n // this.feeSettings = response.data as ManageFeesRefundsModel;\r\n // }\r\n // })\r\n // }\r\n\r\n // get checkIfAllowed() {\r\n // if (this.confirmation.type == 'Followup') {\r\n //\r\n // if (this.userInfo && this.userInfo.followUpDays &&\r\n // this.firstFormGroup.controls.appointmentDate.value) {\r\n\r\n // return this.hasPreviousNewMeeting;\r\n // const startDate = new Date(this.firstFormGroup.controls.appointmentDate.value);\r\n // const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds\r\n // const diffDates: any = (this.lastAppointmentDateTime - startDate);\r\n // const diffDays = Math.round(Math.abs((diffDates) / oneDay))\r\n // if (diffDays > -1 && diffDays <= this.userInfo.followUpDays) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n\r\n // } else { return false; }\r\n // } else { return true; }\r\n // }\r\n\r\n fetchStaffsAndPatients(locationId?: string): void {\r\n this.schedulerService\r\n .getStaffAndPatientByLocation(\r\n this.locationId.toString(),\r\n \"SCHEDULING_LIST_VIEW_OTHERSTAFF_SCHEDULES\"\r\n )\r\n .subscribe((response: any) => {\r\n if (response.statusCode !== 200) {\r\n (this.officeStaffs = []), (this.officeClients = []);\r\n } else {\r\n this.officeStaffs = response.data.staff || [];\r\n this.officeClients = response.data.patients || [];\r\n }\r\n });\r\n }\r\n onDropdownSelectionChange(event: any): void {\r\n const source: MatSelect = event.source,\r\n value: any = event.value;\r\n\r\n if (source.id === \"officeStaffs\") {\r\n this.staffId = value;\r\n this.providerId = value;\r\n }\r\n if (source.id === \"officeClients\") {\r\n this.patientId = value;\r\n }\r\n }\r\n getLastNewAppointment(staffId) {\r\n this.schedulerService\r\n .getPreviousAppointment(staffId, this.patientId)\r\n .subscribe((response) => {\r\n if (response.statusCode === 200) {\r\n this.hasPreviousNewMeeting = response.data ? true : false;\r\n // if (lastAppointment) {\r\n // this.lastAppointmentDateTime = new Date(lastAppointment.startDateTime);\r\n // this.hasPreviousNewMeeting = true;\r\n // }\r\n }\r\n });\r\n }\r\n\r\n closeModal() {\r\n this.dialogModal.closeAll();\r\n }\r\n radioChange(id: any) {\r\n this.isSelf = id == 1 ? true : false;\r\n }\r\n\r\n getPatientSymptoms(searchText: string = \"headache\", age: number = 0): any {\r\n return this.symptomCheckerService.getPatientSymptoms(searchText, age).pipe(\r\n map((x) => {\r\n return x;\r\n })\r\n );\r\n }\r\n add(event: MatChipInputEvent): void {\r\n // Add fruit only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n if (!this.matAutocomplete.isOpen) {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n // Add our fruit\r\n if ((value || \"\").trim()) {\r\n this.symptoms.push(value.trim());\r\n }\r\n\r\n // Reset the input value\r\n if (input) {\r\n input.value = \"\";\r\n }\r\n\r\n this.userControl.setValue(null);\r\n }\r\n }\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n this.symptoms.push({\r\n id: event.option.value.id,\r\n value: event.option.viewValue,\r\n choice_id: \"present\",\r\n });\r\n //this.optionChecked=true;\r\n this.userInput.nativeElement.value = event.option.viewValue;\r\n this.userControl.setValue(event.option.viewValue);\r\n }\r\n PatientFirstName:any\r\n getAppointment() {\r\n this.loading = true;\r\n this.schedulerService\r\n .getAppointmentDetailsWithPatient(this.appointmentId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.appointment = response.data;\r\n this.PatientFirstName=response.data.patientName\r\n this.IsPaidAppointment=response.data.isPaidAppointment\r\n this.IsFreeAppointment=response.data.isFreeappointment\r\n //this.getNearestDate();\r\n this.openCalendaravailableslots();\r\n // this.onDateChange(this.appointment.startDateTime);\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n openCalendaravailableslots() {\r\n //this.loading=true;\r\n let dateString = this.appointment.startDateTime;\r\n let newDate = new Date(dateString);\r\n newDate.setDate(newDate.getDate() + 1);\r\n this.onDateChange(newDate);\r\n //console.log(newDate);\r\n this.calendar._goToDateInView(newDate, \"month\");\r\n //this.loading=false;\r\n }\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n border-bottom: 2px dotted #ddd;\\r\\n font-family: 'Rafleway', sans-serif;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.cstm-cross.policy-blk .fa {\\r\\n top: -24px;\\r\\n right: -24px;\\r\\n}\\r\\n\\r\\n.pay-step.hgt-scroll {\\r\\n height: 410px !important;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 18px;\\r\\n margin-top: 10px;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #003359;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: block;\\r\\n color: #4e4852;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 14px;\\r\\n font-weight: 600;\\r\\n color: #2f2660;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #4e4852;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #2f2660;\\r\\n font-size: 20px;\\r\\n display: flex;\\r\\n font-weight: 600;\\r\\n justify-content: space-between;\\r\\n padding: 15px;\\r\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.60);\\r\\n font-size: 14px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type label {\\r\\n margin: 0px 10px 0px 0px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n width: 135px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #003359;\\r\\n border-color: #003359;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding-bottom: 10px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type .mat-radio-outer-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #63d891;\\r\\n border-radius: 0;\\r\\n display: inline-block;\\r\\n font-size: 15px !important;\\r\\n padding: 5px 10px;\\r\\n height: auto;\\r\\n margin: 5px 10px 5px 0px;\\r\\n line-height: normal;\\r\\n color: #63d891;\\r\\n cursor: pointer;\\r\\n height: 36px !important;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #003359;\\r\\n color: #fff;\\r\\n background-color: #003359;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 0px;\\r\\n font-size: 16px;\\r\\n margin: 10px 0px 0px;\\r\\n line-height: 24px;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n margin: 15px 0px 20px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.fnt-sze {\\r\\n font-size: 14px;\\r\\n margin-right: 12px;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-txtarea textarea.mat-input-element {\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.custom-txtarea label {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mat-radio-label-content {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.terms-check {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/* .mat-datepicker-content .mat-calendar{\\r\\n width:550px !important;\\r\\n height: auto !important;\\r\\n} */\\r\\n\\r\\n.followupError {\\r\\n color: #f44336;\\r\\n}\\r\\n\\r\\n.hgt-scroll {\\r\\n height: 465px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n margin-top: 6px;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #2f2660;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 6px 10px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n.cstm-cancel-btn i {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.link-btn.min-w-100 {\\r\\n min-width: 100px;\\r\\n margin-right: auto !important;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.appointment-panel .appointment-content {\\r\\n padding: 12px 15px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-label {\\r\\n padding-top: 5px !important;\\r\\n padding-bottom: 5px !important;\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell {\\r\\n padding: 15px 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell-content {\\r\\n width: 30px !important;\\r\\n left: 36% !important;\\r\\n font-weight: 600 !important;\\r\\n height: 30px;\\r\\n}\\r\\n\\r\\n/* .appointment-content .mat-calendar-body-today:selected(.mat-calendar-body-selected) {\\r\\n border-color: #f87515;\\r\\n background-color: #f87515;\\r\\n color: #fff;\\r\\n} */\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\r\\n border-color: rgba(0, 0, 0, 0.04);\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-controls {\\r\\n margin: 0 10px !important\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-spacer {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-header {\\r\\n padding: 0px 8px 0 8px !important;\\r\\n background-color: #003359 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-period-button {\\r\\n margin: 0 auto !important;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n letter-spacing: 3px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-content {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header {\\r\\n background-color: #003359 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header th {\\r\\n font-size: 13px !important;\\r\\n color: #fff !important;\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-card {\\r\\n box-shadow: none !important;\\r\\n padding: 0 !important;\\r\\n border: 1px solid #efefef !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header-divider {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-previous-button {\\r\\n position: absolute !important;\\r\\n left: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-arrow {\\r\\n border-top-color: #fff !important;\\r\\n}\\r\\n\\r\\n/* scroller hide css */\\r\\n\\r\\n/* .appointment-content .ng-scrollbar-container{\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.schedule-btn {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn {\\r\\n border: 1px solid #ccc;\\r\\n background-color: transparent;\\r\\n background-color: #b9b9b9;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn:hover {\\r\\n background-color: #11d3e9;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.calnedar-dropdown.mat-form-field {\\r\\n width: 0px;\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.schedule-date h3 {\\r\\n margin: 0px;\\r\\n font-weight: 600;\\r\\n font-size: 22px;\\r\\n padding-left: 5px;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.hideDiv {\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.cstm-radio-btn .mat-radio-button label {\\r\\n margin-bottom: 0;\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n.receipt {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n\\r\\n.cstm-add {\\r\\n display: block;\\r\\n width: 75%;\\r\\n}\\r\\n\\r\\n.cstm-add input:focus-visible {\\r\\n outline: none !important\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name>div>div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.select-box {\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.select-box input {\\r\\n width: 100%;\\r\\n margin: 0 !important;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.pt-7 {\\r\\n padding-top: 7px;\\r\\n}\\r\\n\\r\\n.blue-clr {\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.cstm-thnk-blk {\\r\\n margin-top: -32px;\\r\\n background-color: #fff;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n

{{fullname}}

\\r\\n
{{spl.speciality}}
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (17)\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • {{userInfo.phoneNumber}}
  • \\r\\n
  • {{userInfo.email}}
  • \\r\\n \\r\\n
  • {{userInfo.payRate | currency:'USD':'symbol-narrow'}}
  • \\r\\n
  • {{userInfo.ftFpayRate | currency:'USD':'symbol-narrow'}}
  • \\r\\n
  • {{userInfo.followUpPayRate | currency:'USD':'symbol-narrow'}}
  • \\r\\n\\r\\n\\r\\n
  • {{userInfo.address}}\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Book an appointment\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{c.label}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Appointment Booked\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n Choose Slot\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n Select Date & Time\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Provider is not available on this date. Please choose another 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 \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n Book \\r\\n
Please select appointment slot first to book in previous step,then after pay here.\\r\\n
\\r\\n
\\r\\n
\\r\\n

You are requesting a booking with {{PatientFirstName}}{{\\\" \\\"}}\\r\\n
on {{confirmation.date | date:'fullDate'}} between {{confirmation.startTime}} to {{confirmation.endTime}}

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

You are requesting a booking with {{FirstName + ' ' + LastName}}{{\\\" \\\"}}\\r\\n
on {{confirmation.date | date:'fullDate'}} between {{confirmation.startTime}} to {{confirmation.endTime}}

\\r\\n
\\r\\n \\r\\n
We will send you an email with a booking confirmation.
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{type}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{mode}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n {{userInfo.payRate | currency:'USD':'symbol-narrow'}}\\r\\n
\\r\\n
\\r\\n {{userInfo.ftFpayRate | currency:'USD':'symbol-narrow'}}\\r\\n
\\r\\n
\\r\\n {{userInfo.followUpPayRate | currency:'USD':'symbol-narrow'}}\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Files to be uploaded are:
\\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n

\\r\\n \\r\\n {{file.fileName}}\\r\\n 134 kb\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Please enter your chief complaint\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{fts.label}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Terms & Conditions\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Please select terms\\r\\n and conditions \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n

Thank you

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

Your appointment has been successfully booked with us,
{{PatientFirstName}} {{confirmation.date | date:'fullDate'}} between {{confirmation.startTime}} to {{confirmation.endTime}}

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

Your appointment has been successfully booked with ,
{{FirstName + ' ' + LastName}} {{confirmation.date | date:'fullDate'}} between {{confirmation.startTime}} to {{confirmation.endTime}}

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

Please Check you email for further assistance. We will contact you as soon as possible.

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { debug } from \"util\";\r\nimport { state } from \"@angular/animations\";\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { AppointmentModel } from \"./../../platform/modules/scheduling/scheduler/scheduler.model\";\r\n\r\n//import { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { isatty } from \"tty\";\r\nimport { userInfo } from \"os\";\r\nimport {\r\n MatSelect,\r\n MatDialog,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n MatAutocomplete,\r\n MatChipInputEvent,\r\n MatAutocompleteSelectedEvent,\r\n MatCalendar,\r\n} from \"@angular/material\";\r\n\r\nimport { FollowupAppointmentComponent } from \"./../followup-appointment/followup-appointment.component\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Inject,\r\n Renderer2,\r\n ViewChild,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n StaffAward,\r\n StaffQualification,\r\n StaffExperience,\r\n} from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format, getHours, getMinutes } from \"date-fns\";\r\nimport { map, startWith, switchMap } from \"rxjs/operators\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { DatePipe, DOCUMENT } from \"@angular/common\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { AddUserDocumentComponent } from \"src/app/platform/modules/agency-portal/users/user-documents/add-user-document/add-user-document.component\";\r\nimport { TermsConditionModalComponent } from \"../../front/terms-conditions/terms-conditions.component\";\r\nimport { SaveDocumentComponent } from \"../../front/save-document/save-document.component\";\r\nimport { ManageFeesRefundsModel } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { SymptomCheckerService } from \"../symptom-checker/symptom-checker.service\";\r\nimport { Router } from \"@angular/router\";\r\n//import { StripeToken, StripeSource } from \"stripe-angular\";\r\n\r\nconst getDateTimeString = (date: string, time: string): string => {\r\n const y = new Date(date).getFullYear(),\r\n m = new Date(date).getMonth(),\r\n d = new Date(date).getDate(),\r\n splitTime = time.split(\":\"),\r\n hours = parseInt(splitTime[0] || \"0\", 10),\r\n minutes = parseInt(splitTime[1].substring(0, 2) || \"0\", 10),\r\n meridiem = splitTime[1].substring(3, 5) || \"\",\r\n updatedHours =\r\n (meridiem || \"\").toUpperCase() === \"PM\" && hours != 12\r\n ? hours + 12\r\n : hours;\r\n\r\n const startDateTime = new Date(y, m, d, updatedHours, minutes);\r\n\r\n return format(startDateTime, \"YYYY-MM-DDTHH:mm:ss\");\r\n};\r\n@Component({\r\n selector: \"app-prepone-appointment\",\r\n templateUrl: \"./prepone-appointment.component.html\",\r\n styleUrls: [\"./prepone-appointment.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PreponeAppointmentComponent implements OnInit {\r\n submitted: boolean = false;\r\n isSelf: boolean = true;\r\n disableRadio: boolean = false;\r\n appointment: AppointmentModel;\r\n todayDate: Date = new Date();\r\n loading = false;\r\n selectedOfficeStaffs: Array;\r\n selectedOfficeClients: Array;\r\n selectedProvider: any;\r\n currentNotes: any;\r\n choices: any[] = [\r\n { id: \"1\", label: \"self\", checked: true },\r\n { id: \"2\", label: \"referral\", checked: false },\r\n ];\r\n selectedClient: any;\r\n isShow: boolean = false;\r\n isLinear = false;\r\n payMode: Boolean = false;\r\n zeroFormGroup: FormGroup;\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n thirdFormGroup: FormGroup;\r\n userInfo: any;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n staffId: number;\r\n providerId: string;\r\n patientId: number;\r\n userRoleName: string;\r\n lastFollowupData: any;\r\n // appointmenType: any = [\"New\", \"Followup\", \"Free\"];\r\n //appointmenType: any = [\"New\", \"Free\"];\r\n appointmenType: any = [\"New\", \"Followup\"];\r\n appointmentMode: any = [\"Online\"];\r\n //appointmentMode: any = [\"Online\", \"Face to Face\"];\r\n confirmation: any = { type: \"New\", mode: \"Online\" };\r\n providerAvailiabilitySlots: any = [];\r\n unreservedproviderAvailiabilitySlots: any = [];\r\n patientAppointments: any;\r\n staffAvailability: any;\r\n locationId: number;\r\n showLoader: boolean = false;\r\n providerAvailableDates: any = [];\r\n providerNotAvailableDates: any = [];\r\n\r\n masterPatientLocation: Array;\r\n masterStaffs: Array;\r\n masterAddressTypes: Array;\r\n officeAndPatientLocations: Array;\r\n masterAppointmentTypes: Array;\r\n Organization: any;\r\n patientEmail: string;\r\n paymentToken: string = \"\";\r\n Message: any;\r\n IsPreviousFollowup: boolean = false;\r\n isNewAppointment: boolean = false;\r\n isNotBooked: boolean;\r\n isProfileLoaded: boolean = false;\r\n //Notes: string = \"\";\r\n appointmentId: number = 0;\r\n fileList: any = [];\r\n dataURL: any;\r\n officeStaffs: Array;\r\n officeClients: Array;\r\n isClientLogin: boolean;\r\n isAdminLogin: boolean;\r\n nearestavailabledate: any;\r\n feeSettings: ManageFeesRefundsModel;\r\n hasPreviousNewMeeting = false;\r\n userControl = new FormControl();\r\n filteredSymptoms$: Observable;\r\n symptoms: any = [];\r\n loaderImage = \"../../../assets/loader.gif\";\r\n availableapptdate: any;\r\n @ViewChild(\"userInput\") userInput: ElementRef;\r\n @ViewChild(\"auto\") matAutocomplete: MatAutocomplete;\r\n @ViewChild(\"calendar\") calendar: MatCalendar;\r\n\r\n showselecttermscondition: boolean = false;\r\n istermsconditionchecked: boolean = false;\r\n submit: boolean = false;\r\n IsPaidAppointment: any;\r\n IsFreeAppointment: any;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private _formBuilder: FormBuilder,\r\n private homeService: HomeService,\r\n private commonService: CommonService,\r\n private notifierService: NotifierService,\r\n private usersService: UsersService,\r\n private schedulerService: SchedulerService,\r\n private datePipe: DatePipe,\r\n private renderer2: Renderer2,\r\n private dialogModal: MatDialog,\r\n private userService: UsersService,\r\n private notifier: NotifierService,\r\n private symptomCheckerService: SymptomCheckerService,\r\n private route: Router,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n this.officeStaffs = [];\r\n this.selectedOfficeStaffs = [];\r\n this.selectedOfficeClients = [];\r\n this.officeClients = [];\r\n\r\n this.userInfo = data.userInfo;\r\n this.locationId = data.locationId;\r\n this.providerId = data.staffId;\r\n this.staffId = data.staffId;\r\n (this.appointmentId = data.appointmentId),\r\n (this.patientId = data.patientId);\r\n this.currentNotes = data.currentNotes;\r\n\r\n this.isNewAppointment = data.isNewAppointment;\r\n\r\n dialogModalRef.disableClose = true;\r\n this.masterStaffs = [];\r\n this.masterPatientLocation = [];\r\n this.masterAppointmentTypes = [];\r\n this.masterAddressTypes = [];\r\n this.officeAndPatientLocations = [];\r\n this.filteredSymptoms$ = this.userControl.valueChanges.pipe(\r\n startWith(\"\"),\r\n // use switch map so as to cancel previous subscribed events, before creating new once\r\n switchMap((value) => {\r\n if (value != null && typeof value == \"string\") {\r\n if (value.length > 2) {\r\n return this.getPatientSymptoms(value).pipe();\r\n } else {\r\n // if no value is present, return null\r\n return of(null);\r\n }\r\n } else return of(null);\r\n })\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.Message = null;\r\n this.isNotBooked = true;\r\n this.homeService.getOrganizationDetail().subscribe((response) => {\r\n if (response.statusCode == 200) {\r\n this.Organization = response.data;\r\n }\r\n });\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userRoleName = (\r\n (user.data.users3 && user.data.users3.userRoles.userType) ||\r\n \"\"\r\n ).toUpperCase();\r\n this.isClientLogin = this.userRoleName === \"CLIENT\";\r\n this.isAdminLogin = this.userRoleName === \"ADMIN\";\r\n\r\n if (this.userRoleName === \"CLIENT\") {\r\n this.patientEmail = user.patientData.email;\r\n }\r\n }\r\n });\r\n\r\n if (this.providerId != \"\") {\r\n this.getStaffDetail();\r\n //this.getLastNewAppointment(this.providerId);\r\n } else {\r\n this.bindStaffProfile();\r\n }\r\n //this.getAppointment();\r\n\r\n // this.setAppointmentParameters();\r\n const s = this.renderer2.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n this.firstFormGroup = this._formBuilder.group({\r\n appointmentDate: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required],\r\n });\r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: [\"\", Validators.required],\r\n });\r\n this.thirdFormGroup = this._formBuilder.group({\r\n Notes: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required],\r\n });\r\n this.zeroFormGroup = this._formBuilder.group({\r\n takeCtrl: [\"\"],\r\n });\r\n\r\n this.fetchStaffsAndPatients();\r\n\r\n if (this.isAdminLogin && this.isNewAppointment) {\r\n this.providerId = \"0\";\r\n this.staffId = 0;\r\n this.patientId = 0;\r\n }\r\n }\r\n\r\n hideDropDown(value: boolean) {\r\n this.payMode = value;\r\n this.formGroup3.Notes.setValue(this.currentNotes);\r\n }\r\n\r\n /*Stripe Start */\r\n openCheckout() {\r\n this.submit = true\r\n // console.log(\"userinput landing\", this.userInput.nativeElement.value);\r\n if (this.userInput.nativeElement.value) {\r\n if (this.istermsconditionchecked) {\r\n let _amount = 0;\r\n if (this.confirmation.type == \"New\" && this.confirmation.mode == \"Online\") {\r\n _amount = this.userInfo.payRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"In-Person\"\r\n ) {\r\n _amount = this.userInfo.ftFpayRate;\r\n } else if (this.confirmation.type == \"Followup\") {\r\n // if(!this.checkIfAllowed){\r\n // return;\r\n // }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (!_amount || _amount === 0 || _amount == 0.0) {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n } else {\r\n // var handler = (window).StripeCheckout.configure({\r\n // key: this.Organization.stripeKey,\r\n // locale: \"auto\",\r\n // token: function(token: any) {\r\n\r\n // if (token.id != \"\") {\r\n // localStorage.setItem(\"payment_token\", token.id);\r\n\r\n // }\r\n\r\n // }\r\n // });\r\n this.paymentToken = \"\";\r\n localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // {\r\n this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n // }\r\n\r\n // handler.open({\r\n // name: this.Organization.organizationName,\r\n // description: this.Organization.description,\r\n // image: this.Organization.logo,\r\n // amount: _amount * 100,\r\n // email: this.patientEmail,\r\n // closed: () => {\r\n // this.paymentToken = localStorage.getItem(\"payment_token\");\r\n // localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n // }\r\n // });\r\n }\r\n }\r\n else {\r\n this.showselecttermscondition = true;\r\n }\r\n }\r\n }\r\n\r\n /*Stripe End */\r\n get formGroup1() {\r\n return this.firstFormGroup.controls;\r\n }\r\n get formGroup3() {\r\n return this.thirdFormGroup.controls;\r\n }\r\n // get formGroup0() {\r\n // return this.zeroFormGroup.controls;\r\n // }\r\n\r\n onSlotSelect(slot: any) {\r\n var index = this.providerAvailiabilitySlots.findIndex(\r\n (x) => x.isSelected == true\r\n );\r\n if (index != -1) {\r\n this.providerAvailiabilitySlots[index].isSelected = false;\r\n this.providerAvailiabilitySlots[index].isAvailable = true;\r\n }\r\n // this.providerAvailiabilitySlots.forEach(slot => {\r\n // slot.isSelected = false;\r\n\r\n // });\r\n this.confirmation.startTime = slot.startTime;\r\n this.confirmation.endTime = slot.endTime;\r\n slot.isSelected = true;\r\n slot.isAvailable = false;\r\n }\r\n\r\n onDateChange(event: any) {\r\n var curDate = this.datePipe.transform(new Date(), \"yyyy-MM-dd\");\r\n var selDate = this.datePipe.transform(event, \"yyyy-MM-dd\");\r\n this.availableapptdate = this.datePipe.transform(event, \"dd-MM-yyyy\");\r\n\r\n if (\r\n this.isNewAppointment &&\r\n (this.userRoleName == \"ADMIN\" || !this.isSelf) &&\r\n (this.staffId == 0 || this.patientId == 0)\r\n ) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Please select both provider and patient\"\r\n );\r\n return null;\r\n }\r\n if (\r\n this.isNewAppointment &&\r\n this.userRoleName == \"PROVIDER\" &&\r\n this.patientId == 0\r\n ) {\r\n this.notifierService.notify(\"error\", \"Please select patient.\");\r\n return null;\r\n }\r\n\r\n if (selDate < curDate) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Appointment cannot be set for past date\"\r\n );\r\n return null;\r\n }\r\n\r\n this.disableRadio = true;\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n this.firstFormGroup.get(\"appointmentDate\").setValue(event);\r\n //let interval = 30;\r\n let interval = this.userInfo.timeInterval;\r\n const filterModal = {\r\n locationIds: this.locationId,\r\n // fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n // toDate: format(event.value, \"YYYY-MM-DD\"),\r\n fromDate: format(event, \"YYYY-MM-DD\"),\r\n toDate: format(event, \"YYYY-MM-DD\"),\r\n staffIds: this.staffId,\r\n patientIds: (\"\" || []).join(\",\"),\r\n };\r\n let clientAppointments: Array = [];\r\n\r\n let currentAvailabilityDay: any;\r\n let currentAvailableDates: Array = [];\r\n let currentUnAvailableDates: Array = [];\r\n let days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\",\r\n ];\r\n // let dayName = days[new Date(event.value).getDay()];\r\n let dayName = days[new Date(event).getDay()];\r\n this.staffAvailability = [];\r\n this.usersService\r\n .getStaffAvailabilityByLocation(this.staffId, this.locationId)\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n if (response.statusCode == 200) {\r\n this.schedulerService\r\n .getListData(filterModal)\r\n .subscribe((response: any) => {\r\n this.showLoader = false;\r\n if (response.statusCode == 200) {\r\n this.patientAppointments = response.data.appointments;\r\n this.patientAppointments.forEach((app) => {\r\n let obj = {\r\n startTime: app.startDateTime,\r\n endTime: app.endDateTime,\r\n };\r\n let timeObj = this.getStartEndTime(obj),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n if (\r\n !app.cancelTypeId ||\r\n (app.cancelTypeId == null && app.cancelTypeId == 0)\r\n ) {\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach((x) => {\r\n clientAppointments.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n statusName: app.statusName,\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.staffAvailability = availibiltyResponse.data.days;\r\n this.providerAvailableDates = availibiltyResponse.data.available;\r\n this.providerNotAvailableDates =\r\n availibiltyResponse.data.unavailable;\r\n\r\n //Find day wise availability\r\n currentAvailabilityDay = this.staffAvailability.filter(\r\n (x) => x.dayName === dayName\r\n );\r\n\r\n //Find date wise availability\r\n if (\r\n this.providerAvailableDates != null &&\r\n this.providerAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates = this.providerAvailableDates.filter(\r\n (x) =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n );\r\n }\r\n\r\n //find datewise unavailabilty\r\n if (\r\n this.providerNotAvailableDates != null &&\r\n this.providerNotAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates = this.providerNotAvailableDates.filter(\r\n (x) =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n );\r\n }\r\n let slots: Array = [];\r\n let slotsIntervals: Array = [];\r\n let unAvaiabilityIntervalArr: Array = [];\r\n let availDaySlots: Array = [];\r\n let availDateSlots: Array = [];\r\n let unAvailDateSlots: Array = [];\r\n\r\n //let curentTime = this.parseTime(currentDate);\r\n if (\r\n currentAvailabilityDay != null &&\r\n currentAvailabilityDay.length > 0\r\n ) {\r\n currentAvailabilityDay.forEach((currentDay) => {\r\n let timeObj = this.getStartEndTime(currentDay),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach((x) => {\r\n availDaySlots.push(x);\r\n });\r\n });\r\n }\r\n if (\r\n currentAvailableDates != null &&\r\n currentAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates.forEach((avail) => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach((x) => {\r\n availDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (\r\n currentUnAvailableDates != null &&\r\n currentUnAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates.forEach((avail) => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n interval\r\n ).forEach((x) => {\r\n unAvailDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (availDateSlots.length == 0) {\r\n if (availDaySlots.length > 0) {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach((slot) => {\r\n const foundIndex = availDaySlots.findIndex(\r\n (x) =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDaySlots = availDaySlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDaySlots;\r\n }\r\n } else {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach((slot) => {\r\n const foundIndex = availDateSlots.findIndex(\r\n (x) =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDateSlots = availDateSlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDateSlots;\r\n }\r\n\r\n if (slots.length > 0) {\r\n slots.forEach((x) => {\r\n this.providerAvailiabilitySlots.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n startTimeftm: x.startTime\r\n .replace(\":00\", \"\")\r\n .replace(\"AM\", \"\")\r\n .replace(\"PM\", \"\"),\r\n endTimeftm: x.endTime.replace(\":00\", \"\"),\r\n location: \"Max Hospital, Mohali\",\r\n isAvailable: true,\r\n isSelected: false,\r\n isPassed: false,\r\n isReserved: false,\r\n });\r\n });\r\n }\r\n if (clientAppointments.length > 0) {\r\n clientAppointments.forEach((slot) => {\r\n let status = (slot.statusName as string).toLowerCase();\r\n if ((slot.statusName as string).toLowerCase() != \"cancel\") {\r\n const foundIndex =\r\n this.providerAvailiabilitySlots.findIndex(\r\n (x) =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n this.providerAvailiabilitySlots[foundIndex].isAvailable =\r\n false;\r\n this.providerAvailiabilitySlots[foundIndex].isReserved =\r\n true;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n this.unreservedproviderAvailiabilitySlots =\r\n this.providerAvailiabilitySlots;\r\n this.getNearestDate();\r\n }\r\n\r\n let currentDate = new Date();\r\n if (\r\n this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n ) {\r\n let currentStartHr = currentDate.getHours(),\r\n currentStartMin = currentDate.getMinutes(),\r\n currentTime = currentStartHr * 60 + currentStartMin;\r\n this.providerAvailiabilitySlots.forEach((slot) => {\r\n if (slot.isAvailable == true) {\r\n let selStart = slot.startTime.split(\" \");\r\n let selStartTime = selStart[0];\r\n let selStartHr = +selStartTime.split(\":\")[0];\r\n let selHrMin =\r\n selStart[1] == \"AM\"\r\n ? selStartHr * 60\r\n : selStartHr == 12\r\n ? selStartHr * 60\r\n : (selStartHr + 12) * 60;\r\n let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n let selEnd = slot.endTime.split(\" \");\r\n let selEndTime = selEnd[0];\r\n let selEndHr = +selEndTime.split(\":\")[0];\r\n let selEndHrMin =\r\n selEnd[1] == \"AM\"\r\n ? selEndHr * 60\r\n : selEndHr == 12\r\n ? selEndHr * 60\r\n : (selEndHr + 12) * 60;\r\n let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n if (\r\n currentTime >= selStartMin &&\r\n (currentTime >= selEndMin || currentTime < selEndMin)\r\n ) {\r\n slot.isPassed = true;\r\n slot.isAvailable = false;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.notifierService.notify(\"error\", \"Please Set Availability\");\r\n this.closeModal();\r\n }\r\n });\r\n // this.confirmation.date = event.value;\r\n this.confirmation.date = event;\r\n this.providerAvailiabilitySlots;\r\n }\r\n getStartEndTime(obj: any) {\r\n let startDate: Date = new Date(obj.startTime),\r\n endDate: Date = new Date(obj.endTime);\r\n\r\n let slotStartHr = startDate.getHours(),\r\n slotStartMin = startDate.getMinutes(),\r\n slotEndHr = endDate.getHours(),\r\n slotEndMin = endDate.getMinutes(),\r\n startTime = this.parseTime(slotStartHr + \":\" + slotStartMin),\r\n endTime = this.parseTime(slotEndHr + \":\" + slotEndMin);\r\n return { startTime: startTime, endTime: endTime };\r\n }\r\n parseTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n convertHours(mins: number) {\r\n let hour = Math.floor(mins / 60);\r\n mins = mins % 60;\r\n let time = \"\";\r\n if (this.pad(hour, 2) < 12) {\r\n time = this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" AM\";\r\n } else {\r\n time =\r\n this.pad(hour, 2) == 12\r\n ? this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" PM\"\r\n : this.pad(hour, 2) - 12 + \":\" + this.pad(mins, 2) + \" PM\";\r\n }\r\n //let converted = this.pad(hour, 2)+':'+this.pad(mins, 2);\r\n return time;\r\n }\r\n\r\n pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? this.pad(\"0\" + str, max) : str;\r\n }\r\n\r\n calculateTimeSlotRange(\r\n start_time: number,\r\n end_time: number,\r\n interval: number = 30\r\n ) {\r\n let i, formattedStarttime, formattedEndtime;\r\n let time_slots: Array = [];\r\n for (let i = start_time; i <= end_time - interval; i = i + interval) {\r\n formattedStarttime = this.convertHours(i);\r\n formattedEndtime = this.convertHours(i + interval);\r\n time_slots.push({\r\n startTime: formattedStarttime,\r\n endTime: formattedEndtime,\r\n });\r\n }\r\n return time_slots;\r\n }\r\n\r\n onTypeChange(type: any) {\r\n this.confirmation.type = type;\r\n this.IsPreviousFollowup = false;\r\n if (type.toLowerCase() == \"followup\") {\r\n this.schedulerService\r\n .GetLastPatientFollowupDetails(this.patientId)\r\n .subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.lastFollowupData = res.data;\r\n if (this.lastFollowupData) {\r\n this.IsPreviousFollowup = true;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n openLastFollowup() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(FollowupAppointmentComponent, {\r\n hasBackdrop: true,\r\n width: \"70%\",\r\n data: {\r\n id: this.lastFollowupData.id,\r\n lastAppointmentStartTime: this.lastFollowupData.startDateTime,\r\n lastAppointmentEndTime: this.lastFollowupData.endDateTime,\r\n notes: this.lastFollowupData.notes,\r\n bookingMode: this.lastFollowupData.bookingMode,\r\n },\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n }\r\n });\r\n }\r\n onModeChange(mode: any) {\r\n this.confirmation.mode = mode;\r\n }\r\n FirstName: any\r\n LastName: any\r\n bindStaffProfile() {\r\n this.FirstName = this.userInfo.firstName\r\n this.LastName = this.userInfo.lastName\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n this.isProfileLoaded = true;\r\n }\r\n getStaffDetail() {\r\n if (this.providerId != \"\") {\r\n this.homeService.getProviderDetail(this.providerId).subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.userInfo = res.data;\r\n this.bindStaffProfile();\r\n this.getAppointment();\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n bookNewAppointment(tokenId: string, paymentMode: string): any {\r\n this.submitted = true;\r\n\r\n let _amount = 0;\r\n if (this.confirmation.type == \"New\" && this.confirmation.mode == \"Online\") {\r\n _amount = this.userInfo.payRate;\r\n } else if (\r\n this.confirmation.type == \"New\" &&\r\n this.confirmation.mode == \"In-Person\"\r\n ) {\r\n _amount = this.userInfo.ftFpayRate;\r\n } else if (this.confirmation.type == \"Followup\") {\r\n // if(!this.checkIfAllowed){\r\n // return;\r\n // }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: this.patientId,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n //IsTelehealthAppointment: true,\r\n IsTelehealthAppointment:\r\n this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n //Notes: this.formGroup3.Notes.value,\r\n Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n //PayRate: this.userInfo.payRate,\r\n PayRate: _amount,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n StatusId: 1,\r\n },\r\n ];\r\n\r\n if (this.isNewAppointment) {\r\n this.createAppointmentFromPatientPortal(appointmentData[0]);\r\n } else {\r\n const rescheduleData = [\r\n {\r\n AppointmentId: this.appointmentId,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n },\r\n ];\r\n\r\n this.RescheduleAppointment(rescheduleData[0]);\r\n }\r\n }\r\n createAppointmentFromPatientPortal(appointmentData: any) {\r\n this.schedulerService\r\n .bookNewAppointmentFromPatientPortal(appointmentData)\r\n .subscribe((response) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n RescheduleAppointment(appointmentData: any) {\r\n this.schedulerService\r\n .RescheduleAppointment(appointmentData)\r\n .subscribe((response) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully Rescheduled, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n bookNewFreeAppointment(tokenId: string, paymentMode: string): any {\r\n this.submitted = true;\r\n // if (this.appointmentForm.invalid) {\r\n // this.submitted = false;\r\n // return;\r\n // }\r\n\r\n // submit form\r\n // const selectedStaffs = this.appointmentForm.get(\"StaffIDs\").value,\r\n // selectedAppointmentTypeId = this.appointmentForm.get(\"AppointmentTypeID\")\r\n // .value,\r\n // selectedPatientId = this.appointmentForm.get(\"PatientID\").value,\r\n // startDate = this.appointmentForm.get(\"startDate\").value,\r\n // startTime = this.appointmentStartTime, // this.appointmentForm.get('startTime').value,\r\n // endTime = this.appointmentEndTime; // this.appointmentForm.get('endTime').value;\r\n\r\n // let appointmentStaffs = null;\r\n // let staffIds = Array.isArray(selectedStaffs)\r\n // ? selectedStaffs\r\n // : [selectedStaffs];\r\n // appointmentStaffs = (this.appointmentModal.appointmentStaffs || []\r\n // ).map(Obj => {\r\n // return { StaffId: Obj.staffId, IsDeleted: true };\r\n // });\r\n // staffIds.forEach(staffId => {\r\n // // update case for appointment staffs ------\r\n // let staff = appointmentStaffs.find(\r\n // Obj => Obj.StaffId === staffId && Obj.IsDeleted\r\n // );\r\n // if (staff) {\r\n // let index = appointmentStaffs.indexOf(staff);\r\n // appointmentStaffs[index] = { StaffId: staff.StaffId, IsDeleted: false };\r\n // } else {\r\n // appointmentStaffs.push({ StaffId: staffId, IsDeleted: false });\r\n // }\r\n // });\r\n\r\n // let addressesObj = {\r\n // CustomAddressID: null,\r\n // CustomAddress: null,\r\n // PatientAddressID: null,\r\n // OfficeAddressID: null\r\n // };\r\n // if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OTHER\"\r\n // ) {\r\n // addressesObj.CustomAddress = this.appointmentForm.get(\r\n // \"CustomAddress\"\r\n // ).value;\r\n // addressesObj.CustomAddressID = this.appointmentForm.get(\r\n // \"CustomAddressID\"\r\n // ).value;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"PATIENT\"\r\n // ) {\r\n // addressesObj.PatientAddressID = this.selectedServiceLocation.id;\r\n // } else if (\r\n // this.selectedServiceLocation &&\r\n // (this.selectedServiceLocation.key || \"\").toUpperCase() === \"OFFICE\"\r\n // ) {\r\n // addressesObj.OfficeAddressID = this.selectedServiceLocation.id;\r\n // }\r\n\r\n // selectedPatientId && typeof selectedPatientId === \"object\"\r\n // ? selectedPatientId.id\r\n // : null;\r\n //this.recurrenceRule = this.appointmentId ? \"\" : this.recurrenceRule;\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: this.patientId,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n // IsTelehealthAppointment: true,\r\n IsTelehealthAppointment:\r\n this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.formGroup3.Notes.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n // PayRate: this.userInfo.payRate,\r\n // PayRate: this.confirmation.mode==\"Online\"?this.userInfo.payRate:this.userInfo.ftFpayRate ,\r\n PayRate: 0.0,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n IsFreeappointment:this.IsFreeAppointment,\r\n IsPaidAppointment:this.IsPaidAppointment\r\n },\r\n ];\r\n\r\n if (this.isNewAppointment) {\r\n this.createFreeAppointmentFromPatientPortal(appointmentData[0]);\r\n } else {\r\n const rescheduleData = [\r\n {\r\n IsFreeappointment:this.IsFreeAppointment,\r\n IsPaidAppointment:this.IsPaidAppointment,\r\n AppointmentId: this.appointmentId,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n },\r\n ];\r\n\r\n this.RescheduleAppointment(rescheduleData[0]);\r\n }\r\n }\r\n\r\n createFreeAppointmentFromPatientPortal(appointmentData: any) {\r\n this.schedulerService\r\n .bookNewFreeAppointmentFromPatientPortal(appointmentData)\r\n .subscribe((response) => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n // this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n openfreeapptCheckout() {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n }\r\n\r\n createModal() {\r\n let documentModal;\r\n documentModal = this.dialogModal.open(SaveDocumentComponent, { data: 0 });\r\n documentModal.afterClosed().subscribe((result: string) => {\r\n // if (result == 'save')\r\n // this.getUserDocuments();\r\n });\r\n }\r\n termsandconditionchecked(event) {\r\n if (event.checked) {\r\n this.istermsconditionchecked = true;\r\n this.opentermconditionmodal();\r\n this.showselecttermscondition = false;\r\n } else {\r\n this.istermsconditionchecked = false;\r\n }\r\n }\r\n\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width: \"70%\",\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n }\r\n });\r\n }\r\n\r\n handleImageChange(e) {\r\n //if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n let fileExtension = e.target.files[0].name.split(\".\").pop().toLowerCase();\r\n var input = e.target;\r\n var reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.fileList.push({\r\n data: this.dataURL,\r\n ext: fileExtension,\r\n fileName: e.target.files[0].name,\r\n });\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n // }\r\n // else\r\n // this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n }\r\n\r\n saveDocuments(apptId: number) {\r\n ///Please chnage this API to avoid loops\r\n\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: \"Document\",\r\n documentTypeIdStaff: 225,\r\n expiration: \"\",\r\n key: \"STAFF\",\r\n otherDocumentType: \"\",\r\n userId: 0,\r\n patientAppointmentId: apptId,\r\n };\r\n let dic = [];\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(\r\n `\"${element.data.replace(\r\n /^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/,\r\n \"\"\r\n )}\": \"${element.ext}\"`\r\n );\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {});\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.userService\r\n .uploadUserDocuments(formValues)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n //this.notifier.notify('success', response.message);\r\n //this.closeDialog(\"save\");\r\n } else this.notifier.notify(\"error\", response.message);\r\n });\r\n } else {\r\n //this.notifier.notify('error', \"Please add atleast one file\");\r\n }\r\n }\r\n\r\n // getProvidersFollowUpDaysAllowed(staffId){\r\n // this.schedulerService.getStaffFeeSettings(staffId).subscribe(response => {\r\n // if (response.statusCode === 200) {\r\n // this.feeSettings = response.data as ManageFeesRefundsModel;\r\n // }\r\n // })\r\n // }\r\n\r\n // get checkIfAllowed() {\r\n // if (this.confirmation.type == 'Followup') {\r\n //\r\n // if (this.userInfo && this.userInfo.followUpDays &&\r\n // this.firstFormGroup.controls.appointmentDate.value) {\r\n\r\n // return this.hasPreviousNewMeeting;\r\n // const startDate = new Date(this.firstFormGroup.controls.appointmentDate.value);\r\n // const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds\r\n // const diffDates: any = (this.lastAppointmentDateTime - startDate);\r\n // const diffDays = Math.round(Math.abs((diffDates) / oneDay))\r\n // if (diffDays > -1 && diffDays <= this.userInfo.followUpDays) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n\r\n // } else { return false; }\r\n // } else { return true; }\r\n // }\r\n\r\n fetchStaffsAndPatients(locationId?: string): void {\r\n this.schedulerService\r\n .getStaffAndPatientByLocation(\r\n this.locationId.toString(),\r\n \"SCHEDULING_LIST_VIEW_OTHERSTAFF_SCHEDULES\"\r\n )\r\n .subscribe((response: any) => {\r\n if (response.statusCode !== 200) {\r\n (this.officeStaffs = []), (this.officeClients = []);\r\n } else {\r\n this.officeStaffs = response.data.staff || [];\r\n this.officeClients = response.data.patients || [];\r\n }\r\n });\r\n }\r\n onDropdownSelectionChange(event: any): void {\r\n const source: MatSelect = event.source,\r\n value: any = event.value;\r\n\r\n if (source.id === \"officeStaffs\") {\r\n this.staffId = value;\r\n this.providerId = value;\r\n }\r\n if (source.id === \"officeClients\") {\r\n this.patientId = value;\r\n }\r\n }\r\n getLastNewAppointment(staffId) {\r\n this.schedulerService\r\n .getPreviousAppointment(staffId, this.patientId)\r\n .subscribe((response) => {\r\n if (response.statusCode === 200) {\r\n this.hasPreviousNewMeeting = response.data ? true : false;\r\n // if (lastAppointment) {\r\n // this.lastAppointmentDateTime = new Date(lastAppointment.startDateTime);\r\n // this.hasPreviousNewMeeting = true;\r\n // }\r\n }\r\n });\r\n }\r\n\r\n closeModal() {\r\n this.dialogModal.closeAll();\r\n }\r\n radioChange(id: any) {\r\n this.isSelf = id == 1 ? true : false;\r\n }\r\n\r\n getPatientSymptoms(searchText: string = \"headache\", age: number = 0): any {\r\n return this.symptomCheckerService.getPatientSymptoms(searchText, age).pipe(\r\n map((x) => {\r\n return x;\r\n })\r\n );\r\n }\r\n add(event: MatChipInputEvent): void {\r\n // Add fruit only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n if (!this.matAutocomplete.isOpen) {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n // Add our fruit\r\n if ((value || \"\").trim()) {\r\n this.symptoms.push(value.trim());\r\n }\r\n\r\n // Reset the input value\r\n if (input) {\r\n input.value = \"\";\r\n }\r\n\r\n this.userControl.setValue(null);\r\n }\r\n }\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n this.symptoms.push({\r\n id: event.option.value.id,\r\n value: event.option.viewValue,\r\n choice_id: \"present\",\r\n });\r\n //this.optionChecked=true;\r\n this.userInput.nativeElement.value = event.option.viewValue;\r\n this.userControl.setValue(event.option.viewValue);\r\n }\r\n PatientFirstName:any\r\n getAppointment() {\r\n this.loading = true;\r\n this.schedulerService\r\n .getAppointmentDetailsWithPatient(this.appointmentId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n this.appointment = response.data;\r\n this.PatientFirstName=response.data.patientName\r\n this.IsPaidAppointment=response.data.isPaidAppointment\r\n this.IsFreeAppointment=response.data.isFreeappointment\r\n this.onDateChange(this.appointment.startDateTime);\r\n //this.getNearestDate();\r\n this.loading = false;\r\n this.isProfileLoaded = true;\r\n }\r\n });\r\n }\r\n\r\n getNearestDate() {\r\n this.unreservedproviderAvailiabilitySlots;\r\n this.unreservedproviderAvailiabilitySlots =\r\n this.unreservedproviderAvailiabilitySlots.filter(\r\n (x) => x.isAvailable == true\r\n );\r\n this.nearestavailabledate =\r\n this.availableapptdate +\r\n \"(\" +\r\n this.unreservedproviderAvailiabilitySlots[0].startTime +\r\n \" - \" +\r\n this.unreservedproviderAvailiabilitySlots[0].endTime +\r\n \")\";\r\n }\r\n\r\n rescheduleBookDirectly() {\r\n this.confirmation.date = this.appointment.startDateTime;\r\n this.confirmation.startTime =\r\n this.unreservedproviderAvailiabilitySlots[0].startTime;\r\n this.confirmation.endTime =\r\n this.unreservedproviderAvailiabilitySlots[0].endTime;\r\n this.openCheckout();\r\n }\r\n openCalendaravailableslots() {\r\n this.loading = true;\r\n let dateString = this.appointment.startDateTime;\r\n let newDate = new Date(dateString);\r\n this.calendar._goToDateInView(newDate, \"month\");\r\n this.loading = false;\r\n }\r\n}\r\n","module.exports = \".user-registed {\\r\\n text-align: center;\\r\\n}\\r\\n.mat-dialog-container {\\r\\n padding: 10px !important;\\r\\n overflow: hidden;\\r\\n}\\r\\n.telelogin {\\r\\n max-width: 950px;\\r\\n padding: 0px 15px 0px 15px;\\r\\n}\\r\\n.tele-bg {\\r\\n background-image: url('tele-login-bg.jpg');\\r\\n background-repeat: no-repeat;\\r\\n background-size: cover;\\r\\n background-position: center;\\r\\n position: relative;\\r\\n color: #fff;\\r\\n z-index: 0;\\r\\n padding: 30px 15px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n.tele-bg:before {\\r\\n background-color: rgba(24, 155, 237, 0.85);\\r\\n position: absolute;\\r\\n left: 0;\\r\\n height: 100%;\\r\\n top: 0;\\r\\n content: \\\"\\\";\\r\\n z-index: -1;\\r\\n width: 100%;\\r\\n}\\r\\n.telelogin h3 {\\r\\n font-size: 16px;\\r\\n margin: 20px 0px;\\r\\n}\\r\\n.tele-bg p {\\r\\n color: #fff;\\r\\n}\\r\\n.telelogin-form h3 {\\r\\n margin: 0px;\\r\\n}\\r\\n.telelogin-form i {\\r\\n font-size: 15px;\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n cursor: pointer;\\r\\n}\\r\\n.member-link {\\r\\n padding-top: 30px;\\r\\n padding-bottom: 20px;\\r\\n font-size: 13px;\\r\\n}\\r\\n.member-link span {\\r\\n color: #003359;\\r\\n cursor: pointer;\\r\\n}\\r\\n.member-link span:hover {\\r\\n text-decoration: underline;\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Sign up today!

\\r\\n

Get started.

\\r\\n

Discover the best doctors, the city nearest to you.

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

Sign up

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter first Name\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter last Name\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter dob\\r\\n \\r\\n \\r\\n Age should be greater than 18 years\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{genderVal.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select gender\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter phone number\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{masterRole.value}}\\r\\n \\r\\n \\r\\n \\r\\n Please select user 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 Please enter email\\r\\n \\r\\n \\r\\n Please enter a valid email address\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter username\\r\\n \\r\\n \\r\\n Username '{{formControls.userName.value}}' already exists\\r\\n \\r\\n \\r\\n Username '{{formControls.userName.value}}' not valid, allowed only alphanumeric characters.\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please enter password\\r\\n \\r\\n \\r\\n Password should have number, special character, lowercase, uppercase letters and minimunm length should be 8. \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please re-enter password\\r\\n \\r\\n \\r\\n Password doesn't match\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Already have an account? Sign in here\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n

{{Message.title}}

\\r\\n

{{Message.message}}

\\r\\n \\\"user-register-icon\\\"\\r\\n
\\r\\n Sign in here\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { LoginModelComponent } from \"src/app/shared/login-model/login-model.component\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ComponentRef,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n} from \"@angular/forms\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { RegisterService } from \"src/app/front/register/register.service\";\r\nimport { UserModel } from \"src/app/platform/modules/agency-portal/users/users.model\";\r\nimport { PasswordValidator } from \"src/app/shared/password-validator\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { InvitationRegisterModel } from \"src/app/front/register/register.model\";\r\nimport { ErrorStateMatcher } from \"@angular/material/core\";\r\nimport { FormGroupDirective } from \"@angular/forms\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { AbstractControl, ValidationErrors } from \"@angular/forms\";\r\nimport { Observable } from \"rxjs\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { SubDomainService } from \"src/app/subDomain.service\";\r\nimport { MatDialogRef, MatDialog } from \"@angular/material\";\r\n\r\nexport function AgeValidator(\r\n control: AbstractControl\r\n): { [key: string]: boolean } | null {\r\n var selectedDate = new Date(control.value);\r\n var today = new Date();\r\n var year = today.getFullYear();\r\n var month = today.getMonth() + 1;\r\n var day = today.getDate();\r\n var yy = selectedDate.getFullYear();\r\n var mm = selectedDate.getMonth() + 1;\r\n var dd = selectedDate.getDate();\r\n var years, months, days;\r\n // months\r\n months = month - mm;\r\n if (day < dd) {\r\n months = months - 1;\r\n }\r\n // years\r\n years = year - yy;\r\n if (month * 100 + day < mm * 100 + dd) {\r\n years = years - 1;\r\n months = months + 12;\r\n }\r\n // days\r\n days = Math.floor(\r\n (today.getTime() - new Date(yy + years, mm + months - 1, dd).getTime()) /\r\n (24 * 60 * 60 * 1000)\r\n );\r\n if (years < 18) return { age: true };\r\n else return null;\r\n //\r\n //return { years: years, months: months, days: days };\r\n}\r\n@Component({\r\n selector: \"app-register-model\",\r\n templateUrl: \"./register.component.html\",\r\n styleUrls: [\"./register.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class RegisterModelComponent implements OnInit {\r\n invitationId: string = \"\";\r\n userForm: FormGroup;\r\n userModel: UserModel;\r\n registerInvitationModel: InvitationRegisterModel;\r\n submitted: boolean = false;\r\n masterGender: any = [];\r\n masterRoles: any = [];\r\n masterLocation: any = [];\r\n isTokenValid: boolean = true;\r\n isUsernameExisted: boolean = false;\r\n Message: any;\r\n logoUrl: string = null;\r\n userType: string = \"\";\r\n private dobValidation = [Validators.required];\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n private registerService: RegisterService,\r\n private route: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private notifier: NotifierService,\r\n private subDomainService: SubDomainService,\r\n private dialogModal: MatDialog\r\n ) {\r\n dialogModalRef.disableClose = true;\r\n if (this.userModel == null) this.userModel = new UserModel();\r\n if (this.registerInvitationModel == null)\r\n this.registerInvitationModel = new InvitationRegisterModel();\r\n }\r\n ngOnInit() {\r\n this.Message = {\r\n title: \"Oops\",\r\n message:\r\n \"Either token isn't legitimate or lapsed or client previously enrolled with this token id, it would be ideal if you contact organization for additional help.\",\r\n imgSrc: \"../assets/img/user-register-icon.png\",\r\n };\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n if (\r\n (params[\"token\"]! =\r\n undefined && params[\"token\"] != null && params[\"token\"] != \"\")\r\n )\r\n this.invitationId = params[\"token\"];\r\n });\r\n let unamePattern = \"^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])([a-zA-Z0-9]+)$\";\r\n this.userForm = this.formBuilder.group(\r\n {\r\n firstName: [this.userModel.firstName],\r\n lastName: [this.userModel.lastName],\r\n middleName: [this.userModel.middleName],\r\n phone: [this.userModel.phoneNumber],\r\n dob: [this.userModel.dob, this.dobValidation],\r\n email: [this.userModel.email, [Validators.required, Validators.email]],\r\n gender: [this.userModel.gender, [Validators.required]],\r\n roleId: [this.userModel.roleID, [Validators.required]],\r\n // locationId: [this.userModel.locationIds, [Validators.required]], //agencyremove\r\n locationId: [101],\r\n userName: [\r\n this.userModel.userName,\r\n {\r\n validators: [Validators.required],\r\n asyncValidators: [this.validateUsername.bind(this)],\r\n updateOn: \"blur\",\r\n },\r\n ],\r\n password: [\r\n this.userModel.password,\r\n [Validators.required, PasswordValidator.strong],\r\n ],\r\n confirmPassword: [this.userModel.confirmPassword],\r\n },\r\n {\r\n validator: this.validateForm.bind(this),\r\n }\r\n );\r\n\r\n if (this.invitationId != \"\") {\r\n this.registerService\r\n .checkTokenAccessibility(this.invitationId)\r\n .subscribe((res) => {\r\n if (res.statusCode != 200) {\r\n this.isTokenValid = false;\r\n } else {\r\n this.userModel = res.data;\r\n this.userForm.patchValue(this.userModel);\r\n this.isTokenValid = true;\r\n }\r\n });\r\n }\r\n this.registerService\r\n .getMasterData(\"MASTERGENDER,MASTERROLESALL,MASTERLOCATION\")\r\n .subscribe((response) => {\r\n this.masterGender =\r\n response.masterGender != null ? response.masterGender : [];\r\n this.masterRoles =\r\n response.masterRoles != null ? response.masterRoles : [];\r\n this.masterLocation =\r\n response.masterLocation != null ? response.masterLocation : [];\r\n });\r\n this.subDomainService.getSubDomainInfo().subscribe((domainInfo) => {\r\n if (domainInfo)\r\n this.logoUrl =\r\n \"data:image/png;base64,\" + domainInfo.organization.logoBase64;\r\n });\r\n }\r\n get formControls() {\r\n return this.userForm.controls;\r\n }\r\n onRoleChange(event: any) {\r\n var role = this.masterRoles.find((x) => x.id == event.value);\r\n const dob = this.userForm.get(\"dob\");\r\n if (role.userType == \"PROVIDER\") {\r\n dob.setValidators([Validators.required, AgeValidator.bind(this)]);\r\n } else {\r\n dob.setValidators([Validators.required]);\r\n }\r\n dob.updateValueAndValidity();\r\n }\r\n // validateAge(\r\n // ctrl: AbstractControl\r\n // ): Promise | Observable {\r\n // return new Promise(resolve => {\r\n // if (!ctrl.dirty && !ctrl.untouched) {\r\n // resolve();\r\n // } else {\r\n // var selectedDate = new Date(ctrl.value);\r\n // var today = new Date();\r\n // var year = today.getFullYear();\r\n // var month = today.getMonth() + 1;\r\n // var day = today.getDate();\r\n // var yy = selectedDate.getFullYear();\r\n // var mm = selectedDate.getMonth() + 1;\r\n // var dd = selectedDate.getDate();\r\n // var years, months, days;\r\n // // months\r\n // months = month - mm;\r\n // if (day < dd) {\r\n // months = months - 1;\r\n // }\r\n // // years\r\n // years = year - yy;\r\n // if (month * 100 + day < mm * 100 + dd) {\r\n // years = years - 1;\r\n // months = months + 12;\r\n // }\r\n // // days\r\n // days = Math.floor(\r\n // (today.getTime() -\r\n // new Date(yy + years, mm + months - 1, dd).getTime()) /\r\n // (24 * 60 * 60 * 1000)\r\n // );\r\n // if (years < 18) resolve({ age: true });\r\n // else resolve();\r\n // }\r\n // });\r\n // }\r\n validateForm(formGroup: FormGroup) {\r\n let pass = formGroup.controls.password.value;\r\n let confirmPass = formGroup.controls.confirmPassword.value;\r\n\r\n if (!confirmPass.length) return null;\r\n return pass && confirmPass && pass === confirmPass\r\n ? null\r\n : formGroup.controls.confirmPassword.setErrors({ notSame: true });\r\n }\r\n validateUsername(\r\n ctrl: AbstractControl\r\n ): Promise | Observable {\r\n return new Promise((resolve) => {\r\n if (!ctrl.dirty && !ctrl.untouched) {\r\n resolve();\r\n } else {\r\n let userName = ctrl.value;\r\n this.registerService\r\n .checkUserNameExistance(userName)\r\n .subscribe((response: any) => {\r\n if (response.statusCode != 200) resolve({ uniqueName: true });\r\n else resolve();\r\n });\r\n }\r\n });\r\n }\r\n onSubmit() {\r\n \r\n if (!this.userForm.invalid) {\r\n this.submitted = true;\r\n this.registerService\r\n .registerNewUserWithoutToken(this.userForm.value)\r\n .subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.isTokenValid = false;\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your account has been successfully created with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: any): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n openDialogLogin() {\r\n this.closeDialog(null);\r\n let dbModal;\r\n dbModal = this.dialogModal.open(LoginModelComponent, { data: {} });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result == \"save\") {\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Welcome!

\\r\\n

Seems your are new, Please tell us something more about yourself .

\\r\\n

Seems you are using new machine, we need more for log in

\\r\\n

Discover the best doctors, the city nearest to you.

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

Security Questions

\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{option.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 \\r\\n
\\r\\n
{{errorMessage}}
\\r\\n
\\r\\n \\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 { MatDialogRef } from \"@angular/material\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AuthenticationService } from \"src/app/platform/modules/auth/auth.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\n\r\n@Component({\r\n selector: \"app-security-question-model\",\r\n templateUrl: \"./security-question-model.component.html\",\r\n styleUrls: [\"./security-question-model.component.css\"]\r\n})\r\nexport class SecurityQuestionModelComponent implements OnInit, OnDestroy {\r\n private subscription: Subscription;\r\n securityQuestionForm: FormGroup;\r\n securityQuestionOptionsForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n errorMessage: string;\r\n returnUrl: string;\r\n firstTimeLogin: boolean;\r\n securityQuestions: Array;\r\n securityQuestionOptions: Array;\r\n authData: any;\r\n ipAddress: string;\r\n\r\n constructor(\r\n private dialogModalRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authService: AuthenticationService,\r\n private commonService: CommonService // private securityQuestionService: SecurityQuestionService, // private alertService: AlertService\r\n ) {\r\n dialogModalRef.disableClose = true;\r\n this.createForm();\r\n this.errorMessage = null;\r\n }\r\n createForm() {\r\n // this.securityQuestionForm = this.formBuilder.group({\r\n // question: ''\r\n // });\r\n }\r\n createOptionsForm() {\r\n // this.securityQuestionOptionsForm = this.formBuilder.group({\r\n // question: '',\r\n // answer: ''\r\n // });\r\n }\r\n ngOnInit() {\r\n this.commonService.sytemInfo.subscribe(obj => {\r\n this.ipAddress = obj.ipAddress;\r\n });\r\n this.securityQuestionOptionsForm = this.formBuilder.group({\r\n question: [\"\", Validators.required],\r\n answer: [\"\", Validators.required]\r\n });\r\n this.subscription = this.commonService.loginSecurity.subscribe(\r\n (user: any) => {\r\n if (\r\n user.loginResponse &&\r\n !user.loginResponse.access_token &&\r\n user.loginResponse.data\r\n ) {\r\n if (user.loginResponse.firstTimeLogin) {\r\n this.securityQuestions = user.loginResponse.data;\r\n this.firstTimeLogin = true;\r\n this.authData = user.authData;\r\n\r\n const questionsForm = {};\r\n (this.securityQuestions || []).forEach((obj: any) => {\r\n questionsForm[`question${obj.id}`] = [\"\", Validators.required];\r\n });\r\n this.securityQuestionForm = this.formBuilder.group({\r\n ...questionsForm\r\n });\r\n } else {\r\n this.securityQuestionOptions = user.loginResponse.data;\r\n this.firstTimeLogin = false;\r\n this.authData = user.authData;\r\n this.securityQuestionOptionsForm = this.formBuilder.group({\r\n question: [\"\", Validators.required],\r\n answer: [\"\", Validators.required]\r\n });\r\n }\r\n } else {\r\n this.closeDialog(\"save\");\r\n //this.router.navigate([\"/web\"]);\r\n }\r\n }\r\n );\r\n }\r\n\r\n // convenience getter for easy access to form fields\r\n get f() {\r\n return this.securityQuestionForm;\r\n }\r\n get g() {\r\n return this.securityQuestionOptionsForm;\r\n }\r\n onSubmitQuestionAnswer() {\r\n this.submitted = true;\r\n this.errorMessage = null;\r\n // stop here if form is invalid\r\n if (this.securityQuestionOptionsForm.invalid) {\r\n return;\r\n }\r\n this.loading = true;\r\n\r\n const postData = {\r\n userName: this.authData.username,\r\n password: this.authData.password,\r\n QuestionID: this.g.value.question,\r\n Answer: this.g.value.answer,\r\n ipaddress: this.ipAddress,\r\n macaddress: \"ec:aa:a0:2d:dc:67\"\r\n };\r\n this.authService.checkQuestionAnswer(postData).subscribe(\r\n data => {\r\n this.submitted = false;\r\n if (data.statusCode == 0 && data.access_token) this.closeDialog(\"save\");\r\n else this.errorMessage = data.message;\r\n },\r\n error => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n onSubmit() {\r\n this.submitted = true;\r\n // stop here if form is invalid\r\n if (this.securityQuestionForm.invalid) {\r\n return;\r\n }\r\n this.loading = true;\r\n const questionsDataArray = (Object.keys(this.f.value) || []).map(key => {\r\n return {\r\n Id: 0,\r\n QuestionID: key.replace(\"question\", \"\"),\r\n Answer: this.f.value[key]\r\n };\r\n });\r\n\r\n const postData = {\r\n userName: this.authData.username,\r\n password: this.authData.password,\r\n SecurityQuestionList: questionsDataArray,\r\n ipaddress: this.ipAddress,\r\n macaddress: \"ec:aa:a0:2d:dc:67\"\r\n };\r\n this.authService.saveSecurityQuestion(postData).subscribe(\r\n data => {\r\n this.closeDialog(\"save\");\r\n //this.router.navigate([\"/web\"]);\r\n },\r\n error => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n ngOnDestroy() {\r\n if (this.subscription && !this.subscription.closed)\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","module.exports = \"\\r\\nul.ul-user-list {\\r\\n background: #fff;\\r\\n position: relative;\\r\\n top: -17px;\\r\\n height: 135px;\\r\\n overflow: auto;\\r\\n width: 100%;\\r\\n z-index: 1;\\r\\n }\\r\\n \\r\\n ul.ul-user-list li {\\r\\n list-style: none;\\r\\n line-height: 51px;\\r\\n border-bottom: solid 1px #e5e5e5;\\r\\n margin-left: 0px;\\r\\n }\\r\\n \\r\\n ul.ul-user-list li:hover {\\r\\n background: #e5e5e5;\\r\\n cursor: pointer;\\r\\n }\\r\\n \\r\\n .ul-user-list img.profile-pic.img-fluid {\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n border-radius: 50%;\\r\\n padding: 4px;\\r\\n }\\r\\n \\r\\n .btn-radius{\\r\\n border-radius: 10px;\\r\\n font-size: 14px;\\r\\n }\\r\\n \\r\\n .txt-posi{\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n }\\r\\n \\r\\n .btn-posi{\\r\\n position: absolute;\\r\\n right: 65px;\\r\\n bottom: 23px;\\r\\n}\\r\\n \\r\\n .posi-rel{\\r\\n position: relative;\\r\\n}\\r\\n \"","module.exports = \"
\\r\\n

Set Reminder

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Choose Before (Hours)\\r\\n \\r\\n \\r\\n {{hour + ' Hours'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Reminder DateTime\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\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 ,Inject} from '@angular/core';\r\nimport { SetReminderService } from './set-reminder.service'\r\nimport { CancelationRule, SetReminderModal } from './set-reminder.modal'\r\nimport { CommonService } from \"./../../platform/modules/core/services/common.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { debug } from \"util\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\n\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from \"@angular/forms\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\n\r\n@Component({\r\n selector: 'app-set-reminder',\r\n templateUrl: './set-reminder.component.html',\r\n styleUrls: ['./set-reminder.component.css']\r\n})\r\nexport class SetReminderComponent implements OnInit {\r\n headerText: string = \"\";\r\n minDate:any=new Date();\r\n hoursList:number[];\r\n sendUserInvitationForm: FormGroup;\r\n submitted: boolean = false;\r\n private setReminderModal: SetReminderModal;\r\n masterRoles: any;\r\n userList: Array = [];\r\n userExisted: boolean = false;\r\n public userType: any;\r\n userTypes = [{ value: 1, key: \"Internal\" }, { value: 2, key: \"External\" }];\r\n constructor(private setReminderService: SetReminderService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private notifier: NotifierService,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService) {\r\n this.hoursList = [2,4,16,24,48];\r\n this.setReminderModal = new SetReminderModal();\r\n this.userType = this.userTypes.find(x => x.value == 1);\r\n if (\r\n data &&\r\n data.appointmentId &&\r\n +data.appointmentId > 0 &&\r\n data.sessionId &&\r\n +data.sessionId > 0\r\n ) {\r\n this.setReminderModal.appointmentId = data.appointmentId;\r\n this.setReminderModal.sessionId = data.sessionId;\r\n } else {\r\n if (\r\n localStorage.getItem(\"otSession\") &&\r\n localStorage.getItem(\"otSession\") != \"\"\r\n ) {\r\n var response = JSON.parse(\r\n this.commonService.encryptValue(\r\n localStorage.getItem(\"otSession\"),\r\n false\r\n )\r\n );\r\n this.setReminderModal.appointmentId = +response.appointmentId;\r\n this.setReminderModal.sessionId = +response.id;\r\n }\r\n }\r\n const webUrl = window.location.origin;\r\n this.setReminderModal.webRootUrl = `${webUrl}`;\r\n }\r\n \r\n ngOnInit() {\r\n this.sendUserInvitationForm = this.formBuilder.group(\r\n {\r\n staffId: [this.setReminderModal.staffId],\r\n sessionId: [this.setReminderModal.sessionId],\r\n appointmentId: [this.setReminderModal.appointmentId],\r\n webRootUrl: [this.setReminderModal.webRootUrl],\r\n cancelationRules: this.formBuilder.array([]),\r\n \r\n },\r\n { validator: this.validateForm.bind(this) }\r\n );\r\n \r\n this.addCancelationRuleControl(null);\r\n }\r\n addCancelationRuleControl(rule: CancelationRule) {\r\n this.cancelationRulesFormGroup.push(this.getCancelationRulesForm(rule));\r\n }\r\n removeCancelationRuleControl(i) {\r\n this.cancelationRulesFormGroup.removeAt(i);\r\n }\r\n\r\n get cancelationRulesFormGroup() {\r\n return this.sendUserInvitationForm.controls['cancelationRules'] ;\r\n }\r\n\r\n private getCancelationRulesForm(rule:CancelationRule){\r\n return this.formBuilder.group({\r\n hour: [],\r\n reminderDateTime: []\r\n })\r\n }\r\n get formControls() {\r\n return this.sendUserInvitationForm.controls;\r\n }\r\n validateForm(formGroup: FormGroup) {\r\n return null;\r\n }\r\n \r\n onSubmit() {\r\n this.closeDialog(\"save\");\r\n }\r\n addMoreHourOption()\r\n {}\r\n \r\n \r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n \r\n \r\n }\r\n ","export class SetReminderModal {\r\n webRootUrl: string;\r\n sessionId: number;\r\n appointmentId: number;\r\n staffId: number;\r\n cancelationRules : CancelationRule[] =[];\r\n }\r\n\r\n export class CancelationRule {\r\n hour: number;\r\n reminderDateTime: string;\r\n}","import { CommonService } from \"./../../platform/modules/core/services/common.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SetReminderService {\r\n private getStaffDetailsByNameUrl = \"Staffs/GetStaffsByName?name=\";\r\n private getOTSessionByAppointmentIdUrl = \"api/Telehealth/GetOTSessionByApptId?appointmentId=\";\r\n private inviteNewPersonUrl = \"GroupSession/SaveInvitation\";\r\n constructor(private commonService: CommonService) {}\r\n getStaffDetailsByName(name: string = \"\"): Observable {\r\n return this.commonService.getAll(\r\n `${this.getStaffDetailsByNameUrl}${name}`,\r\n {}\r\n );\r\n }\r\n getOTSessionByAppointmentId(apptId: number = 0): Observable {\r\n return this.commonService.getAll(\r\n `${this.getOTSessionByAppointmentIdUrl}${apptId}`,\r\n {}\r\n );\r\n }\r\n inviteNewPerson(data: any): Observable {\r\n return this.commonService.post(`${this.inviteNewPersonUrl}`, data);\r\n }\r\n}\r\n","import { CommonService } from \"./../platform/modules/core/services/common.service\";\r\n//import { TextChatService } from \"./text-chat/text-chat.service\";\r\nimport { AppService } from \"./../app-service.service\";\r\n//import { SubscriberComponent } from \"./../platform/modules/agency-portal/encounter/video-chat/subscriber/subscriber.component\";\r\n//import { PublisherComponent } from \"src/app/platform/modules/agency-portal/encounter/video-chat/publisher/publisher.component\";\r\nimport { DataTableComponent } from \"./data-table/data-table.component\";\r\n\r\nimport { RegisterModelComponent } from \"./register-model/register.component\";\r\nimport { AgencyLoginModelComponent } from \"src/app/shared/login-model/agency-login/agency-login.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { HeaderComponent, FooterComponent, SidebarComponent } from \"./layout\";\r\nimport { SharedService } from \"./shared.service\";\r\nimport { StaffAppointmentComponent } from \"./staff-appointment/staff-appointment.component\";\r\nimport {\r\n MatNativeDateModule,\r\n MatStepperModule,\r\n MAT_DIALOG_DATA,\r\n} from \"@angular/material\";\r\nimport { CancelAppointmentDialogComponent as cancelAppointmentComponent } from \"./../platform/modules/scheduling/scheduler/cancel-appointment-dialog/cancel-appointment-dialog.component\";\r\nimport { AppointmentViewComponent } from \"./../platform/modules/scheduling/appointment-view/appointment-view.component\";\r\nimport { ContextMenuModule } from \"ngx-contextmenu\";\r\nimport {\r\n MatDatetimepickerModule,\r\n MatNativeDatetimeModule,\r\n} from \"@mat-datetimepicker/core\";\r\nimport {\r\n MatCheckboxModule,\r\n MatChip,\r\n MatChipsModule,\r\n MatAutocomplete,\r\n MatAutocompleteModule,\r\n} from \"@angular/material\";\r\n// import { TooltipModule } from 'ng2-tooltip-directive';\r\nimport { SymptomCheckerService } from \"./symptom-checker/symptom-checker.service\";\r\nimport { ViewReportService } from \"./view-report/view-report.service\";\r\nimport { MatVideoModule } from \"mat-video\";\r\nimport { CallNotificationComponent } from \"./call-notification/call-notification.component\";\r\nimport { MailboxService } from \"./../platform/modules/mailing/mailbox.service\";\r\nimport { AngularEditorModule } from \"@kolkov/angular-editor\";\r\nimport {\r\n MatToolbarModule,\r\n MatButtonModule,\r\n MatSidenavModule,\r\n MatIconModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatExpansionModule,\r\n MatTableModule,\r\n MatDialogModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatProgressSpinnerModule,\r\n MatTooltipModule,\r\n MAT_DIALOG_DEFAULT_OPTIONS,\r\n MatDialogRef,\r\n MatSelectModule,\r\n MatSlideToggle,\r\n MatSlideToggleModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatTabsModule,\r\n MatRadioModule,\r\n} from \"@angular/material\";\r\nimport { MenuListItemComponent } from \"./layout/menu-list-item/menu-list-item.component\";\r\nimport { DialogComponent } from \"./layout/dialog/dialog.component\";\r\nimport { NumbersOnlyDirective } from \"./directives/numbers-only.directive\";\r\nimport { DialogService } from \"./layout/dialog/dialog.service\";\r\nimport { StatusPipe } from \"./pipes/status.pipe\";\r\nimport { PhoneNumberDirective } from \"./directives/phone-number.directive\";\r\nimport { SsnDirective } from \"./directives/ssn.directive\";\r\nimport { ZipcodeDirective } from \"./directives/zipcode.directive\";\r\nimport { RateDirective } from \"./directives/rate.directive\";\r\nimport { MrnNumberDirective } from \"./directives/mrn-number.directive\";\r\nimport { SuperAdminHeaderComponent } from \"./layout/super-admin-header.component\";\r\nimport { ScrollbarModule } from \"ngx-scrollbar\";\r\nimport { LineChartComponent } from \"./line-chart/line-chart.component\";\r\nimport { ChartsModule } from \"ng2-charts\";\r\nimport { ClientHeaderLayoutComponent } from \"./layout/client-header-layout/client-header-layout.component\";\r\nimport { SpanPipe } from \"./pipes/span.pipe\";\r\nimport { PasswordValidator } from \"./password-validator\";\r\nimport { ChatWidgetComponent } from \"./chat-widget/chat-widget.component\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { GoogleAddressInputComponent } from \"./controls/google-address-input/google-address-input.component\";\r\nimport { GooglePlaceModule } from \"ngx-google-places-autocomplete\";\r\nimport { InvitationStatusPipe } from \"./pipes/invitation-status.pipe\";\r\nimport { DatePickerComponent } from \"./date-picker/date-picker.component\";\r\nimport { ClientLoginModelComponent } from \"./login-model/client-login/client-login.component\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { AuthenticationService } from \"src/app/platform/modules/auth/auth.service\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { LoginModelComponent } from \"./login-model/login-model.component\";\r\nimport { SecurityQuestionModelComponent } from \"./security-question-model/security-question-model.component\";\r\n//import { MeanVideoComponent } from \"./mean-video/mean-video.component\";\r\nimport { SocketIoConfig, SocketIoModule } from \"ngx-socket-io\";\r\nimport { AppointmentGraphComponent } from \"./appointment-graph/appointment-graph.component\";\r\nimport { BarChartComponent } from \"./bar-chart/bar-chart.component\";\r\nimport { ApproveAppointmentDialogComponent } from \"./approve-appointment-dialog/approve-appointment-dialog.component\";\r\nimport { CancelAppointmentDialogComponent } from \"./cancel-appointment-dialog/cancel-appointment-dialog.component\";\r\nimport { UniquePipe } from \"./pipes/unique.pipe\";\r\nimport { TimeCheckPipe } from \"./pipes/time-check.pipe\";\r\nimport { EncounterPipe } from \"./pipes/encounter.pipe\";\r\nimport { AddNewCallerComponent } from \"./add-new-caller/add-new-caller.component\";\r\nimport { RatingPipe } from \"./pipes/rating.pipe\";\r\nimport { RatingModule } from \"ng-starrating\";\r\nimport { InvitedPendingComponent } from \"./appointment-graph/invited-pending/invited-pending.component\";\r\nimport { InvitedAcceptedComponent } from \"./appointment-graph/invited-accepted/invited-accepted.component\";\r\nimport { InvitedRejectedComponent } from \"./appointment-graph/invited-rejected/invited-rejected.component\";\r\nimport { AcceptRejectAppointmentInvitationComponent } from \"./accept-reject-appointment-invitation/accept-reject-appointment-invitation.component\";\r\nimport { TextChatComponent } from \"./text-chat/text-chat.component\";\r\nimport { TextChatUserNamePipe } from \"./text-chat/text-chat-user-name.pipe\";\r\nimport { TextChatUserImagePipe } from \"./text-chat/text-chat-user-image.pipe\";\r\nimport { CallButtonComponent } from \"./call-button/call-button.component\";\r\nimport { UploadFileComponent } from \"./text-chat/uploadFile/upload-file.component\";\r\nimport { ChatMessagePipe } from \"./pipes/chat-message.pipe\";\r\nimport { TextMessageFormatComponent } from \"./text-chat/text-message-format/text-message-format.component\";\r\nimport { NgxMaskModule, IConfig } from \"ngx-mask\";\r\nimport { SetReminderComponent } from \"./set-reminder/set-reminder.component\";\r\nimport { FrontMaterialModule } from \"src/app/front/front.material.module\";\r\nimport { SymptomCheckerComponent } from \"./symptom-checker/symptom-checker.component\";\r\n\r\nimport { TooltipModule } from \"ng2-tooltip-directive\";\r\nimport { DndModule } from \"ngx-drag-drop\";\r\nimport { DynamicFormControlService } from \"./dynamic-form/dynamic-form-control-service\";\r\nimport { DynamicFormControlComponent } from \"./dynamic-form/dynamic-form-control-component/dynamic-form-control-component\";\r\nimport { DynamicFormComponent } from \"./dynamic-form/dynamic-form-component/dynamic-form.component\";\r\nimport { UrgentCareProviderActionComponent } from \"./urgentcare-provideraction/urgentcare-provideraction.component\";\r\nimport { PatientUrgentCareStatusComponent } from \"./patient-urgentcare-status/patient-urgentcare-status.component\";\r\nimport { CountDownComponent } from \"./count-down/count-down.component\";\r\nimport { VideoConsultationTestModalComponent } from \"./video-consultation-test-modal/video-consultation-test-modal.component\";\r\nimport { AudioRecordingService } from \"./video-consultation-test-modal/audio-recording.service\";\r\nimport { AddPrescriptionComponent } from \"../platform/modules/agency-portal/clients/prescription/prescription-addprescription/prescription-addprescription.component\";\r\nimport { DocViewerComponent } from \"./doc-viewer/doc-viewer.component\";\r\nimport { NgxDocViewerModule } from \"ngx-doc-viewer\";\r\nimport { ViewReportComponent } from \"./view-report/view-report.component\";\r\nimport { FollowupAppointmentComponent } from \"./followup-appointment/followup-appointment.component\";\r\nimport { AppointmentReschedulingDialogComponent } from \"./appointment-rescheduling-dialog/appointment-rescheduling-dialog.component\";\r\nimport { PreponeAppointmentComponent } from \"./prepone-appointment/prepone-appointment.component\";\r\nimport { PostponeAppointmentComponent } from \"./postpone-appointment/postpone-appointment.component\";\r\nimport { UrgentCareListingdialogComponent } from \"./urgentcarelisting-dialog/urgentcarelisting-dialog.component\";\r\nimport { HubConnection } from \"../hubconnection.service\";\r\nimport { BookingTypeModelComponent } from \"./booking-type-model/booking-type-model.component\";\r\nimport { DicomViewerComponent } from \"./dicom-viewer/dicom-viewer.component\";\r\nimport { ClientHeaderComponent } from \"../platform/modules/agency-portal/clients/client-header/client-header.component\";\r\nimport { OtpRequestSendComponent } from \"./appointment-graph/otp-request-send/otp-request-send.component\";\r\nimport { DownloadCertificateComponent } from \"../platform/modules/client-portal/reward-points/download-certificate/download-certificate.component\";\r\nimport { PrescriptionNotesComponent } from \"./appointment-graph/prescription-notes/prescription-notes.component\";\r\nimport { VitalLineChartComponent } from './vital-line-chart/vital-line-chart/vital-line-chart.component';\r\n//import { PrescriptionNotesListComponent } from \"../platform/modules/waiting-room/Prescription/prescription-notes-list/prescription-notes-list.component\";\r\n\r\n//import { NgxDocViewerModule } from \"ngx-doc-viewer\";\r\n// const config: SocketIoConfig = {\r\n// url: \"https://turn.stagingsdei.com:5187\",\r\n// options: {}\r\n// };\r\n\r\nconst maskConfig: Partial = {};\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ContextMenuModule.forRoot({\r\n useBootstrap4: true,\r\n }),\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatAutocompleteModule,\r\n MatDatetimepickerModule,\r\n MatNativeDatetimeModule,\r\n MatToolbarModule,\r\n MatNativeDateModule,\r\n MatStepperModule,\r\n MatInputModule,\r\n FrontMaterialModule,\r\n MatFormFieldModule,\r\n MatSidenavModule,\r\n MatIconModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatExpansionModule,\r\n MatTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatDialogModule,\r\n MatProgressSpinnerModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatSelectModule,\r\n ScrollbarModule,\r\n ChartsModule,\r\n MatSlideToggleModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n GooglePlaceModule,\r\n RouterModule,\r\n MatDatepickerModule,\r\n MatTabsModule,\r\n MatRadioModule,\r\n AngularEditorModule,\r\n MatCheckboxModule,\r\n //SocketIoModule.forRoot(config)\r\n RatingModule,\r\n NgxMaskModule.forRoot(maskConfig),\r\n TooltipModule,\r\n DndModule,\r\n NgxDocViewerModule,\r\n MatVideoModule,\r\n ],\r\n declarations: [\r\n HeaderComponent,\r\n SuperAdminHeaderComponent,\r\n FooterComponent,\r\n SidebarComponent,\r\n MenuListItemComponent,\r\n DataTableComponent,\r\n DialogComponent,\r\n NumbersOnlyDirective,\r\n StatusPipe,\r\n PhoneNumberDirective,\r\n SsnDirective,\r\n ZipcodeDirective,\r\n RateDirective,\r\n MrnNumberDirective,\r\n LineChartComponent,\r\n ClientHeaderLayoutComponent,\r\n SpanPipe,\r\n InvitationStatusPipe,\r\n ChatWidgetComponent,\r\n GoogleAddressInputComponent,\r\n DatePickerComponent,\r\n AgencyLoginModelComponent,\r\n ClientLoginModelComponent,\r\n RegisterModelComponent,\r\n LoginModelComponent,\r\n SecurityQuestionModelComponent,\r\n AppointmentGraphComponent,\r\n BarChartComponent,\r\n StaffAppointmentComponent,\r\n //MeanVideoComponent,\r\n ApproveAppointmentDialogComponent,\r\n CancelAppointmentDialogComponent,\r\n \r\n UniquePipe,\r\n TimeCheckPipe,\r\n EncounterPipe,\r\n AddNewCallerComponent,\r\n InvitedPendingComponent,\r\n InvitedAcceptedComponent,\r\n InvitedRejectedComponent,\r\n AcceptRejectAppointmentInvitationComponent,\r\n //PublisherComponent,\r\n //SubscriberComponent,\r\n RatingPipe,\r\n TextChatComponent,\r\n TextChatUserNamePipe,\r\n TextChatUserImagePipe,\r\n CallButtonComponent,\r\n UrgentCareProviderActionComponent,\r\n UploadFileComponent,\r\n ChatMessagePipe,\r\n TextMessageFormatComponent,\r\n SetReminderComponent,\r\n AppointmentViewComponent,\r\n cancelAppointmentComponent,\r\n SymptomCheckerComponent,\r\n DynamicFormControlComponent,\r\n DynamicFormComponent,\r\n UrgentCareProviderActionComponent,\r\n PatientUrgentCareStatusComponent,\r\n CountDownComponent,\r\n AddPrescriptionComponent,\r\n VideoConsultationTestModalComponent,\r\n DocViewerComponent,\r\n ViewReportComponent,\r\n FollowupAppointmentComponent,\r\n AppointmentReschedulingDialogComponent,\r\n PreponeAppointmentComponent,\r\n PostponeAppointmentComponent,\r\n UrgentCareListingdialogComponent,\r\n CallNotificationComponent,\r\n BookingTypeModelComponent,\r\n ClientHeaderComponent,\r\n DicomViewerComponent,\r\n OtpRequestSendComponent,\r\n DownloadCertificateComponent,\r\n PrescriptionNotesComponent,\r\n VitalLineChartComponent\r\n \r\n ],\r\n providers: [\r\n SharedService,\r\n DialogService,\r\n MailboxService,\r\n SymptomCheckerService,\r\n ViewReportService,\r\n AuthenticationService,\r\n DynamicFormControlService,\r\n HubConnection,\r\n AudioRecordingService,\r\n {\r\n provide: MAT_DIALOG_DATA,\r\n useValue: {\r\n hasBackdrop: true,\r\n disableClose: true,\r\n minWidth: \"55%\",\r\n maxWidth: \"90%\",\r\n },\r\n },\r\n\r\n //CommonService\r\n ],\r\n entryComponents: [\r\n DialogComponent,\r\n ChatWidgetComponent,\r\n ApproveAppointmentDialogComponent,\r\n CancelAppointmentDialogComponent,\r\n AddNewCallerComponent,\r\n SetReminderComponent,\r\n AcceptRejectAppointmentInvitationComponent,\r\n UploadFileComponent,\r\n TextMessageFormatComponent,\r\n StaffAppointmentComponent,\r\n FollowupAppointmentComponent,\r\n AppointmentViewComponent,\r\n cancelAppointmentComponent,\r\n SymptomCheckerComponent,\r\n DynamicFormControlComponent,\r\n DynamicFormComponent,\r\n UrgentCareProviderActionComponent,\r\n PatientUrgentCareStatusComponent,\r\n AddPrescriptionComponent,\r\n VideoConsultationTestModalComponent,\r\n DocViewerComponent,\r\n ViewReportComponent,\r\n AppointmentReschedulingDialogComponent,\r\n PreponeAppointmentComponent,\r\n PostponeAppointmentComponent,\r\n UrgentCareListingdialogComponent,\r\n CallNotificationComponent,\r\n BookingTypeModelComponent,\r\n ClientHeaderComponent,\r\n DicomViewerComponent,\r\n OtpRequestSendComponent,\r\n PrescriptionNotesComponent,\r\n \r\n \r\n ],\r\n exports: [\r\n CommonModule,\r\n MatToolbarModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatSidenavModule,\r\n MatIconModule,\r\n MatListModule,\r\n MatDialogModule,\r\n HeaderComponent,\r\n SuperAdminHeaderComponent,\r\n FooterComponent,\r\n SidebarComponent,\r\n MatTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatProgressSpinnerModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n DataTableComponent,\r\n DialogComponent,\r\n NumbersOnlyDirective,\r\n StatusPipe,\r\n PhoneNumberDirective,\r\n ZipcodeDirective,\r\n SsnDirective,\r\n MrnNumberDirective,\r\n MatSelectModule,\r\n ChartsModule,\r\n LineChartComponent,\r\n ClientHeaderLayoutComponent,\r\n ChatWidgetComponent,\r\n GoogleAddressInputComponent,\r\n RouterModule,\r\n MatDatepickerModule,\r\n MatTabsModule,\r\n AppointmentGraphComponent,\r\n ApproveAppointmentDialogComponent,\r\n CancelAppointmentDialogComponent,\r\n UniquePipe,\r\n TimeCheckPipe,\r\n EncounterPipe,\r\n MatRadioModule,\r\n TextChatComponent,\r\n CallButtonComponent,\r\n UploadFileComponent,\r\n ChatMessagePipe,\r\n TextMessageFormatComponent,\r\n //PublisherComponent,\r\n //SubscriberComponent,\r\n NgxMaskModule,\r\n TooltipModule,\r\n MatCheckboxModule,\r\n DynamicFormControlComponent,\r\n DynamicFormComponent,\r\n CountDownComponent,\r\n AddPrescriptionComponent,\r\n VideoConsultationTestModalComponent,\r\n DocViewerComponent,\r\n NgxDocViewerModule,\r\n ViewReportComponent,\r\n MatVideoModule,\r\n MatChipsModule,\r\n MatAutocompleteModule,\r\n AppointmentReschedulingDialogComponent,\r\n PreponeAppointmentComponent,\r\n PostponeAppointmentComponent,\r\n UrgentCareListingdialogComponent,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n ClientHeaderComponent,\r\n DicomViewerComponent,\r\n DownloadCertificateComponent,\r\n VitalLineChartComponent\r\n ],\r\n})\r\nexport class SharedModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material';\r\nimport { CommonService } from '../platform/modules/core/services';\r\n\r\n@Injectable()\r\nexport class SharedService {\r\n private sidenav: MatSidenav;\r\n\r\n constructor(private commonService: CommonService) { }\r\n\r\n public setSidenav(sidenav: MatSidenav) {\r\n this.sidenav = sidenav;\r\n }\r\n\r\n public open() {\r\n return this.sidenav.open();\r\n }\r\n\r\n\r\n public close() {\r\n return this.sidenav.close();\r\n }\r\n\r\n public toggle(): void {\r\n this.sidenav.toggle();\r\n }\r\n\r\n\r\n\r\n downloadFile(blob: Blob, filetype: string, filename: string) {\r\n\r\n var newBlob = new Blob([blob], { type: filetype });\r\n // IE doesn't allow using a blob object directly as link href\r\n // instead it is necessary to use msSaveOrOpenBlob\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(newBlob);\r\n return;\r\n }\r\n // For other browsers:\r\n // Create a link pointing to the ObjectURL containing the blob.\r\n const data = window.URL.createObjectURL(newBlob);\r\n var link = document.createElement(\"a\");\r\n document.body.appendChild(link);\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(function () {\r\n // For Firefox it is necessary to delay revoking the ObjectURL\r\n document.body.removeChild(link);\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n }\r\n}\r\n","module.exports = \".mat-dialog-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel {\\r\\n border-right: 2px dotted #ddd;\\r\\n}\\r\\n\\r\\n.drpanel-block {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n text-align: center;\\r\\n border-bottom: 2px dotted #ddd;\\r\\n font-family: 'Rafleway', sans-serif;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img {\\r\\n margin: 0px auto;\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n /* display: flex; */\\r\\n /* flex: 0 150; */\\r\\n}\\r\\n\\r\\n.cstm-cross.policy-blk .fa {\\r\\n top: -24px;\\r\\n right: -24px;\\r\\n}\\r\\n\\r\\n.pay-step.hgt-scroll {\\r\\n height: 410px !important;\\r\\n}\\r\\n\\r\\n.drpanel-block .doctor-img .profile-img {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name {\\r\\n font-size: 18px;\\r\\n margin-top: 10px;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-name a {\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.drpanel-block .doc-department {\\r\\n color: #003359;\\r\\n font-size: 14px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\n.rating {\\r\\n list-style: none;\\r\\n margin: 0 0 7px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.rating i {\\r\\n color: #dedfe0;\\r\\n}\\r\\n\\r\\n.rating i.filled {\\r\\n color: #f4c150;\\r\\n}\\r\\n\\r\\n.rating span {\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul {\\r\\n font-size: 13px;\\r\\n list-style: none;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li {\\r\\n margin: 10px 0px;\\r\\n font-weight: 500;\\r\\n display: block;\\r\\n color: #4e4852;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li label {\\r\\n display: block;\\r\\n margin: 0px;\\r\\n line-height: 14px;\\r\\n font-weight: 600;\\r\\n color: #2f2660;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li a {\\r\\n color: #4e4852;\\r\\n}\\r\\n\\r\\n.appt-drpanel .clini-infos ul li span {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.appointment-panel {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.appointment-panel .title {\\r\\n color: #2f2660;\\r\\n font-size: 20px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n padding: 15px;\\r\\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\\r\\n}\\r\\n\\r\\n.appointment-panel small {\\r\\n display: block;\\r\\n color: rgba(0, 0, 0, 0.60);\\r\\n font-size: 14px;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel i {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.appointment-panel i.fa-times {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.appointment-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.book-appt-type {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n align-items: center;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type label {\\r\\n margin: 0px 10px 0px 0px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n width: 135px;\\r\\n}\\r\\n\\r\\n.book-appt-type button {\\r\\n margin-right: 15px;\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 5px;\\r\\n padding: 3px 10px;\\r\\n font-size: 13px;\\r\\n background-color: #fff;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-button label {\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.book-appt-type button.active {\\r\\n background-color: #003359;\\r\\n border-color: #003359;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.book-appointment-slot {\\r\\n border-bottom: solid 1px #d3efec;\\r\\n margin-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n margin-bottom: 10px;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.highlight-dates {\\r\\n background: red;\\r\\n border-radius: 100%;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-content-container {\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n.mat-horizontal-stepper-header:first-child {\\r\\n padding: 0px 24px 0px 0px;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header {\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-step-header:hover,\\r\\n.cdk-focused,\\r\\n.cdk-mouse-focused {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.book-appt-type label.mat-radio-label {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-horizontal-stepper-header-container {\\r\\n padding-bottom: 10px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.book-appt-type .mat-radio-container,\\r\\n.book-appt-type .mat-radio-inner-circle,\\r\\n.book-appt-type .mat-radio-outer-circle {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n\\r\\n.appointment-panel .ng-scrollbar-view {\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.timing-slot li {\\r\\n display: inline;\\r\\n}\\r\\n\\r\\n.timing-slot button {\\r\\n border: 1px solid #63d891;\\r\\n border-radius: 0;\\r\\n display: inline-block;\\r\\n font-size: 15px !important;\\r\\n padding: 5px 10px;\\r\\n height: auto;\\r\\n margin: 5px 10px 5px 0px;\\r\\n line-height: normal;\\r\\n color: #63d891;\\r\\n cursor: pointer;\\r\\n height: 36px !important;\\r\\n}\\r\\n\\r\\n.timing-slot .reserved-slot button:disabled {\\r\\n border-color: #003359;\\r\\n color: #fff;\\r\\n background-color: #003359;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .unavail-slot button:disabled {\\r\\n border-color: rgba(0, 0, 0, 0.2);\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.timing-slot .selected-slot button:disabled {\\r\\n background-color: #63d891;\\r\\n color: #fff;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.indicate-slot {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.indicate-slot label {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label i {\\r\\n color: rgba(0, 0, 0, 0.2);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n.indicate-slot label:first-child,\\r\\n.indicate-slot label:first-child i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(2),\\r\\n.indicate-slot label:nth-child(2) i {\\r\\n color: #63d891;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(3),\\r\\n.indicate-slot label:nth-child(3) i {\\r\\n color: #003359;\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) i {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.indicate-slot label:nth-child(4) {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.app-booked {\\r\\n padding: 20px;\\r\\n margin-top: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.appointment-panel .mat-stepper-horizontal-line {\\r\\n flex: 0;\\r\\n}\\r\\n\\r\\n.pay-step h3 {\\r\\n margin: 0px;\\r\\n font-size: 16px;\\r\\n margin: 10px 0px 0px;\\r\\n line-height: 20px;\\r\\n}\\r\\n\\r\\n.pay-step h6 {\\r\\n font-size: 14px;\\r\\n font-weight: 400;\\r\\n margin: 15px 0px 20px;\\r\\n line-height: 18px;\\r\\n}\\r\\n\\r\\n.fnt-sze {\\r\\n font-size: 14px;\\r\\n margin-right: 12px;\\r\\n margin-left: 5px;\\r\\n}\\r\\n\\r\\n.custom-txtarea textarea.mat-input-element {\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.custom-txtarea label {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.mat-radio-label-content {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.terms-check {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/* .mat-datepicker-content .mat-calendar{\\r\\n width:550px !important;\\r\\n height: auto !important;\\r\\n} */\\r\\n\\r\\n.followupError {\\r\\n color: #f44336;\\r\\n}\\r\\n\\r\\n.hgt-scroll {\\r\\n height: 465px;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n margin-top: 6px;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #2f2660;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 6px 10px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n.cstm-cancel-btn i {\\r\\n color: red !important;\\r\\n}\\r\\n\\r\\n.link-btn.min-w-100 {\\r\\n min-width: 100px;\\r\\n margin-right: auto !important;\\r\\n}\\r\\n\\r\\n.link-btn {\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 120px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 15px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.appointment-panel .appointment-content {\\r\\n padding: 12px 15px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-label {\\r\\n padding-top: 5px !important;\\r\\n padding-bottom: 5px !important;\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell {\\r\\n padding: 15px 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell-content {\\r\\n width: 30px !important;\\r\\n left: 36% !important;\\r\\n font-weight: 600 !important;\\r\\n height: 30px;\\r\\n}\\r\\n\\r\\n/* .appointment-content .mat-calendar-body-today:selected(.mat-calendar-body-selected) {\\r\\n border-color: #f87515;\\r\\n background-color: #f87515;\\r\\n color: #fff;\\r\\n} */\\r\\n\\r\\n.appointment-content .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\r\\n border-color: rgba(0, 0, 0, 0.04);\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-controls {\\r\\n margin: 0 10px !important\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-spacer {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-header {\\r\\n padding: 0px 8px 0 8px !important;\\r\\n background-color: #003359 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-period-button {\\r\\n margin: 0 auto !important;\\r\\n color: #fff !important;\\r\\n font-size: 16px !important;\\r\\n letter-spacing: 3px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-content {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header {\\r\\n background-color: #003359 !important;\\r\\n color: #fff !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header th {\\r\\n font-size: 13px !important;\\r\\n color: #fff !important;\\r\\n padding-bottom: 0;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-card {\\r\\n box-shadow: none !important;\\r\\n padding: 0 !important;\\r\\n border: 1px solid #efefef !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-table-header-divider {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-previous-button {\\r\\n position: absolute !important;\\r\\n left: 0 !important;\\r\\n}\\r\\n\\r\\n.appointment-content .mat-calendar-arrow {\\r\\n border-top-color: #fff !important;\\r\\n}\\r\\n\\r\\n/* scroller hide css */\\r\\n\\r\\n/* .appointment-content .ng-scrollbar-container{\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n.schedule-btn {\\r\\n margin: 15px 0px;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn {\\r\\n border: 1px solid #ccc;\\r\\n background-color: transparent;\\r\\n background-color: #b9b9b9;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.schedule-btn .btn:hover {\\r\\n background-color: #11d3e9;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n.calnedar-dropdown.mat-form-field {\\r\\n width: 0px;\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.schedule-date h3 {\\r\\n margin: 0px;\\r\\n font-weight: 600;\\r\\n font-size: 22px;\\r\\n padding-left: 5px;\\r\\n color: #2f2660;\\r\\n}\\r\\n\\r\\n.hideDiv {\\r\\n visibility: hidden !important;\\r\\n}\\r\\n\\r\\n.cstm-radio-btn .mat-radio-button label {\\r\\n margin-bottom: 0;\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n.receipt {\\r\\n display: flex;\\r\\n width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n\\r\\n.cstm-add {\\r\\n display: block;\\r\\n width: 75%;\\r\\n}\\r\\n\\r\\n.cstm-add input:focus-visible {\\r\\n outline: none !important\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n\\r\\n.receipt-name>div>div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.select-box {\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\n.select-box input {\\r\\n width: 100%;\\r\\n margin: 0 !important;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.circle_loader.page_loader {\\r\\n left: 0%;\\r\\n}\\r\\n\\r\\n.availability-container {\\r\\n padding: 10px;\\r\\n background-color: #f5f5f5;\\r\\n border-radius: 8px;\\r\\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\\r\\n }\\r\\n\\r\\n.loader {\\r\\n margin-top: 20px;\\r\\n }\\r\\n\\r\\n.day-type-selection {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n margin: 15px 0;\\r\\n }\\r\\n\\r\\n.day-type-options {\\r\\n display: inline-flex;\\r\\n gap: 15px;\\r\\n font-size: 1.2em;\\r\\n }\\r\\n\\r\\n.slots-list {\\r\\n margin-top: 20px;\\r\\n }\\r\\n\\r\\n.slot-item {\\r\\n padding: 10px;\\r\\n margin-bottom: 10px;\\r\\n border: 1px solid #e0e0e0;\\r\\n border-radius: 5px;\\r\\n background-color: #fff;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n.slot-time {\\r\\n margin: 0;\\r\\n font-size: 1.1em;\\r\\n }\\r\\n\\r\\n.alert {\\r\\n margin-top: 15px;\\r\\n text-align: center;\\r\\n }\\r\\n\\r\\n.scrollable-slots {\\r\\n /* max-height: 300px; Adjust this height as needed */\\r\\n /* overflow-y: auto; Enable vertical scrolling */\\r\\n border: 1px solid #ddd; /* Optional: Add a border for clarity */\\r\\n padding: 10px; /* Optional: Add padding */\\r\\n margin-top: 10px; /* Optional: Add margin for spacing */\\r\\n}\\r\\n\\r\\n.remove-button {\\r\\n background-color: transparent; /* Transparent background */\\r\\n border: none; /* No border */\\r\\n border-radius: 5px; /* Slightly rounded corners */\\r\\n padding: 5px; /* Add some padding for touch targets */\\r\\n cursor: pointer; /* Pointer cursor */\\r\\n transition: background-color 0.2s, -webkit-transform 0.2s;\\r\\n transition: background-color 0.2s, transform 0.2s;\\r\\n transition: background-color 0.2s, transform 0.2s, -webkit-transform 0.2s; /* Smooth transitions */\\r\\n font-size: 18px; /* Smaller icon size */\\r\\n}\\r\\n\\r\\n.remove-button:hover {\\r\\n background-color: rgba(255, 0, 0, 0.1); /* Light red background on hover */\\r\\n -webkit-transform: scale(1.1);\\r\\n transform: scale(1.1); /* Slightly increase size on hover */\\r\\n}\\r\\n\\r\\n.remove-button i {\\r\\n color: red; /* Red icon color */\\r\\n}\\r\\n\\r\\n.booking-confirmation {\\r\\n text-align: center;\\r\\n padding: 20px;\\r\\n background-color: #f3f3f3;\\r\\n border-radius: 8px;\\r\\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.confirmation-header {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.confirmation-header mat-icon {\\r\\n font-size: 40px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.confirmation-title {\\r\\n font-size: 1.5em;\\r\\n color: #2d6a4f;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.confirmation-message {\\r\\n font-size: 1.1em;\\r\\n color: #333;\\r\\n}\\r\\n\\r\\n.confirmation-details {\\r\\n font-size: 0.95em;\\r\\n color: #555;\\r\\n}\\r\\n\\r\\nbutton {\\r\\n font-size: 1em;\\r\\n padding: 8px 16px;\\r\\n}\\r\\n\\r\\n.appointment-type-group {\\r\\n display: flex;\\r\\n flex-direction: row; /* Ensures the radio buttons are side by side */\\r\\n gap: 20px; /* Adjusts the space between the buttons */\\r\\n align-items: center; /* Aligns items vertically in the middle */\\r\\n }\\r\\n\\r\\n.coming-soon-container {\\r\\n background-color: #f8f9fa; /* Light background for contrast */\\r\\n padding: 20px;\\r\\n border-radius: 8px; /* Rounded corners */\\r\\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */\\r\\n max-width: 600px; /* Limit width */\\r\\n margin: 0 auto; /* Center horizontally */\\r\\n}\\r\\n\\r\\n.coming-soon-title {\\r\\n font-size: 1.5rem; /* Larger font size */\\r\\n color: #343a40; /* Dark color for text */\\r\\n font-weight: bold; /* Bold font */\\r\\n}\\r\\n\\r\\n.coming-soon-description,\\r\\n.coming-soon-note {\\r\\n font-size: 1rem; /* Standard font size */\\r\\n color: #495057; /* Medium color for description */\\r\\n line-height: 1.6; /* Increase line height for readability */\\r\\n}\\r\\n\\r\\n.btn-done {\\r\\n background-color: #007bff; /* Primary button color */\\r\\n color: #ffffff; /* White text for contrast */\\r\\n}\\r\\n\\r\\n.btn-done:hover {\\r\\n background-color: #0056b3; /* Darker color on hover */\\r\\n}\\r\\n\\r\\n.scrollable-card {\\r\\n max-height: 420px; /* Set your desired height */\\r\\n overflow: auto; /* Enable vertical scrolling */\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"doctor\\\"\\r\\n
\\r\\n

{{fullname}}

\\r\\n
{{spl.speciality}}
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n (17)\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • {{userInfo.phoneNumber}}
  • \\r\\n
  • {{userInfo.email}}
  • \\r\\n \\r\\n
  • \\r\\n {{userInfo.payRate | currency:'USD':'symbol-narrow'}}
  • \\r\\n
  • {{userInfo.ftFpayRate | currency:'USD':'symbol-narrow'}}
  • \\r\\n
  • \\r\\n {{userInfo.followUpPayRate | currency:'USD':'symbol-narrow'}}
  • \\r\\n\\r\\n \\r\\n
  • {{userInfo.address}}\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Book an appointment\\r\\n\\r\\n\\r\\n Great please select a date and time, we will also\\r\\n request\\r\\n that\\r\\n you needs to pay to confirm your appointment.\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Company Booking\\r\\n \\r\\n \\r\\n Individual\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{option.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 {{option.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 {{ company.companyName }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ company.companyName }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ patients.firstName+ ' ' + patients.lastName+' '+ '( '+ patients.email\\r\\n + '\\r\\n )'\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Appointment Booked\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Select Date & Time\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ dateInfo.date | date: 'MMM d, yyyy' }}

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

\\r\\n Available from:\\r\\n {{ availability.startTime | date: 'h:mm a' }}\\r\\n to\\r\\n {{ availability.endTime | date: 'h:mm a' }}\\r\\n on\\r\\n {{ availability.dayName }}\\r\\n

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

\\r\\n Available from:\\r\\n {{ availability.startTime | date: 'h:mm a' }}\\r\\n to\\r\\n {{ availability.endTime | date: 'h:mm a' }}\\r\\n on\\r\\n {{ availability.dayName }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
Provider is not available on\\r\\n this\\r\\n date.\\r\\n Please choose another 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
Provider is not available on this\\r\\n date.\\r\\n Please choose\\r\\n another date.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
    \\r\\n
  • {{slot.startTimeftm}}\\r\\n to\\r\\n {{slot.endTimeftm}}
  • \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n Book\\r\\n
Please select appointment slot first to book\\r\\n in\\r\\n previous\\r\\n step, then pay here.\\r\\n
\\r\\n
\\r\\n
\\r\\n

You are requesting a booking with {{FirstName + ' ' +\\r\\n LastName\\r\\n }}{{\\\" \\\"}}\\r\\n
on {{confirmation.date | date:'fullDate'}} between\\r\\n {{confirmation.startTime}} to\\r\\n {{confirmation.endTime}}\\r\\n

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

You are requesting a booking with {{PatientFirstname +\\r\\n ' '\\r\\n +\\r\\n PatientLast}}{{\\\" \\\"}}\\r\\n
on {{confirmation.date | date:'fullDate'}} between\\r\\n {{confirmation.startTime}} to\\r\\n {{confirmation.endTime}}\\r\\n

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

You are requesting a booking with {{PatientFirstname +\\r\\n ' '\\r\\n +\\r\\n PatientLast}}{{\\\" \\\"}}\\r\\n
on {{confirmation.date | date:'fullDate'}} between\\r\\n {{confirmation.startTime}} to\\r\\n {{confirmation.endTime}}\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n
We will send you an email with a booking confirmation.
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{type}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{mode}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n

\\r\\n \\r\\n {{file.fileName}}\\r\\n 134 kb\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{fts.label}}\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n You\\r\\n do not have any previous appointment within allowed\\r\\n days..\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Thank you

\\r\\n

Your appointment has been successfully booked with
{{FirstName + ' '\\r\\n +\\r\\n LastName}} on {{confirmation.date |\\r\\n date:'fullDate'}} between {{confirmation.startTime}} to {{confirmation.endTime}}.\\r\\n

\\r\\n

Please check your email for further assistance. We will contact you as\\r\\n soon\\r\\n as\\r\\n possible.

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

Thank you

\\r\\n

Your appointment has been successfully booked with
{{PatientFirstname\\r\\n +'\\r\\n '+\\r\\n PatientLast}} on {{confirmation.date |\\r\\n date:'fullDate'}} between {{confirmation.startTime}} to {{confirmation.endTime}}.\\r\\n

\\r\\n

Please check your email for further assistance. We will contact you as\\r\\n soon\\r\\n as\\r\\n possible.

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

Thank you

\\r\\n

Your appointment has been successfully booked with
{{PatientFirstname\\r\\n +'\\r\\n '+\\r\\n PatientLast}} on {{confirmation.date |\\r\\n date:'fullDate'}} between {{confirmation.startTime}} to {{confirmation.endTime}}.\\r\\n

\\r\\n

Please check your email for further assistance. We will contact you as\\r\\n soon\\r\\n as\\r\\n possible.

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

Company Appointment

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

Your company appointment has been successfully booked.

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

Coming Soon: Additional Health Sessions

\\r\\n

\\r\\n Soon, you will be able to book additional sessions with your Health Consultants directly through the\\r\\n LetsBe App! Need extra support? You’ll have the option to secure personalised sessions for even more\\r\\n tailored guidance.\\r\\n

\\r\\n

\\r\\n Stay tuned for our upcoming payment integration, making it easier than ever to take control of your\\r\\n well-being.\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\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 { debug } from \"util\";\r\nimport { state } from \"@angular/animations\";\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { AppointmentModel } from \"./../../platform/modules/scheduling/scheduler/scheduler.model\";\r\n\r\n//import { ClientsService } from \"src/app/platform/modules/agency-portal/clients/clients.service\";\r\nimport { UsersService } from \"src/app/platform/modules/agency-portal/users/users.service\";\r\nimport { isatty } from \"tty\";\r\nimport { userInfo } from \"os\";\r\nimport { MatSelect, MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatAutocomplete, MatChipInputEvent, MatAutocompleteSelectedEvent } from \"@angular/material\";\r\n\r\nimport { FollowupAppointmentComponent } from './../followup-appointment/followup-appointment.component'\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Inject,\r\n Renderer2,\r\n ViewChild,\r\n ElementRef\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport {\r\n StaffAward,\r\n StaffQualification,\r\n StaffExperience\r\n} from \"src/app/front/doctor-profile/doctor-profile.model\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { format, getHours, getMinutes } from \"date-fns\";\r\nimport { map, startWith, switchMap } from \"rxjs/operators\";\r\nimport { ResponseModel } from \"src/app/platform/modules/core/modals/common-model\";\r\nimport { DatePipe, DOCUMENT } from \"@angular/common\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\nimport { AddUserDocumentComponent } from \"src/app/platform/modules/agency-portal/users/user-documents/add-user-document/add-user-document.component\";\r\nimport { TermsConditionModalComponent } from \"../../front/terms-conditions/terms-conditions.component\";\r\nimport { SaveDocumentComponent } from \"../../front/save-document/save-document.component\";\r\nimport { ManageFeesRefundsModel } from \"src/app/platform/modules/agency-portal/Payments/payment.models\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { SymptomCheckerService } from \"../symptom-checker/symptom-checker.service\";\r\nimport * as getDate from \"date-fns/get_date\";\r\nimport { StaffAvailabilityModel } from \"src/app/platform/modules/agency-portal/users/staff-availability.model\";\r\nimport { DateSlot } from \"./date-slot\";\r\n//import { StripeToken, StripeSource } from \"stripe-angular\";\r\n\r\nconst getDateTimeString = (date: string, time: string): string => {\r\n const y = new Date(date).getFullYear(),\r\n m = new Date(date).getMonth(),\r\n d = new Date(date).getDate(),\r\n splitTime = time.split(\":\"),\r\n hours = parseInt(splitTime[0] || \"0\", 10),\r\n minutes = parseInt(splitTime[1].substring(0, 2) || \"0\", 10),\r\n meridiem = splitTime[1].substring(3, 5) || \"\",\r\n updatedHours =\r\n (meridiem || \"\").toUpperCase() === \"PM\" && hours != 12\r\n ? hours + 12\r\n : hours;\r\n\r\n const startDateTime = new Date(y, m, d, updatedHours, minutes);\r\n\r\n return format(startDateTime, \"YYYY-MM-DDTHH:mm:ss\");\r\n};\r\n@Component({\r\n selector: \"app-staff-appointment\",\r\n templateUrl: \"./staff-appointment.component.html\",\r\n styleUrls: [\"./staff-appointment.component.css\"],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StaffAppointmentComponent implements OnInit {\r\n bookingType: string = '';\r\n selectedDatesWithSlots: DateSlot[] = [];\r\n submitted: boolean = false;\r\n isSelf: boolean = true\r\n disableRadio: boolean = false;\r\n appointment: AppointmentModel;\r\n todayDate: Date = new Date();\r\n selectedOfficeStaffs: Array;\r\n selectedOfficeClients: Array;\r\n selectedProvider: any;\r\n currentNotes: any;\r\n choices: any[] = [{ id: \"1\", label: \"Member\", \"checked\": true }];\r\n // { id: \"2\", label: \"Referral\", \"checked\": false };\r\n selectedClient: any;\r\n isShow: boolean = false;\r\n isLinear = false;\r\n payMode: Boolean = false;\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n thirdFormGroup: FormGroup;\r\n userInfo: any;\r\n fullname: string;\r\n staffAwards: Array = [];\r\n staffQualifications: Array = [];\r\n existingAvailabilities: Array = [];\r\n staffExperiences: Array = [];\r\n staffTaxonomy: any[] = [];\r\n tabs: any = [];\r\n staffSpecialities: any[] = [];\r\n staffServices: any[] = [];\r\n loaderImage = '../../../assets/loader.gif';\r\n staffId: number;\r\n providerId: string;\r\n patientId: number;\r\n userRoleName: string;\r\n lastFollowupData: any;\r\n isBookingSoon: boolean;\r\n lastFollowup: any;\r\n // appointmenType: any = [\"New\", \"Followup\", \"Free\"];\r\n //appointmenType: any = [\"New\", \"Free\"];\r\n appointmenType: any = [\"New\", \"Follow-up\"];\r\n appointmentMode: any = [\"Online\", \"In-Person\"];\r\n //appointmentMode: any = [\"Online\", \"Face to Face\"];\r\n confirmation: any = { type: \"New\", mode: \"Online\" };\r\n providerAvailiabilitySlots: any = [];\r\n patientAppointments: any;\r\n staffAvailability: any;\r\n locationId: number;\r\n showLoader: boolean = false;\r\n providerAvailableDates: any = [];\r\n providerNotAvailableDates: any = [];\r\n\r\n masterPatientLocation: Array;\r\n masterStaffs: Array;\r\n masterAddressTypes: Array;\r\n officeAndPatientLocations: Array;\r\n masterAppointmentTypes: Array;\r\n Organization: any;\r\n patientEmail: string;\r\n paymentToken: string = \"\";\r\n Message: any;\r\n IsPreviousFollowup: boolean = false;\r\n isNewAppointment: boolean = false;\r\n isNotBooked: boolean;\r\n isCompanyBooking: boolean;\r\n loading: boolean = false;\r\n //Notes: string = \"\";\r\n appointmentId: number = 0;\r\n fileList: any = [];\r\n dataURL: any;\r\n officeStaffs: Array;\r\n officeClients: Array;\r\n isClientLogin: boolean;\r\n isAdminLogin: boolean;\r\n newfollowupfees: boolean = false;\r\n feeSettings: ManageFeesRefundsModel;\r\n hasPreviousNewMeeting = false;\r\n userControl = new FormControl();\r\n filteredSymptoms$: Observable;\r\n symptoms: any = [];\r\n selectedDayType: string; // Default to Full Day\r\n filteredAvailabilitySlots: any[] = []; // Filtered list based on Full/Half Day selection\r\n\r\n showselecttermscondition: boolean = false;\r\n istermsconditionchecked: boolean = false;\r\n submit: boolean = false;\r\n\r\n @ViewChild('userInput') userInput: ElementRef;\r\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\r\n loader: boolean = false;\r\n interval: any;\r\n Comapnies: any[];\r\n patient: any[];\r\n AvailableCareGiver: any[];\r\n AvailableCompanies: any[];\r\n patientdata: any;\r\n selectedDate: Date;\r\n filteredOfficeStaffs: any[];\r\n filteredOfficeClients: any[];\r\n Noslotavailable: boolean;\r\n selectedDates: any[];\r\n //selectedDatesWithSlots: { date: Date, fullDaySlots: any[], halfDaySlots: any[], selectedDayType: string }[] = [];\r\n filteredAvailabilitySlotsFullDay: any[];\r\n filteredAvailabilitySlotsHalfDay: any[];\r\n newendDateTime: Date;\r\n matchingSlot: any;\r\n formattedStartTimeFromSlot: string;\r\n formattedStartTimeFromDay: string;\r\n formattedEndTimeFromSlots: string;\r\n formattedEndTimeFromDays: string;\r\n\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogModalRef: MatDialogRef,\r\n private _formBuilder: FormBuilder,\r\n private homeService: HomeService,\r\n private commonService: CommonService,\r\n private notifierService: NotifierService,\r\n private usersService: UsersService,\r\n private schedulerService: SchedulerService,\r\n private datePipe: DatePipe,\r\n private renderer2: Renderer2,\r\n private dialogModal: MatDialog,\r\n private userService: UsersService,\r\n private notifier: NotifierService,\r\n private symptomCheckerService: SymptomCheckerService,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n this.officeStaffs = [];\r\n this.selectedOfficeStaffs = [];\r\n this.selectedOfficeClients = [];\r\n this.Comapnies = [];\r\n this.patient = [];\r\n this.officeClients = [];\r\n\r\n this.userInfo = data.userInfo;\r\n this.locationId = data.locationId;\r\n this.providerId = data.staffId;\r\n this.staffId = data.staffId;\r\n this.appointmentId = data.appointmentId,\r\n this.patientId = data.patientId\r\n this.currentNotes = data.currentNotes;\r\n\r\n this.isNewAppointment = data.isNewAppointment;\r\n\r\n dialogModalRef.disableClose = true;\r\n this.masterStaffs = [];\r\n this.masterPatientLocation = [];\r\n this.masterAppointmentTypes = [];\r\n this.masterAddressTypes = [];\r\n this.officeAndPatientLocations = [];\r\n this.filteredOfficeStaffs = []\r\n this.filteredSymptoms$ = this.userControl.valueChanges\r\n\r\n\r\n .pipe(\r\n startWith(''),\r\n // use switch map so as to cancel previous subscribed events, before creating new once\r\n switchMap(value => {\r\n if (value != null && typeof (value) == \"string\") {\r\n if (value.length > 2) {\r\n return this.getPatientSymptoms(value).pipe()\r\n } else {\r\n // if no value is present, return null\r\n return of(null);\r\n }\r\n }\r\n else return of(null);\r\n })\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.loading = true;\r\n this.Message = null;\r\n this.isNotBooked = true;\r\n this.isBookingSoon = true;\r\n this.isCompanyBooking = true\r\n this.homeService.getOrganizationDetail().subscribe(response => {\r\n if (response.statusCode == 200) {\r\n this.Organization = response.data;\r\n }\r\n });\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userRoleName =\r\n (user.data.users3 && user.data.users3.userRoles.userType || \"\").toUpperCase();\r\n this.isClientLogin = this.userRoleName === \"CLIENT\";\r\n this.isAdminLogin = this.userRoleName === \"ADMIN\";\r\n\r\n\r\n if (this.userRoleName === \"CLIENT\") {\r\n this.patientEmail = user.patientData.email;\r\n }\r\n }\r\n });\r\n\r\n // this.setAppointmentParameters();\r\n const s = this.renderer2.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n this.firstFormGroup = this._formBuilder.group({\r\n appointmentDate: [\"\", Validators.required],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: [\"\", Validators.required]\r\n });\r\n this.thirdFormGroup = this._formBuilder.group({\r\n Notes: [\"\"],\r\n startTime: [\"\", Validators.required],\r\n endTime: [\"\", Validators.required]\r\n });\r\n\r\n\r\n if (this.providerId != \"\") {\r\n this.getStaffDetail();\r\n this.getLastNewAppointment(this.providerId);\r\n }\r\n else {\r\n this.bindStaffProfile();\r\n }\r\n this.fetchStaffsAndPatients()\r\n this.getcompany()\r\n // this.getPatientById()\r\n\r\n\r\n if (this.isAdminLogin && this.isNewAppointment) {\r\n this.providerId = '0';\r\n this.staffId = 0;\r\n this.patientId = 0;\r\n }\r\n //this.filterAvailabilitySlots();\r\n }\r\n\r\n formattedEndTimeFromSlot: string | undefined;\r\n formattedEndTimeFromDay: string | undefined;\r\n\r\n onDateChange1(event: any) {\r\n const curDate = this.datePipe.transform(new Date(), 'yyyy-MM-dd');\r\n const selDate = this.datePipe.transform(event, 'yyyy-MM-dd');\r\n\r\n const curDate1 = new Date(); // Current date\r\n const selDate1 = new Date(event); // Selected date\r\n\r\n // Calculate the difference in milliseconds\r\n const diffTime = selDate1.getTime() - curDate1.getTime();\r\n\r\n // Convert the difference to days\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n\r\n if (diffDays < 7 && diffDays >= 0) {\r\n this.notifierService.notify(\"error\", \"The booking should be made 7 days prior to the appointment date.\");\r\n return;\r\n }\r\n\r\n if (this.bookingType === 'company' && (this.selectedCompanyName == null || this.staffId === 0)) {\r\n this.notifierService.notify(\"error\", \"Please select both provider and company\");\r\n return;\r\n }\r\n\r\n if (selDate < curDate) {\r\n this.notifierService.notify(\"error\", \"Appointment cannot be set for past date\");\r\n return;\r\n }\r\n\r\n // Set the currently selected date\r\n this.selectedDate = new Date(event);\r\n let dayName = this.getDayName(this.selectedDate);\r\n\r\n // Fetch provider availability\r\n this.loader = true;\r\n this.usersService.getStaffAvailabilityByLocation(this.staffId, this.locationId).subscribe((response: ResponseModel) => {\r\n if (response.statusCode === 200) {\r\n this.loader = false;\r\n \r\n // Check if the selected date has available slots\r\n const matchingSlots = response.data.available.filter(slot => {\r\n const slotDate = this.datePipe.transform(new Date(slot.date), 'yyyy-MM-dd');\r\n return slotDate === selDate;\r\n });\r\n \r\n // Get the last slot from the filtered results\r\n const lastMatchingSlot = matchingSlots.length > 0 ? matchingSlots[matchingSlots.length - 1] : null;\r\n \r\n if (lastMatchingSlot) {\r\n // Initialize variables to hold formatted times\r\n this.formattedStartTimeFromSlot = this.datePipe.transform(lastMatchingSlot.startTime, 'h:mm a');\r\n this.formattedEndTimeFromSlot = this.datePipe.transform(lastMatchingSlot.endTime, 'h:mm a');\r\n this.formattedEndTimeFromSlots = this.datePipe.transform(new Date(lastMatchingSlot.endTime), 'yyyy-MM-ddTHH:mm:ss');\r\n \r\n // Retrieve full-day availability\r\n const dayAvailability = response.data.days.find(day => day.dayName === dayName);\r\n if (dayAvailability) {\r\n this.formattedStartTimeFromDay = this.datePipe.transform(dayAvailability.startTime, 'h:mm a');\r\n this.formattedEndTimeFromDay = this.datePipe.transform(dayAvailability.endTime, 'h:mm a');\r\n this.formattedEndTimeFromDays = this.datePipe.transform(new Date(dayAvailability.endTime), 'yyyy-MM-ddTHH:mm:ss');\r\n }\r\n \r\n // Construct provider availability slots\r\n this.providerAvailiabilitySlots = [\r\n {\r\n startTime: this.formattedEndTimeFromSlots,\r\n endTime: this.formattedEndTimeFromDays\r\n }\r\n ];\r\n \r\n // Check if slot times indicate no availability\r\n if (this.formattedEndTimeFromSlots === this.formattedEndTimeFromDays) {\r\n this.notifierService.notify(\"error\", \"Provider is not available on this date\");\r\n return;\r\n }\r\n \r\n // Update selectedDatesWithSlots\r\n this.filterAvailabilitySlots();\r\n \r\n // Log for debugging\r\n console.log(`Start Slot: ${this.formattedStartTimeFromSlot}, End Slot: ${this.formattedEndTimeFromSlot}`);\r\n console.log(\"Full-day Start:\", this.formattedStartTimeFromDay, \"Full-day End:\", this.formattedEndTimeFromDay);\r\n console.log(\"Selected Dates with Slots:\", this.selectedDatesWithSlots);\r\n } else {\r\n // Handle when no slot is available\r\n this.providerAvailiabilitySlots = response.data.days.filter(day => day.dayName === dayName);\r\n this.Noslotavailable = this.providerAvailiabilitySlots.length === 0;\r\n \r\n if (!this.Noslotavailable) {\r\n this.filterAvailabilitySlots();\r\n }\r\n \r\n // Check for existing date entry and update if necessary\r\n const existingDateInfoIndex = this.selectedDatesWithSlots.findIndex(dateInfo =>\r\n new Date(dateInfo.date).getTime() === new Date(this.selectedDate).getTime()\r\n );\r\n \r\n if (existingDateInfoIndex !== -1) {\r\n const existingSlots = this.selectedDatesWithSlots[existingDateInfoIndex].slots;\r\n if (JSON.stringify(existingSlots) !== JSON.stringify(this.filteredAvailabilitySlots)) {\r\n this.selectedDatesWithSlots[existingDateInfoIndex].slots = this.filteredAvailabilitySlots;\r\n }\r\n } else {\r\n this.selectedDatesWithSlots.push({\r\n date: new Date(this.selectedDate),\r\n fullDaySlots: [],\r\n halfDaySlots: [],\r\n selectedDayType: this.selectedDayType,\r\n slots: this.filteredAvailabilitySlots\r\n });\r\n }\r\n \r\n // Available dates after selected date\r\n const availableDatesAfter = response.data.available.filter(slot => {\r\n const slotDate = new Date(slot.date);\r\n return slotDate > selDate1;\r\n });\r\n \r\n console.log(\"Available dates after selected date:\", availableDatesAfter);\r\n console.log(\"All selected dates and slots:\", this.selectedDatesWithSlots);\r\n }\r\n }\r\n });\r\n \r\n \r\n \r\n }\r\n\r\n\r\n onSelectDayType(date, value) {\r\n // Find the selected date in the array and update the selectedDayType\r\n const dateWithSlots = this.selectedDatesWithSlots.find(d => d.date.getTime() === date.getTime());\r\n if (dateWithSlots) {\r\n dateWithSlots.selectedDayType = value;\r\n }\r\n\r\n console.log('Selected Day Type for date', date, ':', value);\r\n setTimeout(() => {\r\n this.showLoader = false;\r\n }, 1000);\r\n }\r\n\r\n // filterAvailabilitySlots() {\r\n // debugger\r\n // if (this.selectedDayType === 'fullDay') {\r\n // // Show all available slots (Full Day)\r\n // this.filteredAvailabilitySlots = this.providerAvailiabilitySlots;\r\n // } else if (this.selectedDayType === 'halfDay') {\r\n // // Filter and adjust slots to show only afternoon slots\r\n // this.filteredAvailabilitySlots = this.providerAvailiabilitySlots.map(slot => {\r\n // const startHour = new Date(slot.startTime).getHours();\r\n\r\n // // If the slot starts before noon, adjust the start time to 12:00 PM (noon)\r\n // if (startHour < 12) {\r\n // return {\r\n // ...slot,\r\n // startTime: new Date(new Date(slot.startTime).setHours(12, 0, 0))\r\n // };\r\n // }\r\n // return slot; // Keep the slot as is if it starts at or after noon\r\n // }).filter(slot => {\r\n // // Ensure that only slots that now start at or after 12 PM are included\r\n // const newStartHour = new Date(slot.startTime).getHours();\r\n // return newStartHour >= 12;\r\n // });\r\n // }\r\n // this.filteredAvailabilitySlots.forEach(slot => {\r\n // slot.startTime = this.datePipe.transform(slot.startTime, 'yyyy-MM-ddTHH:mm:ss');\r\n // slot.endTime = this.datePipe.transform(slot.endTime, 'yyyy-MM-ddTHH:mm:ss');\r\n // });\r\n\r\n\r\n // console.log(\"Endtime\",this.filteredAvailabilitySlots[0].endTime)\r\n // }\r\n filterAvailabilitySlots() {\r\n const fullDaySlots = this.providerAvailiabilitySlots.map(slot => ({\r\n ...slot,\r\n selectedDate: this.selectedDate // Add the selected date to the slot\r\n }));\r\n\r\n const halfDaySlots = this.providerAvailiabilitySlots.map(slot => {\r\n const startTime = new Date(slot.startTime);\r\n const endTime = new Date(slot.endTime);\r\n const availableDurationMs = new Date(endTime).getTime() - new Date(startTime).getTime();\r\n const fourHoursMs = 4 * 60 * 60 * 1000;\r\n\r\n // If the available duration is more than 4 hours, adjust it to 4 hours\r\n if (availableDurationMs > fourHoursMs) {\r\n const adjustedEndTime = new Date(startTime.getTime() + fourHoursMs);\r\n return {\r\n ...slot,\r\n endTime: adjustedEndTime,\r\n selectedDate: this.selectedDate\r\n };\r\n }\r\n\r\n // Keep original if duration is less than or equal to 4 hours\r\n return {\r\n ...slot,\r\n selectedDate: this.selectedDate\r\n };\r\n }).filter(slot => {\r\n // Include only morning slots (before noon) for half-day\r\n const startHour = new Date(slot.startTime).getHours();\r\n return startHour < 12;\r\n });\r\n\r\n // Format times\r\n fullDaySlots.forEach(slot => {\r\n slot.startTime = this.datePipe.transform(slot.startTime, 'yyyy-MM-ddTHH:mm:ss');\r\n slot.endTime = this.datePipe.transform(slot.endTime, 'yyyy-MM-ddTHH:mm:ss');\r\n });\r\n halfDaySlots.forEach(slot => {\r\n slot.startTime = this.datePipe.transform(slot.startTime, 'yyyy-MM-ddTHH:mm:ss');\r\n slot.endTime = this.datePipe.transform(slot.endTime, 'yyyy-MM-ddTHH:mm:ss');\r\n });\r\n\r\n // Check if the selected date already exists in `selectedDatesWithSlots`\r\n const existingDateIndex = this.selectedDatesWithSlots.findIndex(dateInfo => {\r\n return new Date(dateInfo.date).getTime() === new Date(this.selectedDate).getTime();\r\n });\r\n\r\n // Only add the new slots if the date is not already present\r\n if (existingDateIndex === -1) {\r\n this.selectedDatesWithSlots.push({\r\n date: new Date(this.selectedDate), // Ensure date is consistently handled\r\n fullDaySlots: fullDaySlots,\r\n halfDaySlots: halfDaySlots,\r\n selectedDayType: this.selectedDayType, // Store the currently selected day type\r\n slots: []\r\n });\r\n console.log(\"Selected dates with full-day and half-day slots\", this.selectedDatesWithSlots);\r\n } else {\r\n console.log(\"Date already selected, no new slots added.\");\r\n }\r\n }\r\n\r\n Bookappointment() {\r\n\r\n this.loading = true;\r\n\r\n if (this.providerAvailiabilitySlots == null || this.providerAvailiabilitySlots.length === 0) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Provider is not available on this date\"\r\n );\r\n this.loading = false; // Stop loading if no availability\r\n return null;\r\n }\r\n\r\n let avl: Array = [];\r\n\r\n // Assuming selectedDatesWithSlots contains the relevant information for each selected date\r\n let selectedDates = this.selectedDatesWithSlots; // This should reflect the selected dates and their slots\r\n\r\n // Log the selected dates with their slots\r\n console.log('Selected Dates with Slots:', selectedDates);\r\n\r\n // Process each selected date\r\n selectedDates.forEach(dateInfo => {\r\n // For each dateInfo, we need to check the selected day type and grab the respective slots\r\n let relevantSlots = dateInfo.selectedDayType === 'fullDay'\r\n ? dateInfo.fullDaySlots\r\n : dateInfo.halfDaySlots;\r\n const date = new Date(dateInfo.date);\r\n const day = String(date.getDate()).padStart(2, '0'); // Get day with leading zero\r\n const month = date.toLocaleString('en-US', { month: 'short' }); // Get month abbreviation\r\n const year = String(date.getFullYear()).slice(-2); // Get last 2 digits of the year\r\n\r\n // Set the time to \"00:00:00\"\r\n\r\n\r\n // Loop through relevant slots to extract their start and end times\r\n relevantSlots.forEach(slot => {\r\n let availability: any = {};\r\n availability.startTime = slot.startTime; // Assuming these exist\r\n availability.endTime = slot.endTime; // Assuming these exist\r\n availability.staffAvailabilityTypeID = '375036'; // Your specific ID\r\n availability.date = `${day}-${month}-${year} 00:00:00`; // The date from dateInfo\r\n availability.locationId = '156'; // Assuming locationId exists\r\n\r\n // Push only the relevant time fields to available array\r\n avl.push(availability);\r\n });\r\n });\r\n\r\n // Log available array before sending to API\r\n console.log('Available Slots to Send:', avl);\r\n\r\n // Prepare the data with only available start and end times\r\n let data = {\r\n staffID: this.staffId,\r\n locationId: '156',\r\n available: avl, // Pass only startTime and endTime\r\n CompanyId: this.selectedCompanyName\r\n };\r\n\r\n this.submitted = true;\r\n\r\n // Make API call to save staff availability\r\n this.userService.saveStaffAvailabilityforcomapny(data).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n this.loading = false;\r\n if (response != null) {\r\n if (response.statusCode == 200) {\r\n this.isCompanyBooking = false\r\n //this.notifier.notify(\"success\", response.message);\r\n } else {\r\n this.notifier.notify(\"error\", response.message);\r\n //this.isCompanyBooking=false\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n getUniqueDates(dates: any[]): any[] {\r\n const uniqueDatesMap = new Map();\r\n\r\n dates.forEach(dateInfo => {\r\n const formattedDate = this.datePipe.transform(dateInfo.date, 'yyyy-MM-dd');\r\n if (!uniqueDatesMap.has(formattedDate)) {\r\n uniqueDatesMap.set(formattedDate, dateInfo);\r\n }\r\n });\r\n\r\n return Array.from(uniqueDatesMap.values());\r\n }\r\n\r\n removeDate(dateInfo: any): void {\r\n const index = this.selectedDatesWithSlots.findIndex(date => {\r\n return this.datePipe.transform(date.date, 'yyyy-MM-dd') === this.datePipe.transform(dateInfo.date, 'yyyy-MM-dd');\r\n });\r\n\r\n if (index !== -1) {\r\n this.selectedDatesWithSlots.splice(index, 1);\r\n console.log(`Removed date: ${dateInfo.date}`);\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n hideDropDown(value: boolean) {\r\n this.payMode = value;\r\n this.formGroup3.Notes.setValue(this.currentNotes);\r\n }\r\n\r\n /*Stripe Start */\r\n openCheckout() {\r\n this.submit = true\r\n //console.log(\"userinput landing\", this.userInput.nativeElement.value);\r\n // if (this.userInput.nativeElement.value) {\r\n // if (this.istermsconditionchecked) {\r\n let _amount = 0;\r\n if (this.confirmation.type == 'New' && this.confirmation.mode == 'Online') {\r\n _amount = this.userInfo.payRate;\r\n }\r\n else if (this.confirmation.type == 'New' && this.confirmation.mode == 'In-Person') {\r\n _amount = this.userInfo.ftFpayRate;\r\n }\r\n\r\n else if (this.confirmation.type.toLowerCase() == 'follow-up') {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (!_amount || _amount === 0 || _amount == 0.00) {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n } else {\r\n\r\n // var handler = (window).StripeCheckout.configure({\r\n // key: this.Organization.stripeKey,\r\n // locale: \"auto\",\r\n // token: function(token: any) {\r\n\r\n // if (token.id != \"\") {\r\n // localStorage.setItem(\"payment_token\", token.id);\r\n\r\n // }\r\n\r\n // }\r\n // });\r\n this.paymentToken = \"\";\r\n localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // {\r\n this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n // }\r\n\r\n // handler.open({\r\n // name: this.Organization.organizationName,\r\n // description: this.Organization.description,\r\n // image: this.Organization.logo,\r\n // amount: _amount * 100,\r\n // email: this.patientEmail,\r\n // closed: () => {\r\n // this.paymentToken = localStorage.getItem(\"payment_token\");\r\n // localStorage.setItem(\"payment_token\", \"\");\r\n // if (this.paymentToken != \"\")\r\n // this.bookNewAppointment(this.paymentToken, \"Stripe\");\r\n // }\r\n // });\r\n // }\r\n // else {\r\n // this.showselecttermscondition = true;\r\n // }\r\n }\r\n // }\r\n }\r\n\r\n /*Stripe End */\r\n get formGroup1() {\r\n return this.firstFormGroup.controls;\r\n }\r\n get formGroup3() {\r\n return this.thirdFormGroup.controls;\r\n }\r\n\r\n onSlotSelect(slot: any) {\r\n this.confirmation.type = \"New\";\r\n var index = this.providerAvailiabilitySlots.findIndex(\r\n x => x.isSelected == true\r\n );\r\n if (index != -1) {\r\n this.providerAvailiabilitySlots[index].isSelected = false;\r\n this.providerAvailiabilitySlots[index].isAvailable = true;\r\n }\r\n // this.providerAvailiabilitySlots.forEach(slot => {\r\n // slot.isSelected = false;\r\n\r\n // });\r\n this.confirmation.startTime = slot.startTime;\r\n this.confirmation.endTime = slot.endTime;\r\n slot.isSelected = true;\r\n slot.isAvailable = false;\r\n }\r\n\r\n\r\n\r\n getDayName(date: Date): string {\r\n const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\r\n return days[date.getDay()];\r\n }\r\n onSelectAvailability(availability) {\r\n // Log the selected availability to the console (for debugging)\r\n console.log(\"Selected availability:\", availability);\r\n\r\n // Store the selected availability in a variable (or form control)\r\n this.onSelectAvailability = availability;\r\n\r\n // Update the UI or make any necessary changes to reflect the selection\r\n this.providerAvailiabilitySlots.forEach(slot => {\r\n slot.isSelected = (slot === availability); // Mark the selected slot\r\n });\r\n\r\n\r\n }\r\n\r\n selDate: any\r\n onDateChange(event: any) {\r\n var curDate = this.datePipe.transform(new Date(), 'yyyy-MM-dd');\r\n this.selDate = this.datePipe.transform(event, 'yyyy-MM-dd');\r\n\r\n if (this.isNewAppointment && (this.userRoleName == \"ADMIN\" || !this.isSelf) && (this.staffId == 0 || this.patientId == 0)) {\r\n\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Please select both provider and patient\"\r\n );\r\n return null;\r\n }\r\n\r\n if (this.isNewAppointment && (this.userRoleName == \"PROVIDER\" || this.userRoleName == \"STAFF\") && this.patientId == 0) {\r\n\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Please select patient.\"\r\n );\r\n return null;\r\n }\r\n\r\n if (this.selDate < curDate) {\r\n this.notifierService.notify(\r\n \"error\",\r\n \"Appointment cannot be set for past date\"\r\n );\r\n return null;\r\n }\r\n\r\n this.loading = true;\r\n this.disableRadio = true;\r\n this.confirmation.startTime = null;\r\n this.confirmation.endTime = null;\r\n // this.showLoader = true;\r\n this.providerAvailiabilitySlots = [];\r\n this.firstFormGroup.get('appointmentDate').setValue(event);\r\n //let interval = 30;\r\n // let interval = this.userInfo ? this.userInfo.timeInterval : null;\r\n const filterModal = {\r\n locationIds: this.locationId,\r\n // fromDate: format(event.value, \"YYYY-MM-DD\"),\r\n // toDate: format(event.value, \"YYYY-MM-DD\"),\r\n fromDate: format(event, \"YYYY-MM-DD\"),\r\n toDate: format(event, \"YYYY-MM-DD\"),\r\n staffIds: this.staffId,\r\n patientIds: ([]).join(\",\")\r\n };\r\n let clientAppointments: Array = [];\r\n\r\n let currentAvailabilityDay: any;\r\n let currentAvailableDates: Array = [];\r\n let currentUnAvailableDates: Array = [];\r\n let days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\"\r\n ];\r\n // let dayName = days[new Date(event.value).getDay()];\r\n let dayName = days[new Date(event).getDay()];\r\n this.staffAvailability = [];\r\n this.usersService\r\n .getStaffAvailabilityByLocation(this.staffId, this.locationId)\r\n .subscribe((response: ResponseModel) => {\r\n let availibiltyResponse = response;\r\n this.interval = response.data.timeInterval\r\n if (response.statusCode == 200) {\r\n this.schedulerService\r\n .getListData(filterModal)\r\n .subscribe((response: any) => {\r\n // this.showLoader = false;\r\n this.loading = false;\r\n if (response.statusCode == 200) {\r\n this.patientAppointments = response.data.appointments;\r\n this.patientAppointments.forEach(app => {\r\n let obj = {\r\n startTime: app.startDateTime,\r\n endTime: app.endDateTime\r\n };\r\n let timeObj = this.getStartEndTime(obj),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n if (!app.cancelTypeId || app.cancelTypeId == null && app.cancelTypeId == 0) {\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n this.interval\r\n ).forEach(x => {\r\n clientAppointments.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n statusName: app.statusName\r\n });\r\n });\r\n }\r\n });\r\n }\r\n this.staffAvailability = availibiltyResponse.data.days;\r\n this.providerAvailableDates = availibiltyResponse.data.available;\r\n this.providerNotAvailableDates =\r\n availibiltyResponse.data.unavailable;\r\n\r\n //Find day wise availability\r\n currentAvailabilityDay = this.staffAvailability.filter(\r\n x => x.dayName === dayName\r\n );\r\n\r\n //Find date wise availability\r\n if (\r\n this.providerAvailableDates != null &&\r\n this.providerAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates = this.providerAvailableDates.filter(\r\n x =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n );\r\n }\r\n\r\n //find datewise unavailabilty\r\n if (\r\n this.providerNotAvailableDates != null &&\r\n this.providerNotAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates = this.providerNotAvailableDates.filter(\r\n x =>\r\n this.datePipe.transform(new Date(x.date), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n );\r\n }\r\n let slots: Array = [];\r\n let slotsIntervals: Array = [];\r\n let unAvaiabilityIntervalArr: Array = [];\r\n let availDaySlots: Array = [];\r\n let availDateSlots: Array = [];\r\n let unAvailDateSlots: Array = [];\r\n\r\n //let curentTime = this.parseTime(currentDate);\r\n if (\r\n currentAvailabilityDay != null &&\r\n currentAvailabilityDay.length > 0\r\n ) {\r\n\r\n // if (currentUnAvailableDates != null && currentUnAvailableDates.length > 0) {\r\n // for (let a = 0; a < currentAvailabilityDay.length; a++) {\r\n // let start_date = currentAvailabilityDay[a].startTime.split(\"T\");\r\n // let start_date1 = start_date[0];\r\n // let start_date2 = start_date[1];\r\n // let end_date = currentUnAvailableDates[0].endTime.split(\"T\");\r\n // let final_startdate = start_date1 + \"T\" + end_date[1]\r\n // currentAvailabilityDay[a].startTime = final_startdate;\r\n // }\r\n\r\n // }\r\n\r\n\r\n\r\n currentAvailabilityDay.forEach(currentDay => {\r\n let timeObj = this.getStartEndTime(currentDay),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n this.interval\r\n ).forEach(x => {\r\n availDaySlots.push(x);\r\n });\r\n });\r\n }\r\n if (\r\n currentAvailableDates != null &&\r\n currentAvailableDates.length > 0\r\n ) {\r\n currentAvailableDates.forEach(avail => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n this.interval\r\n ).forEach(x => {\r\n availDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (\r\n currentUnAvailableDates != null &&\r\n currentUnAvailableDates.length > 0\r\n ) {\r\n currentUnAvailableDates.forEach(avail => {\r\n let timeObj = this.getStartEndTime(avail),\r\n startTime = timeObj.startTime,\r\n endTime = timeObj.endTime;\r\n\r\n this.calculateTimeSlotRange(\r\n startTime,\r\n endTime,\r\n this.interval\r\n ).forEach(x => {\r\n unAvailDateSlots.push(x);\r\n });\r\n });\r\n }\r\n\r\n if (availDateSlots.length == 0) {\r\n if (availDaySlots.length > 0) {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach(slot => {\r\n const foundIndex = availDaySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDaySlots = availDaySlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n\r\n // var unavailable_start_time=new Date(unAvailDateSlots[0].start_time);\r\n\r\n // //var unavailable_end_time=new Date(unAvailDateSlots[unAvailDateSlots.length].end_time);\r\n // for(let k=0;kformat2){\r\n\r\n // }\r\n // if(format1==format2){\r\n\r\n // }\r\n // }\r\n // }\r\n // }\r\n\r\n\r\n slots = availDaySlots;\r\n }\r\n } else {\r\n if (unAvailDateSlots.length > 0) {\r\n unAvailDateSlots.forEach(slot => {\r\n const foundIndex = availDateSlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n availDateSlots = availDateSlots.filter(\r\n (_, index) => index !== foundIndex\r\n );\r\n }\r\n });\r\n }\r\n slots = availDateSlots;\r\n }\r\n\r\n if (slots.length > 0) {\r\n slots.forEach(x => {\r\n this.providerAvailiabilitySlots.push({\r\n startTime: x.startTime,\r\n endTime: x.endTime,\r\n startTimeftm: x.startTime.replace(\":00\", \"\").replace(\"AM\", \"\").replace(\"PM\", \"\"),\r\n endTimeftm: x.endTime.replace(\":00\", \"\"),\r\n location: \"Max Hospital, Mohali\",\r\n isAvailable: true,\r\n isSelected: false,\r\n isPassed: false,\r\n isReserved: false\r\n });\r\n });\r\n }\r\n if (clientAppointments.length > 0) {\r\n clientAppointments.forEach(slot => {\r\n let status = (slot.statusName as string).toLowerCase();\r\n if ((slot.statusName as string).toLowerCase() != \"cancel\") {\r\n const foundIndex = this.providerAvailiabilitySlots.findIndex(\r\n x =>\r\n x.startTime == slot.startTime &&\r\n x.endTime == slot.endTime\r\n );\r\n if (foundIndex != -1) {\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isAvailable = false;\r\n this.providerAvailiabilitySlots[\r\n foundIndex\r\n ].isReserved = true;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n let currentDate = new Date();\r\n if (\r\n this.datePipe.transform(new Date(currentDate), \"yyyyMMdd\") ===\r\n // this.datePipe.transform(new Date(event.value), \"yyyyMMdd\")\r\n this.datePipe.transform(new Date(event), \"yyyyMMdd\")\r\n ) {\r\n let currentStartHr = currentDate.getHours(),\r\n currentStartMin = currentDate.getMinutes(),\r\n currentTime = currentStartHr * 60 + currentStartMin;\r\n this.providerAvailiabilitySlots.forEach(slot => {\r\n if (slot.isAvailable == true) {\r\n let selStart = slot.startTime.split(\" \");\r\n let selStartTime = selStart[0];\r\n let selStartHr = +selStartTime.split(\":\")[0];\r\n let selHrMin =\r\n selStart[1] == \"AM\"\r\n ? selStartHr * 60\r\n : selStartHr == 12\r\n ? selStartHr * 60\r\n : (selStartHr + 12) * 60;\r\n let selStartMin = +selHrMin + +selStartTime.split(\":\")[1];\r\n\r\n let selEnd = slot.endTime.split(\" \");\r\n let selEndTime = selEnd[0];\r\n let selEndHr = +selEndTime.split(\":\")[0];\r\n let selEndHrMin =\r\n selEnd[1] == \"AM\"\r\n ? selEndHr * 60\r\n : selEndHr == 12 ? selEndHr * 60 : (selEndHr + 12) * 60;\r\n let selEndMin = +selEndHrMin + +selEndTime.split(\":\")[1];\r\n if (\r\n currentTime >= selStartMin &&\r\n (currentTime >= selEndMin || currentTime < selEndMin)\r\n ) {\r\n slot.isPassed = true;\r\n slot.isAvailable = false;\r\n //slots = slots.filter((_, index) => index !== foundIndex);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.notifierService.notify(\"error\", \"Please Set Availability\");\r\n this.closeModal();\r\n }\r\n });\r\n // this.confirmation.date = event.value;\r\n\r\n this.confirmation.date = event;\r\n this.getFollowUpDetail(this.selDate)\r\n }\r\n getFollowUpDetail(appointmentDate: any) {\r\n // var appointmentDate= this.datePipe.transform(this.firstFormGroup.get('appointmentDate').value, 'MM/dd/yyyy');\r\n this.schedulerService.GetLastPatientFollowupWithCurrentPovider(this.patientId.toString(), this.staffId, appointmentDate, true).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n this.lastFollowup = res.data;\r\n if (this.lastFollowup) {\r\n var futureDate = new Date(this.lastFollowup.startDateTime);\r\n futureDate.setDate(futureDate.getDate() + this.userInfo.followUpDays);\r\n // futureDate.setDate(futureDate.getDate() + this.userInfo.followUpDays);\r\n if (futureDate >= new Date())\r\n this.notifierService.notify(\"warning\", \"You can book a followup appointment between dates \" + this.datePipe.transform(this.lastFollowup.startDateTime, \"MM/dd/yyyy\") + ' and ' + this.datePipe.transform(futureDate, \"MM/dd/yyyy\") + ' with discounted price ' + this.userInfo.followUpPayRate);\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n getStartEndTime(obj: any) {\r\n let startDate: Date = new Date(obj.startTime),\r\n endDate: Date = new Date(obj.endTime);\r\n\r\n let slotStartHr = startDate.getHours(),\r\n slotStartMin = startDate.getMinutes(),\r\n slotEndHr = endDate.getHours(),\r\n slotEndMin = endDate.getMinutes(),\r\n startTime = this.parseTime(slotStartHr + \":\" + slotStartMin),\r\n endTime = this.parseTime(slotEndHr + \":\" + slotEndMin);\r\n return { startTime: startTime, endTime: endTime };\r\n }\r\n parseTime(s) {\r\n let c = s.split(\":\");\r\n return parseInt(c[0]) * 60 + parseInt(c[1]);\r\n }\r\n\r\n convertHours(mins: number) {\r\n let hour = Math.floor(mins / 60);\r\n mins = mins % 60;\r\n let time = \"\";\r\n if (this.pad(hour, 2) < 12) {\r\n time = this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" AM\";\r\n } else {\r\n time =\r\n this.pad(hour, 2) == 12\r\n ? this.pad(hour, 2) + \":\" + this.pad(mins, 2) + \" PM\"\r\n : this.pad(hour, 2) - 12 + \":\" + this.pad(mins, 2) + \" PM\";\r\n }\r\n //let converted = this.pad(hour, 2)+':'+this.pad(mins, 2);\r\n return time;\r\n }\r\n\r\n pad(str, max) {\r\n str = str.toString();\r\n return str.length < max ? this.pad(\"0\" + str, max) : str;\r\n }\r\n\r\n calculateTimeSlotRange(\r\n start_time: number,\r\n end_time: number,\r\n interval: number = 60\r\n ) {\r\n let i, formattedStarttime, formattedEndtime;\r\n let time_slots: Array = [];\r\n for (let i = start_time; i <= end_time - interval; i = i + interval) {\r\n formattedStarttime = this.convertHours(i);\r\n formattedEndtime = this.convertHours(i + interval);\r\n time_slots.push({\r\n startTime: formattedStarttime,\r\n endTime: formattedEndtime\r\n });\r\n }\r\n return time_slots;\r\n }\r\n\r\n onTypeChange(type: any) {\r\n\r\n this.loader = true;\r\n this.confirmation.type = type;\r\n this.IsPreviousFollowup = true;\r\n if (type.toLowerCase() == 'follow-up') {\r\n var appointmentDate = this.datePipe.transform(this.firstFormGroup.get('appointmentDate').value, 'MM/dd/yyyy');\r\n this.schedulerService.GetLastPatientFollowupWithCurrentPovider(this.patientId.toString(), this.staffId, appointmentDate, false).subscribe(res => {\r\n\r\n if (res.statusCode == 200) {\r\n this.lastFollowupData = res.data;\r\n if (this.lastFollowupData) {\r\n this.IsPreviousFollowup = true;\r\n }\r\n else {\r\n this.IsPreviousFollowup = false;\r\n }\r\n this.loader = false;\r\n }\r\n });\r\n } else {\r\n this.loader = false;\r\n }\r\n }\r\n openLastFollowup() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(FollowupAppointmentComponent, {\r\n hasBackdrop: true,\r\n width: '70%',\r\n data: {\r\n id: this.lastFollowupData.id,\r\n lastAppointmentStartTime: this.lastFollowupData.startDateTime,\r\n lastAppointmentEndTime: this.lastFollowupData.endDateTime,\r\n notes: this.lastFollowupData.notes,\r\n bookingMode: this.lastFollowupData.bookingMode\r\n\r\n }\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n });\r\n }\r\n onModeChange(mode: any) {\r\n this.confirmation.mode = mode;\r\n }\r\n bindStaffProfile() {\r\n\r\n this.staffAwards = this.userInfo.staffAwardModels;\r\n this.staffExperiences = this.userInfo.staffExperienceModels;\r\n this.staffQualifications = this.userInfo.staffQualificationModels;\r\n this.staffTaxonomy = this.userInfo.staffTaxonomyModel;\r\n this.staffSpecialities = this.userInfo.staffSpecialityModel;\r\n this.staffServices = this.userInfo.staffServicesModels;\r\n this.fullname = this.commonService.getFullName(\r\n this.userInfo.firstName,\r\n this.userInfo.middleName,\r\n this.userInfo.lastName\r\n );\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n this.loading = false;\r\n }\r\n getStaffDetail() {\r\n if (this.providerId != \"\") {\r\n\r\n this.homeService.getProviderDetail(this.providerId).subscribe(res => {\r\n if (res.statusCode == 200) {\r\n\r\n this.userInfo = res.data;\r\n this.bindStaffProfile();\r\n }\r\n });\r\n }\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n bookNewAppointment(tokenId: string, paymentMode: string): any {\r\n\r\n this.submitted = true;\r\n\r\n const patientId = null;\r\n\r\n let _amount = 0;\r\n if (this.confirmation.type == 'New' && this.confirmation.mode == 'Online') {\r\n _amount = this.userInfo.payRate;\r\n }\r\n else if (this.confirmation.type == 'New' && this.confirmation.mode == 'In-Person') {\r\n _amount = this.userInfo.ftFpayRate;\r\n }\r\n else if ((this.confirmation.type.toLowerCase()) == 'follow-up') {\r\n if (!this.IsPreviousFollowup) {\r\n return;\r\n }\r\n _amount = this.userInfo.followUpPayRate;\r\n }\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n const webUrl = window.location.origin;\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: this.patientId,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n //IsTelehealthAppointment: true,\r\n IsTelehealthAppointment: this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n //Notes: this.formGroup3.Notes.value,\r\n Notes: this.userControl.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n //PayRate: this.userInfo.payRate,\r\n PayRate: _amount,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n StatusId: 1,\r\n paymentURL: `${webUrl}/web/new-payment`,\r\n\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n if (this.isNewAppointment) {\r\n this.createAppointmentFromPatientPortal(appointmentData[0]);\r\n } else {\r\n const rescheduleData = [\r\n {\r\n AppointmentId: this.appointmentId,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n )\r\n }]\r\n this.RescheduleAppointment(rescheduleData[0]);\r\n }\r\n }\r\n createAppointmentFromPatientPortal(appointmentData: any) {\r\n\r\n this.schedulerService\r\n .bookNewAppointmentFromPatientPortal(appointmentData)\r\n .subscribe(response => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n this.saveDocuments(response.data);\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n RescheduleAppointment(appointmentData: any) {\r\n\r\n this.schedulerService\r\n .RescheduleAppointment(appointmentData)\r\n .subscribe(response => {\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully Rescheduled, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n\r\n } else {\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n bookNewFreeAppointment(tokenId: string, paymentMode: string): any {\r\n this.submitted = true;\r\n\r\n const patientId = null;\r\n // selectedPatientId && typeof selectedPatientId === \"object\"\r\n // ? selectedPatientId.id\r\n // : null;\r\n //this.recurrenceRule = this.appointmentId ? \"\" : this.recurrenceRule;\r\n\r\n if (this.locationId == 0) {\r\n // this.locationId = this.userInfo.staffLocationList.find(\r\n // x => x.isDefault === true\r\n // ).id;\r\n this.locationId = 156;\r\n }\r\n const webUrl = window.location.origin;\r\n const appointmentData = [\r\n {\r\n PatientAppointmentId: null,\r\n AppointmentTypeID: null,\r\n AppointmentStaffs: [{ StaffId: this.staffId }],\r\n PatientID: this.patientId,\r\n ServiceLocationID: this.locationId || null,\r\n StartDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.startTime\r\n ),\r\n EndDateTime: getDateTimeString(\r\n this.confirmation.date,\r\n this.confirmation.endTime\r\n ),\r\n // IsTelehealthAppointment: true,\r\n IsTelehealthAppointment: this.confirmation.mode == \"Online\" ? true : false,\r\n IsExcludedFromMileage: true,\r\n IsDirectService: true,\r\n Mileage: null,\r\n DriveTime: null,\r\n latitude: 0,\r\n longitude: 0,\r\n Notes: this.formGroup3.Notes.value,\r\n IsRecurrence: false,\r\n RecurrenceRule: null,\r\n Mode: this.confirmation.mode,\r\n Type: this.confirmation.type,\r\n // PayRate: this.userInfo.payRate,\r\n // PayRate: this.confirmation.mode==\"Online\"?this.userInfo.payRate:this.userInfo.ftFpayRate ,\r\n PayRate: 0.00,\r\n PaymentToken: tokenId,\r\n PaymentMode: paymentMode,\r\n IsBillable: true,\r\n paymentURL: `${webUrl}/web/new-payment`,\r\n UserId: this.userInfo.UserId,\r\n IsFreeappointment: false,\r\n IsPaidAppointment: true,\r\n }\r\n ];\r\n const queryParams = {\r\n IsFinish: !appointmentData[0].RecurrenceRule,\r\n isAdmin: false\r\n };\r\n\r\n this.createFreeAppointmentFromPatientPortal(appointmentData[0]);\r\n }\r\n createFreeAppointmentFromPatientPortal(appointmentData: any) {\r\n this.schedulerService\r\n .bookNewFreeAppointmentFromPatientPortal(appointmentData, Number(this.userInfo.userID), this.isSelf)\r\n .subscribe(response => {\r\n\r\n this.submitted = false;\r\n if (response.statusCode === 200) {\r\n\r\n this.isNotBooked = false;\r\n //this.notifierService.notify(\"success\", response.message);\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Thank you, Your appointment has been successfully booked with us, please contact administation for further assistance.\",\r\n imgSrc: \"../assets/img/user-success-icon.png\"\r\n };\r\n //this.dialogModalRef.close(\"SAVE\");\r\n // this.saveDocuments(response.data);\r\n } else if (response.statusCode === 404) {\r\n this.isBookingSoon = false;\r\n // this.dialogService.confirm('For additional session, there will be an additional cost of MUR XXXX. Would you like to proceed?').subscribe((result: any) => {\r\n // if (result == true) {\r\n // this.bookNewFreeAppointment(\"\", \"paid\");\r\n // }\r\n // });\r\n //this.isBookingSoon=true\r\n this.Message = {\r\n title: \"Success!\",\r\n message:\r\n \"Additional Booking coming soon\",\r\n imgSrc: \"../assets/img/user-success-icon.png\",\r\n };\r\n } else {\r\n\r\n this.notifierService.notify(\"error\", response.message);\r\n }\r\n });\r\n }\r\n\r\n openfreeapptCheckout() {\r\n this.bookNewFreeAppointment(\"\", \"Free\");\r\n }\r\n\r\n createModal() {\r\n\r\n let documentModal;\r\n documentModal = this.dialogModal.open(SaveDocumentComponent, { data: 0 })\r\n documentModal.afterClosed().subscribe((result: string) => {\r\n // if (result == 'save')\r\n // this.getUserDocuments();\r\n });\r\n }\r\n termsandconditionchecked(event) {\r\n\r\n if (event.checked) {\r\n this.istermsconditionchecked = true;\r\n this.opentermconditionmodal();\r\n this.showselecttermscondition = false;\r\n } else {\r\n this.istermsconditionchecked = false;\r\n }\r\n }\r\n opentermconditionmodal() {\r\n let dbModal;\r\n dbModal = this.dialogModal.open(TermsConditionModalComponent, {\r\n hasBackdrop: true,\r\n width: '70%'\r\n });\r\n dbModal.afterClosed().subscribe((result: string) => {\r\n if (result != null && result != \"close\") {\r\n\r\n }\r\n });\r\n }\r\n\r\n handleImageChange(e) {\r\n //if (this.commonService.isValidFileType(e.target.files[0].name, \"image\")) {\r\n let fileExtension = e.target.files[0].name.split('.').pop().toLowerCase();\r\n var input = e.target;\r\n var reader = new FileReader();\r\n reader.onload = () => {\r\n this.dataURL = reader.result;\r\n this.fileList.push({\r\n data: this.dataURL,\r\n ext: fileExtension,\r\n fileName: e.target.files[0].name\r\n });\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n // }\r\n // else\r\n // this.notifier.notify('error', \"Please select valid file type\");\r\n }\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n }\r\n\r\n saveDocuments(apptId: number) {\r\n ///Please chnage this API to avoid loops\r\n\r\n if (this.fileList.length > 0) {\r\n let formValues = {\r\n base64: this.fileList,\r\n documentTitle: \"Document\",\r\n documentTypeIdStaff: 225,\r\n expiration: \"\",\r\n key: \"STAFF\",\r\n otherDocumentType: \"\",\r\n userId: 0,\r\n patientAppointmentId: apptId\r\n }\r\n let dic = [];\r\n formValues.base64.forEach((element, index) => {\r\n dic.push(`\"${element.data.replace(/^data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/, '')}\": \"${element.ext}\"`);\r\n });\r\n let newObj = dic.reduce((acc, cur, index) => {\r\n acc[index] = cur;\r\n return acc;\r\n }, {})\r\n formValues.base64 = newObj;\r\n this.submitted = true;\r\n this.userService.uploadUserDocuments(formValues).subscribe((response: ResponseModel) => {\r\n this.submitted = false;\r\n if (response != null && response.statusCode == 200) {\r\n\r\n //this.notifier.notify('success', response.message);\r\n //this.closeDialog(\"save\");\r\n }\r\n else this.notifier.notify('error', response.message);\r\n });\r\n }\r\n else {\r\n //this.notifier.notify('error', \"Please add atleast one file\");\r\n }\r\n }\r\n\r\n // getProvidersFollowUpDaysAllowed(staffId){\r\n // this.schedulerService.getStaffFeeSettings(staffId).subscribe(response => {\r\n // if (response.statusCode === 200) {\r\n // this.feeSettings = response.data as ManageFeesRefundsModel;\r\n // }\r\n // })\r\n // }\r\n\r\n // get checkIfAllowed() {\r\n // if (this.confirmation.type == 'Followup') {\r\n // \r\n // if (this.userInfo && this.userInfo.followUpDays &&\r\n // this.firstFormGroup.controls.appointmentDate.value) {\r\n\r\n // return this.hasPreviousNewMeeting;\r\n // const startDate = new Date(this.firstFormGroup.controls.appointmentDate.value);\r\n // const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds\r\n // const diffDates: any = (this.lastAppointmentDateTime - startDate);\r\n // const diffDays = Math.round(Math.abs((diffDates) / oneDay))\r\n // if (diffDays > -1 && diffDays <= this.userInfo.followUpDays) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n\r\n // } else { return false; }\r\n // } else { return true; }\r\n // }\r\n filterofficeClient!: Observable;\r\n searchDropdown = new FormGroup({\r\n patientName: new FormControl(\"\")\r\n });\r\n isDropdownOpened = false;\r\n // onDropdownOpened(opened: boolean) {\r\n // this.isDropdownOpened = opened;\r\n // if (!opened) {\r\n // // Clear search input when dropdown is closed\r\n // this.searchDropdown.controls['patientName'].setValue('');\r\n // }\r\n // }\r\n selectedCompanyName: number;\r\n\r\n getcompany() {\r\n\r\n this.schedulerService.getAllCompaniesdata().subscribe((response: any) => {\r\n if (response.statusCode !== 200) {\r\n (this.Comapnies = []);\r\n } else {\r\n this.Comapnies = response.data || [];\r\n this.AvailableCompanies = this.Comapnies\r\n }\r\n });\r\n }\r\n\r\n onCompanySelectionChange(companyId: number) {\r\n\r\n\r\n this.schedulerService.getPatientBycompanyId(companyId).subscribe((response: any) => {\r\n // console.log(\"patients\", response);\r\n if (response.statusCode !== 200) {\r\n this.patient = [];\r\n } else {\r\n this.patient = response.data || [];\r\n this.AvailableCareGiver = this.patient;\r\n }\r\n });\r\n }\r\n PatientLast: any\r\n PatientFirstname: any\r\n onPatientSelectionChange(selectedPatient: any) {\r\n\r\n // console.log(\"Selected Patient:\", selectedPatient);\r\n this.patientId = selectedPatient.patientId;\r\n this.PatientFirstname = selectedPatient.firstName\r\n this.PatientLast = selectedPatient.lastName\r\n\r\n }\r\n getPatientById() {\r\n this.schedulerService.getPatientBycompanyId(4).subscribe((response: any) => {\r\n // console.log(\"patients\", response);\r\n if (response.statusCode !== 200) {\r\n (this.patient = []);\r\n } else {\r\n this.patient = response.data || [];\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n applyFilterOfficeStaffs(inputValue: string) {\r\n this.filteredOfficeStaffs = this.officeStaffs.filter((staff: any) => {\r\n return staff.value.toLowerCase().includes(inputValue.trim().toLowerCase());\r\n });\r\n }\r\n applyFilterCompanies(inputValue) {\r\n\r\n //this.caregiverAData = this.nonfilterdataCaregiver;\r\n this.AvailableCompanies = this.Comapnies.filter(function (el: any) {\r\n return el.companyName.toString().toLowerCase().includes(\r\n inputValue.toString().trim().toLowerCase()\r\n )\r\n });\r\n }\r\n // Initialize with the full list\r\n\r\n applyFilterOfficeClients(inputValue: string) {\r\n this.filteredOfficeClients = this.officeClients.filter((client: any) => {\r\n return client.value.toLowerCase().includes(inputValue.trim().toLowerCase());\r\n });\r\n }\r\n\r\n applyFilterCaregiver(inputValue) {\r\n //this is the method for the searching with firstname and lastname but without spaces\r\n // return (el.firstName.toString().trim().toLowerCase()+el.lastName.toString().trim().toLowerCase()).includes(\r\n // inputValue.toString().trim().toLowerCase()\r\n // )\r\n //this.caregiverAData = this.nonfilterdataCaregiver;\r\n this.AvailableCareGiver = this.patient.filter(function (el: any) {\r\n return el.firstName.toString().toLowerCase().includes(\r\n inputValue.toString().trim().toLowerCase()\r\n )\r\n });\r\n }\r\n\r\n fetchStaffsAndPatients(locationId?: string): void {\r\n\r\n this.schedulerService\r\n .getStaffAndPatientByLocation(this.locationId.toString(), \"SCHEDULING_LIST_VIEW_OTHERSTAFF_SCHEDULES\")\r\n .subscribe((response: any) => {\r\n\r\n if (response.statusCode !== 200) {\r\n (this.officeStaffs = []), (this.officeClients = []);\r\n } else {\r\n\r\n this.officeStaffs = response.data.staff || [];\r\n this.filteredOfficeStaffs = this.officeStaffs;\r\n this.officeClients = response.data.patients || [];\r\n this.filteredOfficeClients = this.officeClients;\r\n this.filterofficeClient = this.searchDropdown.controls.patientName.valueChanges.pipe(\r\n startWith(''),\r\n map((value) =>\r\n value ? this.filterPatient(value, this.officeClients) : this.officeClients.slice()\r\n ));\r\n\r\n }\r\n });\r\n }\r\n\r\n filterPatient(name: string, PatientList: any) {\r\n\r\n let arr = PatientList.filter(\r\n (data: any) => (data.value == undefined ? '' : data.value).toLowerCase().includes((name.replace(/\\s+/g, '').trim()).toLowerCase())\r\n );\r\n return arr.length ? arr : [{ firstName: 'No client found', code: '' }];\r\n }\r\n\r\n providerdata: any\r\n FirstName: any\r\n LastName: any\r\n onDropdownSelectionChange(event: any, name: any): void {\r\n\r\n this.searchDropdown.controls['patientName'].setValue(name)\r\n const source: MatSelect = event.source,\r\n value: any = event.source.value;\r\n\r\n if (source.id === \"officeStaffs\") {\r\n this.staffId = value;\r\n this.providerId = value;\r\n this.providerdata = this.officeStaffs.find(a => a.id == this.providerId);\r\n }\r\n if (source.id === \"officeClients\") {\r\n this.patientId = value;\r\n this.patientdata = this.officeClients.find(a => a.id == this.patientId)\r\n this.FirstName = this.patientdata.firstName\r\n this.LastName = this.patientdata.lastName\r\n }\r\n }\r\n\r\n getLastNewAppointment(staffId) {\r\n\r\n this.schedulerService.getPreviousAppointment(staffId, this.patientId).subscribe(response => {\r\n if (response.statusCode === 200) {\r\n //this.hasPreviousNewMeeting = response.data ? true : false;\r\n // if (lastAppointment) {\r\n // this.lastAppointmentDateTime = new Date(lastAppointment.startDateTime);\r\n // this.hasPreviousNewMeeting = true;\r\n // }\r\n }\r\n });\r\n }\r\n\r\n closeModal() {\r\n this.dialogModal.closeAll();\r\n }\r\n radioChange(id: any) {\r\n this.isSelf = id == 1 ? true : false;\r\n\r\n }\r\n\r\n\r\n\r\n getPatientSymptoms(searchText: string = 'headache', age: number = 0): any {\r\n return this.symptomCheckerService.getPatientSymptoms(searchText, age)\r\n .pipe(map(x => {\r\n return x;\r\n }));\r\n }\r\n add(event: MatChipInputEvent): void {\r\n\r\n // Add fruit only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n if (!this.matAutocomplete.isOpen) {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n // Add our fruit\r\n if ((value || '').trim()) {\r\n this.symptoms.push(value.trim());\r\n }\r\n\r\n // Reset the input value\r\n if (input) {\r\n input.value = '';\r\n }\r\n\r\n this.userControl.setValue(null);\r\n }\r\n }\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n\r\n this.symptoms.push({\r\n id: event.option.value.id,\r\n value: event.option.viewValue,\r\n choice_id: \"present\"\r\n\r\n });\r\n //this.optionChecked=true;\r\n this.userInput.nativeElement.value = event.option.viewValue;\r\n this.userControl.setValue(event.option.viewValue);\r\n\r\n }\r\n\r\n\r\n\r\n // Bookappointment() {\r\n // this.loading=true\r\n // if(this.providerAvailiabilitySlots == null ||this.providerAvailiabilitySlots .length === 0){\r\n // this.notifierService.notify(\r\n // \"error\",\r\n // \"provide is not available on this date\"\r\n // );\r\n // return null;\r\n // }\r\n // let avl: Array = [];\r\n // let formattedDate = this.datePipe.transform(this.selectedDate, 'yyyy-MM-dd');\r\n // // Assuming filteredAvailabilitySlots has startTime and endTime available for booking\r\n // let tempAvailability = this.filteredAvailabilitySlots;\r\n\r\n // // Process available slots, focusing on startTime and endTime only\r\n // tempAvailability\r\n // .filter(x => x.startTime != null && x.endTime != null)\r\n // .forEach(element => {\r\n // let availability: any = {};\r\n // availability.startTime = element.startTime;\r\n // availability.endTime = element.endTime;\r\n // availability.staffAvailabilityTypeID='375036';\r\n // availability.date = formattedDate\r\n // availability.locationId=element.locationId\r\n // // Push only the relevant time fields to available array\r\n // avl.push(availability);\r\n // });\r\n\r\n\r\n // // Prepare the data with only available start and end times\r\n // let data = {\r\n // staffID: this.staffId,\r\n // locationId: this.locationId,\r\n // available: avl, // Pass only startTime and endTime\r\n // CompanyId:this.selectedCompanyName\r\n // };\r\n\r\n // this.submitted = true;\r\n\r\n // // Make API call to save staff availability\r\n // this.userService.saveStaffAvailabilityforcomapny(data).subscribe((response: ResponseModel) => {\r\n // this.submitted = false;\r\n // this.loading=false\r\n // if (response != null) {\r\n // if (response.statusCode == 200) {\r\n // this.notifier.notify(\"success\", response.message);\r\n // } else {\r\n // this.notifier.notify(\"error\", response.message);\r\n // }\r\n // }\r\n // });\r\n // }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \".mailwrap {\\r\\n height: 100%;\\r\\n}\\r\\n.mailwrap .hgt100{\\r\\n padding-top: 0 !important;\\r\\n}\\r\\n.mailcover {\\r\\n display: flex!important;\\r\\n height: 100%;\\r\\n /* overflow: hidden; */\\r\\n}\\r\\n.ng-scrollbar-view{\\r\\n overflow: auto !important;\\r\\n}\\r\\n.leftmailbox {\\r\\n /* position: absolute; */\\r\\n background-color: #fff;\\r\\n width: 200px;\\r\\n z-index: 2;\\r\\n /* height: calc(100% + 15px); */\\r\\n padding: 0;\\r\\n box-shadow: 0px 1px 10px -5px rgba(0,0,0,.2);\\r\\n -webkit-box-shadow: 0px 1px 10px -5px rgba(0,0,0,.2);\\r\\n transition: all .2s ease;\\r\\n -webkit-transition: all .2s ease;\\r\\n}\\r\\n.fa-trash-o{\\r\\n color:#dc3545 !important;\\r\\n}\\r\\n.leftmailbox .composebtn {\\r\\n width: 100%;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n background-color: #666;\\r\\n}\\r\\n.leftmailbox .composebtn button {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n color: #fff;\\r\\n border: 0;\\r\\n cursor: pointer;\\r\\n background-color: transparent;\\r\\n width: 100%;\\r\\n padding: 0 10px;\\r\\n text-align: left;\\r\\n}\\r\\n.leftmailbox .composebtn button i{\\r\\nmargin-right: 5px;\\r\\n}\\r\\n.inbox_label ul {\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n text-align: left;\\r\\n}\\r\\n.inbox_label ul li {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n list-style: none;\\r\\n display: block;\\r\\n}\\r\\n.inbox_label ul li a {\\r\\n display: block;\\r\\n font-size: 15px;\\r\\n font-weight: 500;\\r\\n color: rgba(0,0,0,.6);\\r\\n margin: 10px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.inbox_label ul li.active a, .inbox_label ul li a:hover {\\r\\n color: #003359;\\r\\n}\\r\\n.inbox_label ul li i {\\r\\n padding-right: 10px;\\r\\n}\\r\\n.inbox_label ul li.active span {\\r\\n display: inline;\\r\\n}\\r\\n.mail-text-blk{\\r\\n background-color: #fff;\\r\\n border: 1px solid #efefef;\\r\\n}\\r\\n.mail-text-blk .mailhead{\\r\\n padding:10px;\\r\\n background: #003359;\\r\\n color: #fff;\\r\\n}\\r\\n.mailwrap {\\r\\n /* padding-left: 180px; */\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n.actionsbtns button.mat-raised-button {\\r\\n min-width: 20px;\\r\\n border-right: 1px solid #efefef;\\r\\n border-radius: 0px !important;\\r\\n margin: 0;\\r\\n}\\r\\n.actionsbtns {\\r\\n max-width: 170px;\\r\\n display: flex;\\r\\n}\\r\\n.maillist {\\r\\n padding: 0!important;\\r\\n float: left;\\r\\n border-right: 1px solid #ddd;\\r\\n border-left: 1px solid #ddd;\\r\\n height: 80vh;\\r\\n overflow: auto;\\r\\n}\\r\\n.allmails_head, .maillist_control {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n}\\r\\n.allmails_head {\\r\\n padding: 10px 15px 6px;\\r\\n background-color: #f4f4f4;\\r\\n width: 100%;\\r\\n border: 1px solid #ddd;\\r\\n border-right: 0;\\r\\n}\\r\\n.allmails_head-rigth button {\\r\\n background-color: transparent;\\r\\n padding: 0px;\\r\\n border: 0px;\\r\\n height: 24px;\\r\\n}\\r\\n.maillist_control {\\r\\n padding: 10px 15px;\\r\\n background-color: #fafafa;\\r\\n border-bottom: 1px solid #ddd;\\r\\n align-items: center;\\r\\n}\\r\\n.mail_noti {\\r\\n width: 100%;\\r\\n min-height: 72px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n /* border-right: 1px solid #ddd; */\\r\\n padding: 10px 15px;\\r\\n background-color: #fafafa;\\r\\n position: relative;\\r\\n}\\r\\n.mail_noti.readmail {\\r\\n background: #fff;\\r\\n}\\r\\n.check_fav_imp {\\r\\n padding-right: 20px;\\r\\n}\\r\\n.check_fav_imp i {\\r\\n cursor: pointer;\\r\\n font-size: 18px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n.maillist .mat-checkbox-inner-container {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n.mailitem .mailimg {\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 50%;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n overflow: hidden;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n}\\r\\n.mailitem {\\r\\n padding-left: 60px;\\r\\n position: relative;\\r\\n padding-right: 10px;\\r\\n}\\r\\n.mailitem h3 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n color: rgba(0,0,0,.8);\\r\\n margin: 5px 0 0;\\r\\n cursor: pointer;\\r\\n}\\r\\n.mail_noti.readmail h3, .mail_noti.readmail p {\\r\\n font-weight: 400;\\r\\n}\\r\\n.mailitem p {\\r\\n font-size: 13px;\\r\\n line-height: 15px;\\r\\n font-weight: 400;\\r\\n color: rgba(0,0,0,.5);\\r\\n margin: 5px 0 0;\\r\\n}\\r\\n.mail_noti span {\\r\\n font-size: 11px;\\r\\n font-weight: 600;\\r\\n color: rgba(0,0,0,.4);\\r\\n}\\r\\n.actionsbtns button {\\r\\n margin: 0 0 0 15px;\\r\\n color: rgba(0,0,0,.6);\\r\\n cursor: pointer;\\r\\n}\\r\\n.actionsbtns button, .quickdetail {\\r\\n background-color: transparent;\\r\\n border: 0;\\r\\n padding: 0;\\r\\n}\\r\\n.mail_content {\\r\\n width: 100%;\\r\\n height: 200px;\\r\\n margin: 10px 0 0;\\r\\n padding-top: 10px;\\r\\n display: inline-block;\\r\\n font-size: 14px;\\r\\n}\\r\\n.email-reply p {\\r\\n margin: 0;\\r\\n font-size: 13px;\\r\\n}\\r\\n/*No message*/\\r\\n.no-msg{padding:15px;\\r\\n text-align: center !important;\\r\\n font-size: 16px;\\r\\n color: rgba(0, 0, 0, 0.40);\\r\\n font-weight: 400;\\r\\n}\\r\\n.blank-cover {\\r\\n margin: 0px;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n.blank-cover i {\\r\\n font-size: 80px;\\r\\n color: rgba(0, 0, 0, 0.10);\\r\\n}\\r\\n.blank-cover span {\\r\\n margin-top: 5px;\\r\\n font-size: 20px;\\r\\n line-height: 25px;\\r\\n color: rgba(0, 0, 0, 0.40);\\r\\n}\\r\\n/*Mail Open*/\\r\\n.mailhead {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n padding: 10px 0px;\\r\\n\\r\\n}\\r\\n.mailsubject p {\\r\\n margin: 0px;\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n display: block;\\r\\n line-height: 25px;\\r\\n}\\r\\n.mailsubject ul{padding: 0px; margin: 0px;\\r\\n list-style: none;\\r\\n float: left; text-align: center;}\\r\\n.mailsubject ul li{padding:3px 5px; margin: 0px 10px 0px 0px;font-size: 12px; display: inline; background-color: rgba(9, 169, 220, 0.30); }\\r\\n.mailsubject ul li i{cursor: pointer; color: rgba(0, 0, 0, 0.30); margin-left: 10px;}\\r\\n.mailbox_detail{padding:5px 0px;\\r\\n float: left;\\r\\n width:100%;\\r\\n border-top: 1px solid #ddd;\\r\\n border-bottom: 1px solid #ddd;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n cursor: pointer;\\r\\n}\\r\\n.mailperson {\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 50%;\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n overflow: hidden;\\r\\n float: left;\\r\\n margin-right: 10px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n.personname {\\r\\n float: left;\\r\\n font-size: 13px;\\r\\n}\\r\\n.personname h4 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n line-height:16px;\\r\\n margin: 0px 0px 2px;\\r\\n}\\r\\n.personhide_detail p {\\r\\n margin: 0px;\\r\\n font-size: 13px;\\r\\n line-height: 20px;\\r\\n display: block;\\r\\n}\\r\\n.personhide_detail span {\\r\\n font-weight: 500;\\r\\n}\\r\\n.quickdetail {\\r\\n margin: 0px;\\r\\n font-size: 12px;\\r\\n color: #003359;\\r\\n}\\r\\n.mail_content{width:100%; height: 200px; margin: 10px 0px 0px; padding-top: 10px; display: inline-block; font-size: 14px;}\\r\\n.mail_attach {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n flex-direction: column;\\r\\n font-size: 13px;\\r\\n padding: 20px 0px;\\r\\n border-top: 1px solid #ddd;\\r\\n}\\r\\n.mail_attach .material-icons {\\r\\n font-size: 16px;\\r\\n padding-right: 5px;\\r\\n padding-top: 1px;\\r\\n}\\r\\n.mail_attach a {\\r\\n padding: 0px 5px;\\r\\n color: #003359;\\r\\n}\\r\\n.email-reply p {\\r\\n margin: 0px;\\r\\n font-size: 13px;\\r\\n color: #757575;\\r\\n}\\r\\n/*Compose mail*/\\r\\n.newmail{width:47.5%; background-color: #fff; position: absolute; z-index: 1;height: 420px;\\r\\n bottom: 10px; right: 0px; box-shadow: 0px 0px 20px 2px #ddd; -webkit-box-shadow: 0px 0px 20px 2px #ddd;}\\r\\n.newmail_head{background-color:#F4F4F4; display: flex; justify-content: space-between; font-size: 14px; color: rgba(0, 0, 0, 0.80);; padding: 10px 15px;}\\r\\n.newmail_head p{margin: 0px;}\\r\\n.newmail_head ul{padding: 0px; margin: 0px; text-align: right;}\\r\\n.newmail_head ul li{margin: 0px; padding: 0px; list-style: none; display: inline-block;}\\r\\n.newmail_head ul li a{display: block; color:rgba(0, 0, 0, 0.40);; padding-left: 10px;}\\r\\n.receipt{display: flex; width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n.select-box{\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n.select-box input{\\r\\n width:84%;\\r\\n}\\r\\n.mailto{color: rgba(0, 0, 0, 0.50); display: block; width:100%; }\\r\\n.mailto label{font-weight: 500; padding-right: 5px; margin: 0px;}\\r\\n.chiplist {\\r\\n margin: 0px 5px 5px 0px !important;\\r\\n border-radius: 0px !important;\\r\\n background-color: #F4F4F4 !important;\\r\\n padding: 0px 5px!important;\\r\\n}\\r\\n.chiplist.mat-chip .mat-chip-remove.mat-icon {\\r\\n font-size: 18px;\\r\\n width: 15px;\\r\\n height: 18px;\\r\\n}\\r\\n.receipt-name > div > div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n.ccbcc a {\\r\\n color: rgba(0, 0, 0, 0.50);\\r\\n padding-left: 10px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.newsubject{\\r\\n padding: 10px 15px !important;\\r\\n border-bottom: 1px solid #ddd;\\r\\n\\r\\n}\\r\\n.newsubject input {\\r\\n font-size: 14px;\\r\\n line-height: 20px;\\r\\n font-weight: 400;\\r\\n border: 0px;\\r\\n width: 100%;\\r\\n}\\r\\n.messagebox{margin:10px 15px 10px;\\r\\n font-size: 14px;\\r\\n border:0px !important;\\r\\n border-radius: 0px !Important; -webkit-border-radius: 0px !Important;\\r\\n font-family: inherit !Important;\\r\\n font-size: 14px !important; position: relative; min-height: 150px;}\\r\\n.msgedit-editor {position: absolute; top: 0px; width: 100%; border:1px solid #ddd; height: 120px; font-size: 13px !important;}\\r\\n.msgedit-editor .public-DraftEditorPlaceholder-root{padding: 0px !important;}\\r\\n.msgedit-editor > div > div > div > div > div{margin: 0px 0px 5px 0px !important;}\\r\\n.attachment_join {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n flex-direction: column;\\r\\n padding: 0px 10px;\\r\\n}\\r\\n.attchmentname {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin: 10px 0px;\\r\\n}\\r\\n.attchmentname span {\\r\\n font-size: 14px;\\r\\n color: #003359;\\r\\n line-height: 14px;\\r\\n}\\r\\n.attchmentname span small{display: block; color:rgba(0, 0, 0, 0.60);}\\r\\n.attachslider {\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n color: rgba(0, 0, 0, 0.50);\\r\\n font-weight: 500;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n.mailcontrols{display: flex; justify-content: space-between; padding:0px 15px 15px 15px;}\\r\\n.controlbtn {\\r\\n position: absolute;\\r\\n bottom: 0px;\\r\\n padding: 0px !important;\\r\\n margin:0px !important;\\r\\n border: 0px !important;\\r\\n}\\r\\n.controlbtn > div{margin: 0px;}\\r\\n.controlbtn > div button {\\r\\n cursor: pointer;\\r\\n border:0px !important;\\r\\n height: auto !important;\\r\\n line-height: normal!important;\\r\\n padding:0px !important;\\r\\n background: none !important;\\r\\n}\\r\\n.mailsend_btn {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n.mailsend_btn i.fa-trash-o {\\r\\n cursor: pointer;\\r\\n font-size: 25px;\\r\\n padding: 6px 10px;\\r\\n border-radius: 10px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n.mailsend_btn button i.fa {\\r\\n color: #fff;\\r\\n font-size: 18px;\\r\\n}\\r\\n.remove-attach {\\r\\n margin-top: -15px;\\r\\n}\\r\\n.remove-attach i {\\r\\n color: rgba(0, 0, 0, 0.30);\\r\\n padding-left: 10px;\\r\\n font-size: 14px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.attach_btn i.material-icons {\\r\\n font-size: 25px;\\r\\n padding: 6px;\\r\\n border-radius: 10px;\\r\\n /* border: 2px solid #003359; */\\r\\n color: #003359;\\r\\n}\\r\\n.attach_btn input[type=file]{\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n bottom: 0px;\\r\\n right: 0px;\\r\\n left: 0px;\\r\\n width: 100%;\\r\\n opacity: 0;\\r\\n}\\r\\n.maileditor{ padding: 10px 15px;}\\r\\n.maileditor .angular-editor-textarea {\\r\\n height: 20vh;\\r\\n}\\r\\n.maileditor .angular-editor-toolbar-set {\\r\\n display: none !important;\\r\\n}\\r\\n.maileditor .angular-editor-toolbar-set:nth-child(2) {\\r\\n display: inline-block !important;\\r\\n margin: 0px !important;\\r\\n border: 0px !important;\\r\\n}\\r\\n.maileditor .angular-editor .angular-editor-toolbar {\\r\\n background-color: transparent;\\r\\n border: 0px;\\r\\n padding: 0px;\\r\\n}\\r\\n.maileditor .angular-editor-toolbar-set button:nth-child(4), .maileditor .angular-editor-toolbar-set button:nth-child(5), .maileditor .angular-editor-toolbar-set button:nth-child(6) {\\r\\n display: none;\\r\\n}\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n@media (max-width: 1199px) { \\r\\n /*mailbox*/\\r\\n\\r\\n.mailwrap{padding-left: 0px;}\\r\\n.mailitem .mailimg{width: 40px; height: 40px;}\\r\\n.mailitem{padding-left: 45px;}\\r\\n\\r\\n.openleftbox .composebtn{text-align: left;}\\r\\n.openleftbox .composebtn{display: flex; justify-content: space-between; align-items: center; padding: 0px 10px;}\\r\\n.composebtn i.material-icons{color: #fff; font-size: 18px;}\\r\\n.collapseleft{width:0px; overflow: hidden;}\\r\\n\\r\\n}\\r\\n@media (max-width: 767px) {\\r\\n/*mailbox*/\\r\\n.mail_noti:last-child{border-bottom: 1px solid #ddd;}\\r\\n.email-reply{padding-bottom: 20px;}\\r\\n.newmail{bottom: inherit; top:0px; width:90%;}\\r\\n.scroll-fix > div {\\r\\n height: 230px !important;\\r\\n}\\r\\n.mail_content{height: 180px;}\\r\\n\\r\\n}\\r\\n@media(max-width: 480px) {\\r\\n\\r\\n /*Mailbox*/\\r\\n.newmail {\\r\\n top: 52px;\\r\\n width: 100%;\\r\\n}\\r\\n}\\r\\n.hideCont\\r\\n{\\r\\n display:none;\\r\\n}\\r\\n.showCont\\r\\n{\\r\\n display:inline-block;\\r\\n padding: 10px;\\r\\n}\\r\\n.maillist .ng-scrollbar-view{\\r\\n width: 100% !important;\\r\\n}\\r\\n.search__input {\\r\\n border: black 0;\\r\\n background-color: transparent;\\r\\n margin: 8px;\\r\\n font-size: 16px;\\r\\n }\\r\\n.search__input:focus {\\r\\n outline: 0;\\r\\n }\\r\\n.search__container {\\r\\n width: 100%; \\r\\n text-align:right; \\r\\n background-color:white; \\r\\n color: black;\\r\\n border-radius: 3px;\\r\\n }\\r\\n.mat-chip.chiplist.mat-chip.mat-primary.mat-standard-chip{\\r\\n background-color: #1576d1 !important;\\r\\n color: #fff;\\r\\n padding: 5px 10px !important;\\r\\n border-radius: 20px !important;\\r\\n }\\r\\n.mat-radio-group {\\r\\n display: flex;\\r\\n flex-flow: column nowrap;\\r\\n color: #797979;\\r\\n font-size: 15px;\\r\\n \\r\\n }\\r\\n.mat-radio-group .phone-option {\\r\\n padding-bottom: 1.25em;\\r\\n padding: .4375em 0;\\r\\n border-top: .84375em solid transparent;\\r\\n }\\r\\n.mat-radio-button.mat-accent .mat-radio-inner-circle {\\r\\n background-color: #63d891 !important;\\r\\n}\\r\\n.mat-radio-button{\\r\\n padding: 5px 0 0 5px;\\r\\n}\\r\\n.lineheader {\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin: 0;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n padding: 12px 8px 12px 0px;\\r\\n}\\r\\n.lineheader p {\\r\\n color: #003359;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n line-height: 15px;\\r\\n margin: 0 !important;\\r\\n padding: 0px;\\r\\n position: relative;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n.lineheader p a {\\r\\n color: #003359;\\r\\n}\\r\\n.lineheader p a:hover {\\r\\n color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n.lineheader span {\\r\\n font-size: 13px;\\r\\n line-height: 13px;\\r\\n}\\r\\n.lineheader i {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 13px;\\r\\n position: absolute;\\r\\n right: 15px;\\r\\n top: 15px;\\r\\n}\\r\\n.disabled{\\r\\n pointer-events: none !important;\\r\\n cursor: not-allowed !important;\\r\\n opacity: 1 !important;\\r\\n background-color: #dbe1e6 !important;\\r\\n \\r\\n}\\r\\n.mb-120{\\r\\n margin-bottom: 115px;\\r\\n}\\r\\n.blue-clr{\\r\\n color: #2f2660;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n background-color: rgba(243, 243, 243, .60);;\\r\\n padding: 9px 7px;\\r\\n}\\r\\n.result-blk label{\\r\\n color: #2f2660;\\r\\n font-size: 18px;\\r\\n display: block;\\r\\n}\\r\\n.mat-autocomplete-panel{\\r\\n max-height: 400px !important;\\r\\n}\\r\\n.screen-text-header h3{\\r\\n font-size: 18px;\\r\\n margin: 20px 0;\\r\\n}\\r\\n.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary{\\r\\n border-radius: 10px;\\r\\n}\\r\\n.result-value{\\r\\n margin-top: 15px;\\r\\n margin-bottom: 70px;\\r\\n}\\r\\n.result-value p{\\r\\n font-size: 16px;\\r\\n line-height: 18px;\\r\\n margin-top:12px;\\r\\n}\\r\\n.radio-label:hover {\\r\\n background-color: #F3F5F7;\\r\\n}\\r\\n.screen-sex label {\\r\\n display: inline-block;\\r\\n width: 132px;\\r\\n margin: 0 10px;\\r\\n font-weight: 400;\\r\\n max-width: 100%;\\r\\n cursor: pointer;\\r\\n}\\r\\n.screen-sex label .placeholder {\\r\\n display: block;\\r\\n padding: 30px 35px 14px 35px;\\r\\n}\\r\\n.screen-sex label.female .placeholder {\\r\\n width: 29px;\\r\\n height: 58px;\\r\\n background-image: url(data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%221.1%22%20viewBox%3D%220%200%2029%2058%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%220%22%20fill%3D%22%23555555%22%20stroke%3D%22%23555555%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M26.55%2032.831l-1.592.438c.595%202.19%201.095%204.211%201.457%205.76.198.85.03%201.748-.462%202.467a3.097%203.097%200%200%201-2.117%201.316c-.742.106-1.622.218-2.604.32.001%201.905-.04%207.404-.53%2010.953-.317%202.306-2.017%203.915-4.13%203.915h-4.143c-2.08%200-3.778-1.603-4.13-3.9-.546-3.552-.553-9.046-.537-10.965a66.883%2066.883%200%200%201-2.62-.323%203.107%203.107%200%200%201-2.11-1.308%203.115%203.115%200%200%201-.472-2.446%20154.47%20154.47%200%200%201%201.43-5.792l-1.596-.58a3.25%203.25%200%200%201-2.067-3.664c.827-4.32%203.238-13.625%208.931-15.957a3.46%203.46%200%200%201-.347-.305c-1.279-1.288-1.263-3.268-1.25-5.013l.003-.498C7.664%203.252%2010.731%200%2014.5%200s6.836%203.252%206.836%207.249c0%20.279.008.565.016.856.045%201.597.096%203.405-1.091%204.625a3.283%203.283%200%200%201-.431.373c5.619%202.406%208.12%2011.652%208.997%2015.956a3.234%203.234%200%200%201-2.276%203.772zm-7.899%2020.971c.452-3.273.506-8.47.509-10.485a64.187%2064.187%200%200%201-3.624.17V55.93h1.035c1.234%200%201.934-1.068%202.08-2.127zm-8.305-.015c.163%201.065.87%202.142%202.083%202.142h1.035V43.488a65.088%2065.088%200%200%201-3.63-.17c-.012%202.008.011%207.203.512%2010.469zm16.451-24.314c-.71-3.491-3.52-14.88-9.811-14.88a1.036%201.036%200%200%201-1.036-1.036v-.722c0-.572.464-1.036%201.036-1.036.856%200%201.459-.173%201.79-.513.576-.593.54-1.879.505-3.122-.008-.311-.017-.618-.017-.915%200-2.807-2.182-5.178-4.764-5.178-2.583%200-4.764%202.371-4.764%205.178l-.003.514c-.01%201.34-.022%202.861.649%203.538.332.335.867.498%201.632.498.572%200%201.036.464%201.036%201.036v.727c0%20.571-.464%201.035-1.036%201.035-6.326%200-8.987%2011.34-9.652%2014.814a1.181%201.181%200%200%200%20.748%201.331l1.437.522c1.056-3.702%202.364-7.632%203.847-10.6a1.036%201.036%200%201%201%201.853.928C7.584%2026.92%205.397%2035.9%204.581%2039.515c-.064.284-.008.573.157.814.164.238.413.392.698.434%202.117.303%205.407.666%209.064.666%203.606%200%206.908-.363%209.044-.667.288-.04.535-.196.699-.435.168-.244.222-.538.154-.827-.83-3.552-3.04-12.409-5.655-17.928a1.036%201.036%200%200%201%201.873-.887c1.438%203.037%202.729%206.94%203.781%2010.59l1.589-.437c.58-.17.936-.759.812-1.365z%22/%3E%3C/svg%3E);\\r\\n background-repeat: no-repeat;\\r\\n border-radius: 0;\\r\\n}\\r\\n.screen-sex label.male .placeholder {\\r\\n width: 28px;\\r\\n height: 58px;\\r\\n background-image: url(data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%221.1%22%20viewBox%3D%220%200%2028%2058%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%220%22%20fill%3D%22%23555555%22%20stroke%3D%22%23555555%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M25.495%2033.559c-.869.929-1.973%201.404-3.272%201.431-.11%2011.19-1.12%2018.452-1.227%2019.185A3.98%203.98%200%200%201%2017%2058h-6a3.979%203.979%200%200%201-3.996-3.823c-.111-.738-1.129-7.86-1.229-19.188-1.219-.028-2.269-.495-3.117-1.406C.142%2030.878.012%2024.8.347%2020.177c.184-2.538%201.686-6.768%209.397-7.888C8.332%2010.981%207.5%209.073%207.5%206.999%207.5%203.14%2010.416%200%2014%200s6.5%203.14%206.5%206.999c0%202.069-.828%203.972-2.234%205.28%207.337%201.028%209.18%204.799%209.387%207.904.47%207.049-.216%2011.299-2.158%2013.376zm.162-13.243c-.247-3.71-3.386-5.805-9.329-6.229a1%201%200%200%201-.928-.997v-.698c0-.37.204-.71.531-.883%201.561-.828%202.569-2.599%202.569-4.51C18.5%204.243%2016.481%202%2014%202S9.5%204.243%209.5%206.999c0%201.911%201.008%203.682%202.569%204.51a.999.999%200%200%201%20.531.883v.702a1%201%200%200%201-.926.997c-4.074.303-8.999%201.63-9.332%206.231-.426%205.887.223%2010.224%201.781%2011.899.465.501.994.741%201.647.768.003-3.456.089-7.24.313-11.344.031-.551.51-.969%201.054-.943.551.03.974.501.943%201.053-1.063%2019.398.889%2032.047.909%2032.172.006.043.01.086.011.129A1.99%201.99%200%200%200%2011%2056h2V34a1%201%200%200%201%202%200v22h2a1.989%201.989%200%200%200%201.999-1.944%201.02%201.02%200%200%201%20.011-.124c.02-.13%201.972-13.186.909-32.176a1%201%200%200%201%201.997-.112c.229%204.081.314%207.872.314%2011.346.736-.026%201.316-.275%201.804-.797%202.255-2.411%201.78-9.536%201.623-11.877z%22/%3E%3C/svg%3E);\\r\\n background-repeat: no-repeat;\\r\\n border-radius: 0;\\r\\n}\\r\\ninput[type=\\\"radio\\\" i] {\\r\\n background-color: initial;\\r\\n cursor: default;\\r\\n -webkit-appearance: auto;\\r\\n -moz-appearance: auto;\\r\\n appearance: auto;\\r\\n border: initial;\\r\\n}\\r\\n.more-load {\\r\\n border: 4px solid #cccccc;\\r\\n border-radius: 50%;\\r\\n border-top: 4px solid #63d891;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n -webkit-animation: spin 1s linear infinite;\\r\\n /* Safari */\\r\\n animation: spin 1s linear infinite;\\r\\n display: inline-block;\\r\\n}\\r\\n/* loader css */\\r\\n.full_loader {\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n right: 0px;\\r\\n top: -6px;\\r\\n background-color: rgba(255, 255, 255, 0.8);\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n z-index: 1001;\\r\\n }\\r\\n.circle_loader {\\r\\n left: 0;\\r\\n right: 0 !important;\\r\\n margin: 0px auto !important;\\r\\n display: block !important;\\r\\n top: 50%;\\r\\n position: fixed !important;\\r\\n text-align: center;\\r\\n }\\r\\n.circle_loader.search_loader {\\r\\n top: 15%;\\r\\n }\\r\\n.top0 {\\r\\n top: 0px;\\r\\n }\\r\\n.circle_loader.page_loader {\\r\\n left: 19%;\\r\\n }\\r\\n.circle_loader.tag_laoder {\\r\\n position: absolute !important;\\r\\n top: 15% !important;\\r\\n }\\r\\n/*select filed*/\\r\\n.cdk-overlay-pane {\\r\\n -webkit-transform: translateX(-0px) !important;\\r\\n transform: translateX(-0px) !important;\\r\\n }\\r\\n/*Fields bottom border*/\\r\\n.mat-form-field-appearance-legacy .mat-form-field-underline {\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n }\\r\\n.mat-select-arrow {\\r\\n color: rgba(0, 0, 0, 0.1);\\r\\n }\\r\\n.mat-datepicker-toggle-default-icon {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n }\\r\\n/*Client list toggle*/\\r\\n.srach-pt[class*=\\\" flaticon-\\\"]:after,\\r\\n .srach-pt[class*=\\\" flaticon-\\\"]:before,\\r\\n .srach-pt[class^=\\\"flaticon-\\\"]:after,\\r\\n .srach-pt[class^=\\\"flaticon-\\\"]:before {\\r\\n line-height: 40px;\\r\\n }\\r\\n.custom-card .mat-card-header{\\r\\n width:100%;\\r\\n background-color:#003359 !important ;\\r\\n }\\r\\n.blue-bg{\\r\\n width:100%;\\r\\n background-color:#003359 !important ;\\r\\n padding: 10px;\\r\\n margin: 0;\\r\\n}\\r\\n.pl-10{\\r\\n padding-left: 10px;\\r\\n}\\r\\n.mat-card label{\\r\\n padding:8px 10px;\\r\\n margin: 0;\\r\\n }\\r\\n.mat-card .result-value label{\\r\\n padding: 0;\\r\\n font-weight: 500;\\r\\n background-color: rgba(243, 243, 243, .80);\\r\\n padding: 7px;\\r\\n }\\r\\n.mat-card-content p{\\r\\n font-size: 17px;\\r\\n }\\r\\n.alrmng-symp ul{\\r\\n padding-left: 18px;\\r\\n list-style: circle;\\r\\n font-size: 16px;\\r\\n }\\r\\n#contentToConvert{\\r\\n margin-bottom: 70px;\\r\\n }\\r\\n#contentToConvert ul{\\r\\n padding-left: 10px;\\r\\n list-style: circle;\\r\\n font-size: 16px;\\r\\n }\\r\\n.mat-primary{\\r\\n font-size: 16px;\\r\\n }\\r\\n.mb10{margin-bottom: 10px;}\\r\\n.consult-btn{\\r\\n margin-top: 15px;\\r\\n height: 50px !important;\\r\\n min-width: 270px;\\r\\n margin-bottom: 15px;\\r\\n font-size: 20px;\\r\\n letter-spacing: 1px;\\r\\n font-weight: 400;\\r\\n }\\r\\n.custom-card-header{\\r\\n margin: 0 auto;\\r\\n }\\r\\n.custom-card-header .mat-card{\\r\\n border-left: 4px solid #003359 !important;\\r\\n margin:40px 0;\\r\\n }\\r\\n.custom-card .mat-card{\\r\\n padding:25px 15px;\\r\\n }\\r\\n.mat-raised-button:not([class*=mat-elevation-z]){\\r\\n box-shadow: none;\\r\\n height: 42px;\\r\\n }\\r\\n.btn-group{\\r\\n position: absolute;\\r\\n bottom: 25px;\\r\\n left: 25px;\\r\\n }\\r\\n.covid-consult{\\r\\n padding: 15px;\\r\\n }\\r\\n.covid-consult .col-lg-12 p{\\r\\n font-weight: 500;\\r\\n font-size: 18px;\\r\\n background-color: rgba(243, 243, 243, .80);\\r\\n padding: 6px 10px;\\r\\n margin-top: 15px;\\r\\n }\\r\\n.covid-consult .mat-radio-button{\\r\\n padding:10px 20px 5px 10px;\\r\\n margin-bottom: 4px;\\r\\n \\r\\n }\\r\\n.covid-consult .mat-radio-group{\\r\\n flex-flow: initial;\\r\\n font-size: 16px;\\r\\n text-transform: capitalize;\\r\\n display: block;\\r\\n }\\r\\n.dblock{display: block!Important;}\\r\\n.covid-report h2{\\r\\n background-color: #efefef;\\r\\n padding: 10px;\\r\\n color: #2f2660;\\r\\n font-size: 22px;\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n.covid-report h4{\\r\\n font-size: 20px;\\r\\n margin: 20px 0;\\r\\n font-weight: 600;\\r\\n color: #2f2660;\\r\\n }\\r\\n@media (max-width: 991px) {\\r\\n .circle_loader.page_loader {\\r\\n left: 0px;\\r\\n right: 0px;\\r\\n }\\r\\n }\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{covidConsulation?covidPageTitle:symptomPageTitle}}\\r\\n

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

{{result.question.text}}

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

{{ result.question.type=='group_multiple'?r.name:result.question.text}}?

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{c.label}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{result.question.text}}?

\\r\\n
\\r\\n
\\r\\n \\r\\n {{c.name}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Your last Covid 19 summary assessment is:-

\\r\\n

{{conclusion.description}}

\\r\\n

{{conclusion.label}}

\\r\\n
Want to take test Again ?
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{spt.value}}\\r\\n cancel\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{fts.label}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

{{result.question.text}}

\\r\\n
\\r\\n \\r\\n {{c.label}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Your Results

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

{{this.observation}}

\\r\\n
\\r\\n
Alarming Symptoms
\\r\\n
    \\r\\n
  • {{c.common_name}}
  • \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{f.common_name}}

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

{{ f.probability |percent }}

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

Summary

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
Reported symptoms
\\r\\n \\r\\n
    \\r\\n
  • {{r}}\\r\\n
  • \\r\\n
\\r\\n \\r\\n
Other symptoms
\\r\\n

0\\\">Present:

\\r\\n
    \\r\\n
  • {{p}}\\r\\n\\r\\n
  • \\r\\n
\\r\\n

0\\\">Absent:

\\r\\n
    \\r\\n
  • {{a}}\\r\\n\\r\\n
  • \\r\\n
\\r\\n

0\\\">Unknown:

\\r\\n
    \\r\\n
  • {{u}}\\r\\n\\r\\n
  • \\r\\n
\\r\\n
Possible Conditions:
\\r\\n

{{c.common_name}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\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, ElementRef, ChangeDetectorRef } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { Router } from \"@angular/router\";\r\nimport { CommonService } from \"./../../platform/modules/core/services\";\r\nimport { MatAutocomplete, MatAutocompleteSelectedEvent, MatChipInputEvent } from '@angular/material';\r\nimport { Observable, of } from 'rxjs';\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { debounceTime, distinctUntilChanged, filter, map, startWith, switchMap } from \"rxjs/operators\";\r\nimport { FilterModel } from './../../platform/modules/core/modals/common-model';\r\nimport { LoginUser } from './../../platform/modules/core/modals/loginUser.modal';\r\n\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { MediaMatcher } from '@angular/cdk/layout';\r\nimport { SymptomCheckerService } from './symptom-checker.service'\r\nimport { observationEnum } from \"./symptom-checker.model\";\r\nimport { jsPDF } from 'jspdf';\r\nimport html2canvas from 'html2canvas';\r\nimport { debug } from \"console\";\r\nimport { isThisISOWeek } from \"date-fns\";\r\n\r\n@Component({\r\n selector: 'app-symptom-checker',\r\n templateUrl: './symptom-checker.component.html',\r\n styleUrls: ['./symptom-checker.component.css']\r\n})\r\n\r\n\r\nexport class SymptomCheckerComponent implements OnInit {\r\n showQuest: boolean = false;\r\n loading = false;\r\n summarySaved: boolean = false;\r\n keywords: any = [];\r\n reportObject: any;\r\n preliminaryOptions: boolean = true;\r\n covidConsulation: boolean = false;\r\n nextChoices: any[] = [{ id: \"1\", label: \"yes\" }, { id: \"2\", label: \"no\" }];\r\n loaderImage = \"/assets/loader.gif\";\r\n presentArray: any[] = [];\r\n viewSummary: boolean = false;\r\n absentArray: any[] = [];\r\n unknownArray: any[] = [];\r\n conclusion: any;\r\n observation: any = \"\";\r\n userId: number;\r\n conditions: any;\r\n result: any;\r\n isSelected: any;\r\n optionChecked: boolean = false;\r\n subscription: any;\r\n forStaff: boolean = true;\r\n choice: string = \"present\";\r\n selectedSymptom: string = ''\r\n selectedSymptomValue: any = [];\r\n isInitial: boolean = true;\r\n symptomPageTitle: any = \"Symptoms Assessments\";\r\n covidPageTitle: any = \"Covid Assessments\";\r\n currentDate = new Date();\r\n\r\n filterModel: FilterModel;\r\n riskCollection: any;\r\n symptomCollection: any;\r\n conditionCollection: any;\r\n dataURL: any;\r\n fileList: any = [];\r\n mobileQuery: MediaQueryList;\r\n leftMenu: boolean;\r\n _mobileQueryListener: () => void;\r\n\r\n delMessagesArray: number[] = [];\r\n should_stop: boolean = false;\r\n visible = true;\r\n selectable = true;\r\n removable = true;\r\n addOnBlur = true;\r\n patientId: any;\r\n //separatorKeysCodes: number[] = [ENTER, COMMA];\r\n userControl = new FormControl();\r\n filteredSymptoms$: Observable;\r\n symptoms: any = [];\r\n age: any;\r\n gender: any;\r\n expanded: boolean = false;\r\n evidence: Array = [];\r\n @ViewChild('conten') content: ElementRef;\r\n @ViewChild('userInput') userInput: ElementRef;\r\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\r\n\r\n constructor(\r\n\r\n private commonService: CommonService,\r\n private formBuilder: FormBuilder,\r\n private notifier: NotifierService,\r\n private router: Router,\r\n private symptomCheckerService: SymptomCheckerService,\r\n media: MediaMatcher,\r\n changeDetectorRef: ChangeDetectorRef,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n\r\n this.mobileQuery = media.matchMedia('(min-width: 768px)');\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n this.expanded = true;\r\n this.symptoms = [];\r\n this.selectedSymptomValue = [];\r\n this.filterModel = new FilterModel();\r\n this.filterModel.pageSize = 100;\r\n this.getLoginUser();\r\n this.filteredSymptoms$ = this.userControl.valueChanges\r\n\r\n .pipe(\r\n startWith(''),\r\n // use switch map so as to cancel previous subscribed events, before creating new once\r\n switchMap(value => {\r\n if (value != null && typeof (value) == \"string\") {\r\n if (value.length > 2) {\r\n return this.getPatientSymptoms(value, this.age).pipe()\r\n } else {\r\n // if no value is present, return null\r\n return of(null);\r\n }\r\n }\r\n else return of(null);\r\n })\r\n );\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.patientId = user.data.id;\r\n this.setParameters(user.data.id);\r\n }\r\n });\r\n\r\n }\r\n setParameters(id: any) {\r\n this.symptomCheckerService\r\n .GetPatientsDetailedInfo(id)\r\n .subscribe((response: any) => {\r\n\r\n if (response != null) {\r\n\r\n var clientModel = response.data;\r\n this.age = clientModel.age;\r\n this.gender = clientModel.gender.toLowerCase();\r\n }\r\n });\r\n }\r\n displayFn(user?: any): string | undefined {\r\n return user ? user.value : undefined;\r\n }\r\n\r\n\r\n getLoginUser() {\r\n this.subscription = this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userId = user.data.userID;\r\n this.forStaff = (user.data.users3 != null && user.data.users3.userRoles.roleName == \"Client\") ? false : true;\r\n }\r\n });\r\n }\r\n\r\n\r\n getPatientSymptoms(searchText: string = 'headache', age): any {\r\n return this.symptomCheckerService.getPatientSymptoms(searchText, age)\r\n .pipe(map(x => {\r\n return x;\r\n }));\r\n }\r\n\r\n add(event: MatChipInputEvent): void {\r\n\r\n // Add fruit only when MatAutocomplete is not open\r\n // To make sure this does not conflict with OptionSelected Event\r\n if (!this.matAutocomplete.isOpen) {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n // Add our fruit\r\n if ((value || '').trim()) {\r\n this.symptoms.push(value.trim());\r\n }\r\n\r\n // Reset the input value\r\n if (input) {\r\n input.value = '';\r\n }\r\n\r\n this.userControl.setValue(null);\r\n }\r\n }\r\n\r\n remove(user: string): void {\r\n const index = this.symptoms.indexOf(user);\r\n if (index >= 0) {\r\n this.symptoms.splice(index, 1);\r\n\r\n }\r\n this.optionChecked = this.symptoms.length == 0 ? false : true;\r\n }\r\n\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n\r\n this.symptoms.push({\r\n id: event.option.value.id,\r\n value: event.option.viewValue,\r\n choice_id: \"present\"\r\n\r\n });\r\n this.optionChecked = true;\r\n this.userInput.nativeElement.value = '';\r\n this.userControl.setValue(null);\r\n\r\n }\r\n radioChange(value: any, symptomId: any) {\r\n\r\n this.choice = value;\r\n this.optionChecked = true;\r\n\r\n if (symptomId != '' && this.evidence.length > 0) {\r\n var item = this.evidence.find(x => x.id == symptomId);\r\n if (item != null && item != undefined) {\r\n this.evidence = this.evidence.filter(x => x !== item);\r\n }\r\n }\r\n this.evidence.push(\r\n {\r\n id: symptomId,\r\n choice_id: value\r\n });\r\n\r\n\r\n }\r\n\r\n setInitialvalues() {\r\n\r\n this.symptoms.forEach((value, index) => {\r\n\r\n this.evidence.push(\r\n {\r\n id: value.id,\r\n source: index == 0 ? \"initial\" : null,\r\n choice_id: \"present\"\r\n });\r\n if (this.isInitial) {\r\n\r\n this.selectedSymptomValue.push(value.value);\r\n }\r\n });\r\n this.isInitial = false;\r\n\r\n }\r\n moveNext() {\r\n this.loading = true;\r\n this.conditions = [];\r\n this.optionChecked = false;\r\n if (!this.should_stop) {\r\n\r\n if (this.evidence.length == 0) {\r\n this.setInitialvalues();\r\n }\r\n else {\r\n this.evidence.push(\r\n {\r\n id: this.selectedSymptom,\r\n source: null,\r\n choice_id: this.choice\r\n });\r\n\r\n }\r\n\r\n this.showQuest = true;\r\n var count = this.evidence.length;\r\n this.symptomCheckerService.getSymptomQuestions(JSON.stringify(this.evidence), this.age, this.gender).pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n this.loading = false;\r\n this.result = resp;\r\n this.selectedSymptom = \"0\";// resp.question.items[0].id;\r\n\r\n this.should_stop = resp.should_stop;\r\n if (resp.should_stop) {\r\n this.conditions = resp.conditions;\r\n this.getObservations();\r\n this.getSummary(false);\r\n }\r\n });\r\n }\r\n\r\n this.isSelected = null;\r\n }\r\n getSummary(showSummary: any) {\r\n\r\n if (this.presentArray.length == 0 && this.absentArray.length == 0 && this.unknownArray.length == 0) {\r\n this.getSymptoms();\r\n this.getRisks();\r\n this.getConditions();\r\n\r\n }\r\n this.viewSummary = showSummary;\r\n }\r\n CreateSummary(value: any, type: any) {\r\n\r\n if (value != null && value.common_name != null) {\r\n switch (type) {\r\n case 'present':\r\n this.presentArray.push(value.common_name);\r\n break;\r\n case 'absent':\r\n this.absentArray.push(value.common_name);\r\n break;\r\n case 'unknown':\r\n this.unknownArray.push(value.common_name);\r\n break;\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n getSymptoms() {\r\n this.symptomCheckerService.getSummary(\"symptom\").pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n this.symptomCollection = resp;\r\n \r\n this.createArray(resp);\r\n });\r\n }\r\n createArray(array: any) {\r\n\r\n this.evidence.forEach(element => {\r\n if (element.id != null) {\r\n\r\n var commonSymptom = array.find(x => x.id == element.id);\r\n this.CreateSummary(commonSymptom, element.choice_id);\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n getRisks() {\r\n this.symptomCheckerService.getSummary(\"risk\").pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n\r\n this.riskCollection = resp;\r\n this.createArray(resp);\r\n });\r\n }\r\n getConditions() {\r\n this.symptomCheckerService.getSummary(\"condition\").pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n\r\n this.conditionCollection = resp;\r\n this.createArray(resp);\r\n });\r\n }\r\n\r\n getObservations() {\r\n this.symptomCheckerService.getObservations(JSON.stringify(this.evidence), this.age, this.gender).pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n this.conclusion = resp;\r\n switch (this.conclusion.triage_level) {\r\n case \"consultation\":\r\n this.observation = observationEnum.consultation;\r\n break;\r\n case \"consultation_24\":\r\n this.observation = observationEnum.consultation_24;\r\n break;\r\n case \"emergency\":\r\n this.observation = observationEnum.emergency;\r\n break;\r\n case \"emergency_ambulance\":\r\n this.observation = observationEnum.emergency_ambulance;\r\n break;\r\n case \"self_care\":\r\n this.observation = observationEnum.self_care;\r\n break;\r\n default:\r\n this.observation = observationEnum.consultation;\r\n break;\r\n }\r\n\r\n\r\n });\r\n }\r\n captureScreen() {\r\n var data = document.getElementById('contentToConvert');\r\n html2canvas(data).then(canvas => {\r\n // Few necessary setting options \r\n var imgWidth = 20;\r\n var pageHeight = 295;\r\n var imgHeight = canvas.height * imgWidth / canvas.width;\r\n var heightLeft = imgHeight;\r\n\r\n const contentDataURL = canvas.toDataURL('image/png')\r\n let pdf = new jsPDF('p', 'pt', [canvas.width, canvas.height]); // A4 size page of PDF \r\n var position = 0;\r\n pdf.addImage(contentDataURL, 'PNG', 0, position, canvas.width, canvas.height)\r\n pdf.save('summary.pdf'); // Generated PDF \r\n });\r\n }\r\n bookAppointment() {\r\n\r\n let location = this.commonService.encryptValue(101, true);\r\n this.conditions.forEach((value, index) => {\r\n this.keywords.push(value.common_name.toLowerCase());\r\n });\r\n // this.getSummary(false);\r\n this.setReportParameters(true);\r\n localStorage.setItem(\"symptoms\", this.keywords);\r\n this.router.navigate([\"/filter-doctor-list\"], {\r\n queryParams: { loc: location }\r\n });\r\n }\r\n onSearchClicked() {\r\n if (!this.expanded) {\r\n this.expanded = true;\r\n } else {\r\n // console.log('search')\r\n }\r\n }\r\n covidNext() {\r\n this.getCovidSymptoms(this.evidence);\r\n }\r\n getCovidSymptoms(evidence: any) {\r\n this.loading = true;\r\n this.covidConsulation = true;\r\n var obj = {\r\n sex: this.gender,\r\n age: this.age,\r\n evidence: evidence\r\n }\r\n\r\n if (!this.should_stop) {\r\n this.symptomCheckerService.getCovidQuestions(JSON.stringify(obj)).pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n this.loading = false;\r\n\r\n this.result = resp;\r\n this.should_stop = resp.should_stop;\r\n if (resp.should_stop) {\r\n\r\n this.getCovidSummary();\r\n }\r\n });\r\n }\r\n }\r\n getCovidSummary() {\r\n\r\n this.symptomCheckerService.getCovidSummary(JSON.stringify(this.evidence), this.age, this.gender).pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n\r\n this.conclusion = resp;\r\n\r\n });\r\n }\r\n testAgain(value: any) {\r\n if (value == 'no') {\r\n this.router.navigate([\"'web/dashboard'\"]);\r\n }\r\n else {\r\n this.evidence = [];\r\n this.symptoms = [];\r\n this.should_stop = false;\r\n this.preliminaryOptions = true;\r\n this.covidConsulation = false;\r\n\r\n }\r\n }\r\n AddSymptomateReport() {\r\n \r\n if (!this.summarySaved) {\r\n this.setReportParameters(true);\r\n if (this.reportObject != null && this.reportObject != undefined) {\r\n this.symptomCheckerService.AddSymptomateReport(JSON.stringify(this.reportObject)).pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n this.notifier.notify('success', \"Symptom Report has been saved successfully\");\r\n });\r\n };\r\n\r\n }\r\n else {\r\n this.notifier.notify('success', \"Symptom Report is already saved\");\r\n }\r\n this.summarySaved = true;\r\n }\r\n\r\n setReportParameters(storeData: any) {\r\n\r\n var pArray: any[] = [];\r\n var aArray: any[] = [];\r\n var uArray: any[] = [];\r\n var rArray: any[] = [];\r\n var kArray: any[] = [];\r\n\r\n\r\n pArray.push(this.presentArray.join(','));\r\n aArray.push(this.absentArray.join(','));\r\n uArray.push(this.unknownArray.join(','));\r\n rArray.push(this.selectedSymptomValue.join(','));\r\n kArray.push(this.keywords.join(','));\r\n var object = {\r\n PatientabsentSymptoms: aArray,\r\n PatientFinalConditions: kArray,\r\n sex: this.gender,\r\n PatientpresentSymptoms: pArray,\r\n PatientreportedSymptoms: rArray,\r\n prepatientId: this.patientId,\r\n PatientunknownSymptoms: uArray,\r\n age: this.age\r\n }\r\n this.reportObject = object;\r\n if (storeData) {\r\n localStorage.setItem(\"reportObject\", JSON.stringify(this.reportObject));\r\n }\r\n }\r\n\r\n\r\n}\r\n","export class SymptomCheckerModel {\r\n id: string;\r\n value: string;\r\n}\r\nexport class evidence {\r\n source: string;\r\n id: string;\r\n choice_id: string;\r\n}\r\nexport enum observationEnum {\r\n emergency_ambulance = 'The reported symptoms are very serious and the patient may require emergency care. The patient should call an ambulance right now',\r\n emergency = 'The reported evidence appears serious and the patient should go to an emergency department. If the patient cannot get to the nearest emergency department, he/she should call an ambulance',\r\n consultation_24 = 'You should see a doctor within 24 hours. If the symptoms suddenly get worse, the patient should go to the nearest emergency department',\r\n consultation = 'You may require medical evaluation and may need to schedule an appointment with a doctor. If symptoms get worse, the patient should see a doctor immediately',\r\n self_care = 'A medical consultation is advised but not strictly required; the patient should observe their symptoms and consult a doctor if symptoms worsen within 24 hours'\r\n}","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { CommonService } from \"./../../platform/modules/core/services\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SymptomCheckerService {\r\n private getSymptomsURL = \"patients/GetPatientSymptoms\";\r\n private getQuestionsURL = \"patients/GetSymptomQuestions\";\r\n private getObservationsURL = \"patients/getObservations\";\r\n private getSummaryURL = \"patients/getSummary\";\r\n private getCovidQuestionsURL = \"patients/GetCovidQuestions\";\r\n private getCovidSummaryURL = \"patients/getCovidSummary\";\r\n private GetPatientsDetailedInfoURL = \"Patients/GetPatientsDetailedInfo\";\r\n private AddSymptomateReportURL=\"Payers/AddSymptomateReport\"\r\n\r\n\r\n\r\n\r\n constructor(private commonService: CommonService) { }\r\n\r\n getPatientSymptoms(searchText: string = '', age: number = 0) {\r\n return this.commonService.getAll(this.getSymptomsURL + \"?search=\" + searchText + \"&age=\" + age, {})\r\n .pipe(map(x => {\r\n return x.data;\r\n }));\r\n }\r\n getSymptomQuestions(symptom: any,age:any,gender:any) {\r\n return this.commonService.post(this.getQuestionsURL+\"?age=\"+age+\"&gender=\"+gender, symptom)\r\n .pipe(map(x => {\r\n return x.data;\r\n }));\r\n }\r\n getCovidQuestions(symptom: any) {\r\n return this.commonService.post(this.getCovidQuestionsURL, symptom)\r\n .pipe(map(x => {\r\n return x.data;\r\n }));\r\n }\r\n getObservations(symptom: any,age:any,gender:any) {\r\n return this.commonService.post(this.getObservationsURL+\"?age=\"+age+\"&gender=\"+gender, symptom)\r\n .pipe(map(x => {\r\n return x.data;\r\n }));\r\n }\r\ngetCovidSummary(symptom: any,age:any,gender:any) {\r\n return this.commonService.post(this.getCovidSummaryURL+\"?age=\"+age+\"&gender=\"+gender, symptom)\r\n .pipe(map(x => {\r\n return x.data;\r\n }));\r\n }\r\n getSummary(type: any) {\r\n return this.commonService.getAll(this.getSummaryURL+\"?type=\"+type, {})\r\n .pipe(map(x => {\r\n return x.data;\r\n }));\r\n }\r\n GetPatientsDetailedInfo(id: number) {\r\n return this.commonService.getById(\r\n this.GetPatientsDetailedInfoURL + \"?patientId=\" + id,\r\n {}\r\n );\r\n }\r\n AddSymptomateReport(data:any){\r\n return this.commonService.post(this.AddSymptomateReportURL,data)\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { from } from \"rxjs\";\r\n\r\n@Pipe({\r\n name: \"textChatUserImage\"\r\n})\r\nexport class TextChatUserImagePipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n var image = \"./assets/img/noimage1.png\";\r\n var userList = from(args);\r\n var index = args.findIndex(x => x.userId == value);\r\n if (index > -1) {\r\n image = args[index].image; //args.find(x => x.userId == value).image;\r\n }\r\n if (image == \"\" || image == null || image == undefined)\r\n image = \"./assets/img/noimage1.png\";\r\n // userList.subscribe((user: any) => {\r\n // if (user.userId == value) {\r\n // image = user.image;\r\n // }\r\n // });\r\n return image;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { from } from \"rxjs\";\r\n\r\n@Pipe({\r\n name: \"userChatName\",\r\n})\r\nexport class TextChatUserNamePipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n // \r\n var name = \"\";\r\n //var userList = from(args);\r\n var index = args.findIndex((x) => x.userId == value);\r\n if (index > -1) {\r\n name = args[index].name; //args.find(x => x.userId == value).image;\r\n }\r\n // userList.subscribe((user: any) => {\r\n // if (user.userId == value) {\r\n // name = user.name;\r\n // console.log(name);\r\n // return name;\r\n // } else return name;\r\n // });\r\n return name;\r\n }\r\n}\r\n","module.exports = \"app-text-chat {\\r\\n /* position: fixed;\\r\\n bottom: 3px; */\\r\\n}\\r\\n.text-chat-app {\\r\\n position: fixed;\\r\\n bottom: 3px;\\r\\n z-index: 1000;\\r\\n}\\r\\n.container-fluid.h-100 {\\r\\n /* left: 190%;\\r\\n float: left !important;\\r\\n position: relative;\\r\\n bottom: 0px; */\\r\\n}\\r\\n.chat {\\r\\n /* margin-top: auto;\\r\\n margin-bottom: auto; */\\r\\n}\\r\\n.card {\\r\\n height: 500px;\\r\\n border-radius: 8px !important;\\r\\n background-color: rgba(0, 0, 0) !important;\\r\\n transition: linear all 300ms;\\r\\n width: 430px;\\r\\n}\\r\\n.contacts_body {\\r\\n padding: 0.75rem 0 !important;\\r\\n overflow-y: auto;\\r\\n white-space: nowrap;\\r\\n}\\r\\n.msg_card_body {\\r\\n overflow-y: auto;\\r\\n}\\r\\n.card-header {\\r\\n border-radius: 15px 15px 0 0 !important;\\r\\n border-bottom: solid 1px #000 !important;\\r\\n}\\r\\n.chat-card .card-footer {\\r\\n padding: 0px !important;\\r\\n}\\r\\n.card-footer {\\r\\n border-radius: 0 0 15px 15px !important;\\r\\n border-top: solid 1px #000 !important;\\r\\n}\\r\\n.container {\\r\\n align-content: center;\\r\\n}\\r\\n.search {\\r\\n border-radius: 15px 0 0 15px !important;\\r\\n background-color: rgba(0, 0, 0, 0.3) !important;\\r\\n border: 0 !important;\\r\\n color: white !important;\\r\\n}\\r\\n.search:focus {\\r\\n box-shadow: none !important;\\r\\n outline: 0px !important;\\r\\n}\\r\\n.type_msg {\\r\\n background-color: rgba(0, 0, 0, 0.3) !important;\\r\\n border: 0 !important;\\r\\n color: white !important;\\r\\n height: 60px !important;\\r\\n overflow-y: auto;\\r\\n}\\r\\n.type_msg:focus {\\r\\n box-shadow: none !important;\\r\\n outline: 0px !important;\\r\\n}\\r\\n.attach_btn {\\r\\n border-radius: 15px 0 0 15px !important;\\r\\n background-color: rgba(0, 0, 0, 0.3) !important;\\r\\n border: 0 !important;\\r\\n color: white !important;\\r\\n cursor: pointer;\\r\\n}\\r\\n.send_btn {\\r\\n border-radius: 0 15px 15px 0 !important;\\r\\n background-color: rgba(0, 0, 0, 0.3) !important;\\r\\n border: 0 !important;\\r\\n color: white !important;\\r\\n cursor: pointer;\\r\\n}\\r\\n.search_btn {\\r\\n border-radius: 0 15px 15px 0 !important;\\r\\n background-color: rgba(0, 0, 0, 0.3) !important;\\r\\n border: 0 !important;\\r\\n color: white !important;\\r\\n cursor: pointer;\\r\\n}\\r\\n.contacts {\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n}\\r\\n.contacts li {\\r\\n width: 100% !important;\\r\\n padding: 5px 10px;\\r\\n margin-bottom: 15px !important;\\r\\n}\\r\\n.contacts li.active {\\r\\n background-color: rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n.user_img {\\r\\n height: 70px;\\r\\n width: 70px;\\r\\n border: 1.5px solid #f5f6fa;\\r\\n}\\r\\n.user_img_msg {\\r\\n height: 40px;\\r\\n width: 40px;\\r\\n border: 1.5px solid #f5f6fa;\\r\\n}\\r\\n.img_cont {\\r\\n position: relative;\\r\\n height: 70px;\\r\\n width: 70px;\\r\\n}\\r\\n.img_cont_msg {\\r\\n height: 40px;\\r\\n width: 40px;\\r\\n}\\r\\n.online_icon {\\r\\n position: absolute;\\r\\n height: 15px;\\r\\n width: 15px;\\r\\n background-color: #4cd137;\\r\\n border-radius: 50%;\\r\\n bottom: 0.2em;\\r\\n right: 0.4em;\\r\\n border: 1.5px solid white;\\r\\n}\\r\\n.offline {\\r\\n background-color: #c23616 !important;\\r\\n}\\r\\n.user_info {\\r\\n margin-top: auto;\\r\\n margin-bottom: auto;\\r\\n margin-left: 15px;\\r\\n}\\r\\n.user_info span {\\r\\n font-size: 20px;\\r\\n color: white;\\r\\n}\\r\\n.user_info p {\\r\\n font-size: 10px;\\r\\n color: rgba(255, 255, 255, 0.6);\\r\\n}\\r\\n.video_cam {\\r\\n /* margin-left: 50px;\\r\\n margin-top: 5px; */\\r\\n float: right;\\r\\n right: 0;\\r\\n position: absolute;\\r\\n}\\r\\n.video_cam .fa {\\r\\n font-size: 15px;\\r\\n}\\r\\n.video_cam span {\\r\\n color: white;\\r\\n font-size: 20px;\\r\\n cursor: pointer;\\r\\n margin-right: 20px;\\r\\n}\\r\\n.msg_cotainer {\\r\\n margin-top: auto;\\r\\n margin-bottom: auto;\\r\\n margin-left: 10px;\\r\\n border-radius: 4px;\\r\\n background-color: #82ccdd;\\r\\n padding: 10px;\\r\\n position: relative;\\r\\n}\\r\\n.msg_cotainer:after {\\r\\n content: \\\" \\\";\\r\\n position: absolute;\\r\\n width: 0;\\r\\n height: 0;\\r\\n left: -8px;\\r\\n right: auto;\\r\\n top: 0px;\\r\\n bottom: auto;\\r\\n border: 8px solid;\\r\\n border-color: #82ccdd transparent transparent transparent;\\r\\n}\\r\\n.msg_cotainer_send {\\r\\n margin-top: auto;\\r\\n margin-bottom: auto;\\r\\n margin-right: 10px;\\r\\n border-radius: 4px;\\r\\n background-color: #78e08f;\\r\\n padding: 10px;\\r\\n position: relative;\\r\\n}\\r\\n.msg_cotainer_send:after {\\r\\n content: \\\" \\\";\\r\\n position: absolute;\\r\\n width: 0;\\r\\n height: 0;\\r\\n left: auto;\\r\\n right: -8px;\\r\\n top: 0px;\\r\\n bottom: auto;\\r\\n border: 8px solid;\\r\\n border-color: #78e08f transparent transparent transparent;\\r\\n}\\r\\n.msg_time {\\r\\n position: absolute;\\r\\n left: 3px;\\r\\n bottom: -17px;\\r\\n color: rgba(255, 255, 255, 0.5);\\r\\n font-size: 10px;\\r\\n width: 250px;\\r\\n}\\r\\n.msg_time_send {\\r\\n position: absolute;\\r\\n right: -4px;\\r\\n bottom: -15px;\\r\\n color: rgba(255, 255, 255, 0.5);\\r\\n font-size: 10px;\\r\\n width: 107px;\\r\\n}\\r\\n.msg_head {\\r\\n position: relative;\\r\\n}\\r\\n#action_menu_btn {\\r\\n position: absolute;\\r\\n right: 10px;\\r\\n top: 10px;\\r\\n color: white;\\r\\n cursor: pointer;\\r\\n font-size: 20px;\\r\\n}\\r\\n.action_menu {\\r\\n z-index: 1;\\r\\n position: absolute;\\r\\n padding: 15px 0;\\r\\n background-color: rgba(0, 0, 0, 0.5);\\r\\n color: white;\\r\\n border-radius: 15px;\\r\\n top: 30px;\\r\\n right: 15px;\\r\\n display: none;\\r\\n}\\r\\n.action_menu ul {\\r\\n list-style: none;\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n}\\r\\n.action_menu ul li {\\r\\n width: 100%;\\r\\n padding: 10px 15px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n.action_menu ul li i {\\r\\n padding-right: 10px;\\r\\n}\\r\\n.action_menu ul li:hover {\\r\\n cursor: pointer;\\r\\n background-color: rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n@media (max-width: 576px) {\\r\\n .contacts_card {\\r\\n margin-bottom: 15px !important;\\r\\n }\\r\\n}\\r\\n.text-chat .ng-scrollbar.-vertical .ng-scrollbar-thumb {\\r\\n background: #e5e5e545 !important;\\r\\n}\\r\\n.card.card-minimal {\\r\\n height: 60px;\\r\\n transition: linear all 300ms;\\r\\n}\\r\\n.card.card-minimal .card-header {\\r\\n padding: 9px;\\r\\n}\\r\\n.card.card-minimal .img_cont {\\r\\n height: 40px;\\r\\n width: 40px;\\r\\n}\\r\\n.card.card-minimal .user_img {\\r\\n height: 40px;\\r\\n width: 40px;\\r\\n}\\r\\n.card.card-minimal span.online_icon {\\r\\n bottom: 0px;\\r\\n right: 0px;\\r\\n}\\r\\n.msg-img {\\r\\n width: 150px;\\r\\n height: 150px;\\r\\n}\\r\\n.video-container {\\r\\n position: absolute;\\r\\n z-index: 1010;\\r\\n background: #000;\\r\\n height: 57%;\\r\\n width: 89%;\\r\\n opacity: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n top: 0;\\r\\n margin: auto;\\r\\n}\\r\\n.video-container.active {\\r\\n opacity: 1;\\r\\n transition: linear all 300ms;\\r\\n}\\r\\n.video-container .video-container-header {\\r\\n text-align: right;\\r\\n}\\r\\n.video-container .video-container-header .fa.fa-times {\\r\\n color: #d00;\\r\\n font-size: 14px;\\r\\n cursor: pointer;\\r\\n font-weight: 600;\\r\\n}\\r\\n.video-container .video-container-body {\\r\\n}\\r\\n.video-container .video-container-body video {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n.video-container .video-container-footer {\\r\\n}\\r\\n@media all and (max-width:550px){\\r\\n .chat-card.card{\\r\\n width:400px !important\\r\\n }\\r\\n}\\r\\n@media all and (max-width:400px){\\r\\n .chat-card.card{\\r\\n width:340px !important\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ textChatModel.Callee }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ m.fromUserId | userChatName : userInChatRoom }}, {{\\r\\n m.chatDate | date : \\\"MMM d, y, h:mm a\\\"\\r\\n }}\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{\\r\\n m.chatDate | date : \\\"MMM d, y, h:mm a\\\"\\r\\n }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n 0\\\"\\r\\n [roomId]=\\\"currentRoomId\\\" [userId]=\\\"chatInitModel.UserId\\\"\\r\\n [appointmentId]=\\\"chatInitModel.AppointmentId\\\">\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n  Close\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { TextChatModel } from \"src/app/shared/text-chat/textChatModel\";\r\n//import { TextChatService } from \"./text-chat.service\";\r\n\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\n\r\nimport { AppService } from \"./../../app-service.service\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n Inject,\r\n ViewEncapsulation,\r\n ViewChild,\r\n AfterViewInit,\r\n Renderer2,\r\n ElementRef,\r\n QueryList,\r\n ViewChildren,\r\n} from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { CommonService } from \"../../platform/modules/core/services\";\r\nimport { ChatHistoryModel } from \"../../platform/modules/agency-portal/clients/profile/chat-history.model\";\r\nimport { HubConnection } from \"../../hubconnection.service\";\r\nimport { ScrollbarComponent } from \"ngx-scrollbar\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { ChatInitModel } from \"src/app/shared/models/chatModel\";\r\nimport { $ } from \"protractor\";\r\nimport { DomSanitizer, SafeResourceUrl } from \"@angular/platform-browser\";\r\nimport { TextChatService } from \"./text-chat.service\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"app-text-chat\",\r\n templateUrl: \"./text-chat.component.html\",\r\n styleUrls: [\"./text-chat.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class TextChatComponent implements OnInit {\r\n @Input() chatInitModel: ChatInitModel;\r\n currentRoomId: any;\r\n allMessageArray: Array = [];\r\n textChatModel: TextChatModel;\r\n userInChatRoom: any = [];\r\n message: string;\r\n hubConnection: HubConnection;\r\n isLoading: boolean = false;\r\n loaderImage = \"../../assets/loader.gif\";\r\n @ViewChild(\"scrollbar\") scrollbarRef: ScrollbarComponent;\r\n //@ViewChild(\"scrollMe\") private myScrollContainer: ElementRef;\r\n showChatModal: boolean;\r\n isMinimalView: boolean = false;\r\n isWindowHide: boolean = false;\r\n appointmentDetail: any;\r\n // callerName: string = \"\";\r\n // calleeName: string = \"\";\r\n // callerImage: string = \"\";\r\n // calleeImage: string = \"\";\r\n userRole: string = \"\";\r\n appointmentId: number;\r\n currentLoginUserId: any;\r\n isAdminLogin: boolean;\r\n isClientLogin: boolean;\r\n // @ViewChild(\"scrollMe\") scrollFrame: ElementRef;\r\n // @ViewChildren(\"item\") itemElements: QueryList;\r\n\r\n // private itemContainer: any;\r\n // private scrollContainer: any;\r\n // private items = [];\r\n // private isNearBottom = true;\r\n\r\n constructor(\r\n private renderer2: Renderer2,\r\n @Inject(DOCUMENT) private _document,\r\n private appService: AppService, //private textChatService: TextChatService,\r\n private sanitizer: DomSanitizer,\r\n private commonService: CommonService,\r\n private activateRoute: ActivatedRoute,\r\n private textChatService: TextChatService\r\n ) {\r\n this.appointmentId = 0;\r\n this.showChatModal = false;\r\n this.message = \"\";\r\n this.hubConnection = new HubConnection();\r\n this.userInChatRoom = [];\r\n this.allMessageArray = [];\r\n this.currentRoomId = 0;\r\n }\r\n\r\n ngOnInit() {\r\n this.appService.chatRoom.subscribe((response: any) => {\r\n console.log(\"chat room id message from server: \", response);\r\n\r\n this.currentRoomId = response as number;\r\n\r\n if (this.currentRoomId > 0) {\r\n this.allMessageArray = [];\r\n this.getChatHistory(this.currentRoomId);\r\n if (this.currentRoomId > 0) {\r\n this.appService\r\n .getUserInChatRoom(this.currentRoomId)\r\n .subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.userInChatRoom = res.data;\r\n } else this.userInChatRoom = [];\r\n });\r\n }\r\n }\r\n });\r\n\r\n this.appService.chatUser.subscribe((textChatModel: TextChatModel) => {\r\n if (!textChatModel) {\r\n textChatModel = new TextChatModel();\r\n }\r\n this.textChatModel = textChatModel;\r\n });\r\n\r\n //this.dragElement(document.getElementsByClassName(\"chat-card\")[0]);\r\n if (\r\n this.chatInitModel &&\r\n this.chatInitModel.UserId > 0 &&\r\n this.chatInitModel.AppointmentId > 0\r\n )\r\n this.createHubConnection();\r\n this.appService.loadingState.subscribe((isLoading) => {\r\n this.isLoading = isLoading;\r\n });\r\n if (this.allMessageArray.length > 0) {\r\n //this.scrollToBottom();\r\n this.scrollbarRef.scrollToBottom();\r\n }\r\n this.currentLoginUserId = localStorage.getItem(\"UserId\")\r\n this.commonService.currentLoginUserInfo.subscribe((user: any) => {\r\n if (user) {\r\n // this.currentLoginUserId = user.id;\r\n // this.currentLoginUserId = localStorage.getItem(\"UserId\"); \r\n\r\n if (user.users3 && user.users3.userRoles) {\r\n this.userRole = (user.users3.userRoles.userType || \"\").toUpperCase();\r\n }\r\n\r\n this.isAdminLogin =\r\n user.users3 &&\r\n user.users3.userRoles &&\r\n (user.users3.userRoles.userType || \"\").toUpperCase() == \"ADMIN\";\r\n this.isClientLogin = this.userRole == \"CLIENT\";\r\n }\r\n\r\n // this.cdr.detectChanges(); // added by shubham i.e on 9/11/2021\r\n });\r\n }\r\n\r\n\r\n getChatHistory(roomId: number) {\r\n this.appService\r\n .getChatHistory(roomId, this.chatInitModel.UserId)\r\n .subscribe((response) => {\r\n if (response.statusCode == 200)\r\n this.allMessageArray = response.data;\r\n else this.allMessageArray = [];\r\n setTimeout(() => {\r\n this.scrollbarRef.scrollToBottom();\r\n }, 100);\r\n });\r\n }\r\n\r\n onToggleChatModal() {\r\n this.showChatModal = !this.showChatModal;\r\n }\r\n appendScript(src: string, type: string, tag: string) {\r\n const s = this.renderer2.createElement(tag);\r\n s.type = type;\r\n s.src = src;\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n }\r\n addClassMinimal() {\r\n var card = document.getElementsByClassName(\"chat-card\");\r\n card[0].classList.add(\"card-minimal\");\r\n this.isMinimalView = true;\r\n }\r\n removeClassMinimal() {\r\n var card = document.getElementsByClassName(\"chat-card\");\r\n card[0].classList.remove(\"card-minimal\");\r\n this.isMinimalView = false;\r\n }\r\n hideChatWindow() {\r\n this.isWindowHide = true;\r\n //var chatInitModel1 = new ChatInitModel();\r\n // this.appService.CheckChatActivated(chatInitModel1);\r\n this.appService.CheckChatActivated(null);\r\n //var textChatModel = new TextChatModel();\r\n // this.appService.ChatUserInit(textChatModel);\r\n this.appService.ChatUserInit(null);\r\n this.appService.SetChatRoomDetail(0);\r\n }\r\n dragElement(elmnt) {\r\n var pos1 = 0,\r\n pos2 = 0,\r\n pos3 = 0,\r\n pos4 = 0;\r\n if (document.getElementById(\"chatHeader\")) {\r\n // if present, the header is where you move the DIV from:\r\n document.getElementById(\"chatHeader\").onmousedown = dragMouseDown;\r\n } else {\r\n // otherwise, move the DIV from anywhere inside the DIV:\r\n elmnt.onmousedown = dragMouseDown;\r\n }\r\n\r\n function dragMouseDown(e) {\r\n e = e || window.event;\r\n e.preventDefault();\r\n // get the mouse cursor position at startup:\r\n pos3 = e.clientX;\r\n pos4 = e.clientY;\r\n document.onmouseup = closeDragElement;\r\n // call a function whenever the cursor moves:\r\n document.onmousemove = elementDrag;\r\n }\r\n\r\n function elementDrag(e) {\r\n e = e || window.event;\r\n e.preventDefault();\r\n // calculate the new cursor position:\r\n pos1 = pos3 - e.clientX;\r\n pos2 = pos4 - e.clientY;\r\n pos3 = e.clientX;\r\n pos4 = e.clientY;\r\n // set the element's new position:\r\n elmnt.style.top = elmnt.offsetTop - pos2 + \"px\";\r\n elmnt.style.left = elmnt.offsetLeft - pos1 + \"px\";\r\n }\r\n\r\n function closeDragElement() {\r\n // stop moving when mouse button is released:\r\n document.onmouseup = null;\r\n document.onmousemove = null;\r\n }\r\n }\r\n createHubConnection() {\r\n if (this.hubConnection) {\r\n var token = localStorage.getItem(\"business_token\");\r\n console.log(\"token\", token);\r\n\r\n console.log('TextChatComponent - createHubConnection - business_token', token);\r\n\r\n this.hubConnection.createHubConnection(token).then((response) => {\r\n console.log(\"hub:\", response);\r\n this.hubConnection.getHubConnection().onclose(() => {\r\n this.ReconnectOnClose(\r\n this.chatInitModel.UserId,\r\n this.chatInitModel.AppointmentId\r\n );\r\n this.getMessageNotifications();\r\n this.getChatRoomUserList();\r\n });\r\n this.hubConnection\r\n .ConnectToServerWithUserId(\r\n this.chatInitModel.UserId,\r\n this.chatInitModel.AppointmentId\r\n )\r\n .then((res) => {\r\n this.getMessageNotifications();\r\n this.getChatRoomUserList();\r\n });\r\n });\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.scrollbarRef.scrollToBottom(2000);\r\n //this.scrollToBottom();\r\n //this.scrollbarRef.scrollState.subscribe(e => console.log(e));\r\n }\r\n sendMessage() {\r\n if (!this.message || !this.message.trim()) return false;\r\n this.handleNewUserMessage(this.message);\r\n var currentDate = new Date();\r\n const messageObj: ChatHistoryModel = {\r\n message: this.message,\r\n isRecieved: false,\r\n chatDate: currentDate.toString(),\r\n fromUserId: this.chatInitModel.UserId,\r\n fileType: \"\",\r\n messageType: 0,\r\n\r\n };\r\n this.allMessageArray.push(messageObj);\r\n this.message = \"\";\r\n setTimeout(() => {\r\n this.scrollbarRef.scrollToBottom();\r\n }, 100);\r\n }\r\n public uploadFinished = (event) => {\r\n if (event.statusCode == 200) {\r\n var currentDate = new Date();\r\n var data = event.data;\r\n data.forEach((element) => {\r\n const messageObj: ChatHistoryModel = {\r\n message: element.message,\r\n isRecieved: false,\r\n chatDate: currentDate.toString(),\r\n fromUserId: this.chatInitModel.UserId,\r\n fileType: element.fileType,\r\n messageType: element.messageType,\r\n };\r\n this.allMessageArray.push(messageObj);\r\n this.scrollbarRef.scrollToBottom(1000);\r\n });\r\n }\r\n // console.log(\"Upload Finish\");\r\n // console.log(event);\r\n };\r\n // private onItemElementsChanged(): void {\r\n // if (this.isNearBottom) {\r\n // this.scrollToBottom();\r\n // }\r\n // }\r\n\r\n // private scrollToBottom(): void {\r\n // this.scrollContainer.scroll({\r\n // top: this.scrollContainer.scrollHeight,\r\n // left: 0,\r\n // behavior: \"smooth\"\r\n // });\r\n // }\r\n\r\n // private isUserNearBottom(): boolean {\r\n // const threshold = 150;\r\n // const position =\r\n // this.scrollContainer.scrollTop + this.scrollContainer.offsetHeight;\r\n // const height = this.scrollContainer.scrollHeight;\r\n // return position > height - threshold;\r\n // }\r\n\r\n // scrolled(event: any): void {\r\n // this.isNearBottom = this.isUserNearBottom();\r\n // }\r\n // scrollToBottom(): void {\r\n // try {\r\n // var scrollHeight = this.myScrollContainer.nativeElement.scrollHeight;\r\n // var scrollTop = this.myScrollContainer.nativeElement.scrollTop;\r\n // this.myScrollContainer.nativeElement.scrollTop = this.myScrollContainer.nativeElement.scrollHeight;\r\n // } catch (err) {}\r\n // }\r\n handleNewUserMessage(message: string = \"\") {\r\n\r\n if (this.hubConnection.isConnected()) {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\r\n \"SendMessage\",\r\n message,\r\n this.chatInitModel.UserId,\r\n this.currentRoomId,\r\n this.chatInitModel.AppointmentId\r\n )\r\n // .then(() => {\r\n // this.getMessageNotifications();\r\n // })\r\n .catch((err) =>\r\n console.error(err, \"ReceiveMessageReceiveMessageerror\")\r\n );\r\n return message;\r\n } else {\r\n this.hubConnection.restartHubConnection().then(() => {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\r\n \"SendMessage\",\r\n message,\r\n this.chatInitModel.UserId,\r\n this.currentRoomId,\r\n this.chatInitModel.AppointmentId\r\n )\r\n // .then(() => {\r\n // this.getMessageNotifications();\r\n // })\r\n .catch((err) =>\r\n console.error(err, \"ReceiveMessageReceiveMessageerror\")\r\n );\r\n return message;\r\n });\r\n }\r\n }\r\n openChatRoom(appointmentId: number) {\r\n this.commonService.loginUser.subscribe((response: any) => {\r\n if (response.access_token) {\r\n var chatInitModel = new ChatInitModel();\r\n chatInitModel.isActive = true;\r\n chatInitModel.AppointmentId = appointmentId;\r\n chatInitModel.UserId = response.data.userID;\r\n\r\n if (this.isClientLogin) {\r\n chatInitModel.UserRole = response.data.users3.userRoles.userType;\r\n } else {\r\n chatInitModel.UserRole = response.data.userRoles.userType;\r\n }\r\n\r\n // chatInitModel.UserRole = response.data.userRoles.userType;\r\n // chatInitModel.UserRole = response.data.users3.userRoles.userType;\r\n this.appService.CheckChatActivated(chatInitModel);\r\n //\r\n this.textChatService.setAppointmentDetail(\r\n chatInitModel.AppointmentId,\r\n chatInitModel.UserRole\r\n );\r\n //\r\n this.textChatService.setRoomDetail(\r\n chatInitModel.UserId,\r\n chatInitModel.AppointmentId\r\n );\r\n }\r\n });\r\n }\r\n getMessageNotifications() {\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\"ReceiveMessage\", (result, UserId, currentRoomId, appointmentId) => {\r\n console.log(\"message from server\", result, currentRoomId);\r\n if (appointmentId > 0) {\r\n this.appointmentId = appointmentId;\r\n this.openChatRoom(this.appointmentId);\r\n }\r\n\r\n //\r\n if (\r\n //UserId == this.chatInitModel.UserId &&\r\n currentRoomId == this.currentRoomId\r\n ) {\r\n result.forEach((element) => {\r\n var currentDate = new Date();\r\n const messageObj: ChatHistoryModel = {\r\n message: element.message,\r\n isRecieved:\r\n element.isRecieved != undefined ? element.isRecieved : true,\r\n chatDate: currentDate.toString(),\r\n fromUserId: UserId,\r\n fileType: element.fileType,\r\n messageType: element.messageType,\r\n };\r\n this.allMessageArray.push(messageObj);\r\n this.scrollbarRef.scrollToBottom(1000);\r\n console.log(this.allMessageArray);\r\n });\r\n\r\n // this.currentLoginUserId=UserId;\r\n // this.appService\r\n // .getChatHistory(currentRoomId, UserId)\r\n // .subscribe((response) => {\r\n // if (response.statusCode == 200) {\r\n // this.allMessageArray = response.data;\r\n // } else this.allMessageArray = [];\r\n // this.scrollbarRef.scrollToBottom();\r\n // });\r\n }\r\n });\r\n }\r\n ReconnectOnClose(userId, roomId) {\r\n setTimeout(() => {\r\n this.hubConnection.restartHubConnection().then(() => {\r\n this.hubConnection\r\n .ConnectToServerWithUserId(userId, roomId)\r\n .then((roomId) => {\r\n // console.log('Restart Connection: user id sent to server : ' + fromUserId);\r\n });\r\n });\r\n }, 5000);\r\n }\r\n\r\n getChatRoomUserList() {\r\n this.hubConnection\r\n .getHubConnection()\r\n .on(\"UserConnected\", (userId, room) => {\r\n console.log(\"New User Connected : \", userId);\r\n var index = this.userInChatRoom.findIndex((x) => x.userId == userId);\r\n if (index == -1) {\r\n this.appService\r\n .getUserInChatRoom(this.currentRoomId, false)\r\n .subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.userInChatRoom = res.data;\r\n }\r\n });\r\n //console.log(this.allMessageArray);\r\n }\r\n });\r\n }\r\n fileToUpload: any;\r\n url: any;\r\n files: Array = [];\r\n onSelectFile(files: FileList) {\r\n if (files.length === 0) return;\r\n\r\n this.fileToUpload = files.item(0);\r\n\r\n const fileReader: FileReader = new FileReader();\r\n fileReader.readAsDataURL(this.fileToUpload);\r\n\r\n fileReader.onload = (event: any) => {\r\n this.url = event.target.result;\r\n };\r\n\r\n this.files.push({\r\n data: this.fileToUpload,\r\n fileName: this.fileToUpload.name,\r\n });\r\n this.handleNewChatFile(this.files[0]);\r\n }\r\n handleNewChatFile(file: any) {\r\n if (this.hubConnection.isConnected()) {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\r\n \"SendFileInMessage\",\r\n file,\r\n this.chatInitModel.UserId,\r\n this.currentRoomId\r\n )\r\n // .then(() => {\r\n // this.getMessageNotifications();\r\n // })\r\n .catch((err) =>\r\n console.error(err, \"ReceiveMessageReceiveMessageerror\")\r\n );\r\n return file;\r\n } else {\r\n this.hubConnection.restartHubConnection().then(() => {\r\n this.hubConnection\r\n .getHubConnection()\r\n .invoke(\r\n \"SendFileInMessage\",\r\n file,\r\n this.chatInitModel.UserId,\r\n this.currentRoomId\r\n )\r\n // .then(() => {\r\n // this.getMessageNotifications();\r\n // })\r\n .catch((err) =>\r\n console.error(err, \"ReceiveMessageReceiveMessageerror\")\r\n );\r\n return file;\r\n });\r\n }\r\n }\r\n videoUrl: string = \"\";\r\n isPlay: boolean = false;\r\n videoRecordPlayback($event: any) {\r\n this.videoUrl = \"\";\r\n //var iframe = document.getElementById(\"iframeVideo\");\r\n this.isPlay = false;\r\n if ($event != null) {\r\n //iframe.attributes.(\"src\").set $event.url;);\r\n this.videoUrl = $event.url; //this.sanitizer.bypassSecurityTrustResourceUrl($event.url);\r\n this.isPlay = true;\r\n }\r\n }\r\n}\r\n","import { environment } from \"src/environments/environment\";\r\nimport { HttpHeaders, HttpClient } from \"@angular/common/http\";\r\nimport { TextChatModel } from \"./textChatModel\";\r\nimport { AppService } from \"./../../app-service.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { SchedulerService } from \"./../../platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { CommonService } from \"./../../super-admin-portal/core/services/common.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class TextChatService {\r\n textChatModel: TextChatModel;\r\n\r\n private getAppointmentDetailURL = \"Home/GetAppointmentDetail?appointmentId=\";\r\n private getChatRoomURL = \"Home/GetChatRoomId\";\r\n constructor(\r\n private schedulerService: SchedulerService,\r\n private appService: AppService,\r\n private http: HttpClient\r\n ) {\r\n this.textChatModel = new TextChatModel();\r\n }\r\n setAppointmentDetail(appointmentId: number, userRole: string = \"\") {\r\n this.getAppointmentDetail(appointmentId).subscribe(response => {\r\n var appointmentDetail = response.data;\r\n if (response.statusCode == 200) {\r\n var staff = appointmentDetail.appointmentStaffs[0];\r\n if (\r\n userRole.toUpperCase() == \"CLIENT\" ||\r\n userRole.toUpperCase() == \"INVITED\"\r\n ) {\r\n this.textChatModel.Callee = staff.staffName;\r\n this.textChatModel.CalleeImage = staff.photoThumbnail;\r\n this.textChatModel.Caller = appointmentDetail.patientName;\r\n this.textChatModel.CallerImage =\r\n appointmentDetail.patientPhotoThumbnailPath;\r\n } else {\r\n this.textChatModel.Caller = staff.staffName;\r\n this.textChatModel.CallerImage = staff.photoThumbnail;\r\n this.textChatModel.Callee = appointmentDetail.patientName;\r\n this.textChatModel.CalleeImage =\r\n appointmentDetail.patientPhotoThumbnailPath;\r\n }\r\n }\r\n this.appService.ChatUserInit(this.textChatModel);\r\n });\r\n }\r\n getAppointmentDetail(\r\n appointmentId: number,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.appService.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this\r\n .getAppointmentDetailURL}${appointmentId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(res => {\r\n isLoading && this.appService.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n setRoomDetail(\r\n userId: number,\r\n appointmentId: number,\r\n isLoading: boolean = true\r\n ) {\r\n this.getRoomDetail(userId, appointmentId, isLoading).subscribe(response => {\r\n var roomId = 0;\r\n if (response.statusCode == 200) {\r\n roomId = response.data;\r\n this.appService.SetChatRoomDetail(roomId);\r\n }\r\n });\r\n }\r\n getRoomDetail(\r\n userId: number,\r\n appointmentId: number,\r\n isLoading: boolean = true\r\n ): Observable {\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\")\r\n });\r\n isLoading && this.appService.setLoadingState(true);\r\n return this.http\r\n .get(\r\n `${environment.api_url}/${this\r\n .getChatRoomURL}?userId=${userId}&appointmentId=${appointmentId}`,\r\n { headers: headers }\r\n )\r\n .pipe(\r\n map(res => {\r\n isLoading && this.appService.setLoadingState(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n // getAppointmentInfo(appointmentId: number, userRole: string) {\r\n // this.schedulerService\r\n // .getAppointmentDetails(appointmentId)\r\n // .subscribe(response => {\r\n // var appointmentDetail = response.data;\r\n // if (response.statusCode == 200) {\r\n // var staff = appointmentDetail.appointmentStaffs[0];\r\n // if (userRole.toUpperCase() == \"CLIENT\") {\r\n // this.textChatModel.Callee = \"Dr. \" + staff.staffName;\r\n // this.textChatModel.CalleeImage = staff.photoThumbnail;\r\n // this.textChatModel.Caller = appointmentDetail.patientName;\r\n // this.textChatModel.CallerImage =\r\n // appointmentDetail.patientPhotoThumbnailPath;\r\n // } else {\r\n // this.textChatModel.Caller = \"Dr. \" + staff.staffName;\r\n // this.textChatModel.CallerImage = staff.photoThumbnail;\r\n // this.textChatModel.Callee = appointmentDetail.patientName;\r\n // this.textChatModel.CalleeImage =\r\n // appointmentDetail.patientPhotoThumbnailPath;\r\n // }\r\n // }\r\n // this.appService.ChatUserInit(this.textChatModel);\r\n // });\r\n // }\r\n}\r\n","module.exports = \".msg-icon {\\r\\n font-size: 20px;\\r\\n}\\r\\n.msg-icon.fa-file-pdf-o {\\r\\n color: rgb(189, 78, 78);\\r\\n}\\r\\n.msg-icon.fa-file-excel-o {\\r\\n color: #155d15;\\r\\n}\\r\\n.msg-icon.fa-file-text-o {\\r\\n color: #2a2a6f;\\r\\n}\\r\\n.msg-icon .msg-file-text {\\r\\n font-size: 16px;\\r\\n margin-left: 7px;\\r\\n color: #051819;\\r\\n font-weight: 400;\\r\\n}\\r\\n.a-recording-play {\\r\\n cursor: pointer;\\r\\n}\\r\\n\"","module.exports = \"{{ msg.message }}\\r\\n\\r\\n -1\\\"\\r\\n >\\r\\n -1\\\"\\r\\n >{{ msg.fileName }}\\r\\n -1\\\"\\r\\n >{{ msg.fileName }}\\r\\n -1\\\"\\r\\n >{{ msg.fileName }}\\r\\n -1\\\"\\r\\n >\\r\\n Call Recording\\r\\n \\r\\n \\r\\n\\r\\n\"","import {\r\n Component,\r\n ViewEncapsulation,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport { HomeService } from \"src/app/front/home/home.service\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { VideoRecordModel } from \"../../models/videoRecordModel\";\r\n\r\n@Component({\r\n selector: \"app-text-message-format\",\r\n templateUrl: \"./text-message-format.component.html\",\r\n styleUrls: [\"./text-message-format.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class TextMessageFormatComponent implements OnInit {\r\n @Input(\"message\") msg: any;\r\n imageExtension = [\".jpg\", \".JPG\", \".png\", \".PNG\", \".jpeg\", \".JPEG\"];\r\n docExtension = [\".doc\", \".DOC\", \".docx\", \".DOCX\"];\r\n pdfExtension = [\".pdf\", \".PDF\"];\r\n excelExtension = [\".xls\", \".XLS\", \".xlsx\", \".XLSX\"];\r\n recExtension = [\".rec\", \".ROC\"];\r\n archiveId: string = \"\";\r\n videoUrl: string = \"\";\r\n //isVideoStarted: boolean = false;\r\n @Output() videoRecordPlayback = new EventEmitter();\r\n constructor(\r\n private homeService: HomeService //private appService: AppService\r\n ) {\r\n this.videoUrl = \"\";\r\n //this.isVideoStarted = false;\r\n }\r\n ngOnInit() {}\r\n playRecording(msg: any) {\r\n console.log(msg);\r\n \r\n this.homeService.getVideoArchiveDetail(msg.fileName).subscribe((res) => {\r\n if (res.statusCode == 200) {\r\n this.videoUrl = res.data.url;\r\n //this.isVideoStarted = true;\r\n this.videoRecordPlayback.emit(res.data);\r\n } else {\r\n this.videoUrl = \"\";\r\n this.videoRecordPlayback.emit(null);\r\n //this.isVideoStarted = false;\r\n }\r\n });\r\n }\r\n}\r\n","export class TextChatModel {\r\n Callee: string = \"\";\r\n CalleeImage: string = \"\";\r\n Caller: string = \"\";\r\n CallerImage: string = \"\";\r\n AppointmentDate: string = \"\";\r\n AppointmentTime: string = \"\";\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n 0\\\"> {{ progress }}% \\r\\n \\r\\n {{ message }}\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import {\r\n OnInit,\r\n ViewEncapsulation,\r\n Component,\r\n EventEmitter,\r\n Output,\r\n Input,\r\n} from \"@angular/core\";\r\nimport {\r\n HttpClient,\r\n HttpEventType,\r\n HttpBackend,\r\n HttpHeaders,\r\n} from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Component({\r\n selector: \"app-upload-file\",\r\n templateUrl: \"./upload-file.component.html\",\r\n styleUrls: [\"./upload-file.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UploadFileComponent implements OnInit {\r\n public progress: number;\r\n public message: string;\r\n @Input(\"roomId\") roomId: number;\r\n @Input(\"userId\") userId: number;\r\n @Input(\"appointmentId\") appointmentId: number;\r\n @Output() public onUploadFinished = new EventEmitter();\r\n\r\n constructor(private http: HttpClient, handler: HttpBackend) {\r\n this.http = new HttpClient(handler);\r\n }\r\n\r\n ngOnInit() {}\r\n public uploadFile = (files) => {\r\n if (files.length === 0) {\r\n return;\r\n }\r\n\r\n let filesToUpload: File[] = files;\r\n const formData = new FormData();\r\n\r\n Array.from(filesToUpload).map((file, index) => {\r\n return formData.append(\"file\" + index, file, file.name);\r\n });\r\n const headers = new HttpHeaders({\r\n businessToken: localStorage.getItem(\"business_token\"),\r\n });\r\n this.http\r\n .post(\r\n `${environment.api_url}/Chat/SendImage/${this.userId}/${this.roomId}/${this.appointmentId}`,\r\n formData,\r\n { headers: headers, reportProgress: true, observe: \"events\" }\r\n )\r\n .subscribe((event) => {\r\n if (event.type === HttpEventType.UploadProgress)\r\n this.progress = Math.round((100 * event.loaded) / event.total);\r\n else if (event.type === HttpEventType.Response) {\r\n this.message = \"Upload success.\";\r\n this.onUploadFinished.emit(event.body);\r\n }\r\n });\r\n };\r\n // public uploadFile = files => {\r\n // \r\n // if (files.length === 0) {\r\n // return;\r\n // }\r\n\r\n // let fileToUpload = files[0];\r\n // const formData = new FormData();\r\n // formData.append(\"file\", fileToUpload, fileToUpload.name);\r\n // // const header = {\r\n // // \"Content-Type\": \"application/json\"\r\n // // };\r\n // this.http\r\n // .post(\r\n // `${environment.api_url}/Chat/SendImage/${this.userId}/${this.roomId}`,\r\n // formData,\r\n // {\r\n // // headers: header,\r\n // reportProgress: true,\r\n // observe: \"events\"\r\n // }\r\n // )\r\n // .subscribe(event => {\r\n // if (event.type === HttpEventType.UploadProgress)\r\n // this.progress = Math.round((100 * event.loaded) / event.total);\r\n // else if (event.type === HttpEventType.Response) {\r\n // this.message = \"Upload success.\";\r\n // //this.onUploadFinished.emit(event.body);\r\n // }\r\n // });\r\n // };\r\n}\r\n","module.exports = \"main {\\r\\n padding: 1em;\\r\\n font-family: Arial, Helvetica, sans-serif;\\r\\n text-align: center;\\r\\n margin-top: 50px;\\r\\n display: block;\\r\\n color: greenyellow;\\r\\n}\\r\\n\\r\\nlabel {\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.upload-drop-zone {\\r\\n height: 200px;\\r\\n border-width: 2px;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n/* skin.css Style*/\\r\\n\\r\\n.upload-drop-zone {\\r\\n color: #ccc;\\r\\n border-style: dashed;\\r\\n border-color: #ccc;\\r\\n line-height: 200px;\\r\\n text-align: center\\r\\n}\\r\\n\\r\\n.upload-drop-zone.drop {\\r\\n color: #222;\\r\\n border-color: #222;\\r\\n}\\r\\n\\r\\n.browse-doc {\\r\\n border-radius: 0px;\\r\\n}\\r\\n\\r\\n.browse-doc .browse {\\r\\n line-height: normal;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.uploading-data {\\r\\n border-bottom: 1px solid #ddd;\\r\\n padding: 10px 0px;\\r\\n}\\r\\n\\r\\n.uploading-data img {\\r\\n padding-right: 15px;\\r\\n filter: grayscale(100%);\\r\\n -webkit-filter: grayscale(100%);\\r\\n opacity: 0.8;\\r\\n padding-top: 5px;\\r\\n}\\r\\n\\r\\n.uploading-data p {\\r\\n width: 90%;\\r\\n font-size: 14px;\\r\\n color: rgba( 0, 0, 0, 0.80);\\r\\n font-weight: 500;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n/* .custom_modal {\\r\\n height: 400vh;\\r\\n} */\\r\\n\\r\\n.mat-dialog-actions {\\r\\n padding: 15px 18px !important;\\r\\n}\\r\\n\\r\\n.uplaod_pic i {\\r\\n font-size: 24px;\\r\\n}\\r\\n\\r\\n.cancel-btn {\\r\\n background-color: #fff;\\r\\n color: #003359 !important;\\r\\n min-width: 80px;\\r\\n text-align: center;\\r\\n line-height: 32px;\\r\\n font-weight: 500;\\r\\n font-size: 14px;\\r\\n padding: 3px 5px;\\r\\n color: #fff;\\r\\n display: inline-block;\\r\\n cursor: pointer;\\r\\n border: 2px solid #003359;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.uplaod_pic span {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.ml-auto,\\r\\n.mat-dialog-actions .mat-primary {\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n.policy-blk .fa {\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: -7px;\\r\\n background-color: #2f2660;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n border-radius: 50%;\\r\\n color: #fff;\\r\\n padding: 6px 10px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n.mat-dialog-actions {\\r\\n display: block !important;\\r\\n}\\r\\n\\r\\n.txt-css {\\r\\n font-size: 22px;\\r\\n font-weight: 500;\\r\\n color: #2f2660;\\r\\n}\"","module.exports = \"
\\r\\n
\\r\\n

Urgent Care Requirement

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

Hi,{{patientDetails.patientName}} has requested for urgent care requirement\\r\\n with complaint {{patientDetails.notes }}\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, Inject, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { AppService } from \"src/app/app-service.service\";\r\nimport { CallInitModel, CallStatus, UrgentCareProviderActionInitModel } from \"../models/callModel\";\r\nimport { CommonService } from \"src/app/platform/modules/core/services\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material\";\r\nimport { NotifierService } from \"angular-notifier\";\r\nimport { SchedulerService } from \"src/app/platform/modules/scheduling/scheduler/scheduler.service\";\r\nimport { LoginUser } from \"src/app/platform/modules/core/modals/loginUser.modal\";\r\n\r\n@Component({\r\n selector: \"app-urgentcare-provideraction\",\r\n templateUrl: \"./urgentcare-provideraction.component.html\",\r\n styleUrls: [\"./urgentcare-provideraction.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UrgentCareProviderActionComponent implements OnInit {\r\n userId: number = null;\r\n appointmentId: number;\r\n masterDocumentTypes: any = []\r\n //addDocumentForm: FormGroup;\r\n fileList: any = [];\r\n dataURL: any;\r\n submitted: boolean = false;\r\n todayDate = new Date();\r\n patientDetails:any;\r\n constructor(private dialogModalRef: MatDialogRef,\r\n private router: Router,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService, \r\n private schedulerService: SchedulerService,\r\n private commonService: CommonService,\r\n private appService: AppService) {\r\n \r\n this.appointmentId = this.data;\r\n }\r\n \r\n ngOnInit() {\r\n this.getPatientdetails(this.appointmentId);\r\n this.commonService.loginUser.subscribe((user: LoginUser) => {\r\n if (user.data) {\r\n this.userId = user.data.userID;\r\n \r\n }\r\n });\r\n\r\n }\r\n \r\n \r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action);\r\n }\r\n\r\n onAccept(){\r\n //this.router.navigate([\"/web/waiting-room/\"+this.appointmentId]);\r\n this.router.navigate([\"/web/encounter/soap\"], {\r\n queryParams: {\r\n apptId: this.appointmentId,\r\n encId: 0\r\n },\r\n });\r\n //this.router.navigate([\"/web/waiting-room/\"+this.appointmentId]);\r\n this.dialogModalRef.close();\r\n }\r\n \r\n onReject(){\r\n \r\n this.schedulerService\r\n .urgentCareRefundAppointmentFee(this.appointmentId)\r\n .subscribe((response: any) => {\r\n if (response.statusCode === 200) {\r\n \r\n //this.callPatientInformProviderAvailability(this.appointmentId);\r\n } else {\r\n \r\n }\r\n });\r\n this.dialogModalRef.close();\r\n }\r\n \r\n\r\n callPatientInformProviderAvailability(pateintapptid:number){\r\n \r\n if (pateintapptid > 0 && this.userId > 0) {\r\n this.appService\r\n .getcallPatientInformProviderAvailability(pateintapptid, this.userId) \r\n .subscribe((res) => {\r\n // console.log(res);\r\n });\r\n }\r\n // let callInitModel: UrgentCareProviderActionInitModel = new UrgentCareProviderActionInitModel();\r\n // callInitModel.AppointmentId = pateintapptid;\r\n // //callInitModel.CallStatus = CallStatus.Picked;\r\n // this.appService.ProviderActioncallStarted(callInitModel);\r\n }\r\n\r\n getPatientdetails(appointmentId:number){\r\n \r\n if (appointmentId > 0) {\r\n this.schedulerService\r\n .getAppointmentDetails(appointmentId) \r\n .subscribe((res) => {\r\n this.patientDetails=res.data;\r\n });\r\n }\r\n // let callInitModel: UrgentCareProviderActionInitModel = new UrgentCareProviderActionInitModel();\r\n // callInitModel.AppointmentId = pateintapptid;\r\n // //callInitModel.CallStatus = CallStatus.Picked;\r\n // this.appService.ProviderActioncallStarted(callInitModel);\r\n }\r\n\r\n\r\n}\r\n","module.exports = \".cstm-cross {\\r\\n position: absolute;\\r\\n color: #fff;\\r\\n top: 12px;\\r\\n right: 10px;\\r\\n cursor: pointer;\\r\\n}\"","module.exports = \"
\\r\\n

{{headerText}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n 0}\\\" stickyHeader=\\\"true\\\" [inputColumns]=\\\"allAppointmentsDisplayedColumns\\\"\\r\\n [inputSource]=\\\"allAppointmentsList\\\" [inputMeta]=\\\"allAppointmentsMeta\\\" (onChange)=\\\"onUpcomingAptPageOrSortChange($event)\\\">\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","\r\nimport { Component, Inject, Input, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\nimport * as format from 'date-fns/format';\r\nimport { Metadata, ResponseModel } from 'src/app/platform/modules/core/modals/common-model';\r\nimport { CommonService } from 'src/app/platform/modules/core/services/common.service';\r\n\r\nimport { AppointmentGraphService } from '../appointment-graph/appointment-graph.service';\r\n//import { Metadata } from '../client-profile.model';\r\n\r\n@Component({\r\n selector: 'appurgentcarelistingdialog',\r\n templateUrl: './urgentcarelisting-dialog.component.html',\r\n styleUrls: ['./urgentcarelisting-dialog.component.css']\r\n})\r\nexport class UrgentCareListingdialogComponent implements OnInit {\r\n upcomingAptfilterModel: any;\r\n allAppointmentsMeta: Metadata;\r\n headerText: string = \"UrgentCare Appointments\";\r\n allAppointmentsList: Array = [];\r\n allAppointmentsDisplayedColumns = [\r\n {\r\n displayName: \"Provider\",\r\n key: \"staffName\",\r\n class: \"\",\r\n width: \"150px\",\r\n sticky: true\r\n },\r\n {\r\n displayName: \"Patient\",\r\n key: \"fullName\",\r\n class: \"\",\r\n width: \"150px\",\r\n type: \"link\",\r\n //url: \"/web/member/profile\",\r\n queryParamsColumn: \"queryParamsPatientObj\",\r\n sticky: true\r\n },\r\n // {\r\n // displayName: \"Appt. Type\",\r\n // key: \"appointmentType\",\r\n // width: \"130px\"\r\n // },\r\n // {\r\n // displayName: \"Appt. Mode\",\r\n // key: \"appointmentMode\",\r\n // width: \"130px\"\r\n // },\r\n {\r\n displayName: \"Date Time\",\r\n key: \"dateTimeOfService\",\r\n width: \"300px\",\r\n type: \"link\",\r\n //url: \"/web/member/scheduling\",\r\n queryParamsColumn: \"queryParamsObj\"\r\n },\r\n {\r\n displayName: \"Symptom/Ailment\",\r\n key: \"notes\",\r\n width: \"210px\",\r\n type: \"50\",\r\n isInfo: true\r\n },\r\n // {\r\n // displayName: \"Rating\",\r\n // key: \"rating\",\r\n // width: \"110px\",\r\n // type: \"rating\"\r\n // },\r\n // {\r\n // displayName: \"Review\",\r\n // key: \"review\",\r\n // width: \"150px\",\r\n // type: \"50\"\r\n // },\r\n // { displayName: \"Status\", key: \"statusName\", width: \"80px\" },\r\n { displayName: \"Actions\", key: \"Actions\", width: \"50px\" }\r\n ];\r\n \r\n upcomingAppointmentsActionButtons = [\r\n {\r\n displayName: \"Select\",\r\n key: \"toWaitingRoom\",\r\n class: \"fa fa-arrow-right\"\r\n }\r\n ];\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private dialogModalRef: MatDialogRef, private route: Router, private appointmentGraphService: AppointmentGraphService,private commonService: CommonService) {\r\n \r\n this.allAppointmentsList = this.data.popmodel == null ? [] : this.data.popmodel;\r\n //this.allAppointmentsMeta = this.data.popmeta == null ? [] : this.data.popmeta;\r\n }\r\n closeDialog(action: string): void {\r\n this.dialogModalRef.close(action); \r\n }\r\n ngOnInit() {\r\n this.getAllPatientAppointmentList();\r\n }\r\n// onUpcomingTableActionClick(actionObj?: any) {\r\n \r\n// switch ((actionObj.action || '').toUpperCase()) {\r\n// case 'TOWAITINGROOM':\r\n// this.closeDialog(\"close\");\r\n// this.route.navigate([`/web/waiting-room/reshedule/${actionObj.data.patientAppointmentId}/`]);\r\n// break;\r\n\r\n\r\n// default:\r\n// break;\r\n// }\r\n// }\r\n\r\n// onUpcomingAptPageOrSortChange(event: any) {\r\n\r\n// }\r\n\r\n// setUpcomingPaginatorModel(\r\n// pageNumber: number,\r\n// pageSize: number,\r\n// sortColumn: string,\r\n// sortOrder: string\r\n// ) {\r\n// this.upcomingAptfilterModel.pageNumber = pageNumber;\r\n// this.upcomingAptfilterModel.pageSize = pageSize;\r\n// this.upcomingAptfilterModel.sortOrder = sortOrder;\r\n// this.upcomingAptfilterModel.sortColumn = sortColumn;\r\n// }\r\ngetAllPatientAppointmentList(pageNumber: number = 1, pageSize: number = 5) {\r\n const filters = {\r\n // locationIds: this.currentLocationId,\r\n // staffIds: (this.userRoleName || '').toUpperCase() == 'ADMIN' ? \"\" : this.currentLoginUserId,\r\n //fromDate: format(new Date(), \"YYYY-MM-DD\"),\r\n //toDate: format(addDays(new Date(), 720), \"YYYY-MM-DD\"),\r\n // status: 'Approved',\r\n pageNumber,\r\n pageSize\r\n };\r\n this.appointmentGraphService\r\n .getUrgentcareAppointmentList(filters)\r\n .subscribe((response: ResponseModel) => {\r\n if (response != null && response.statusCode == 200) {\r\n\r\n this.allAppointmentsList =\r\n response.data != null && response.data.length > 0\r\n ? response.data\r\n : [];\r\n this.allAppointmentsList = (this.allAppointmentsList || []).map(x => {\r\n const staffsArray = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffName\r\n );\r\n //console.log(this.allAppointmentsList)\r\n const staffIds = (x.pendingAppointmentStaffs || []).map(\r\n y => y.staffId\r\n );\r\n x.staffName = staffsArray.join(\", \");\r\n (x[\"queryParamsPatientObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null\r\n }),\r\n (x[\"queryParamsObj\"] = {\r\n id:\r\n x.patientID > 0\r\n ? this.commonService.encryptValue(x.patientID, true)\r\n : null,\r\n staffId: staffIds.join(\",\"),\r\n date: format(x.startDateTime, \"MM/DD/YYYY\")\r\n });\r\n x.dateTimeOfService =\r\n format(x.startDateTime, \"MM/DD/YYYY\") +\r\n \" (\" +\r\n format(x.startDateTime, \"h:mm A\") +\r\n \" - \" +\r\n format(x.endDateTime, \"h:mm A\") +\r\n \")\";\r\n return x;\r\n });\r\n this.allAppointmentsMeta = response.meta;\r\n }\r\n this.allAppointmentsMeta.pageSizeOptions = [5,10,25,50,100];\r\n });\r\n }\r\n\r\n onUpcomingAptPageOrSortChange(changeState?: any) {\r\n \r\n // this.setUpcomingPaginatorModel(\r\n // changeState.pageNumber,\r\n // changeState.pageSize,\r\n // changeState.sort,\r\n // changeState.order\r\n // );\r\n this.getAllPatientAppointmentList(changeState.pageNumber, changeState.pageSize);\r\n }\r\n// setUpcomingPaginatorModel(\r\n// pageNumber: number,\r\n// pageSize: number,\r\n// sortColumn: string,\r\n// sortOrder: string\r\n// ) {\r\n// \r\n// this.upcomingAptfilterModel.pageNumber = pageNumber;\r\n// this.upcomingAptfilterModel.pageSize = pageSize;\r\n// this.upcomingAptfilterModel.sortOrder = sortOrder;\r\n// this.upcomingAptfilterModel.sortColumn = sortColumn;\r\n// }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport RecordRTC from 'recordrtc';\r\nimport * as moment from \"moment\"\r\n\r\ninterface RecordedAudioOutput {\r\n blob: Blob;\r\n title: string;\r\n}\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AudioRecordingService {\r\n\r\n private stream;\r\n private recorder;\r\n private interval;\r\n private startTime;\r\n private _recorded = new Subject();\r\n private _recordingTime = new Subject();\r\n private _recordingFailed = new Subject();\r\n constructor() { }\r\n\r\n\r\n getRecordedBlob(): Observable {\r\n return this._recorded.asObservable();\r\n }\r\n\r\n getRecordedTime(): Observable {\r\n return this._recordingTime.asObservable();\r\n }\r\n\r\n recordingFailed(): Observable {\r\n return this._recordingFailed.asObservable();\r\n }\r\n\r\n\r\n startRecording() {\r\n if (this.recorder) {\r\n return;\r\n }\r\n\r\n this._recordingTime.next('00:00');\r\n navigator.mediaDevices.getUserMedia({ audio: true })\r\n .then(s => {\r\n this.stream = s;\r\n this.record();\r\n }).catch(error => {\r\n this._recordingFailed.next();\r\n });\r\n\r\n }\r\n\r\n abortRecording() {\r\n this.stopMedia();\r\n }\r\n\r\n private record() {\r\n\r\n this.recorder = new RecordRTC.StereoAudioRecorder(this.stream, {\r\n type: 'audio',\r\n mimeType: 'audio/mp3'\r\n });\r\n\r\n this.recorder.record();\r\n this.startTime = moment();\r\n this.interval = setInterval(\r\n () => {\r\n const currentTime = moment();\r\n const diffTime = moment.duration(currentTime.diff(this.startTime));\r\n const time = this.toString(diffTime.minutes()) + ':' + this.toString(diffTime.seconds());\r\n this._recordingTime.next(time);\r\n },\r\n 5000\r\n );\r\n }\r\n\r\n private toString(value) {\r\n let val = value;\r\n if (!value) {\r\n val = '00';\r\n }\r\n if (value <= 5) {\r\n val = '0' + value;\r\n }\r\n return val;\r\n }\r\n\r\n stopRecording() {\r\n if (this.recorder) {\r\n this.recorder.stop((blob) => {\r\n if (this.startTime) {\r\n const mp3Name = encodeURIComponent('audio_' + new Date().getTime() + '.mp3');\r\n this.stopMedia();\r\n this._recorded.next({ blob: blob, title: mp3Name });\r\n }\r\n }, () => {\r\n this.stopMedia();\r\n this._recordingFailed.next();\r\n });\r\n }\r\n }\r\n\r\n private stopMedia() {\r\n if (this.recorder) {\r\n this.recorder = null;\r\n clearInterval(this.interval);\r\n this.startTime = null;\r\n if (this.stream) {\r\n this.stream.getAudioTracks().forEach(track => track.stop());\r\n this.stream = null;\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Please verify video settings before continuing

\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
Before conducting a video consultation make sure to test that your microphone, speakers, and video (web camera) work properly using the buttons below.
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Video: Unavailable

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
{{ audioRecordedTime }}
\\r\\n

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

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

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

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","module.exports = \".schedule-modal {\\n padding: 24px; }\\n\\n.schedule-modal .mat-dialog-content {\\n margin-bottom: 10px; }\\n\\n.schedule-modal .mat-dialog-actions,\\n.schedule-modal .mat-dialog-content {\\n margin-left: -24px !important;\\n margin-right: -24px !important; }\\n\\n.mat-dialog-actions {\\n padding: 18px 24px 0 !important; }\\n\\n.btn {\\n border: 1px solid #FE7F2D;\\n padding: 5px 15px;\\n text-transform: uppercase;\\n border-radius: 2px;\\n color: #fff;\\n background-color: #FE7F2D;\\n margin-bottom: 1rem;\\n float: right; }\\n\\n.dialog_head h4 {\\n font-weight: 400; }\\n\"","\r\nimport { ChangeDetectorRef, Component, ElementRef, Inject, OnInit, Optional, PLATFORM_ID, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { AudioRecordingService } from './audio-recording.service';\r\n\r\n\r\ndeclare var MediaRecorder: any;\r\n\r\n@Component({\r\n selector: 'app-video-consultation-test-modal',\r\n templateUrl: './video-consultation-test-modal.component.html',\r\n styleUrls: ['./video-consultation-test-modal.component.scss']\r\n})\r\nexport class VideoConsultationTestModalComponent implements OnInit {\r\n @ViewChild('videoElement') videoElement: ElementRef;\r\n @ViewChild('audioElement') audioElement: ElementRef;\r\n @ViewChild('all_pids') pids: ElementRef;\r\n constraints: any;\r\n audioInputSelect: any;\r\n audioOutputSelect: any;\r\n videoSelect: any;\r\n selectors: any;\r\n window: any;\r\n isCameraInit: boolean = false;\r\n videoTrack: any;\r\n decibals: number = 0;\r\n isAudioInit: boolean = false;\r\n audioTrack: any;\r\n meter: any;\r\n mediaRecorder: any;\r\n chunks = [];\r\n audioFiles = [];\r\n isAudioRecording: boolean = false;\r\n audioRecordedTime: any;\r\n audioBlob: any;\r\n audioName: any;\r\n audioBlobUrl: any;\r\n isVideoError:boolean=false;\r\n audioConf = { audio: true}\r\n constructor(@Optional() @Inject(MAT_DIALOG_DATA) public data: any, @Inject(PLATFORM_ID) private _platform: Object,\r\n public notifier: NotifierService, public dialogPopup: MatDialogRef, private ref: ChangeDetectorRef, private sanitizer: DomSanitizer,\r\n private audioRecordingService: AudioRecordingService,\r\n ) { }\r\n\r\n //videoElement:any;\r\n ngOnInit() {\r\n \r\n this.audioRecordingService.recordingFailed().subscribe(() => {\r\n this.isAudioRecording = false;\r\n this.notifier.notify(\"error\", \"Audio does not work\")\r\n this.ref.detectChanges();\r\n });\r\n\r\n this.audioRecordingService.getRecordedTime().subscribe((time) => {\r\n this.audioRecordedTime = time;\r\n this.ref.detectChanges();\r\n });\r\n\r\n this.audioRecordingService.getRecordedBlob().subscribe((data) => {\r\n this.audioBlob = data.blob;\r\n this.audioName = data.title;\r\n this.audioBlobUrl = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(data.blob));\r\n this.ref.detectChanges();\r\n });\r\n }\r\n\r\n\r\n\r\n handleError(error: any) {\r\n\r\n this.notifier.notify(\"error\", error)\r\n }\r\n\r\n playWithSound() {\r\n this.initCamera({ video: true, audio: true })\r\n }\r\n\r\n initCamera(config: any) {\r\n var browser = navigator;\r\n browser.getUserMedia = (browser.getUserMedia ||\r\n browser.webkitGetUserMedia || browser.mozGetUserMedia\r\n || browser.msGetUserMedia);\r\n //this.isCameraInit = true;\r\n browser.mediaDevices.getUserMedia(config).then(stream => {\r\n this.isCameraInit = true;\r\n if (config.audio) {\r\n this.videoTrack.forEach(function (tracks) {\r\n tracks.stop();\r\n });\r\n }\r\n this.videoElement.nativeElement.srcObject = stream;\r\n this.videoElement.nativeElement.play();\r\n this.videoTrack = stream.getTracks();\r\n\r\n }).catch(error => {\r\n this.isVideoError = true\r\n this.handleError(\"Video does not work\")\r\n });\r\n\r\n }\r\n\r\n stopVideo() {\r\n this.videoTrack.forEach(function (tracks) {\r\n tracks.stop();\r\n });\r\n this.videoElement.nativeElement.srcObject = null;\r\n this.isCameraInit = false;\r\n }\r\n\r\n initaudio(config: any) {\r\n if (this.isCameraInit) {\r\n this.stopVideo();\r\n }\r\n var browser = navigator;\r\n browser.getUserMedia = (browser.getUserMedia ||\r\n browser.webkitGetUserMedia || browser.mozGetUserMedia\r\n || browser.msGetUserMedia);\r\n\r\n browser.mediaDevices.getUserMedia(config).then(stream => {\r\n this.isAudioInit = true;\r\n this.audioElement.nativeElement.srcObject = stream;\r\n this.audioElement.nativeElement.play();\r\n this.audioTrack = stream.getTracks();\r\n }).catch(error => {\r\n this.handleError(\"Audio does not work\")\r\n });\r\n }\r\n\r\n\r\n stopAudio() {\r\n this.audioTrack.forEach(function (tracks) {\r\n tracks.stop();\r\n });\r\n this.audioElement.nativeElement.srcObject = null;\r\n this.isAudioInit = false;\r\n }\r\n\r\n handleClick(value: any) {\r\n\r\n switch (value.toLowerCase()) {\r\n case 'videotest':\r\n //this.dialogPopup.close(value);\r\n this.isAudioInit = false;\r\n this.initCamera({ video: true })\r\n break;\r\n\r\n case 'audiotest':\r\n // this.initaudio({ audio: true })\r\n this.isAudioInit = true;\r\n this.isVideoError = false;\r\n break;\r\n\r\n case 'microphonetest':\r\n this.dialogPopup.close(value);\r\n break;\r\n\r\n default:\r\n this.dialogPopup.close(value);\r\n break;\r\n }\r\n }\r\n\r\n pauseVideo() {\r\n this.videoElement.nativeElement.pause();\r\n }\r\n\r\n resumeVideo() {\r\n this.videoElement.nativeElement\r\n }\r\n\r\n continue() {\r\n if (this.isCameraInit) {\r\n this.stopVideo()\r\n }\r\n else if (this.isAudioRecording) {\r\n //this.stopAudio();\r\n this.abortAudioRecording()\r\n }\r\n else if (this.isCameraInit && this.isAudioRecording) {\r\n //this.stopAudio();\r\n this.abortAudioRecording()\r\n this.stopVideo();\r\n }\r\n this.dialogPopup.close();\r\n }\r\n\r\n\r\n startAudioRecording() {\r\n \r\n if (!this.isAudioRecording) {\r\n this.isAudioRecording = true;\r\n this.audioRecordingService.startRecording();\r\n }\r\n }\r\n\r\n abortAudioRecording() {\r\n if (this.isAudioRecording) {\r\n this.isAudioRecording = false;\r\n this.audioRecordingService.abortRecording();\r\n }\r\n }\r\n\r\n stopAudioRecording() {\r\n if (this.isAudioRecording) {\r\n this.audioRecordingService.stopRecording();\r\n this.isAudioRecording = false;\r\n }\r\n }\r\n\r\n clearAudioRecordedData() {\r\n this.isAudioInit = false;\r\n this.audioBlobUrl = null;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.abortAudioRecording();\r\n }\r\n\r\n}\r\n","module.exports = \".mailwrap {\\r\\n height: 100%;\\r\\n}\\r\\n.mailwrap .hgt100{\\r\\n padding-top: 0 !important;\\r\\n}\\r\\n.mailcover {\\r\\n display: flex!important;\\r\\n height: 100%;\\r\\n /* overflow: hidden; */\\r\\n}\\r\\n.ng-scrollbar-view{\\r\\n overflow: auto !important;\\r\\n}\\r\\n.leftmailbox {\\r\\n /* position: absolute; */\\r\\n background-color: #fff;\\r\\n width: 200px;\\r\\n z-index: 2;\\r\\n /* height: calc(100% + 15px); */\\r\\n padding: 0;\\r\\n box-shadow: 0px 1px 10px -5px rgba(0,0,0,.2);\\r\\n -webkit-box-shadow: 0px 1px 10px -5px rgba(0,0,0,.2);\\r\\n transition: all .2s ease;\\r\\n -webkit-transition: all .2s ease;\\r\\n}\\r\\n.fa-trash-o{\\r\\n color:#dc3545 !important;\\r\\n}\\r\\n.leftmailbox .composebtn {\\r\\n width: 100%;\\r\\n height: 40px;\\r\\n line-height: 40px;\\r\\n background-color: #666;\\r\\n}\\r\\n.leftmailbox .composebtn button {\\r\\n font-size: 13px;\\r\\n font-weight: 500;\\r\\n color: #fff;\\r\\n border: 0;\\r\\n cursor: pointer;\\r\\n background-color: transparent;\\r\\n width: 100%;\\r\\n padding: 0 10px;\\r\\n text-align: left;\\r\\n}\\r\\n.leftmailbox .composebtn button i{\\r\\nmargin-right: 5px;\\r\\n}\\r\\n.inbox_label ul {\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n text-align: left;\\r\\n}\\r\\n.inbox_label ul li {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n list-style: none;\\r\\n display: block;\\r\\n}\\r\\n.inbox_label ul li a {\\r\\n display: block;\\r\\n font-size: 15px;\\r\\n font-weight: 500;\\r\\n color: rgba(0,0,0,.6);\\r\\n margin: 10px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.inbox_label ul li.active a, .inbox_label ul li a:hover {\\r\\n color: #003359;\\r\\n}\\r\\n.inbox_label ul li i {\\r\\n padding-right: 10px;\\r\\n}\\r\\n.inbox_label ul li.active span {\\r\\n display: inline;\\r\\n}\\r\\n.mail-text-blk{\\r\\n background-color: #fff;\\r\\n border: 1px solid #efefef;\\r\\n}\\r\\n.mail-text-blk .mailhead{\\r\\n padding:10px;\\r\\n background: #003359;\\r\\n color: #fff;\\r\\n}\\r\\n.mailwrap {\\r\\n /* padding-left: 180px; */\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n.actionsbtns button.mat-raised-button {\\r\\n min-width: 20px;\\r\\n border-right: 1px solid #efefef;\\r\\n border-radius: 0px !important;\\r\\n margin: 0;\\r\\n}\\r\\n.actionsbtns {\\r\\n max-width: 170px;\\r\\n display: flex;\\r\\n}\\r\\n.maillist {\\r\\n padding: 0!important;\\r\\n float: left;\\r\\n border-right: 1px solid #ddd;\\r\\n border-left: 1px solid #ddd;\\r\\n height: 80vh;\\r\\n overflow: auto;\\r\\n}\\r\\n.allmails_head, .maillist_control {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n}\\r\\n.allmails_head {\\r\\n padding: 10px 15px 6px;\\r\\n background-color: #f4f4f4;\\r\\n width: 100%;\\r\\n border: 1px solid #ddd;\\r\\n border-right: 0;\\r\\n}\\r\\n.allmails_head-rigth button {\\r\\n background-color: transparent;\\r\\n padding: 0px;\\r\\n border: 0px;\\r\\n height: 24px;\\r\\n}\\r\\n.maillist_control {\\r\\n padding: 10px 15px;\\r\\n background-color: #fafafa;\\r\\n border-bottom: 1px solid #ddd;\\r\\n align-items: center;\\r\\n}\\r\\n.mail_noti {\\r\\n width: 100%;\\r\\n min-height: 72px;\\r\\n border-bottom: 1px solid #ddd;\\r\\n /* border-right: 1px solid #ddd; */\\r\\n padding: 10px 15px;\\r\\n background-color: #fafafa;\\r\\n position: relative;\\r\\n}\\r\\n.mail_noti.readmail {\\r\\n background: #fff;\\r\\n}\\r\\n.check_fav_imp {\\r\\n padding-right: 20px;\\r\\n}\\r\\n.check_fav_imp i {\\r\\n cursor: pointer;\\r\\n font-size: 18px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n.maillist .mat-checkbox-inner-container {\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n}\\r\\n.mailitem .mailimg {\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 50%;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n overflow: hidden;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n}\\r\\n.mailitem {\\r\\n padding-left: 60px;\\r\\n position: relative;\\r\\n padding-right: 10px;\\r\\n}\\r\\n.mailitem h3 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n color: rgba(0,0,0,.8);\\r\\n margin: 5px 0 0;\\r\\n cursor: pointer;\\r\\n}\\r\\n.mail_noti.readmail h3, .mail_noti.readmail p {\\r\\n font-weight: 400;\\r\\n}\\r\\n.mailitem p {\\r\\n font-size: 13px;\\r\\n line-height: 15px;\\r\\n font-weight: 400;\\r\\n color: rgba(0,0,0,.5);\\r\\n margin: 5px 0 0;\\r\\n}\\r\\n.mail_noti span {\\r\\n font-size: 11px;\\r\\n font-weight: 600;\\r\\n color: rgba(0,0,0,.4);\\r\\n}\\r\\n.actionsbtns button {\\r\\n margin: 0 0 0 15px;\\r\\n color: rgba(0,0,0,.6);\\r\\n cursor: pointer;\\r\\n}\\r\\n.actionsbtns button, .quickdetail {\\r\\n background-color: transparent;\\r\\n border: 0;\\r\\n padding: 0;\\r\\n}\\r\\n.mail_content {\\r\\n width: 100%;\\r\\n height: 200px;\\r\\n margin: 10px 0 0;\\r\\n padding-top: 10px;\\r\\n display: inline-block;\\r\\n font-size: 14px;\\r\\n}\\r\\n.email-reply p {\\r\\n margin: 0;\\r\\n font-size: 13px;\\r\\n}\\r\\n/*No message*/\\r\\n.no-msg{padding:15px;\\r\\n text-align: center !important;\\r\\n font-size: 16px;\\r\\n color: rgba(0, 0, 0, 0.40);\\r\\n font-weight: 400;\\r\\n}\\r\\n.blank-cover {\\r\\n margin: 0px;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n flex-direction: column;\\r\\n}\\r\\n.blank-cover i {\\r\\n font-size: 80px;\\r\\n color: rgba(0, 0, 0, 0.10);\\r\\n}\\r\\n.blank-cover span {\\r\\n margin-top: 5px;\\r\\n font-size: 20px;\\r\\n line-height: 25px;\\r\\n color: rgba(0, 0, 0, 0.40);\\r\\n}\\r\\n/*Mail Open*/\\r\\n.mailhead {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n padding: 10px 0px;\\r\\n\\r\\n}\\r\\n.mailsubject p {\\r\\n margin: 0px;\\r\\n font-size: 18px;\\r\\n font-weight: 600;\\r\\n display: block;\\r\\n line-height: 25px;\\r\\n}\\r\\n.mailsubject ul{padding: 0px; margin: 0px;\\r\\n list-style: none;\\r\\n float: left; text-align: center;}\\r\\n.mailsubject ul li{padding:3px 5px; margin: 0px 10px 0px 0px;font-size: 12px; display: inline; background-color: rgba(9, 169, 220, 0.30); }\\r\\n.mailsubject ul li i{cursor: pointer; color: rgba(0, 0, 0, 0.30); margin-left: 10px;}\\r\\n.mailbox_detail{padding:5px 0px;\\r\\n float: left;\\r\\n width:100%;\\r\\n border-top: 1px solid #ddd;\\r\\n border-bottom: 1px solid #ddd;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n cursor: pointer;\\r\\n}\\r\\n.mailperson {\\r\\n border: 1px solid #ddd;\\r\\n border-radius: 50%;\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n overflow: hidden;\\r\\n float: left;\\r\\n margin-right: 10px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n.personname {\\r\\n float: left;\\r\\n font-size: 13px;\\r\\n}\\r\\n.personname h4 {\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n line-height:16px;\\r\\n margin: 0px 0px 2px;\\r\\n}\\r\\n.personhide_detail p {\\r\\n margin: 0px;\\r\\n font-size: 13px;\\r\\n line-height: 20px;\\r\\n display: block;\\r\\n}\\r\\n.personhide_detail span {\\r\\n font-weight: 500;\\r\\n}\\r\\n.quickdetail {\\r\\n margin: 0px;\\r\\n font-size: 12px;\\r\\n color: #003359;\\r\\n}\\r\\n.mail_content{width:100%; height: 200px; margin: 10px 0px 0px; padding-top: 10px; display: inline-block; font-size: 14px;}\\r\\n.mail_attach {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n flex-direction: column;\\r\\n font-size: 13px;\\r\\n padding: 20px 0px;\\r\\n border-top: 1px solid #ddd;\\r\\n}\\r\\n.mail_attach .material-icons {\\r\\n font-size: 16px;\\r\\n padding-right: 5px;\\r\\n padding-top: 1px;\\r\\n}\\r\\n.mail_attach a {\\r\\n padding: 0px 5px;\\r\\n color: #003359;\\r\\n}\\r\\n.email-reply p {\\r\\n margin: 0px;\\r\\n font-size: 13px;\\r\\n color: #757575;\\r\\n}\\r\\n/*Compose mail*/\\r\\n.newmail{width:47.5%; background-color: #fff; position: absolute; z-index: 1;height: 420px;\\r\\n bottom: 10px; right: 0px; box-shadow: 0px 0px 20px 2px #ddd; -webkit-box-shadow: 0px 0px 20px 2px #ddd;}\\r\\n.newmail_head{background-color:#F4F4F4; display: flex; justify-content: space-between; font-size: 14px; color: rgba(0, 0, 0, 0.80);; padding: 10px 15px;}\\r\\n.newmail_head p{margin: 0px;}\\r\\n.newmail_head ul{padding: 0px; margin: 0px; text-align: right;}\\r\\n.newmail_head ul li{margin: 0px; padding: 0px; list-style: none; display: inline-block;}\\r\\n.newmail_head ul li a{display: block; color:rgba(0, 0, 0, 0.40);; padding-left: 10px;}\\r\\n.receipt{display: flex; width: 100%;\\r\\n font-size: 14px;\\r\\n padding: 10px 15px 3px;\\r\\n /* border-bottom: 1px solid #ddd; */\\r\\n}\\r\\n.select-box{\\r\\n display: block;\\r\\n border: 1px solid #d4d4d4;\\r\\n margin-bottom: 10px;\\r\\n border-radius: 4px;\\r\\n}\\r\\n.select-box input{\\r\\n width:84%;\\r\\n}\\r\\n.mailto{color: rgba(0, 0, 0, 0.50); display: block; width:100%; }\\r\\n.mailto label{font-weight: 500; padding-right: 5px; margin: 0px;}\\r\\n.chiplist {\\r\\n margin: 0px 5px 5px 0px !important;\\r\\n border-radius: 0px !important;\\r\\n background-color: #F4F4F4 !important;\\r\\n padding: 0px 5px!important;\\r\\n}\\r\\n.chiplist.mat-chip .mat-chip-remove.mat-icon {\\r\\n font-size: 18px;\\r\\n width: 15px;\\r\\n height: 18px;\\r\\n}\\r\\n.receipt-name > div > div {\\r\\n height: auto !important;\\r\\n font-size: 14px !important;\\r\\n line-height: 20px !important;\\r\\n font-weight: 500;\\r\\n}\\r\\n.ccbcc a {\\r\\n color: rgba(0, 0, 0, 0.50);\\r\\n padding-left: 10px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.newsubject{\\r\\n padding: 10px 15px !important;\\r\\n border-bottom: 1px solid #ddd;\\r\\n\\r\\n}\\r\\n.newsubject input {\\r\\n font-size: 14px;\\r\\n line-height: 20px;\\r\\n font-weight: 400;\\r\\n border: 0px;\\r\\n width: 100%;\\r\\n}\\r\\n.messagebox{margin:10px 15px 10px;\\r\\n font-size: 14px;\\r\\n border:0px !important;\\r\\n border-radius: 0px !Important; -webkit-border-radius: 0px !Important;\\r\\n font-family: inherit !Important;\\r\\n font-size: 14px !important; position: relative; min-height: 150px;}\\r\\n.msgedit-editor {position: absolute; top: 0px; width: 100%; border:1px solid #ddd; height: 120px; font-size: 13px !important;}\\r\\n.msgedit-editor .public-DraftEditorPlaceholder-root{padding: 0px !important;}\\r\\n.msgedit-editor > div > div > div > div > div{margin: 0px 0px 5px 0px !important;}\\r\\n.attachment_join {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n flex-direction: column;\\r\\n padding: 0px 10px;\\r\\n}\\r\\n.attchmentname {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin: 10px 0px;\\r\\n}\\r\\n.attchmentname span {\\r\\n font-size: 14px;\\r\\n color: #003359;\\r\\n line-height: 14px;\\r\\n}\\r\\n.attchmentname span small{display: block; color:rgba(0, 0, 0, 0.60);}\\r\\n.attachslider {\\r\\n display: flex;\\r\\n font-size: 13px;\\r\\n color: rgba(0, 0, 0, 0.50);\\r\\n font-weight: 500;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n.mailcontrols{display: flex; justify-content: space-between; padding:0px 15px 15px 15px;}\\r\\n.controlbtn {\\r\\n position: absolute;\\r\\n bottom: 0px;\\r\\n padding: 0px !important;\\r\\n margin:0px !important;\\r\\n border: 0px !important;\\r\\n}\\r\\n.controlbtn > div{margin: 0px;}\\r\\n.controlbtn > div button {\\r\\n cursor: pointer;\\r\\n border:0px !important;\\r\\n height: auto !important;\\r\\n line-height: normal!important;\\r\\n padding:0px !important;\\r\\n background: none !important;\\r\\n}\\r\\n.mailsend_btn {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n.mailsend_btn i.fa-trash-o {\\r\\n cursor: pointer;\\r\\n font-size: 25px;\\r\\n padding: 6px 10px;\\r\\n border-radius: 10px;\\r\\n margin-right: 10px;\\r\\n}\\r\\n.mailsend_btn button i.fa {\\r\\n color: #fff;\\r\\n font-size: 18px;\\r\\n}\\r\\n.remove-attach {\\r\\n margin-top: -15px;\\r\\n}\\r\\n.remove-attach i {\\r\\n color: rgba(0, 0, 0, 0.30);\\r\\n padding-left: 10px;\\r\\n font-size: 14px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.attach_btn i.material-icons {\\r\\n font-size: 25px;\\r\\n padding: 6px;\\r\\n border-radius: 10px;\\r\\n /* border: 2px solid #003359; */\\r\\n color: #003359;\\r\\n}\\r\\n.attach_btn input[type=file]{\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n bottom: 0px;\\r\\n right: 0px;\\r\\n left: 0px;\\r\\n width: 100%;\\r\\n opacity: 0;\\r\\n}\\r\\n.maileditor{ padding: 10px 15px;}\\r\\n.maileditor .angular-editor-textarea {\\r\\n height: 20vh;\\r\\n}\\r\\n.maileditor .angular-editor-toolbar-set {\\r\\n display: none !important;\\r\\n}\\r\\n.maileditor .angular-editor-toolbar-set:nth-child(2) {\\r\\n display: inline-block !important;\\r\\n margin: 0px !important;\\r\\n border: 0px !important;\\r\\n}\\r\\n.maileditor .angular-editor .angular-editor-toolbar {\\r\\n background-color: transparent;\\r\\n border: 0px;\\r\\n padding: 0px;\\r\\n}\\r\\n.maileditor .angular-editor-toolbar-set button:nth-child(4), .maileditor .angular-editor-toolbar-set button:nth-child(5), .maileditor .angular-editor-toolbar-set button:nth-child(6) {\\r\\n display: none;\\r\\n}\\r\\n.receipt-name .mat-chip-list-wrapper {\\r\\n margin: 0px;\\r\\n}\\r\\n.receipt-name .mat-chip-list-wrapper input {\\r\\n margin: 0px 0px 5px 0px;\\r\\n border: 0px;\\r\\n}\\r\\n@media (max-width: 1199px) { \\r\\n /*mailbox*/\\r\\n\\r\\n.mailwrap{padding-left: 0px;}\\r\\n.mailitem .mailimg{width: 40px; height: 40px;}\\r\\n.mailitem{padding-left: 45px;}\\r\\n\\r\\n.openleftbox .composebtn{text-align: left;}\\r\\n.openleftbox .composebtn{display: flex; justify-content: space-between; align-items: center; padding: 0px 10px;}\\r\\n.composebtn i.material-icons{color: #fff; font-size: 18px;}\\r\\n.collapseleft{width:0px; overflow: hidden;}\\r\\n\\r\\n}\\r\\n@media (max-width: 767px) {\\r\\n/*mailbox*/\\r\\n.mail_noti:last-child{border-bottom: 1px solid #ddd;}\\r\\n.email-reply{padding-bottom: 20px;}\\r\\n.newmail{bottom: inherit; top:0px; width:90%;}\\r\\n.scroll-fix > div {\\r\\n height: 230px !important;\\r\\n}\\r\\n.mail_content{height: 180px;}\\r\\n\\r\\n}\\r\\n@media(max-width: 480px) {\\r\\n\\r\\n /*Mailbox*/\\r\\n.newmail {\\r\\n top: 52px;\\r\\n width: 100%;\\r\\n}\\r\\n}\\r\\n.hideCont\\r\\n{\\r\\n display:none;\\r\\n}\\r\\n.showCont\\r\\n{\\r\\n display:inline-block;\\r\\n padding: 10px;\\r\\n}\\r\\n.maillist .ng-scrollbar-view{\\r\\n width: 100% !important;\\r\\n}\\r\\n.search__input {\\r\\n border: black 0;\\r\\n background-color: transparent;\\r\\n margin: 8px;\\r\\n font-size: 16px;\\r\\n }\\r\\n.search__input:focus {\\r\\n outline: 0;\\r\\n }\\r\\n.search__container {\\r\\n width: 100%; \\r\\n text-align:right; \\r\\n background-color:white; \\r\\n color: black;\\r\\n border-radius: 3px;\\r\\n }\\r\\n.mat-chip.chiplist.mat-chip.mat-primary.mat-standard-chip{\\r\\n background-color: #1576d1 !important;\\r\\n color: #fff;\\r\\n padding: 5px 10px !important;\\r\\n border-radius: 20px !important;\\r\\n }\\r\\n.mat-radio-group {\\r\\n display: flex;\\r\\n flex-flow: column nowrap;\\r\\n color: #797979;\\r\\n font-size: 15px;\\r\\n \\r\\n }\\r\\n.mat-radio-group .phone-option {\\r\\n padding-bottom: 1.25em;\\r\\n padding: .4375em 0;\\r\\n border-top: .84375em solid transparent;\\r\\n }\\r\\n.mat-radio-button.mat-accent .mat-radio-inner-circle {\\r\\n background-color: #63d891 !important;\\r\\n}\\r\\n.mat-radio-button{\\r\\n padding: 5px 0 0 5px;\\r\\n}\\r\\n.lineheader {\\r\\n border-bottom: 1px solid #ddd;\\r\\n margin: 0;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n padding: 12px 8px 12px 0px;\\r\\n}\\r\\n.lineheader p {\\r\\n color: #003359;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n line-height: 15px;\\r\\n margin: 0 !important;\\r\\n padding: 0px;\\r\\n position: relative;\\r\\n text-transform: uppercase;\\r\\n}\\r\\n.lineheader p a {\\r\\n color: #003359;\\r\\n}\\r\\n.lineheader p a:hover {\\r\\n color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n.lineheader span {\\r\\n font-size: 13px;\\r\\n line-height: 13px;\\r\\n}\\r\\n.lineheader i {\\r\\n color: rgba(0, 0, 0, 0.5);\\r\\n font-size: 13px;\\r\\n position: absolute;\\r\\n right: 15px;\\r\\n top: 15px;\\r\\n}\\r\\n.disabled{\\r\\n pointer-events: none !important;\\r\\n cursor: not-allowed !important;\\r\\n opacity: 1 !important;\\r\\n background-color: #dbe1e6 !important;\\r\\n \\r\\n}\\r\\n.mb-120{\\r\\n margin-bottom: 115px;\\r\\n}\\r\\n.blue-clr{\\r\\n color: #2f2660;\\r\\n font-size: 18px;\\r\\n font-weight: 500;\\r\\n background-color: rgba(243, 243, 243, .80);;\\r\\n padding: 9px 7px;\\r\\n}\\r\\n.result-blk label{\\r\\n color: #2f2660;\\r\\n font-size: 18px;\\r\\n display: block;\\r\\n}\\r\\n.mat-autocomplete-panel{\\r\\n max-height: 400px !important;\\r\\n}\\r\\n.screen-text-header h3{\\r\\n font-size: 18px;\\r\\n margin: 20px 0;\\r\\n}\\r\\n.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary{\\r\\n border-radius: 10px;\\r\\n}\\r\\n.result-value{\\r\\n margin-top: 15px;\\r\\n margin-bottom: 70px;\\r\\n}\\r\\n.result-value p{\\r\\n font-size: 16px;\\r\\n line-height: 18px;\\r\\n margin-top:12px;\\r\\n}\\r\\n.radio-label:hover {\\r\\n background-color: #F3F5F7;\\r\\n}\\r\\n.screen-sex label {\\r\\n display: inline-block;\\r\\n width: 132px;\\r\\n margin: 0 10px;\\r\\n font-weight: 400;\\r\\n max-width: 100%;\\r\\n cursor: pointer;\\r\\n}\\r\\n.screen-sex label .placeholder {\\r\\n display: block;\\r\\n padding: 30px 35px 14px 35px;\\r\\n}\\r\\n.screen-sex label.female .placeholder {\\r\\n width: 29px;\\r\\n height: 58px;\\r\\n background-image: url(data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%221.1%22%20viewBox%3D%220%200%2029%2058%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%220%22%20fill%3D%22%23555555%22%20stroke%3D%22%23555555%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M26.55%2032.831l-1.592.438c.595%202.19%201.095%204.211%201.457%205.76.198.85.03%201.748-.462%202.467a3.097%203.097%200%200%201-2.117%201.316c-.742.106-1.622.218-2.604.32.001%201.905-.04%207.404-.53%2010.953-.317%202.306-2.017%203.915-4.13%203.915h-4.143c-2.08%200-3.778-1.603-4.13-3.9-.546-3.552-.553-9.046-.537-10.965a66.883%2066.883%200%200%201-2.62-.323%203.107%203.107%200%200%201-2.11-1.308%203.115%203.115%200%200%201-.472-2.446%20154.47%20154.47%200%200%201%201.43-5.792l-1.596-.58a3.25%203.25%200%200%201-2.067-3.664c.827-4.32%203.238-13.625%208.931-15.957a3.46%203.46%200%200%201-.347-.305c-1.279-1.288-1.263-3.268-1.25-5.013l.003-.498C7.664%203.252%2010.731%200%2014.5%200s6.836%203.252%206.836%207.249c0%20.279.008.565.016.856.045%201.597.096%203.405-1.091%204.625a3.283%203.283%200%200%201-.431.373c5.619%202.406%208.12%2011.652%208.997%2015.956a3.234%203.234%200%200%201-2.276%203.772zm-7.899%2020.971c.452-3.273.506-8.47.509-10.485a64.187%2064.187%200%200%201-3.624.17V55.93h1.035c1.234%200%201.934-1.068%202.08-2.127zm-8.305-.015c.163%201.065.87%202.142%202.083%202.142h1.035V43.488a65.088%2065.088%200%200%201-3.63-.17c-.012%202.008.011%207.203.512%2010.469zm16.451-24.314c-.71-3.491-3.52-14.88-9.811-14.88a1.036%201.036%200%200%201-1.036-1.036v-.722c0-.572.464-1.036%201.036-1.036.856%200%201.459-.173%201.79-.513.576-.593.54-1.879.505-3.122-.008-.311-.017-.618-.017-.915%200-2.807-2.182-5.178-4.764-5.178-2.583%200-4.764%202.371-4.764%205.178l-.003.514c-.01%201.34-.022%202.861.649%203.538.332.335.867.498%201.632.498.572%200%201.036.464%201.036%201.036v.727c0%20.571-.464%201.035-1.036%201.035-6.326%200-8.987%2011.34-9.652%2014.814a1.181%201.181%200%200%200%20.748%201.331l1.437.522c1.056-3.702%202.364-7.632%203.847-10.6a1.036%201.036%200%201%201%201.853.928C7.584%2026.92%205.397%2035.9%204.581%2039.515c-.064.284-.008.573.157.814.164.238.413.392.698.434%202.117.303%205.407.666%209.064.666%203.606%200%206.908-.363%209.044-.667.288-.04.535-.196.699-.435.168-.244.222-.538.154-.827-.83-3.552-3.04-12.409-5.655-17.928a1.036%201.036%200%200%201%201.873-.887c1.438%203.037%202.729%206.94%203.781%2010.59l1.589-.437c.58-.17.936-.759.812-1.365z%22/%3E%3C/svg%3E);\\r\\n background-repeat: no-repeat;\\r\\n border-radius: 0;\\r\\n}\\r\\n.screen-sex label.male .placeholder {\\r\\n width: 28px;\\r\\n height: 58px;\\r\\n background-image: url(data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%221.1%22%20viewBox%3D%220%200%2028%2058%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%220%22%20fill%3D%22%23555555%22%20stroke%3D%22%23555555%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M25.495%2033.559c-.869.929-1.973%201.404-3.272%201.431-.11%2011.19-1.12%2018.452-1.227%2019.185A3.98%203.98%200%200%201%2017%2058h-6a3.979%203.979%200%200%201-3.996-3.823c-.111-.738-1.129-7.86-1.229-19.188-1.219-.028-2.269-.495-3.117-1.406C.142%2030.878.012%2024.8.347%2020.177c.184-2.538%201.686-6.768%209.397-7.888C8.332%2010.981%207.5%209.073%207.5%206.999%207.5%203.14%2010.416%200%2014%200s6.5%203.14%206.5%206.999c0%202.069-.828%203.972-2.234%205.28%207.337%201.028%209.18%204.799%209.387%207.904.47%207.049-.216%2011.299-2.158%2013.376zm.162-13.243c-.247-3.71-3.386-5.805-9.329-6.229a1%201%200%200%201-.928-.997v-.698c0-.37.204-.71.531-.883%201.561-.828%202.569-2.599%202.569-4.51C18.5%204.243%2016.481%202%2014%202S9.5%204.243%209.5%206.999c0%201.911%201.008%203.682%202.569%204.51a.999.999%200%200%201%20.531.883v.702a1%201%200%200%201-.926.997c-4.074.303-8.999%201.63-9.332%206.231-.426%205.887.223%2010.224%201.781%2011.899.465.501.994.741%201.647.768.003-3.456.089-7.24.313-11.344.031-.551.51-.969%201.054-.943.551.03.974.501.943%201.053-1.063%2019.398.889%2032.047.909%2032.172.006.043.01.086.011.129A1.99%201.99%200%200%200%2011%2056h2V34a1%201%200%200%201%202%200v22h2a1.989%201.989%200%200%200%201.999-1.944%201.02%201.02%200%200%201%20.011-.124c.02-.13%201.972-13.186.909-32.176a1%201%200%200%201%201.997-.112c.229%204.081.314%207.872.314%2011.346.736-.026%201.316-.275%201.804-.797%202.255-2.411%201.78-9.536%201.623-11.877z%22/%3E%3C/svg%3E);\\r\\n background-repeat: no-repeat;\\r\\n border-radius: 0;\\r\\n}\\r\\ninput[type=\\\"radio\\\" i] {\\r\\n background-color: initial;\\r\\n cursor: default;\\r\\n -webkit-appearance: auto;\\r\\n -moz-appearance: auto;\\r\\n appearance: auto;\\r\\n border: initial;\\r\\n}\\r\\n.more-load {\\r\\n border: 4px solid #cccccc;\\r\\n border-radius: 50%;\\r\\n border-top: 4px solid #63d891;\\r\\n width: 30px;\\r\\n height: 30px;\\r\\n -webkit-animation: spin 1s linear infinite;\\r\\n /* Safari */\\r\\n animation: spin 1s linear infinite;\\r\\n display: inline-block;\\r\\n}\\r\\n/* loader css */\\r\\n.full_loader {\\r\\n position: absolute;\\r\\n left: 0px;\\r\\n right: 0px;\\r\\n top: -6px;\\r\\n background-color: rgba(255, 255, 255, 0.8);\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n z-index: 1001;\\r\\n }\\r\\n.circle_loader {\\r\\n left: 0;\\r\\n right: 0 !important;\\r\\n margin: 0px auto !important;\\r\\n display: block !important;\\r\\n top: 50%;\\r\\n position: fixed !important;\\r\\n text-align: center;\\r\\n }\\r\\n.circle_loader.search_loader {\\r\\n top: 15%;\\r\\n }\\r\\n.top0 {\\r\\n top: 0px;\\r\\n }\\r\\n.circle_loader.page_loader {\\r\\n left: 19%;\\r\\n }\\r\\n.circle_loader.tag_laoder {\\r\\n position: absolute !important;\\r\\n top: 15% !important;\\r\\n }\\r\\n/*select filed*/\\r\\n.cdk-overlay-pane {\\r\\n -webkit-transform: translateX(-0px) !important;\\r\\n transform: translateX(-0px) !important;\\r\\n }\\r\\n/*Fields bottom border*/\\r\\n.mat-form-field-appearance-legacy .mat-form-field-underline {\\r\\n background-color: rgba(0, 0, 0, 0.1);\\r\\n }\\r\\n.mat-select-arrow {\\r\\n color: rgba(0, 0, 0, 0.1);\\r\\n }\\r\\n.mat-datepicker-toggle-default-icon {\\r\\n color: rgba(0, 0, 0, 0.3);\\r\\n }\\r\\n/*Client list toggle*/\\r\\n.srach-pt[class*=\\\" flaticon-\\\"]:after,\\r\\n .srach-pt[class*=\\\" flaticon-\\\"]:before,\\r\\n .srach-pt[class^=\\\"flaticon-\\\"]:after,\\r\\n .srach-pt[class^=\\\"flaticon-\\\"]:before {\\r\\n line-height: 40px;\\r\\n }\\r\\n.custom-card .mat-card-header{\\r\\n width:100%;\\r\\n background-color:#003359 !important ;\\r\\n }\\r\\n.blue-bg{\\r\\n width:100%;\\r\\n background-color:#003359 !important ;\\r\\n padding: 10px;\\r\\n margin: 0;\\r\\n}\\r\\n.pl-10{\\r\\n padding-left: 10px;\\r\\n}\\r\\n.mat-card label{\\r\\n padding:8px 10px;\\r\\n margin: 0;\\r\\n }\\r\\n.mat-card .result-value label{\\r\\n padding: 0;\\r\\n font-weight: 500;\\r\\n background-color: rgba(243, 243, 243, .80);\\r\\n padding: 7px;\\r\\n }\\r\\n.mat-card-content p{\\r\\n font-size: 17px;\\r\\n }\\r\\n.alrmng-symp ul{\\r\\n padding-left: 18px;\\r\\n list-style: circle;\\r\\n font-size: 16px;\\r\\n }\\r\\n#contentToConvert{\\r\\n margin-bottom: 70px;\\r\\n }\\r\\n#contentToConvert ul{\\r\\n padding-left: 10px;\\r\\n list-style: circle;\\r\\n font-size: 16px;\\r\\n }\\r\\n.mat-primary{\\r\\n font-size: 16px;\\r\\n }\\r\\n.mb10{margin-bottom: 10px;}\\r\\n.consult-btn{\\r\\n margin-top: 15px;\\r\\n height: 50px !important;\\r\\n min-width: 270px;\\r\\n margin-bottom: 15px;\\r\\n font-size: 20px;\\r\\n letter-spacing: 1px;\\r\\n font-weight: 400;\\r\\n }\\r\\n.custom-card-header{\\r\\n margin: 0 auto;\\r\\n }\\r\\n.custom-card-header .mat-card{\\r\\n border-left: 4px solid #003359 !important;\\r\\n margin:40px 0;\\r\\n }\\r\\n.custom-card .mat-card{\\r\\n padding:25px 15px;\\r\\n }\\r\\n.mat-raised-button:not([class*=mat-elevation-z]){\\r\\n box-shadow: none;\\r\\n height: 42px;\\r\\n }\\r\\n.btn-group{\\r\\n position: absolute;\\r\\n bottom: 25px;\\r\\n left: 25px;\\r\\n }\\r\\n.covid-consult{\\r\\n padding: 15px;\\r\\n }\\r\\n.covid-consult .col-lg-12 p{\\r\\n font-weight: 500;\\r\\n font-size: 18px;\\r\\n background-color: rgba(243, 243, 243, .80);\\r\\n padding: 6px 10px;\\r\\n margin-top: 15px;\\r\\n }\\r\\n.covid-consult .mat-radio-button{\\r\\n padding:10px 20px 5px 10px;\\r\\n margin-bottom: 4px;\\r\\n \\r\\n }\\r\\n.covid-consult .mat-radio-group{\\r\\n flex-flow: initial;\\r\\n font-size: 16px;\\r\\n text-transform: capitalize;\\r\\n display: block;\\r\\n }\\r\\n.dblock{display: block!Important;}\\r\\n.covid-report h2{\\r\\n background-color: #efefef;\\r\\n padding: 10px;\\r\\n color: #2f2660;\\r\\n font-size: 22px;\\r\\n margin-bottom: 15px;\\r\\n }\\r\\n.covid-report h4{\\r\\n font-size: 20px;\\r\\n margin: 20px 0;\\r\\n font-weight: 600;\\r\\n color: #2f2660;\\r\\n }\\r\\n.symptom-report{\\r\\n display: block;\\r\\n height: 70vh;\\r\\n overflow: auto;\\r\\n padding: 0 15px;\\r\\n }\\r\\n.symptom-report p, .symptom-report ul li{\\r\\n font-size: 17px;\\r\\n }\\r\\n.fw-600{\\r\\n font-weight: 600;\\r\\n }\\r\\n.fw-500{\\r\\n font-weight: 500;\\r\\n }\\r\\n.pd-cstm{\\r\\n padding: 12px 15px;\\r\\n font-weight: 600;\\r\\n }\\r\\n.custom_modal .pd-0{\\r\\n padding: 0 !important;\\r\\n }\\r\\n@media (max-width: 991px) {\\r\\n .circle_loader.page_loader {\\r\\n left: 0px;\\r\\n right: 0px;\\r\\n }\\r\\n }\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Symptom Checker 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
Reported symptoms
\\r\\n \\r\\n
    \\r\\n
  • {{r}}\\r\\n
  • \\r\\n
\\r\\n \\r\\n
Other symptoms
\\r\\n

0\\\">Present:

\\r\\n
    \\r\\n
  • {{p}}\\r\\n\\r\\n
  • \\r\\n
\\r\\n

0\\\">Absent:

\\r\\n
    \\r\\n
  • {{a}}\\r\\n\\r\\n
  • \\r\\n
\\r\\n

0\\\">Unknown:

\\r\\n
    \\r\\n
  • {{u}}\\r\\n\\r\\n
  • \\r\\n
\\r\\n
Possible Conditions:
\\r\\n

{{c}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit,Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { NotifierService } from 'angular-notifier';\r\nimport { map } from 'rxjs/operators';\r\nimport { CommonService } from \"./../../platform/modules/core/services\";\r\nimport {ViewReportService} from './view-report.service'\r\n@Component({\r\n selector: 'app-view-report',\r\n templateUrl: './view-report.component.html',\r\n styleUrls: ['./view-report.component.css']\r\n})\r\nexport class ViewReportComponent implements OnInit {\r\nreportId:any;\r\nresult:any;\r\n constructor(\r\n public dialogPopup: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notifier: NotifierService,\r\n private commonService: CommonService,\r\n private viewReportService :ViewReportService\r\n ) { \r\n \r\n this.reportId = data;\r\n \r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.getReport();\r\n }\r\n \r\n onClose() {\r\n this.dialogPopup.close();\r\n }\r\n\r\n getReport()\r\n {\r\n \r\n this.viewReportService.getReport(this.reportId).pipe(map(x => {\r\n return x;\r\n })).subscribe(resp => {\r\n \r\n this.result=resp;\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { CommonService } from \"./../../platform/modules/core/services\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ViewReportService {\r\n private GetSymptomateReportByIdURl = \"payers/GetSymptomateReportById\";\r\n\r\n\r\n\r\n\r\n\r\n constructor(private commonService: CommonService) { }\r\n getReport(id: any) {\r\n let url = `${this.GetSymptomateReportByIdURl}/${id}`;\r\n return this.commonService.getAll(url, {})\r\n .pipe(map(x => {\r\n return x.data;\r\n }));\r\n }\r\n \r\n}\r\n","module.exports = \"\"","module.exports = \"
\\r\\n \\r\\n
\"","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-vital-line-chart',\r\n templateUrl: './vital-line-chart.component.html',\r\n styleUrls: ['./vital-line-chart.component.css']\r\n})\r\nexport class VitalLineChartComponent implements OnInit {\r\n @Input() heartLineChartData: any[];\r\n @Input() heartLineChartLabels: any[];\r\n public lineChartType: string = 'line';\r\n constructor() { \r\n this.heartLineChartData= [];\r\n this.heartLineChartLabels= [];\r\n }\r\n\r\n ngOnInit() {\r\n // console.log(\"lineChartData\",this.heartLineChartData);\r\n // console.log(\"lineChartLabels\",this.heartLineChartLabels);\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 { SubDomainService } from './subDomain.service';\r\n\r\n@Injectable()\r\nexport class SubDomainGuard implements CanActivate {\r\n constructor(private router: Router,\r\n private subDomainService: SubDomainService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n if (this.subDomainService.getSubDomainUrl()) {\r\n return true;\r\n }\r\n \r\n this.router.navigate(['/webadmin']);\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable, Subject, ReplaySubject, BehaviorSubject } from \"rxjs\";\r\nimport { environment } from \"../environments/environment\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class SubDomainService {\r\n private subject = new BehaviorSubject(null);\r\n subjectlogo = new BehaviorSubject(false);\r\n constructor(private http: HttpClient) { }\r\n\r\n getSubDomainUrl() {\r\n let hostName = window.location.host;\r\n let subdomain = null;\r\n //// @if running on localhost or (34.211.31.84:8017) server\r\n\r\n // if (\r\n // hostName === \"localhost:4200\" ||\r\n // hostName === \"mscore.stagingsdei.com:9164\" || hostName === \"letsbe.localhost:4200\" || hostName === \"admin.localhost:4200\"\r\n // || hostName === \"members.localhost:4200\" || hostName === \"healthcoach.localhost:4200\" || hostName === \"ngo.localhost:4200\" || hostName === \"admin.letsbe.me\"\r\n // || hostName === \"members.letsbe.me\" || hostName === \"healthcoach.letsbe.me\" || hostName === \"ngo.letsbe.me\"\r\n // ) {\r\n // hostName = \"LetsBe\";\r\n // }\r\n // subdomain = hostName;\r\n // //console.log('subdomain', subdomain);\r\n // return subdomain;\r\n const splitHostName = hostName.split('.');\r\n if (splitHostName.length > 0) {\r\n\r\n subdomain = splitHostName[0];\r\n if (subdomain == \"\") {\r\n subdomain = \"\";\r\n }\r\n }\r\n return subdomain;\r\n }\r\n getSubdomain() {\r\n let subdomain = '';\r\n const domain = window.location.hostname;\r\n if (domain.indexOf('.') < 0\r\n || domain.split('.')[0] === 'www') {\r\n subdomain = '';\r\n } else {\r\n subdomain = domain.split('.')[0];\r\n }\r\n return subdomain;\r\n }\r\n //Use this for local\r\n //getSubDomainUrl() {\r\n // let hostName = window.location.host;\r\n // let fullUrlName = window.location.href;\r\n // let subdomain = null;\r\n // // @if running on localhost or (34.211.31.84:8017) server\r\n // if (hostName === 'localhost:4200' || hostName === '34.211.31.84:8092' || hostName === '34.211.31.84:8093') {\r\n\r\n // if (fullUrlName.includes('localhost:4200/webadmin') || fullUrlName.includes('34.211.31.84:8092/webadmin') || fullUrlName.includes('34.211.31.84:8093/webadmin'))\r\n // hostName = '';\r\n // else\r\n // // hostName = 'lnc.smarthealth.net.in';\r\n // hostName = 'staging-unf.smarthealth.net.in';\r\n // // hostName = 'seh.smarthealth.net.in';\r\n // // hostName = 'staging-beacon.smarthealth.net.in';\r\n // }\r\n // const splitHostName = hostName.split('.');\r\n // if (splitHostName.length >= 3) {\r\n // subdomain = splitHostName[0];\r\n // }\r\n // return subdomain;\r\n //}\r\n //Use this for staging\r\n //getSubDomainUrl() {\r\n // let hostName = window.location.host;\r\n // let fullUrlName = window.location.href;\r\n // let subdomain = null;\r\n // const splitHostName = hostName.split('.');\r\n // if (splitHostName.length >= 3) {\r\n // subdomain = splitHostName[0];\r\n // if (subdomain == 'staging-app')\r\n // subdomain = '';\r\n // }\r\n // return subdomain;\r\n //}\r\n ///Use this for production\r\n // getSubDomainUrl() {\r\n // let hostName = window.location.host;\r\n // let fullUrlName = window.location.href;\r\n // let subdomain = null;\r\n // const splitHostName = hostName.split('.');\r\n // if (splitHostName.length >= 3) {\r\n // subdomain = splitHostName[0];\r\n // if (subdomain == 'app')\r\n // subdomain = '';\r\n // }\r\n // return subdomain;\r\n // }\r\n\r\n getSubDomainInfo(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n\r\n verifyBusinessName(domainName: string) {\r\n\r\n return this.http\r\n .get(\r\n //`${environment.api_url}/VerifyBusinessName?BusinessName=letsbe` //production\r\n `${environment.api_url}/VerifyBusinessName?BusinessName=${domainName}` //staging\r\n )\r\n .pipe(\r\n map(response => {\r\n if (response.statusCode === 200) {\r\n\r\n localStorage.setItem(\"business_token\", response.data.businessToken);\r\n sessionStorage.setItem(\"logo\", \"data:image/png;base64,\" + response.data.organization.logoBase64)\r\n sessionStorage.setItem(\"businessName\", response.data.organization.businessName)\r\n\r\n\r\n setTimeout(() => {\r\n this.subjectlogo.next(true);\r\n }, 500);\r\n\r\n this.subject.next({ ...response.data });\r\n\r\n } else {\r\n localStorage.removeItem(\"business_token\");\r\n this.subject.next(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n updateFavicon(faviconUrl: string) {\r\n let link: any =\r\n document.querySelector(\"link[rel*='icon']\") ||\r\n document.createElement(\"link\");\r\n link.type = \"image/x-icon\";\r\n link.rel = \"shortcut icon\";\r\n link.href = faviconUrl;\r\n document.getElementsByTagName(\"head\")[0].appendChild(link);\r\n }\r\n}\r\n","export class FilterModel\r\n{\r\n pageNumber:number=1;\r\n pageSize:number=5;\r\n sortColumn:string='';\r\n sortOrder:string='';\r\n searchText:string=''\r\n}\r\n\r\nexport class ResponseModel\r\n{\r\n data:any=[];\r\n statusCode:number\r\n message:string=''\r\n appError:string=''\r\n meta : Metadata\r\n}\r\nexport class Metadata\r\n{\r\n totalRecords:number\r\n currentPage:number\r\n pageSize :number\r\n defaultPageSize :number\r\n totalPages :number\r\n pageSizeOptions:number[] = []\r\n}\r\nexport class PodcastModel \r\n{\r\n searchKey:string='';\r\n startWith:string = '';\r\n tags:string='';\r\n locationIDs:string='';\r\n roleIds:string = '';\r\n pageNumber:number=1;\r\n pageSize:number=5;\r\n sortColumn:string='';\r\n sortOrder:string='';\r\n compayId:number = 0; \r\n}\r\n\r\nexport class videotrackmodel\r\n{\r\n forEach(arg0: (e: any) => void) {\r\n throw new Error('Method not implemented.');\r\n }\r\n MediadetailsId:number;\r\n endduration:string = '';\r\n AccessDate:Date;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { BehaviorSubject, ReplaySubject, Observable } from \"rxjs\";\r\nimport { distinctUntilChanged, map } from \"rxjs/operators\";\r\nimport { LoginUser } from \"../modals/loginUser.modal\";\r\nimport { environment } from \"../../../../environments/environment\";\r\n\r\n@Injectable()\r\nexport class CommonService {\r\n private SytemInfoSubject = new BehaviorSubject({});\r\n public sytemInfo = this.SytemInfoSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n public loginUserSubject = new BehaviorSubject({} as LoginUser);\r\n public loginUser = this.loginUserSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n public loginSecuritySubject = new BehaviorSubject({} as object);\r\n public loginSecurity = this.loginSecuritySubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n private isAuthenticatedSubject = new ReplaySubject(1);\r\n public isAuthenticated = this.isAuthenticatedSubject.asObservable();\r\n\r\n private loadingStateSubject = new BehaviorSubject(false);\r\n public loadingState = this.loadingStateSubject.asObservable();\r\n\r\n // for update the client side navigations ...\r\n private updateClientNavigationSubject = new BehaviorSubject(null as number);\r\n public updateClientNavigation = this.updateClientNavigationSubject\r\n .asObservable()\r\n .pipe(distinctUntilChanged());\r\n\r\n constructor(private http: HttpClient) {\r\n SystemIpAddress.then(value => {\r\n this.SytemInfoSubject.next({ ipAddress: value });\r\n }).catch(e => console.error(e));\r\n }\r\n setLoadinState(isLoading: boolean = false) {\r\n this.loadingStateSubject.next(isLoading);\r\n }\r\n initializeAuthData() {\r\n if (localStorage.getItem(\"super-user-token\")) {\r\n return this.http\r\n .get(`${environment.api_url}/GetUserByToken`)\r\n .subscribe(response => {\r\n // login successful if there's a jwt token in the response\r\n if (response && response.access_token) {\r\n this.setAuth(response);\r\n } else {\r\n this.purgeAuth();\r\n }\r\n return response;\r\n });\r\n }\r\n }\r\n isValidFileType(fileName, fileType): boolean {\r\n // Create an object for all extension lists\r\n let extentionLists = { video: [], image: [], pdf: [], excel: [], xml: [] };\r\n let isValidType = false;\r\n extentionLists.video = [\"m4v\", \"avi\", \"mpg\", \"mp4\"];\r\n extentionLists.image = [\"jpg\", \"jpeg\", \"bmp\", \"png\", \"ico\"];\r\n extentionLists.pdf = [\"pdf\"];\r\n extentionLists.excel = [\"excel\"];\r\n extentionLists.xml = [\"xml\"];\r\n //get the extension of the selected file.\r\n let fileExtension = fileName\r\n .split(\".\")\r\n .pop()\r\n .toLowerCase();\r\n isValidType = extentionLists[fileType].indexOf(fileExtension) > -1;\r\n return isValidType;\r\n }\r\n logout() {\r\n // remove user from local storage to log user out\r\n this.purgeAuth();\r\n }\r\n\r\n setAuth(user: LoginUser) {\r\n localStorage.setItem(\"super-user-token\", JSON.stringify(user.access_token));\r\n // Set current user data into observable\r\n this.loginUserSubject.next(user);\r\n // Set isAuthenticated to true\r\n this.isAuthenticatedSubject.next(true);\r\n }\r\n\r\n purgeAuth() {\r\n localStorage.removeItem(\"super-user-token\");\r\n // Set current user to an empty object\r\n this.loginUserSubject.next({} as LoginUser);\r\n // Set auth status to false\r\n this.isAuthenticatedSubject.next(false);\r\n localStorage.clear();\r\n }\r\n\r\n getLoginUserInfo(): LoginUser {\r\n return this.loginUserSubject.value;\r\n }\r\n\r\n getCurrentLoginLocationId(): string {\r\n let locationId: string = \"\";\r\n const loginData: LoginUser = this.loginUserSubject.value;\r\n if (loginData && loginData.data) {\r\n locationId =\r\n loginData.data.staffLocation[0] &&\r\n loginData.data.staffLocation[0].locationID;\r\n }\r\n return locationId.toString();\r\n }\r\n\r\n getSystemIpAddress(): string {\r\n return this.SytemInfoSubject.value && this.SytemInfoSubject.value.ipAddress;\r\n }\r\n\r\n updateClientNaviagations(clientId: number) {\r\n this.updateClientNavigationSubject.next(clientId);\r\n }\r\n\r\n get getAdditionalHeaders(): string {\r\n const additionalHeaders = JSON.stringify({\r\n Offset: new Date().getTimezoneOffset().toString(),\r\n Timezone: calculateTimeZone(),\r\n IPAddress: this.getSystemIpAddress()\r\n });\r\n return additionalHeaders;\r\n }\r\n\r\n post(url, data): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders\r\n });\r\n return this.http.post(`${environment.api_url}/${url}`, data, {\r\n headers: headers\r\n });\r\n }\r\n\r\n put(url, data): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders\r\n });\r\n return this.http.put(`${environment.api_url}/${url}`, data, {\r\n headers: headers\r\n });\r\n }\r\n\r\n getById(url, data): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders\r\n });\r\n this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(`${environment.api_url}/${url}`, { headers: headers })\r\n .pipe(\r\n map(res => {\r\n this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n getAll(url, data): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders\r\n });\r\n this.loadingStateSubject.next(true);\r\n return this.http\r\n .get(`${environment.api_url}/${url}`, { headers: headers })\r\n .pipe(\r\n map(res => {\r\n this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n delete(url, data): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders\r\n });\r\n return this.http.delete(`${environment.api_url}/${url}`, {\r\n headers: headers\r\n });\r\n }\r\n patch(url, data): Observable {\r\n const headers = new HttpHeaders({\r\n additionalHeaders: this.getAdditionalHeaders\r\n });\r\n this.loadingStateSubject.next(true);\r\n return this.http\r\n .patch(`${environment.api_url}/${url}`, data, { headers: headers })\r\n .pipe(\r\n map(res => {\r\n this.loadingStateSubject.next(false);\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n download(url, headers): Observable {\r\n return this.http.get(`${environment.api_url}/${url}`, {\r\n headers: headers,\r\n responseType: \"blob\"\r\n });\r\n }\r\n}\r\n\r\nconst SystemIpAddress = new Promise(r => {\r\n const w: any = window,\r\n a = new (w.RTCPeerConnection ||\r\n w.mozRTCPeerConnection ||\r\n w.webkitRTCPeerConnection)({ iceServers: [] }),\r\n b = () => { };\r\n a.createDataChannel(\"\");\r\n a.createOffer(c => a.setLocalDescription(c, b, b), b);\r\n a.onicecandidate = c => {\r\n try {\r\n c.candidate.candidate\r\n .match(\r\n /([0-9]{1,3}(\\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g\r\n )\r\n .forEach(r);\r\n } catch (e) { }\r\n };\r\n});\r\n\r\nfunction calculateTimeZone(dateInput?: Date): string {\r\n var dateObject = dateInput || new Date(),\r\n dateString = dateObject + \"\",\r\n tzAbbr: any =\r\n // Works for the majority of modern browsers\r\n dateString.match(/\\(([^\\)]+)\\)$/) ||\r\n // IE outputs date strings in a different format:\r\n dateString.match(/([A-Z]+) [\\d]{4}$/);\r\n\r\n if (tzAbbr) {\r\n // Old Firefox uses the long timezone name (e.g., \"Central\r\n // Daylight Time\" instead of \"CDT\")\r\n tzAbbr = tzAbbr[1];\r\n }\r\n return tzAbbr;\r\n}\r\n","export * from './common.service';\r\nexport * from './layout.service';\r\n","import { Injectable } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material';\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n private sidenav: MatSidenav;\r\n private clientDrawer: MatSidenav;\r\n\r\n\r\n public setSidenav(sidenav: MatSidenav) {\r\n this.sidenav = sidenav;\r\n }\r\n\r\n public setClientDrawer(clientDrawer: MatSidenav) {\r\n this.clientDrawer = clientDrawer;\r\n }\r\n\r\n public toggleClientDrawer(toggle?: boolean) {\r\n this.clientDrawer.toggle(toggle);\r\n }\r\n\r\n public open() {\r\n return this.sidenav.open();\r\n }\r\n\r\n\r\n public close() {\r\n return this.sidenav.close();\r\n }\r\n\r\n public toggle(): void {\r\n this.sidenav.toggle();\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: true,\r\n //api_url: \"https://mscore.stagingsdei.com:9163\" //local\r\n //api_url: \"https://stag.letsbe.me:8081\" //local\r\n // api_url: \"https://mscore.stagingsdei.com:9161\" //staging\r\n api_url: \"https://api.letsbe.me\" //production\r\n //api_url: \"http://localhost:5002\" //Local\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\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\r\n","/* (ignored) */"],"sourceRoot":""}