{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/administration/managefacility/managefacility.component.html","webpack:///./src/app/administration/managefacility/managefacility.component.ts","webpack:///./src/app/administration/manageprovider/manageprovider.component.html","webpack:///./src/app/administration/manageprovider/manageprovider.component.ts","webpack:///./src/app/administration/manageusers/manageusers.component.html","webpack:///./src/app/administration/manageusers/manageusers.component.ts","webpack:///./src/app/administration/newpractice/newpractice.component.css","webpack:///./src/app/administration/newpractice/newpractice.component.html","webpack:///./src/app/administration/newpractice/newpractice.component.ts","webpack:///./src/app/administration/newprovider/newprovider.component.css","webpack:///./src/app/administration/newprovider/newprovider.component.html","webpack:///./src/app/administration/newprovider/newprovider.component.ts","webpack:///./src/app/administration/newuser/newuser.component.css","webpack:///./src/app/administration/newuser/newuser.component.html","webpack:///./src/app/administration/newuser/newuser.component.ts","webpack:///./src/app/administration/providersignout/providersignout.component.html","webpack:///./src/app/administration/providersignout/providersignout.component.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/changepassword/changepassword.component.css","webpack:///./src/app/changepassword/changepassword.component.html","webpack:///./src/app/changepassword/changepassword.component.ts","webpack:///./src/app/common/base.component.ts","webpack:///./src/app/common/base.page.ts","webpack:///./src/app/common/calendar-header/calendarheader.component.html","webpack:///./src/app/common/calendar-header/calendarheader.component.ts","webpack:///./src/app/common/confirm-modal.component.ts","webpack:///./src/app/common/directives/comparefieldsvalidator.directive.ts","webpack:///./src/app/common/directives/digitonly.directive.ts","webpack:///./src/app/common/directives/usernameexists.directive.ts","webpack:///./src/app/common/pagination-page-sizer/pagination-page-sizer.component.html","webpack:///./src/app/common/pagination-page-sizer/pagination-page-sizer.component.ts","webpack:///./src/app/common/pipes/key-value-concatenation.pipe.ts","webpack:///./src/app/common/pipes/key-value-transform.pipe.ts","webpack:///./src/app/common/pipes/phonenumber.pipe.ts","webpack:///./src/app/common/table-search-filter/table-search-filter.component.html","webpack:///./src/app/common/table-search-filter/table-search-filter.component.ts","webpack:///./src/app/common/webhttpurlencoding.ts","webpack:///./src/app/copyschedule/copyschedule.component.html","webpack:///./src/app/copyschedule/copyschedule.component.ts","webpack:///./src/app/forgotpassword/forgotpassword.component.html","webpack:///./src/app/forgotpassword/forgotpassword.component.ts","webpack:///./src/app/header/admin-hud.component.ts","webpack:///./src/app/header/header.component.css","webpack:///./src/app/header/header.component.html","webpack:///./src/app/header/header.component.ts","webpack:///./src/app/home/home.component.html","webpack:///./src/app/home/home.component.ts","webpack:///./src/app/login/login.component.html","webpack:///./src/app/login/login.component.ts","webpack:///./src/app/manage-notes-announcements/managenotesannouncements.component.html","webpack:///./src/app/manage-notes-announcements/managenotesannouncements.component.ts","webpack:///./src/app/manage-sharecodes/managesharecodes.component.html","webpack:///./src/app/manage-sharecodes/managesharecodes.component.ts","webpack:///./src/app/nav-menu/nav.component.css","webpack:///./src/app/nav-menu/nav.component.html","webpack:///./src/app/nav-menu/nav.component.ts","webpack:///./src/app/nav-menu/navmenu.component.css","webpack:///./src/app/nav-menu/navmenu.component.html","webpack:///./src/app/nav-menu/navmenu.component.ts","webpack:///./src/app/notes-announcements/notesannouncements.component.html","webpack:///./src/app/notes-announcements/notesannouncements.component.ts","webpack:///./src/app/notificationmessages/notificationmessages.component.html","webpack:///./src/app/notificationmessages/notificationmessages.component.ts","webpack:///./src/app/notificationsetup/notification-reminder-setup/notificationremindersetup.component.css","webpack:///./src/app/notificationsetup/notification-reminder-setup/notificationremindersetup.component.html","webpack:///./src/app/notificationsetup/notification-reminder-setup/notificationremindersetup.component.ts","webpack:///./src/app/pulmonary-view-schedule/pulmonaryview.component.html","webpack:///./src/app/pulmonary-view-schedule/pulmonaryview.component.ts","webpack:///./src/app/pulmonary1-view-schedule/pulmonaryview1.component.html","webpack:///./src/app/pulmonary1-view-schedule/pulmonaryview1.component.ts","webpack:///./src/app/reports/on-call-volume/on-call-volume.component.css","webpack:///./src/app/reports/on-call-volume/on-call-volume.component.html","webpack:///./src/app/reports/on-call-volume/on-call-volume.component.ts","webpack:///./src/app/resetpassword/resetpassword.component.html","webpack:///./src/app/resetpassword/resetpassword.component.ts","webpack:///./src/app/scheduler/manageschedule.component.css","webpack:///./src/app/scheduler/manageschedule.component.html","webpack:///./src/app/scheduler/manageschedule.component.ts","webpack:///./src/app/securitysettings/securitysettings.component.html","webpack:///./src/app/securitysettings/securitysettings.component.ts","webpack:///./src/app/services/auth.service.ts","webpack:///./src/app/services/data.service.ts","webpack:///./src/app/services/error.service.ts","webpack:///./src/app/services/facility.service.ts","webpack:///./src/app/services/guest.service.ts","webpack:///./src/app/services/login.service.ts","webpack:///./src/app/services/notesandannouncements.service.ts","webpack:///./src/app/services/notificationmessages.service.ts","webpack:///./src/app/services/notificationremindersetup.service.ts","webpack:///./src/app/services/practice.service.ts","webpack:///./src/app/services/practiceSchedule.service.ts","webpack:///./src/app/services/provider.service.ts","webpack:///./src/app/services/providersignout.service.ts","webpack:///./src/app/services/report.service.ts","webpack:///./src/app/services/user-role-auth-guard.service.ts","webpack:///./src/app/services/user.service.ts","webpack:///./src/app/share-codes/sharecodes.component.html","webpack:///./src/app/share-codes/sharecodes.component.ts","webpack:///./src/app/standard-view-schedule/standardview.component.html","webpack:///./src/app/standard-view-schedule/standardview.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBAErB,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAEd,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjB,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjB,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjB,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjB,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjB,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjB,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjB,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjB,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,CAAC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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \"\\r\\n
\\r\\n
\\r\\n
Manage Practice
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ successMessage }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

No Data Available!

\\r\\n
\\r\\n
\\r\\n \\r\\n 0; else showNoDataAvailable\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Practice NameManager NameEmailPhoneActions
{{ facility.facilityName }}{{ facility.managerName}}{{ facility.email }}{{ (facility.phone != null) ? (facility.phone | phoneNumberDisplay) : '' }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Practice NameManager NameEmailPhoneActions
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, Injectable, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { GuestService } from '../../services/guest.service';\r\nimport { SuiModalService } from 'ng2-semantic-ui';\r\nimport { ConfirmModal } from '../../common/confirm-modal.component';\r\nimport { PracticeModel } from 'src/app/models/practice.model';\r\nimport { PracticeService } from 'src/app/services/practice.service';\r\nimport { BasePage } from '../../common/base.page';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { Observable, forkJoin } from 'rxjs';\r\n\r\n@Injectable()\r\n@Component({\r\n selector: 'lms-manage-facilities',\r\n templateUrl: './managefacility.component.html',\r\n})\r\n\r\nexport class ManageFacilityComponent extends BasePage {\r\n searchArray: Array = [];\r\n filteredFacility: Array = [];\r\n filteredFacilityPage: Array = [];\r\n filteredFacilityLength: number = 0;\r\n recordsPerPage: number = 10;\r\n currentPage: number = 1;\r\n isAdmin: boolean = false;\r\n successMessage: string = '';\r\n\r\n facilitySearch: Array = [\r\n \"facilityName\",\r\n \"managerName\",\r\n \"email\",\r\n \"phone\"\r\n ];\r\n\r\n constructor(private router: Router, private practiceService: PracticeService, private guestService: GuestService,\r\n private suiModalService: SuiModalService, public authService: AuthService, private activatedRoute: ActivatedRoute) { super(authService) }\r\n\r\n ngOnInit() {\r\n this.isAdmin = this.authService.isAdmin();\r\n\r\n //var lkPageRecord = \"pagerecord\";\r\n //this.setLoading(lkPageRecord, true);\r\n //this.guestService.getDefaultPageRecordCount().subscribe(\r\n // (res) => {\r\n // this.setLoading(lkPageRecord, false);\r\n // this.recordsPerPage = res;\r\n // },\r\n // (err) => {\r\n // this.setLoading(lkPageRecord, false);\r\n // this.recordsPerPage = 10;\r\n // }\r\n //);\r\n\r\n //this.getFacilities();\r\n\r\n const getDefaultPageRecordCount = this.guestService.getDefaultPageRecordCount();\r\n const allPractices = this.getFacilities();\r\n\r\n var managePracticeRecords = \"managePracticeRecords\";\r\n this.setLoading(managePracticeRecords, true);\r\n forkJoin([getDefaultPageRecordCount, allPractices]).subscribe((res) => {\r\n if (res) {\r\n this.recordsPerPage = res[0];\r\n this.searchArray = res[1];\r\n }\r\n this.setLoading(managePracticeRecords, false);\r\n }, (error: any) => {\r\n this.recordsPerPage = 10;\r\n this.searchArray = [];\r\n this.setLoading(managePracticeRecords, false);\r\n });\r\n\r\n this.activatedRoute.paramMap.subscribe(params => {\r\n const practiceStatus = params.get('status');\r\n if (practiceStatus === 'created') {\r\n this.successMessage = \"The Practice Has been Successfully Created!!\";\r\n } else if (practiceStatus === 'updated') {\r\n this.successMessage = \"The Practice Has been Successfully Updated!!\";\r\n }\r\n setTimeout(() => {\r\n this.successMessage = \"\";\r\n }, 5000);\r\n });\r\n }\r\n\r\n getFacilities(): Observable> {\r\n //var lkPractice = \"practice\";\r\n //this.setLoading(lkPractice, true);\r\n //this.practiceService.getPracticesWithOutsideLMS().subscribe(\r\n // (res) => {\r\n // this.setLoading(lkPractice, false);\r\n // this.searchArray = res || [];\r\n // },\r\n // (err) => {\r\n // this.setLoading(lkPractice, false);\r\n // this.searchArray = [];\r\n // }\r\n //);\r\n\r\n return this.practiceService.getPracticesWithOutsideLMS();\r\n }\r\n\r\n searchChanged($event: Array) {\r\n this.filteredFacility = $event;\r\n setTimeout(() => {\r\n this.filteredFacilityLength = this.filteredFacility.length;\r\n }, 0);\r\n this.filteredFacilityPage = this.recordsPerPage > this.filteredFacility.length - 1 ? this.filteredFacility.slice() : this.filteredFacility.slice(0, this.recordsPerPage);\r\n this.currentPage = 1;\r\n }\r\n\r\n pageChanged(newPage: number) {\r\n this.currentPage = newPage;\r\n this.paginatePage();\r\n }\r\n\r\n updateRecordsPerPage(newRecordsPerPage: number) {\r\n this.recordsPerPage = newRecordsPerPage;\r\n this.currentPage = 1;\r\n this.paginatePage();\r\n }\r\n\r\n private paginatePage() {\r\n var newIndex = this.recordsPerPage * (this.currentPage - 1);\r\n this.filteredFacilityPage = (newIndex + this.recordsPerPage) > this.filteredFacility.length - 1 ? this.filteredFacility.slice(newIndex) : this.filteredFacility.slice(newIndex, newIndex + this.recordsPerPage);\r\n }\r\n\r\n showDeleteConfirm(facility: PracticeModel): void {\r\n this.suiModalService\r\n .open(new ConfirmModal(\"Are you sure?\", \"Are you sure about deleting the \" + facility.facilityName + \" Practice?\"))\r\n .onApprove(() => this.deleteFacility(facility))\r\n .onDeny(() => {\r\n });\r\n }\r\n\r\n deleteFacility(facility: PracticeModel): void {\r\n var loadingKey = \"deletepractice\";\r\n if (this.checkLoading(loadingKey)) return;\r\n this.setLoading(loadingKey, true);\r\n this.practiceService.deletePractice(facility.facilityId).subscribe(() => {\r\n this.setLoading(loadingKey, false);\r\n var lkPractice = \"practice\";\r\n this.setLoading(lkPractice, true);\r\n this.getFacilities().subscribe((res) => {\r\n this.searchArray = res;\r\n this.setLoading(lkPractice, false);\r\n }, (error: any) => {\r\n this.searchArray = [];\r\n this.setLoading(lkPractice, false);\r\n });\r\n }, (err) => {\r\n this.setLoading(loadingKey, false);\r\n this.searchArray = [];\r\n });\r\n }\r\n\r\n editFacility(facility: PracticeModel): void {\r\n this.router.navigate([`editpractice`, facility.facilityId]);\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
Manage Providers
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ successMessage }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

No Data Available!

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n 0 && primarySpecialityOptions.length > 0 && providers.length > 0); else showNoDataAvailable\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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 NamePractice NamePrimary SpecialityOffice EmailActions
{{ provider.providerFirstName + ' ' + provider.providerLastName }}{{ provider.facilityId | keyValueTransform: facilityOptions }}{{ provider.primarySpecialityId | keyValueTransform: primarySpecialityOptions }}{{ (provider.officeEmail != null) ? provider.officeEmail : '' }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Provider NamePractice NamePrimary SpecialityOffice EmailActions
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, Injectable, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ProviderModel } from '../../models/provider.model';\r\nimport { ProviderService } from '../../services/provider.service';\r\nimport { GuestService } from '../../services/guest.service';\r\nimport { SuiModalService } from 'ng2-semantic-ui';\r\nimport { ConfirmModal } from '../../common/confirm-modal.component';\r\nimport { BasePage } from '../../common/base.page';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { PracticeService } from 'src/app/services/practice.service';\r\nimport { Observable, forkJoin } from 'rxjs';\r\nimport { PrimarySpecialityModel } from 'src/app/models/primaryspeciality.model';\r\n\r\n@Injectable()\r\n@Component({\r\n selector: 'lms-manage-providers',\r\n templateUrl: './manageprovider.component.html'\r\n})\r\n\r\nexport class ManageProviderComponent extends BasePage {\r\n providers: Array = [];\r\n filteredProvider: Array = [];\r\n filteredProviderPage: Array = [];\r\n filteredProviderLength: number = 0;\r\n recordsPerPage: number = 10;\r\n currentPage: number = 1;\r\n isAdmin: boolean = false;\r\n successMessage: string = '';\r\n facilityOptions: Array<{ key: string | number, value: string | number }> = [];\r\n primarySpecialityOptions: Array<{ key: string | number, value: string | number }> = [];\r\n\r\n searchableProperties: Array = [\r\n \"providerFirstName\",\r\n \"providerLastName\",\r\n ];\r\n\r\n constructor(private router: Router, private providerService: ProviderService, private practiceService: PracticeService,\r\n private guestService: GuestService, private suiModalService: SuiModalService, public authService: AuthService, private activatedRoute: ActivatedRoute) { super(authService) }\r\n\r\n ngOnInit() {\r\n this.isAdmin = this.authService.isAdmin();\r\n\r\n //var lkPageRecord = \"pagerecord\";\r\n //this.setLoading(lkPageRecord, true);\r\n //this.guestService.getDefaultPageRecordCount().subscribe(res => {\r\n // this.setLoading(lkPageRecord, false);\r\n // this.recordsPerPage = res;\r\n //}, err => {\r\n // this.setLoading(lkPageRecord, false);\r\n // this.recordsPerPage = 10;\r\n // });\r\n\r\n //var lkPractice = \"practice\";\r\n //this.setLoading(lkPractice, true);\r\n //this.practiceService.getAllPractices().subscribe(res => {\r\n // this.setLoading(lkPractice, false);\r\n // this.facilityOptions = res.map(x => { return { key: x.facilityId, value: x.facilityName }; });\r\n //}, err => {\r\n // this.setLoading(lkPractice, false);\r\n // this.facilityOptions = [];\r\n // });\r\n\r\n //this.getProviders();\r\n\r\n //this.getPrimarySpecialities();\r\n\r\n const getDefaultPageRecordCount = this.guestService.getDefaultPageRecordCount();\r\n const allPractices = this.practiceService.getAllPractices();\r\n const allProviders = this.getProviders();\r\n const allPrimarySpecialities = this.getPrimarySpecialities();\r\n\r\n var manageProvidersRecords = \"manageProvidersRecords\";\r\n this.setLoading(manageProvidersRecords, true);\r\n forkJoin([getDefaultPageRecordCount, allPractices, allProviders, allPrimarySpecialities]).subscribe((res) => {\r\n if (res) {\r\n this.recordsPerPage = res[0];\r\n this.facilityOptions = res[1].map(x => { return { key: x.facilityId, value: x.facilityName }; });\r\n this.providers = res[2];\r\n this.primarySpecialityOptions = res[3].map(x => { return { key: x.primarySpecialityId, value: x.specialityName }; });\r\n }\r\n this.setLoading(manageProvidersRecords, false);\r\n }, (error: any) => {\r\n this.recordsPerPage = 10;\r\n this.facilityOptions = [];\r\n this.providers = [];\r\n this.primarySpecialityOptions = [];\r\n this.setLoading(manageProvidersRecords, false);\r\n });\r\n\r\n this.activatedRoute.paramMap.subscribe(params => {\r\n const practiceStatus = params.get('status');\r\n if (practiceStatus === 'created') {\r\n this.successMessage = \"The Provider Has been Successfully Created!!\";\r\n } else if (practiceStatus === 'updated') {\r\n this.successMessage = \"The Provider Has been Successfully Updated!!\";\r\n }\r\n setTimeout(() => {\r\n this.successMessage = \"\";\r\n }, 5000);\r\n });\r\n }\r\n\r\n getProviders(): Observable> {\r\n //var lkProviders = \"providers\";\r\n //this.setLoading(lkProviders, true);\r\n //this.providerService.getAllProviders().subscribe(res => {\r\n // this.setLoading(lkProviders, false);\r\n // this.providers = res;\r\n //}, err => {\r\n // this.setLoading(lkProviders, false);\r\n // this.providers = [];\r\n //});\r\n\r\n return this.providerService.getAllProviders();\r\n }\r\n\r\n getPrimarySpecialities(): Observable> {\r\n //var lkPrimarySpecialities = \"primarySpecialities\";\r\n //this.setLoading(lkPrimarySpecialities, true);\r\n //this.providerService.getPrimarySpecialities().subscribe(res => {\r\n // this.setLoading(lkPrimarySpecialities, false);\r\n // this.primarySpecialityOptions = res.map(x => { return { key: x.primarySpecialityId, value: x.specialityName }; });\r\n //}, err => {\r\n // this.setLoading(lkPrimarySpecialities, false);\r\n // this.primarySpecialityOptions = [];\r\n //});\r\n\r\n return this.providerService.getPrimarySpecialities();\r\n }\r\n\r\n searchChanged($event: Array) {\r\n this.filteredProvider = $event;\r\n setTimeout(() => {\r\n this.filteredProviderLength = this.filteredProvider.length;\r\n }, 0);\r\n this.filteredProviderPage = this.recordsPerPage > this.filteredProvider.length - 1 ? this.filteredProvider.slice() : this.filteredProvider.slice(0, this.recordsPerPage);\r\n this.currentPage = 1;\r\n }\r\n\r\n pageChanged(newPage: number) {\r\n this.currentPage = newPage;\r\n this.paginatePage();\r\n }\r\n\r\n updateRecordsPerPage(newRecordsPerPage: number) {\r\n this.recordsPerPage = newRecordsPerPage;\r\n this.currentPage = 1;\r\n this.paginatePage();\r\n }\r\n\r\n private paginatePage() {\r\n var newIndex = this.recordsPerPage * (this.currentPage - 1);\r\n this.filteredProviderPage = (newIndex + this.recordsPerPage) > this.filteredProvider.length - 1 ? this.filteredProvider.slice(newIndex) : this.filteredProvider.slice(newIndex, newIndex + this.recordsPerPage);\r\n }\r\n\r\n showDeleteConfirm(provider: ProviderModel): void {\r\n this.suiModalService\r\n .open(new ConfirmModal(\"Are you sure?\", \"Are you sure about deleting the \" + provider.providerFirstName + \" \" + provider.providerLastName + \" provider?\"))\r\n .onApprove(() => this.deleteProvider(provider))\r\n .onDeny(() => {\r\n });\r\n }\r\n\r\n deleteProvider(provider: ProviderModel): void {\r\n var loadingKey = \"deleteprovider\";\r\n if (this.checkLoading(loadingKey)) return;\r\n this.setLoading(loadingKey, true);\r\n this.providerService.deleteProvider(provider.providerId).subscribe(res => {\r\n this.setLoading(loadingKey, false);\r\n var lkProviders = \"providers\";\r\n this.setLoading(lkProviders, true);\r\n this.getProviders().subscribe(res => {\r\n this.providers = res;\r\n this.setLoading(lkProviders, false);\r\n }, err => {\r\n this.providers = [];\r\n this.setLoading(lkProviders, false);\r\n });\r\n },\r\n err => {\r\n this.providers = [];\r\n this.setLoading(loadingKey, false);\r\n }\r\n );\r\n }\r\n\r\n editProvider(provider: ProviderModel): void {\r\n this.router.navigate([`editprovider`, provider.providerId]);\r\n }\r\n}\r\n","module.exports = \"\\r\\n \\r\\n
\\r\\n

Sorry, You Do Not Have Permissions To View / Manage Users

\\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 \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ successMessage }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

No Data Available!

\\r\\n
\\r\\n
\\r\\n 0; else showNoDataAvailable\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
First NameLast NameUsernameEmailPracticesActions
{{user.firstName}}{{user.lastName}}{{user.username}}{{user.email}}All Practices{{ user.facilities | keyValueConcatenation: facilityOptions }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
First NameLast NameUsernameEmailPracticesActions
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { User } from \"../../models/user.model\";\r\nimport { GuestService } from \"../../services/guest.service\";\r\nimport { UserService } from \"../../services/user.service\";\r\nimport { SuiModalService } from \"ng2-semantic-ui\";\r\nimport { ConfirmModal } from \"../../common/confirm-modal.component\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { ProviderService } from \"../../services/provider.service\";\r\nimport { BasePage } from \"../../common/base.page\";\r\nimport { AuthService } from \"src/app/services/auth.service\";\r\nimport { PracticeService } from \"src/app/services/practice.service\";\r\nimport { forkJoin, Observable } from \"rxjs\";\r\n\r\n@Component({\r\n selector: 'lms-manage-users',\r\n templateUrl: './manageusers.component.html'\r\n})\r\nexport class ManageUsersComponent extends BasePage {\r\n users: Array = [];\r\n filteredUser: Array = [];\r\n filteredUserPage: Array = [];\r\n filteredUserLength: number = 0;\r\n successMessage: string = '';\r\n facilityOptions: Array<{ key: string | number, value: string | number }> = [];\r\n providerOptions: Array<{ key: string | number, value: string | number }> = [];\r\n\r\n searchableProperties: Array = [\r\n \"firstName\",\r\n \"lastName\",\r\n \"username\",\r\n \"email\"\r\n ];\r\n\r\n isAdmin: boolean = false;\r\n recordsPerPage: number = 10;\r\n currentPage: number = 1;\r\n\r\n constructor(private guestService: GuestService, private practiceService: PracticeService, private userService: UserService,\r\n private suiModalService: SuiModalService, private router: Router, private providerService: ProviderService, public authService: AuthService, private activatedRoute: ActivatedRoute) { super(authService) }\r\n\r\n ngOnInit() {\r\n this.isAdmin = this.authService.isAdmin();\r\n\r\n //var lkPageRecord = \"pagerecord\";\r\n //this.setLoading(lkPageRecord, true);\r\n //this.guestService.getDefaultPageRecordCount().subscribe(res => {\r\n // this.setLoading(lkPageRecord, false);\r\n // this.recordsPerPage = res;\r\n //}, err => {\r\n // this.setLoading(lkPageRecord, false);\r\n // this.recordsPerPage = 10;\r\n // });\r\n\r\n //var lkPractice = \"practice\";\r\n //this.setLoading(lkPractice, true);\r\n //this.practiceService.getAllPractices().subscribe(res => {\r\n // this.setLoading(lkPractice, false);\r\n // this.facilityOptions = res.map(x => { return { key: x.facilityId, value: x.facilityName }; });\r\n //}, err => {\r\n // this.setLoading(lkPractice, false);\r\n // this.facilityOptions = [];\r\n // });\r\n\r\n //var lkProviders = \"providers\";\r\n //this.setLoading(lkProviders, true);\r\n //this.providerService.getAllProviders().subscribe(res => {\r\n // this.setLoading(lkProviders, false);\r\n // this.providerOptions = res.map(x => { return { key: x.providerId, value: x.providerFirstName + ' ' + x.providerLastName }; });\r\n //}, err => {\r\n // this.setLoading(lkProviders, false);\r\n // this.providerOptions = [];\r\n // });\r\n\r\n //this.getUsers();\r\n\r\n const getDefaultPageRecordCount = this.guestService.getDefaultPageRecordCount();\r\n const allPractices = this.practiceService.getAllPractices();\r\n const allProviders = this.providerService.getAllProviders();\r\n const allUsers = this.getUsers();\r\n\r\n var manageUsersRecords = \"manageUsersRecords\";\r\n this.setLoading(manageUsersRecords, true);\r\n forkJoin([getDefaultPageRecordCount, allPractices, allProviders, allUsers]).subscribe((res) => {\r\n if (res) {\r\n this.recordsPerPage = res[0];\r\n this.facilityOptions = res[1].map(x => { return { key: x.facilityId, value: x.facilityName }; });\r\n this.providerOptions = res[2].map(x => { return { key: x.providerId, value: x.providerFirstName + ' ' + x.providerLastName }; });\r\n this.users = res[3];\r\n }\r\n this.setLoading(manageUsersRecords, false);\r\n }, (error: any) => {\r\n this.recordsPerPage = 10;\r\n this.facilityOptions = [];\r\n this.providerOptions = [];\r\n this.users = [];\r\n this.setLoading(manageUsersRecords, false);\r\n });\r\n\r\n this.activatedRoute.paramMap.subscribe(params => {\r\n const practiceStatus = params.get('status');\r\n if (practiceStatus === 'created') {\r\n this.successMessage = \"The User Has been Successfully Created!!\";\r\n } else if (practiceStatus === 'updated') {\r\n this.successMessage = \"The User Has been Successfully Updated!!\";\r\n }\r\n setTimeout(() => {\r\n this.successMessage = \"\";\r\n }, 5000);\r\n });\r\n }\r\n\r\n getUsers(): Observable> {\r\n //var lkUsers = \"users\";\r\n //this.setLoading(lkUsers, true);\r\n //this.userService.getUsers().subscribe(res => {\r\n // this.setLoading(lkUsers, false);\r\n // this.users = res;\r\n //}, err => {\r\n // this.setLoading(lkUsers, false);\r\n // this.users = [];\r\n //});\r\n\r\n return this.userService.getUsers();\r\n }\r\n\r\n isAdminOrCCO(roleId: number): boolean {\r\n return (roleId === 1 || roleId === 2);\r\n }\r\n\r\n pageChanged(newPage: number) {\r\n this.currentPage = newPage;\r\n this.paginatePage();\r\n }\r\n\r\n searchChanged($event: Array) {\r\n this.filteredUser = $event;\r\n setTimeout(() => {\r\n this.filteredUserLength = this.filteredUser.length;\r\n }, 0);\r\n this.filteredUserPage = this.recordsPerPage > this.filteredUser.length - 1 ? this.filteredUser.slice() : this.filteredUser.slice(0, this.recordsPerPage);\r\n this.currentPage = 1;\r\n }\r\n\r\n updateRecordsPerPage(newRecordsPerPage: number) {\r\n this.recordsPerPage = newRecordsPerPage;\r\n this.currentPage = 1;\r\n this.paginatePage();\r\n }\r\n\r\n private paginatePage() {\r\n var newIndex = this.recordsPerPage * (this.currentPage - 1);\r\n this.filteredUserPage = (newIndex + this.recordsPerPage) > this.filteredUser.length - 1 ? this.filteredUser.slice(newIndex) : this.filteredUser.slice(newIndex, newIndex + this.recordsPerPage);\r\n }\r\n\r\n editUser(user: User) {\r\n this.router.navigate(['edituser', user.userId]);\r\n }\r\n\r\n showDeleteConfirm(user: User): void {\r\n this.suiModalService\r\n .open(new ConfirmModal(\"Are you sure?\", \"Are you sure about deleting the user \" + user.firstName + ' ' + user.lastName + \" ?\"))\r\n .onApprove(() => this.deleteUser(user))\r\n .onDeny(() => {\r\n });\r\n }\r\n\r\n deleteUser(user: User): void {\r\n var loadingKey = \"deleteuser\";\r\n if (this.checkLoading(loadingKey)) return;\r\n this.setLoading(loadingKey, true);\r\n this.userService.deleteUser(user.userId).subscribe(res => {\r\n this.setLoading(loadingKey, false);\r\n var lkUsers = \"users\";\r\n this.setLoading(lkUsers, true);\r\n this.getUsers().subscribe(res => {\r\n this.users = res;\r\n this.setLoading(lkUsers, false);\r\n }, err => {\r\n this.users = [];\r\n this.setLoading(lkUsers, false);\r\n });\r\n },\r\n err => {\r\n this.users = [];\r\n this.setLoading(loadingKey, false);\r\n }\r\n )\r\n }\r\n}\r\n","module.exports = \".required-field {\\r\\n color: red;\\r\\n}\\r\\n\\r\\nhr {\\r\\n border-bottom: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\ninput.ng-invalid.ng-touched, select.ng-invalid.ng-touched {\\r\\n border: 1px solid red;\\r\\n}\\r\\n\\r\\n.ng-select .ng-select-container .ng-value-container {\\r\\n padding-left: 15px !important;\\r\\n padding-top: 0 !important;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n \\r\\n
\\r\\n

Sorry, You Do Not Have Permissions To Create a New Practice

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ pageTitle }} Practice\\r\\n * required fields!\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n

Basic Info:

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ formErrors.practiceName }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Yes\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ formErrors.managerName }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ formErrors.gpsBillingNumber }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ formErrors.email }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

Schedule:

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
MondayTuesdayWednesdayThursdayFridaySaturdaySunday
Begin\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
End\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
Lunch Begin\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
Lunch End\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Weekday Begin is required\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Weekday End is required\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Weekend Begin is required\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Weekend End is required\\r\\n Please enter a valid format. Ex: '8:00 AM' or '10:30 PM'\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Yes\\r\\n
\\r\\n
\\r\\n \\r\\n Yes\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n Group Shares:\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Standard Share 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 \\r\\n {{practiceOption.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
0\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Nephrology Share 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 \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{practiceOption.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
0\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Pulmonary Share 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 {{practiceOption.name}}\\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
\\r\\n NP And PA Share 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 {{practiceOption.name}}\\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
\\r\\n
\\r\\n \\r\\n \\r\\n

Address:

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ formErrors.address1 }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ formErrors.address2 }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ formErrors.city }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ formErrors.state }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ formErrors.zipcode }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

Phone Numbers:

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ formErrors.phone }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ formErrors.fax }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ formErrors.unlistedPhone1 }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ formErrors.unlistedPhone2 }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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, FormArray, AbstractControl, FormControl } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { PracticeService } from '../../services/practice.service';\r\nimport { PracticeModel } from '../../models/practice.model';\r\nimport { FacilityScheduleTypesModel } from '../../models/facilityscheduletypes.model';\r\nimport { GroupsPerShareModel } from '../../models/GroupsPerShare.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { BasePage } from '../../common/base.page';\r\nimport { SuiModalService } from 'ng2-semantic-ui';\r\nimport { ConfirmModal } from '../../common/confirm-modal.component';\r\nimport { forkJoin } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'lms-new-practice',\r\n templateUrl: './newpractice.component.html',\r\n styleUrls: ['./newpractice.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class NewPracticeComponent extends BasePage {\r\n practiceForm: FormGroup;\r\n isUpdate: boolean = false;\r\n isAdmin: boolean = false;\r\n practiceModel: PracticeModel;\r\n pageTitle: string;\r\n groupsPerShareModel: GroupsPerShareModel;\r\n scheduleTypeOptions: Array<{ id: number, name: string }> = [];\r\n practiceOptions: Array<{ id: number, name: string }> = [];\r\n\r\n validationMessages = {\r\n 'practiceName': {\r\n 'required': 'Practice Name is required',\r\n 'maxlength': 'Practice Name cannot exceed 200 Characters'\r\n },\r\n 'managerName': {\r\n 'required': 'Manager Name is required',\r\n 'maxlength': 'Manager Name cannot exceed 60 Characters'\r\n },\r\n 'email': {\r\n 'required': 'Email is required',\r\n 'email': 'Enter a valid Email Address',\r\n 'maxlength': 'Email cannot exceed 60 Characters'\r\n },\r\n 'gpsBillingNumber': {\r\n 'required': 'GPS Billing Number is required',\r\n 'maxlength': 'GPS Billing Number cannot exceed 150 Characters'\r\n },\r\n 'address1': {\r\n 'required': 'Address 1 is required',\r\n 'maxlength': 'Address 1 cannot exceed 200 Characters'\r\n },\r\n 'address2': {\r\n 'maxlength': 'Address 2 cannot exceed 200 Characters'\r\n },\r\n 'city': {\r\n 'required': 'City is required',\r\n 'maxlength': 'City cannot exceed 50 Characters'\r\n },\r\n 'state': {\r\n 'required': 'State is required',\r\n 'maxlength': 'State cannot exceed 50 Characters'\r\n },\r\n 'zipcode': {\r\n 'required': 'Zipcode is required',\r\n 'pattern': 'Zipcode is invalid. (Ex: 12345 or 12345-6789)'\r\n },\r\n 'phone': {\r\n 'pattern': 'Phone Number is invalid. (Valid Format: (123)-456-7890)'\r\n },\r\n 'fax': {\r\n 'pattern': 'Fax Number is invalid. (Valid Format: (123)-456-7890)'\r\n },\r\n 'unlistedPhone1': {\r\n 'pattern': 'Unlisted Phone Number 1 is invalid. (Valid Format: (123)-456-7890)'\r\n },\r\n 'unlistedPhone2': {\r\n 'pattern': 'Unlisted Phone Number 2 is invalid. (Valid Format: (123)-456-7890)'\r\n }\r\n };\r\n\r\n formErrors = {\r\n practiceName: '', managerName: '', email: '', gpsBillingNumber: ''\r\n , address1: '', address2: '', city: '', state: '', zipcode: '', phone: '', fax: '', unlistedPhone1: '', unlistedPhone2: ''\r\n };\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private fb: FormBuilder, private practiceService: PracticeService,\r\n public authService: AuthService, private suiModalService: SuiModalService) { super(authService) }\r\n\r\n ngOnInit() {\r\n this.isAdmin = this.authService.isAdmin();\r\n\r\n this.practiceForm = this.createForm();\r\n\r\n //var lkScheduleTypes = \"getScheduleTypes\";\r\n //this.setLoading(lkScheduleTypes, true);\r\n //this.practiceService.getScheduleTypes().subscribe(\r\n // (res) => {\r\n // this.setLoading(lkScheduleTypes, false);\r\n // this.scheduleTypeOptions = res.map(x => { return { id: x.scheduleTypeId, name: x.scheduleTypeName }; }) || [];\r\n // },\r\n // (error: any) => {\r\n // this.setLoading(lkScheduleTypes, false);\r\n // this.scheduleTypeOptions = [];\r\n // }\r\n //);\r\n\r\n //var lkPractices = \"practices\";\r\n //this.setLoading(lkPractices, true);\r\n //this.practiceService.getAllPractices().subscribe(\r\n // (res) => {\r\n // this.practiceOptions = res.map(x => { return { id: x.facilityId, name: x.facilityName }; }) || [];\r\n // this.setLoading(lkPractices, false);\r\n // },\r\n // (error: any) => {\r\n // this.setLoading(lkPractices, false);\r\n // this.practiceOptions = [];\r\n // }\r\n //);\r\n\r\n //this.practiceForm = this.createForm();\r\n\r\n //this.route.paramMap.subscribe(params => {\r\n // const practiceId = +params.get('id');\r\n // if (practiceId) {\r\n // this.isUpdate = true;\r\n // this.pageTitle = 'Update';\r\n // this.getPractice(practiceId);\r\n // } else {\r\n // this.pageTitle = 'New';\r\n // this.practiceModel = this.practiceService.getInitialPracticeModel();\r\n // }\r\n //});\r\n\r\n const allScheduleTypes = this.practiceService.getScheduleTypes();\r\n const allPractices = this.practiceService.getAllPractices();\r\n var lkPractices = \"practices\";\r\n this.setLoading(lkPractices, true);\r\n forkJoin([allPractices, allScheduleTypes]).subscribe((res) => {\r\n this.practiceOptions = res[0].map(x => { return { id: x.facilityId, name: x.facilityName }; }) || [];\r\n this.scheduleTypeOptions = res[1].map(x => { return { id: x.scheduleTypeId, name: x.scheduleTypeName }; }) || [];\r\n this.setLoading(lkPractices, false);\r\n this.route.paramMap.subscribe(params => {\r\n const practiceId = +params.get('id');\r\n if (practiceId) {\r\n this.isUpdate = true;\r\n this.pageTitle = 'Update';\r\n this.getPractice(practiceId);\r\n } else {\r\n this.pageTitle = 'New';\r\n this.practiceModel = this.practiceService.getInitialPracticeModel();\r\n }\r\n });\r\n }, (error: any) => {\r\n this.setLoading(lkPractices, false);\r\n this.practiceOptions = [];\r\n this.scheduleTypeOptions = [];\r\n });\r\n\r\n this.practiceForm.get('basicInfo').valueChanges.subscribe((data) => {\r\n this.logValidationErrors(this.practiceForm.get('basicInfo'));\r\n });\r\n\r\n this.practiceForm.get('address').valueChanges.subscribe((data) => {\r\n this.logValidationErrors(this.practiceForm.get('address'));\r\n });\r\n\r\n this.practiceForm.get('phoneNumbers').valueChanges.subscribe((data) => {\r\n this.logValidationErrors(this.practiceForm.get('phoneNumbers'));\r\n });\r\n }\r\n\r\n createForm(): FormGroup {\r\n let scheduleBeginTime = new Date();\r\n scheduleBeginTime.setHours(8, 0, 0, 0);\r\n let scheduleEndTime = new Date();\r\n scheduleEndTime.setHours(17, 0, 0, 0);\r\n let scheduleWeekDayEndTime = new Date();\r\n scheduleWeekDayEndTime.setHours(12, 0, 0, 0);\r\n let scheduleLunchBeginTime = new Date();\r\n scheduleLunchBeginTime.setHours(13, 0, 0, 0);\r\n let scheduleLunchEndTime = new Date();\r\n scheduleLunchEndTime.setHours(14, 0, 0, 0);\r\n\r\n return this.fb.group({\r\n basicInfo: this.fb.group({\r\n practiceName: ['', [Validators.required, Validators.maxLength(200)]],\r\n managerName: ['', [Validators.required, Validators.maxLength(60)]],\r\n email: ['', [Validators.required, Validators.email, Validators.maxLength(60)]],\r\n outsideLMS: [false, Validators.required],\r\n gpsBillingNumber: ['', [Validators.required, Validators.maxLength(150)]]\r\n }),\r\n schedule: this.fb.group({\r\n scheduleType: [[], Validators.required],\r\n practiceScheduleBegin: this.fb.group({\r\n mondayBegin: [scheduleBeginTime],\r\n tuesdayBegin: [scheduleBeginTime],\r\n wednesdayBegin: [scheduleBeginTime],\r\n thursdayBegin: [scheduleBeginTime],\r\n fridayBegin: [scheduleBeginTime],\r\n saturdayBegin: [scheduleBeginTime],\r\n sundayBegin: [scheduleBeginTime]\r\n }),\r\n practiceScheduleEnd: this.fb.group({\r\n mondayEnd: [scheduleEndTime],\r\n tuesdayEnd: [scheduleEndTime],\r\n wednesdayEnd: [scheduleEndTime],\r\n thursdayEnd: [scheduleEndTime],\r\n fridayEnd: [scheduleEndTime],\r\n saturdayEnd: [scheduleEndTime],\r\n sundayEnd: [scheduleEndTime]\r\n }),\r\n practiceScheduleLunchBegin: this.fb.group({\r\n mondayLunchBegin: [scheduleLunchBeginTime],\r\n tuesdayLunchBegin: [scheduleLunchBeginTime],\r\n wednesdayLunchBegin: [scheduleLunchBeginTime],\r\n thursdayLunchBegin: [scheduleLunchBeginTime],\r\n fridayLunchBegin: [scheduleLunchBeginTime],\r\n saturdayLunchBegin: [scheduleLunchBeginTime],\r\n sundayLunchBegin: [scheduleLunchBeginTime]\r\n }),\r\n practiceScheduleLunchEnd: this.fb.group({\r\n mondayLunchEnd: [scheduleLunchEndTime],\r\n tuesdayLunchEnd: [scheduleLunchEndTime],\r\n wednesdayLunchEnd: [scheduleLunchEndTime],\r\n thursdayLunchEnd: [scheduleLunchEndTime],\r\n fridayLunchEnd: [scheduleLunchEndTime],\r\n saturdayLunchEnd: [scheduleLunchEndTime],\r\n sundayLunchEnd: [scheduleLunchEndTime]\r\n }),\r\n weekDayBegin: [scheduleBeginTime, Validators.required],\r\n weekDayEnd: [scheduleWeekDayEndTime, Validators.required],\r\n weekendBegin: [scheduleBeginTime, Validators.required],\r\n weekendEnd: [scheduleBeginTime, Validators.required],\r\n createShareGroupInFM: [false, Validators.required],\r\n showInSchedulePage: [true]\r\n }),\r\n groupShares: this.fb.array([]),\r\n address: this.fb.group({\r\n address1: ['', [Validators.required, Validators.maxLength(200)]],\r\n address2: ['', Validators.maxLength(200)],\r\n city: ['', [Validators.required, Validators.maxLength(50)]],\r\n state: ['', [Validators.required, Validators.maxLength(50)]],\r\n zipcode: ['', [Validators.required, Validators.pattern(/^\\d{5}(?:[-]\\d{4})?$/)]]\r\n }),\r\n phoneNumbers: this.fb.group({\r\n phone: ['', Validators.pattern(/^\\([0-9]{3}\\)-[0-9]{3}-[0-9]{4}$/)],\r\n fax: ['', Validators.pattern(/^\\([0-9]{3}\\)-[0-9]{3}-[0-9]{4}$/)],\r\n unlistedPhone1: ['', Validators.pattern(/^\\([0-9]{3}\\)-[0-9]{3}-[0-9]{4}$/)],\r\n unlistedPhone2: ['', Validators.pattern(/^\\([0-9]{3}\\)-[0-9]{3}-[0-9]{4}$/)]\r\n })\r\n });\r\n }\r\n\r\n getPractice(id: number) {\r\n var lkPractice = \"practice\";\r\n this.setLoading(lkPractice, true);\r\n this.practiceService.getPractice(id).subscribe(\r\n (practice: PracticeModel) => {\r\n this.practiceModel = practice;\r\n this.editPractice(practice);\r\n this.setLoading(lkPractice, false);\r\n },\r\n (error: any) => {\r\n this.setLoading(lkPractice, false);\r\n }\r\n );\r\n }\r\n\r\n editPractice(practice: PracticeModel) {\r\n this.practiceForm.patchValue({\r\n basicInfo: {\r\n practiceName: practice.facilityName,\r\n managerName: practice.managerName,\r\n email: practice.email,\r\n outsideLMS: practice.outsideLMS ? true : false,\r\n gpsBillingNumber: practice.gpsBillingNumber\r\n },\r\n address: {\r\n address1: practice.address1,\r\n address2: practice.address2,\r\n city: practice.city,\r\n state: practice.state,\r\n zipcode: practice.zipcode\r\n },\r\n phoneNumbers: {\r\n phone: practice.phone ? '(' + practice.phone.substring(0, 3) + ')-' + practice.phone.substring(3, 6) + '-' + practice.phone.substring(6, practice.phone.length) : practice.phone,\r\n fax: practice.fax ? '(' + practice.fax.substring(0, 3) + ')-' + practice.fax.substring(3, 6) + '-' + practice.fax.substring(6, practice.phone.length) : practice.fax,\r\n unlistedPhone1: practice.unlistedPhone1 ? '(' + practice.unlistedPhone1.substring(0, 3) + ')-' + practice.unlistedPhone1.substring(3, 6) + '-' + practice.unlistedPhone1.substring(6, practice.phone.length) : practice.unlistedPhone1,\r\n unlistedPhone2: practice.unlistedPhone2 ? '(' + practice.unlistedPhone2.substring(0, 3) + ')-' + practice.unlistedPhone2.substring(3, 6) + '-' + practice.unlistedPhone2.substring(6, practice.phone.length) : practice.unlistedPhone2\r\n }\r\n });\r\n\r\n if (!practice.outsideLMS) {\r\n this.practiceForm.get('schedule').patchValue({\r\n weekDayBegin: practice.shareCode.weekdayBegin ? new Date(practice.shareCode.weekdayBegin) : null,\r\n weekDayEnd: practice.shareCode.weekdayEnd ? new Date(practice.shareCode.weekdayEnd) : null,\r\n weekendBegin: practice.shareCode.weekendBegin ? new Date(practice.shareCode.weekendBegin) : null,\r\n weekendEnd: practice.shareCode.weekendEnd ? new Date(practice.shareCode.weekendEnd) : null,\r\n createShareGroupInFM: practice.createShareGroupInFM ? true : false,\r\n showInSchedulePage: practice.showInSchedulePage ? true : false,\r\n practiceScheduleBegin: {\r\n mondayBegin: practice.mondayBegin ? new Date(practice.mondayBegin) : null,\r\n tuesdayBegin: practice.tuesdayBegin ? new Date(practice.tuesdayBegin) : null,\r\n wednesdayBegin: practice.wednesdayBegin ? new Date(practice.wednesdayBegin) : null,\r\n thursdayBegin: practice.thursdayBegin ? new Date(practice.thursdayBegin) : null,\r\n fridayBegin: practice.fridayBegin ? new Date(practice.fridayBegin) : null,\r\n saturdayBegin: practice.saturdayBegin ? new Date(practice.saturdayBegin) : null,\r\n sundayBegin: practice.sundayBegin ? new Date(practice.sundayBegin) : null\r\n },\r\n practiceScheduleEnd: {\r\n mondayEnd: practice.mondayEnd ? new Date(practice.mondayEnd) : null,\r\n tuesdayEnd: practice.tuesdayEnd ? new Date(practice.tuesdayEnd) : null,\r\n wednesdayEnd: practice.wednesdayEnd ? new Date(practice.wednesdayEnd) : null,\r\n thursdayEnd: practice.thursdayEnd ? new Date(practice.thursdayEnd) : null,\r\n fridayEnd: practice.fridayEnd ? new Date(practice.fridayEnd) : null,\r\n saturdayEnd: practice.saturdayEnd ? new Date(practice.saturdayEnd) : null,\r\n sundayEnd: practice.sundayEnd ? new Date(practice.sundayEnd) : null\r\n },\r\n practiceScheduleLunchBegin: {\r\n mondayLunchBegin: practice.mondayLunchBegin ? new Date(practice.mondayLunchBegin) : null,\r\n tuesdayLunchBegin: practice.tuesdayLunchBegin ? new Date(practice.tuesdayLunchBegin) : null,\r\n wednesdayLunchBegin: practice.wednesdayLunchBegin ? new Date(practice.wednesdayLunchBegin) : null,\r\n thursdayLunchBegin: practice.thursdayLunchBegin ? new Date(practice.thursdayLunchBegin) : null,\r\n fridayLunchBegin: practice.fridayLunchBegin ? new Date(practice.fridayLunchBegin) : null,\r\n saturdayLunchBegin: practice.saturdayLunchBegin ? new Date(practice.saturdayLunchBegin) : null,\r\n sundayLunchBegin: practice.sundayLunchBegin ? new Date(practice.sundayLunchBegin) : null\r\n },\r\n practiceScheduleLunchEnd: {\r\n mondayLunchEnd: practice.mondayLunchEnd ? new Date(practice.mondayLunchEnd) : null,\r\n tuesdayLunchEnd: practice.tuesdayLunchEnd ? new Date(practice.tuesdayLunchEnd) : null,\r\n wednesdayLunchEnd: practice.wednesdayLunchEnd ? new Date(practice.wednesdayLunchEnd) : null,\r\n thursdayLunchEnd: practice.thursdayLunchEnd ? new Date(practice.thursdayLunchEnd) : null,\r\n fridayLunchEnd: practice.fridayLunchEnd ? new Date(practice.fridayLunchEnd) : null,\r\n saturdayLunchEnd: practice.saturdayLunchEnd ? new Date(practice.saturdayLunchEnd) : null,\r\n sundayLunchEnd: practice.sundayLunchEnd ? new Date(practice.sundayLunchEnd) : null\r\n }\r\n });\r\n\r\n this.practiceForm.get('schedule.scheduleType').patchValue(this.setScheduleTypes(practice.facilityScheduleTypes));\r\n this.practiceForm.setControl('groupShares', this.setGroupShares(practice.groupsPerShares, practice.facilityScheduleTypes));\r\n }\r\n }\r\n\r\n setGroupShares(groupsPerShare: Array, facilityScheduleTypes: Array): FormArray {\r\n let scheduleTypesArray: Array<{ id: number, name: string }> = [];\r\n let groupSharesFormArray = this.practiceForm.get('groupShares') as FormArray;\r\n for (var i = 0; i < facilityScheduleTypes.length; i++) {\r\n const scheduleTypeName = this.getScheduleTypeName(facilityScheduleTypes[i].scheduleTypeId);\r\n scheduleTypesArray.push({ id: facilityScheduleTypes[i].scheduleTypeId, name: scheduleTypeName });\r\n }\r\n for (let fg = 0; fg < facilityScheduleTypes.length; fg++) {\r\n groupSharesFormArray.push(this.fb.group({\r\n scheduleTypeId: facilityScheduleTypes[fg].scheduleTypeId,\r\n scheduleTypeName: scheduleTypesArray[fg].name,\r\n isExists: facilityScheduleTypes[fg].isActive,\r\n shareCode: this.fb.array([])\r\n }));\r\n const shareCodeFormArray = groupSharesFormArray.at(fg).get('shareCode') as FormArray;\r\n for (let sc = 0; sc < groupsPerShare.length; sc++) {\r\n if (groupsPerShare[sc].scheduleTypeId == facilityScheduleTypes[fg].scheduleTypeId) {\r\n shareCodeFormArray.push(this.fb.group({\r\n shareCode: [{ value: groupsPerShare[sc].groupShareFacilityId == this.practiceModel.facilityId ? this.practiceModel.facilityName : groupsPerShare[sc].groupShareFacilityId, disabled: groupsPerShare[sc].groupShareFacilityId == this.practiceModel.facilityId }],\r\n groupsPerShareId: groupsPerShare[sc].groupsPerShareId,\r\n facilityId: groupsPerShare[sc].facilityId,\r\n isActive: groupsPerShare[sc].isActive,\r\n onCall1: groupsPerShare[sc].onCall1,\r\n onCall2: groupsPerShare[sc].onCall2,\r\n onCall3: groupsPerShare[sc].onCall3,\r\n onCall4: groupsPerShare[sc].onCall4,\r\n onCall5: groupsPerShare[sc].onCall5\r\n }));\r\n }\r\n }\r\n }\r\n return groupSharesFormArray;\r\n }\r\n\r\n setScheduleTypes(facilityScheduleTypes: Array): Array {\r\n const arr: Array = [];\r\n for (var i = 0; i < facilityScheduleTypes.length; i++) {\r\n if (facilityScheduleTypes[i].isActive) {\r\n arr.push(facilityScheduleTypes[i].scheduleTypeId);\r\n }\r\n }\r\n return arr;\r\n }\r\n\r\n logValidationErrors(group: AbstractControl): void {\r\n Object.keys(group['controls']).forEach((key: string) => {\r\n const abstractControl = group.get(key);\r\n this.formErrors[key] = '';\r\n if (abstractControl && !abstractControl.valid &&\r\n (abstractControl.touched || abstractControl.dirty || abstractControl.value !== '')) {\r\n const messages = this.validationMessages[key];\r\n for (const errorKey in abstractControl.errors) {\r\n if (errorKey) {\r\n this.formErrors[key] += messages[errorKey] + ' ';\r\n }\r\n }\r\n }\r\n if (abstractControl instanceof FormGroup) {\r\n this.logValidationErrors(abstractControl);\r\n }\r\n });\r\n }\r\n\r\n onScheduleTypeChanged(event): void {\r\n const formGroups = (this.practiceForm.get('groupShares')).controls;\r\n if (event.length < formGroups.length) {\r\n if (event.length === 1) {\r\n const eventName = this.getScheduleTypeName(event[0]);\r\n const isExists = formGroups.filter(x => { return x.get('scheduleTypeId').value == event[0] && x.get('scheduleTypeName').value == eventName; }).length > 0;\r\n if (!isExists) {\r\n (this.practiceForm.get('groupShares')).push(this.addGroupShare(event[0], eventName, true, true));\r\n this.initializeShareCodeRecord();\r\n return;\r\n }\r\n }\r\n for (var i = 0; i < formGroups.length; i++) {\r\n const formControl: number = formGroups[i].get('scheduleTypeId').value;\r\n const isExistsValue: boolean = formGroups[i].get('isExists').value;\r\n\r\n const isExists = event.filter(x => { return x == formControl; }).length > 0;\r\n if (!isExists) {\r\n (this.practiceForm.get('groupShares')).at(i).patchValue({ isExists: false });\r\n const shareCodeArray = (this.practiceForm.get('groupShares')).at(i).get('shareCode') as FormArray;\r\n let lengthOfShareCodeArray = shareCodeArray.length;\r\n if (lengthOfShareCodeArray > 0 && shareCodeArray.at(lengthOfShareCodeArray - 1).get('shareCode').value == '') {\r\n shareCodeArray.removeAt(lengthOfShareCodeArray - 1);\r\n }\r\n } else if (!isExistsValue && isExists) {\r\n (this.practiceForm.get('groupShares')).at(i).patchValue({ isExists: true });\r\n const resetShareCodeAtZeroIndex = ((this.practiceForm.get('groupShares')).at(i).get('shareCode')).at(0);\r\n resetShareCodeAtZeroIndex.patchValue({ isActive: true });\r\n this.deleteNewShareCode((this.practiceForm.get('groupShares')).at(i));\r\n }\r\n }\r\n } else {\r\n for (var i = 0; i < event.length; i++) {\r\n const eventName = this.getScheduleTypeName(event[i]);\r\n const isExists = formGroups.filter(x => { return x.get('scheduleTypeId').value == event[i] && x.get('scheduleTypeName').value == eventName; }).length > 0;\r\n const flag = formGroups.filter(x => { return x.get('scheduleTypeId').value == event[i] && x.get('scheduleTypeName').value == eventName && x.get('isExists').value == false; }).length > 0;\r\n if (!isExists) {\r\n (this.practiceForm.get('groupShares')).push(this.addGroupShare(event[i], eventName, true, true));\r\n this.initializeShareCodeRecord();\r\n } else if (isExists && flag) {\r\n for (var j = 0; j < formGroups.length; j++) {\r\n const val: number = formGroups[j].get('scheduleTypeId').value;\r\n if (val == event[i]) {\r\n (this.practiceForm.get('groupShares')).at(j).patchValue({ isExists: true });\r\n const resetShareCodeAtZeroIndex = ((this.practiceForm.get('groupShares')).at(j).get('shareCode')).at(0);\r\n resetShareCodeAtZeroIndex.patchValue({ isActive: true });\r\n this.deleteNewShareCode((this.practiceForm.get('groupShares')).at(j));\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n deleteNewShareCode(formGroup: AbstractControl) {\r\n const newShareCode = (formGroup.get('shareCode'));\r\n if (newShareCode.length === 0) {\r\n newShareCode.push(this.addGroupShareFormGroup());\r\n }\r\n }\r\n\r\n getScheduleTypeName(scheduleTypeId: number): string {\r\n const scheduleTypeOptions = this.scheduleTypeOptions;\r\n for (var i = 0; i < scheduleTypeOptions.length; i++) {\r\n if (scheduleTypeOptions[i].id === scheduleTypeId) {\r\n return scheduleTypeOptions[i].name;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n isStandardScheduleType(isStandard: FormGroup): boolean {\r\n return isStandard.get('scheduleTypeName').value == 'Standard' && isStandard.get('isExists').value == true;\r\n }\r\n\r\n isNephrologyScheduleType(isNephrology: FormGroup) {\r\n return isNephrology.get('scheduleTypeName').value == 'Nephrology' && isNephrology.get('isExists').value == true;\r\n }\r\n\r\n isPulmonaryScheduleType(isPulmonary: FormGroup): boolean {\r\n return isPulmonary.get('scheduleTypeName').value == 'Pulmonary' && isPulmonary.get('isExists').value == true;\r\n }\r\n\r\n isNPAndPAScheduleType(isNPAndPA: FormGroup): boolean {\r\n return isNPAndPA.get('scheduleTypeName').value == 'NP And PA' && isNPAndPA.get('isExists').value == true;\r\n }\r\n\r\n isMoreThanZero(groupsPerShare: FormGroup): boolean {\r\n return (groupsPerShare.get('shareCode')).length > 0;\r\n }\r\n\r\n get getOutsideLMS(): boolean {\r\n return this.practiceForm.get('basicInfo.outsideLMS').value;\r\n }\r\n\r\n get isFieldValidForOutsideLMS(): boolean {\r\n return this.practiceForm.get('basicInfo').valid && this.practiceForm.get('address').valid;\r\n }\r\n\r\n initializeShareCodeRecord(): void {\r\n const practiceName = this.practiceForm.get('basicInfo.practiceName').value;\r\n if (practiceName) {\r\n const groupShares = this.practiceForm.get('groupShares') as FormArray;\r\n\r\n for (var i = 0; i < groupShares.length; i++) {\r\n const shareCode = groupShares.at(i).get('shareCode') as FormArray;\r\n\r\n if (shareCode.length > 0) {\r\n const shareCodeFirstControl = shareCode.at(0).get('shareCode');\r\n shareCodeFirstControl.patchValue(practiceName, { onlySelf: true });\r\n }\r\n }\r\n }\r\n }\r\n\r\n addGroupShareOnClick(groupsPerShare: FormGroup): void {\r\n (groupsPerShare.get('shareCode')).push(this.addGroupShareFormGroup());\r\n }\r\n\r\n addGroupShare(id: number, name: string, flag: boolean = true, isFirst: boolean): FormGroup {\r\n return this.fb.group({\r\n scheduleTypeId: [id],\r\n scheduleTypeName: [name],\r\n isExists: [flag],\r\n shareCode: this.fb.array([this.addGroupShareFormGroup(isFirst)])\r\n });\r\n }\r\n\r\n addGroupShareFormGroup(isFirst: boolean = false): FormGroup {\r\n return this.fb.group({\r\n shareCode: [{ value: '', disabled: isFirst }, Validators.required],\r\n groupsPerShareId: [0],\r\n facilityId: [0],\r\n isActive: [true],\r\n onCall1: [null],\r\n onCall2: [null],\r\n onCall3: [null],\r\n onCall4: [null],\r\n onCall5: [null]\r\n });\r\n }\r\n\r\n showDeleteConfirm(groupsPerShare: FormGroup, index: number): void {\r\n this.suiModalService\r\n .open(new ConfirmModal(\"Are you sure?\", \"Are you sure about deleting the Group Per Share?\"))\r\n .onApprove(() => this.removeShareCodeOnClick(groupsPerShare, index))\r\n .onDeny(() => {\r\n });\r\n }\r\n\r\n removeShareCodeOnClick(groupsPerShare: FormGroup, index: number): void {\r\n const id = groupsPerShare.get('scheduleTypeId').value;\r\n const numberOfShareCodes = (groupsPerShare.get('shareCode')).length;\r\n\r\n if (!this.isUpdate) {\r\n (groupsPerShare.get('shareCode')).removeAt(index);\r\n } else {\r\n const numberOfShareCodesFromModel = this.practiceModel.groupsPerShares.filter(x => { return x.scheduleTypeId == id; }).length;\r\n if ((numberOfShareCodesFromModel < numberOfShareCodes && (index + 1) > numberOfShareCodesFromModel)) {\r\n (groupsPerShare.get('shareCode')).removeAt(index);\r\n } else {\r\n (groupsPerShare.get('shareCode')).at(index).patchValue({ isActive: false });\r\n }\r\n }\r\n }\r\n\r\n getShareCodeIsActive(groupsPerShare: FormGroup, index: number): boolean {\r\n return (groupsPerShare.get('shareCode')).at(index).value.isActive;\r\n }\r\n\r\n resetForm() {\r\n this.practiceForm.reset();\r\n }\r\n\r\n goBack() {\r\n this.router.navigate(['managepractice']);\r\n }\r\n\r\n onSubmit() {\r\n if (this.practiceModel.facilityId) {\r\n this.mapFormValuesToPracticeModelForUpdate();\r\n var lkUpdatePractice = \"updatePractice\";\r\n this.setLoading(lkUpdatePractice, true);\r\n this.practiceService.updatePractice(this.practiceModel).subscribe(\r\n () => {\r\n this.setLoading(lkUpdatePractice, false);\r\n this.router.navigate(['managepractice', 'updated']);\r\n },\r\n (error: any) => {\r\n this.setLoading(lkUpdatePractice, false);\r\n }\r\n );\r\n } else {\r\n this.mapFormValuesToPracticeModelForCreate();\r\n var lkCreatePractice = \"createPractice\";\r\n this.setLoading(lkCreatePractice, true);\r\n this.practiceService.savePractice(this.practiceModel).subscribe(\r\n () => {\r\n this.setLoading(lkCreatePractice, false);\r\n this.router.navigate(['managepractice', 'created']);\r\n },\r\n (error: any) => {\r\n this.setLoading(lkCreatePractice, false);\r\n }\r\n );\r\n }\r\n }\r\n\r\n mapFormValuesToPracticeModelForCreate(): void {\r\n //Basic Info, Address, and Phone\r\n this.updateBasicInfoAddressAndPhone();\r\n const isOutSideLMS = this.practiceForm.get('basicInfo.outsideLMS').value;\r\n // Will be executed only if the practice is not outside LMS \r\n if (isOutSideLMS) {\r\n this.practiceModel.createShareGroupInFM = false;\r\n this.practiceModel.showInSchedulePage = false;\r\n this.practiceModel.shareCode = null;\r\n } else {\r\n //Schedule Section\r\n this.updateSchedules();\r\n //Schedule Types\r\n this.insertScheduleTypes();\r\n //Group Shares\r\n this.updateGroupSharesForNewPractice();\r\n }\r\n }\r\n\r\n mapFormValuesToPracticeModelForUpdate(): void {\r\n const isOutsideLMS = this.practiceForm.get('basicInfo.outsideLMS').value;\r\n if (this.practiceModel.outsideLMS === isOutsideLMS && !isOutsideLMS) {\r\n this.updateSchedules();\r\n this.updateScheduleTypes();\r\n this.updateGroupShares();\r\n } else if (this.practiceModel.outsideLMS !== isOutsideLMS) {\r\n if (isOutsideLMS) {\r\n this.practiceModel.createShareGroupInFM = false;\r\n this.practiceModel.showInSchedulePage = false;\r\n this.practiceModel.shareCode.isActive = false;\r\n for (var i = 0; i < this.practiceModel.groupsPerShares.length; i++) {\r\n if (this.practiceModel.groupsPerShares[i].groupShareFacilityId != this.practiceModel.groupsPerShares[i].facilityId) {\r\n this.practiceModel.groupsPerShares[i].createShareGroupInFM = false;\r\n } \r\n this.practiceModel.groupsPerShares[i].isActive = false;\r\n }\r\n for (var i = 0; i < this.practiceModel.facilityScheduleTypes.length; i++) {\r\n this.practiceModel.facilityScheduleTypes[i].isActive = false;\r\n }\r\n this.updateSchedulesAsNull();\r\n } else {\r\n if (!this.practiceModel.shareCode) {\r\n this.practiceModel.shareCode = {\r\n shareCodeId: 0,\r\n weekdayBegin: new Date().toString(),\r\n weekdayEnd: new Date().toString(),\r\n weekendBegin: new Date().toString(),\r\n weekendEnd: new Date().toString(),\r\n facilityId: this.practiceModel.facilityId,\r\n isActive: true,\r\n modifiedOn: null,\r\n modifiedBy: ''\r\n };\r\n } else {\r\n this.practiceModel.shareCode.isActive = true;\r\n }\r\n this.updateSchedules();\r\n this.insertScheduleTypes();\r\n this.updateGroupSharesForNewPractice();\r\n }\r\n }\r\n //Basic Info, Address, and Phone\r\n this.updateBasicInfoAddressAndPhone();\r\n }\r\n\r\n updateSchedulesAsNull(): void {\r\n //All Days Begin \r\n this.practiceModel.mondayBegin = null;\r\n this.practiceModel.tuesdayBegin = null;\r\n this.practiceModel.wednesdayBegin = null;\r\n this.practiceModel.thursdayBegin = null;\r\n this.practiceModel.fridayBegin = null;\r\n this.practiceModel.saturdayBegin = null;\r\n this.practiceModel.sundayBegin = null;\r\n //All Days End\r\n this.practiceModel.mondayEnd = null;\r\n this.practiceModel.tuesdayEnd = null;\r\n this.practiceModel.wednesdayEnd = null;\r\n this.practiceModel.thursdayEnd = null;\r\n this.practiceModel.fridayEnd = null;\r\n this.practiceModel.saturdayEnd = null;\r\n this.practiceModel.sundayEnd = null;\r\n //All Days Lunch Begin\r\n this.practiceModel.mondayLunchBegin = null;\r\n this.practiceModel.tuesdayLunchBegin = null;\r\n this.practiceModel.wednesdayLunchBegin = null;\r\n this.practiceModel.thursdayLunchBegin = null;\r\n this.practiceModel.fridayLunchBegin = null;\r\n this.practiceModel.saturdayLunchBegin = null;\r\n this.practiceModel.sundayLunchBegin = null;\r\n //All Days Lunch End\r\n this.practiceModel.mondayLunchEnd = null;\r\n this.practiceModel.tuesdayLunchEnd = null;\r\n this.practiceModel.wednesdayLunchEnd = null;\r\n this.practiceModel.thursdayLunchEnd = null;\r\n this.practiceModel.fridayLunchEnd = null;\r\n this.practiceModel.saturdayLunchEnd = null;\r\n this.practiceModel.sundayLunchEnd = null;\r\n }\r\n\r\n updateGroupSharesForNewPractice() {\r\n const groupSharesLength = (this.practiceForm.get('groupShares')).length;\r\n const groupShares = (this.practiceForm.get('groupShares'));\r\n\r\n for (var i = 0; i < groupSharesLength; i++) {\r\n const formGroup = groupShares.at(i);\r\n const isValid = groupShares.at(i).get('isExists').value;\r\n if (isValid) {\r\n const shareCodes = (formGroup.get('shareCode'));\r\n const scheduleTypeId = formGroup.get('scheduleTypeId').value;\r\n this.insertShareCodes(shareCodes, scheduleTypeId);\r\n }\r\n }\r\n }\r\n\r\n insertShareCodes(shareCode: FormArray, scheduleTypeId: number) {\r\n const shareCodeLength = shareCode.length;\r\n for (var i = 0; i < shareCodeLength; i++) {\r\n //const facilityId = shareCode.at(i).get('facilityId').value;\r\n this.groupsPerShareModel = {\r\n groupsPerShareId: 0,\r\n description: '',\r\n onCall1: shareCode.at(i).get('onCall1').value,\r\n onCall2: shareCode.at(i).get('onCall2').value,\r\n onCall3: shareCode.at(i).get('onCall3').value,\r\n onCall4: shareCode.at(i).get('onCall4').value,\r\n onCall5: shareCode.at(i).get('onCall5').value,\r\n groupShareFacilityId: this.isUpdate ? (i > 0 ? shareCode.at(i).get('shareCode').value : this.practiceModel.facilityId) : (i > 0 ? shareCode.at(i).get('shareCode').value : 0),\r\n facilityId: this.practiceModel.facilityId,\r\n scheduleTypeId: scheduleTypeId,\r\n isActive: shareCode.at(i).get('isActive').value,\r\n modifiedBy: '',\r\n modifiedOn: null,\r\n createShareGroupInFM: (i > 0) ? this.practiceForm.get('schedule.createShareGroupInFM').value : true\r\n };\r\n this.practiceModel.groupsPerShares.push(this.groupsPerShareModel);\r\n }\r\n }\r\n\r\n insertScheduleTypes(): void {\r\n const scheduleTypes = this.practiceForm.get('schedule.scheduleType').value;\r\n for (var i = 0; i < scheduleTypes.length; i++) {\r\n this.practiceModel.facilityScheduleTypes.push({\r\n facilityScheduleTypeId: 0,\r\n facilityId: this.practiceModel.facilityId,\r\n scheduleTypeId: scheduleTypes[i],\r\n isActive: true,\r\n modifiedOn: null,\r\n modifiedBy: null\r\n });\r\n }\r\n }\r\n\r\n updateGroupShares() {\r\n const groupSharesLength = (this.practiceForm.get('groupShares')).length;\r\n const groupShares = (this.practiceForm.get('groupShares'));\r\n for (var i = 0; i < groupSharesLength; i++) {\r\n const formGroup = groupShares.at(i);\r\n const shareCodes = (formGroup.get('shareCode'));\r\n const scheduleTypeId = formGroup.get('scheduleTypeId').value;\r\n if (!formGroup.get('isExists').value) {\r\n this.updateShareCodesForFalseScheduleType(shareCodes, scheduleTypeId, false);\r\n } else {\r\n this.updateShareCodeForTrueScheduleType(shareCodes, scheduleTypeId);\r\n }\r\n }\r\n }\r\n\r\n updateShareCodesForFalseScheduleType(shareCode: FormArray, scheduleTypeId: number, isActive: boolean) {\r\n const shareCodeLength = shareCode.length;\r\n for (var i = 0; i < shareCodeLength; i++) {\r\n const groupsPerShareId = shareCode.at(i).get('groupsPerShareId').value;\r\n for (var j = 0; j < this.practiceModel.groupsPerShares.length; j++) {\r\n if (this.practiceModel.groupsPerShares[j].groupsPerShareId === groupsPerShareId) {\r\n this.practiceModel.groupsPerShares[j].isActive = isActive;\r\n if (this.practiceModel.groupsPerShares[j].groupShareFacilityId != this.practiceModel.groupsPerShares[j].facilityId) {\r\n this.practiceModel.groupsPerShares[j].createShareGroupInFM = this.practiceModel.createShareGroupInFM;\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n updateShareCodeForTrueScheduleType(shareCode: FormArray, scheduleTypeId: number) {\r\n const shareCodeLength = shareCode.length;\r\n for (var i = 0; i < shareCodeLength; i++) {\r\n const groupsPerShareId = shareCode.at(i).get('groupsPerShareId').value;\r\n const facilityId = shareCode.at(i).get('facilityId').value;\r\n\r\n this.groupsPerShareModel = {\r\n groupsPerShareId: groupsPerShareId,\r\n description: '',\r\n onCall1: shareCode.at(i).get('onCall1').value,\r\n onCall2: shareCode.at(i).get('onCall2').value,\r\n onCall3: shareCode.at(i).get('onCall3').value,\r\n onCall4: shareCode.at(i).get('onCall4').value,\r\n onCall5: shareCode.at(i).get('onCall5').value,\r\n groupShareFacilityId: i === 0 ? this.practiceModel.facilityId : shareCode.at(i).get('shareCode').value,\r\n facilityId: this.practiceModel.facilityId,\r\n scheduleTypeId: scheduleTypeId,\r\n isActive: shareCode.at(i).get('isActive').value,\r\n modifiedBy: '',\r\n modifiedOn: null,\r\n createShareGroupInFM: (i == 0) ? true : this.practiceForm.get('schedule.createShareGroupInFM').value\r\n };\r\n\r\n if (groupsPerShareId === 0 && facilityId === 0) {\r\n if (this.groupsPerShareModel) {\r\n this.practiceModel.groupsPerShares.push(this.groupsPerShareModel);\r\n }\r\n } else {\r\n for (var j = 0; j < this.practiceModel.groupsPerShares.length; j++) {\r\n if (this.practiceModel.groupsPerShares[j].groupsPerShareId === groupsPerShareId) {\r\n this.practiceModel.groupsPerShares[j].facilityId = this.groupsPerShareModel.facilityId;\r\n this.practiceModel.groupsPerShares[j].groupShareFacilityId = this.groupsPerShareModel.groupShareFacilityId;\r\n this.practiceModel.groupsPerShares[j].groupsPerShareId = this.groupsPerShareModel.groupsPerShareId;\r\n this.practiceModel.groupsPerShares[j].onCall1 = this.groupsPerShareModel.onCall1;\r\n this.practiceModel.groupsPerShares[j].onCall2 = this.groupsPerShareModel.onCall2;\r\n this.practiceModel.groupsPerShares[j].onCall3 = this.groupsPerShareModel.onCall3;\r\n this.practiceModel.groupsPerShares[j].onCall4 = this.groupsPerShareModel.onCall4;\r\n this.practiceModel.groupsPerShares[j].onCall5 = this.groupsPerShareModel.onCall5;\r\n this.practiceModel.groupsPerShares[j].isActive = this.groupsPerShareModel.isActive;\r\n this.practiceModel.groupsPerShares[j].scheduleTypeId = scheduleTypeId;\r\n this.practiceModel.groupsPerShares[j].createShareGroupInFM = (this.practiceModel.groupsPerShares[j].facilityId != this.practiceModel.groupsPerShares[j].groupShareFacilityId) ? this.practiceModel.createShareGroupInFM : true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n updateBasicInfoAddressAndPhone() {\r\n ////Basic Info Section Values\r\n this.practiceModel.facilityName = this.practiceForm.get('basicInfo').value.practiceName;\r\n this.practiceModel.managerName = this.practiceForm.get('basicInfo.managerName').value;\r\n this.practiceModel.email = this.practiceForm.get('basicInfo.email').value;\r\n this.practiceModel.outsideLMS = this.practiceForm.get('basicInfo.outsideLMS').value;\r\n this.practiceModel.gpsBillingNumber = this.practiceForm.get('basicInfo.gpsBillingNumber').value;\r\n //Address Section Values\r\n this.practiceModel.address1 = this.practiceForm.get('address.address1').value;\r\n this.practiceModel.address2 = this.practiceForm.get('address.address2').value;\r\n this.practiceModel.city = this.practiceForm.get('address.city').value;\r\n this.practiceModel.state = this.practiceForm.get('address.state').value;\r\n this.practiceModel.zipcode = this.practiceForm.get('address.zipcode').value;\r\n //Phone Numbers Section\r\n const phone = this.practiceForm.get('phoneNumbers.phone').value;\r\n const faxNumber = this.practiceForm.get('phoneNumbers.fax').value;\r\n const unlistedPhone_1 = this.practiceForm.get('phoneNumbers.unlistedPhone1').value;\r\n const unlistedPhone_2 = this.practiceForm.get('phoneNumbers.unlistedPhone2').value;\r\n\r\n this.practiceModel.phone = phone ? phone.match(/[0-9]+/g).join('') : phone;\r\n this.practiceModel.fax = faxNumber ? faxNumber.match(/[0-9]+/g).join('') : faxNumber;\r\n this.practiceModel.unlistedPhone1 = unlistedPhone_1 ? unlistedPhone_1.match(/[0-9]+/g).join('') : unlistedPhone_1;\r\n this.practiceModel.unlistedPhone2 = unlistedPhone_2 ? unlistedPhone_2.match(/[0-9]+/g).join('') : unlistedPhone_2;\r\n }\r\n\r\n updateSchedules(): void {\r\n const practiceSchedulesBegin = (this.practiceForm.get('schedule.practiceScheduleBegin'));\r\n const practiceSchedulesEnd = (this.practiceForm.get('schedule.practiceScheduleEnd'));\r\n const practiceSchedulesLunchBegin = (this.practiceForm.get('schedule.practiceScheduleLunchBegin'));\r\n const practiceSchedulesLunchEnd = (this.practiceForm.get('schedule.practiceScheduleLunchEnd'));\r\n const scheduleType = this.practiceForm.get('schedule');\r\n //All Days Begin \r\n this.practiceModel.mondayBegin = this.compareTimeInputs1(this.practiceModel.mondayBegin, practiceSchedulesBegin.get('mondayBegin').value);\r\n this.practiceModel.tuesdayBegin = this.compareTimeInputs1(this.practiceModel.tuesdayBegin, practiceSchedulesBegin.get('tuesdayBegin').value);\r\n this.practiceModel.wednesdayBegin = this.compareTimeInputs1(this.practiceModel.wednesdayBegin, practiceSchedulesBegin.get('wednesdayBegin').value);\r\n this.practiceModel.thursdayBegin = this.compareTimeInputs1(this.practiceModel.thursdayBegin, practiceSchedulesBegin.get('thursdayBegin').value);\r\n this.practiceModel.fridayBegin = this.compareTimeInputs1(this.practiceModel.fridayBegin, practiceSchedulesBegin.get('fridayBegin').value);\r\n this.practiceModel.saturdayBegin = this.compareTimeInputs1(this.practiceModel.saturdayBegin, practiceSchedulesBegin.get('saturdayBegin').value);\r\n this.practiceModel.sundayBegin = this.compareTimeInputs1(this.practiceModel.sundayBegin, practiceSchedulesBegin.get('sundayBegin').value);\r\n //All Days End\r\n this.practiceModel.mondayEnd = this.compareTimeInputs1(this.practiceModel.mondayEnd, practiceSchedulesEnd.get('mondayEnd').value);\r\n this.practiceModel.tuesdayEnd = this.compareTimeInputs1(this.practiceModel.tuesdayEnd, practiceSchedulesEnd.get('tuesdayEnd').value);\r\n this.practiceModel.wednesdayEnd = this.compareTimeInputs1(this.practiceModel.wednesdayEnd, practiceSchedulesEnd.get('wednesdayEnd').value);\r\n this.practiceModel.thursdayEnd = this.compareTimeInputs1(this.practiceModel.thursdayEnd, practiceSchedulesEnd.get('thursdayEnd').value);\r\n this.practiceModel.fridayEnd = this.compareTimeInputs1(this.practiceModel.fridayEnd, practiceSchedulesEnd.get('fridayEnd').value);\r\n this.practiceModel.saturdayEnd = this.compareTimeInputs1(this.practiceModel.saturdayEnd, practiceSchedulesEnd.get('saturdayEnd').value);\r\n this.practiceModel.sundayEnd = this.compareTimeInputs1(this.practiceModel.sundayEnd, practiceSchedulesEnd.get('sundayEnd').value);\r\n //All Days Lunch Begin \r\n this.practiceModel.mondayLunchBegin = this.compareTimeInputs1(this.practiceModel.mondayLunchBegin, practiceSchedulesLunchBegin.get('mondayLunchBegin').value);\r\n this.practiceModel.tuesdayLunchBegin = this.compareTimeInputs1(this.practiceModel.tuesdayLunchBegin, practiceSchedulesLunchBegin.get('tuesdayLunchBegin').value);\r\n this.practiceModel.wednesdayLunchBegin = this.compareTimeInputs1(this.practiceModel.wednesdayLunchBegin, practiceSchedulesLunchBegin.get('wednesdayLunchBegin').value);\r\n this.practiceModel.thursdayLunchBegin = this.compareTimeInputs1(this.practiceModel.thursdayLunchBegin, practiceSchedulesLunchBegin.get('thursdayLunchBegin').value);\r\n this.practiceModel.fridayLunchBegin = this.compareTimeInputs1(this.practiceModel.fridayLunchBegin, practiceSchedulesLunchBegin.get('fridayLunchBegin').value);\r\n this.practiceModel.saturdayLunchBegin = this.compareTimeInputs1(this.practiceModel.saturdayLunchBegin, practiceSchedulesLunchBegin.get('saturdayLunchBegin').value);\r\n this.practiceModel.sundayLunchBegin = this.compareTimeInputs1(this.practiceModel.sundayLunchBegin, practiceSchedulesLunchBegin.get('sundayLunchBegin').value);\r\n //All Days Lunch End\r\n this.practiceModel.mondayLunchEnd = this.compareTimeInputs1(this.practiceModel.mondayLunchEnd, practiceSchedulesLunchEnd.get('mondayLunchEnd').value);\r\n this.practiceModel.tuesdayLunchEnd = this.compareTimeInputs1(this.practiceModel.tuesdayLunchEnd, practiceSchedulesLunchEnd.get('tuesdayLunchEnd').value);\r\n this.practiceModel.wednesdayLunchEnd = this.compareTimeInputs1(this.practiceModel.wednesdayLunchEnd, practiceSchedulesLunchEnd.get('wednesdayLunchEnd').value);\r\n this.practiceModel.thursdayLunchEnd = this.compareTimeInputs1(this.practiceModel.thursdayLunchEnd, practiceSchedulesLunchEnd.get('thursdayLunchEnd').value);\r\n this.practiceModel.fridayLunchEnd = this.compareTimeInputs1(this.practiceModel.fridayLunchEnd, practiceSchedulesLunchEnd.get('fridayLunchEnd').value);\r\n this.practiceModel.saturdayLunchEnd = this.compareTimeInputs1(this.practiceModel.saturdayLunchEnd, practiceSchedulesLunchEnd.get('saturdayLunchEnd').value);\r\n this.practiceModel.sundayLunchEnd = this.compareTimeInputs1(this.practiceModel.sundayLunchEnd, practiceSchedulesLunchEnd.get('sundayLunchEnd').value);\r\n //Weekday and Weekend Schedule\r\n this.practiceModel.shareCode.weekdayBegin = this.compareTimeInputs1(this.practiceModel.shareCode.weekdayBegin, scheduleType.get('weekDayBegin').value);\r\n this.practiceModel.shareCode.weekdayEnd = this.compareTimeInputs1(this.practiceModel.shareCode.weekdayEnd, scheduleType.get('weekDayEnd').value);\r\n this.practiceModel.shareCode.weekendBegin = this.compareTimeInputs1(this.practiceModel.shareCode.weekendBegin, scheduleType.get('weekendBegin').value);\r\n this.practiceModel.shareCode.weekendEnd = this.compareTimeInputs1(this.practiceModel.shareCode.weekendEnd, scheduleType.get('weekendEnd').value);\r\n //Create Share Group In Filemaker\r\n this.practiceModel.createShareGroupInFM = this.practiceForm.get('schedule.createShareGroupInFM').value;\r\n this.practiceModel.showInSchedulePage = this.practiceForm.get('schedule.showInSchedulePage').value;\r\n }\r\n\r\n //compareTimeInputs(modelTime: Date, controlTime: Date): Date {\r\n // let modelDate = null;\r\n // let controlDate = null;\r\n // if (modelTime) {\r\n // modelDate = modelTime.toString();\r\n // }\r\n\r\n // if (controlTime) {\r\n // controlDate = controlTime.toString();\r\n // }\r\n\r\n // if (modelDate !== controlDate) {\r\n // if (controlDate === \"\" || controlDate === null) {\r\n // return null;\r\n // } else {\r\n // //let returnControlDate = this.changeTimezone(controlDate, \"America/New_York\");\r\n // //returnControlDate.setHours(returnControlDate.getHours() - 5);\r\n // //return new Date(returnControlDate.toUTCString());\r\n // return new Date(controlDate);\r\n // }\r\n // } else {\r\n // if (modelDate === \"\" || modelDate === null) {\r\n // return null;\r\n // } else {\r\n // //let returnModelDate = this.changeTimezone(controlDate, \"America/New_York\");\r\n // //returnModelDate.setHours(returnModelDate.getHours() - 5);\r\n // //return new Date(returnModelDate.toUTCString());\r\n // return new Date(controlDate);\r\n // }\r\n // } \r\n //}\r\n\r\n compareTimeInputs1(modelTime: string, controlTime: Date): string {\r\n let modelDate = null;\r\n let controlDate = null;\r\n if (modelTime) {\r\n modelDate = modelTime;\r\n }\r\n\r\n if (controlTime) {\r\n controlDate = this.convertToString(controlTime);\r\n }\r\n\r\n if (modelDate !== controlDate) {\r\n if (controlDate === \"\" || controlDate === null) {\r\n return null;\r\n } else {\r\n return controlDate;\r\n }\r\n } else {\r\n if (modelDate === \"\" || modelDate === null) {\r\n return null;\r\n } else {\r\n return controlDate;\r\n }\r\n }\r\n }\r\n\r\n convertToString(date: Date): string {\r\n var day = date.getDate(); // yields date\r\n var month = date.getMonth() + 1; // yields month (add one as '.getMonth()' is zero indexed)\r\n var year = date.getFullYear(); // yields year\r\n var hour = date.getHours(); // yields hours \r\n var minute = date.getMinutes(); // yields minutes\r\n var second = date.getSeconds(); // yields seconds\r\n\r\n // After this construct a string with the above results as below\r\n var dateString = month + '/' + day + '/' + year + ' ' + (hour > 0 ? hour : '00') + ':' + (minute > 0 ? minute : '00') + ':' + (second > 0 ? second : '00');\r\n return dateString;\r\n }\r\n\r\n changeTimezone(date: Date, ianatz: string): Date {\r\n // suppose the date is 12:00 UTC\r\n var invdate = new Date(date.toLocaleString('en-US', {\r\n timeZone: ianatz\r\n }));\r\n\r\n // then invdate will be 07:00 in Toronto\r\n // and the diff is 5 hours\r\n var diff = date.getTime() - invdate.getTime();\r\n\r\n // so 12:00 in Toronto is 17:00 UTC\r\n return new Date(date.getTime() + diff);\r\n\r\n }\r\n\r\n updateScheduleTypes(): void {\r\n const scheduleTypes = this.practiceForm.get('schedule.scheduleType').value;\r\n for (var i = 0; i < this.scheduleTypeOptions.length; i++) {\r\n var isExistsInModel = false;\r\n var isExistsInForm = false;\r\n var index;\r\n var scheduleTypeIndex;\r\n for (var j = 0; j < this.practiceModel.facilityScheduleTypes.length; j++) {\r\n if (this.practiceModel.facilityScheduleTypes[j].scheduleTypeId === this.scheduleTypeOptions[i].id) {\r\n isExistsInModel = true;\r\n index = j;\r\n break;\r\n }\r\n }\r\n for (var k = 0; k < scheduleTypes.length; k++) {\r\n if (scheduleTypes[k] === this.scheduleTypeOptions[i].id) {\r\n isExistsInForm = true;\r\n scheduleTypeIndex = scheduleTypes[k];\r\n break;\r\n }\r\n }\r\n if (isExistsInModel && !isExistsInForm) {\r\n this.practiceModel.facilityScheduleTypes[index].isActive = false;\r\n } else if (!isExistsInModel && isExistsInForm) {\r\n this.practiceModel.facilityScheduleTypes.push({\r\n facilityScheduleTypeId: 0,\r\n facilityId: this.practiceModel.facilityId,\r\n scheduleTypeId: scheduleTypeIndex,\r\n isActive: true,\r\n modifiedOn: null,\r\n modifiedBy: null\r\n });\r\n } else if (isExistsInModel && isExistsInForm) {\r\n if (this.practiceModel.facilityScheduleTypes[index].isActive == false) {\r\n this.practiceModel.facilityScheduleTypes[index].isActive = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n onOutsideLMSChange(event: boolean): void {\r\n const outsideLMSControl = this.practiceForm.get('basicInfo.gpsBillingNumber');\r\n if (event) {\r\n outsideLMSControl.clearValidators();\r\n outsideLMSControl.setValidators(Validators.maxLength(150));\r\n } else {\r\n outsideLMSControl.setValidators([Validators.required, Validators.maxLength(150)]);\r\n }\r\n outsideLMSControl.updateValueAndValidity();\r\n\r\n this.practiceForm.get('schedule').patchValue({\r\n showInSchedulePage: (this.practiceModel.facilityId > 0) ? this.practiceModel.showInSchedulePage : true\r\n });\r\n }\r\n\r\n checkPracticeScheduleDate(event: any, day: string): void {\r\n const eventValue: string = event.target.value;\r\n const formControl = this.getFormControlForPracticeSchedule(day);\r\n if (formControl) {\r\n const controlValue = formControl.value;\r\n if (eventValue === '' || controlValue) {\r\n formControl.clearValidators();\r\n } else {\r\n formControl.setValidators(isValidDate);\r\n }\r\n formControl.updateValueAndValidity();\r\n }\r\n }\r\n\r\n checkSharedScheduleDate(event: any, day: string): void {\r\n const eventValue: string = event.target.value;\r\n const formControl = this.getFormControlForShareCodeSchedule(day);\r\n if (formControl) {\r\n const controlValue = formControl.value;\r\n formControl.clearValidators();\r\n if (eventValue === '') {\r\n formControl.setValidators(Validators.required);\r\n } else if (!controlValue) {\r\n formControl.setValidators(isValidDate);\r\n }\r\n formControl.updateValueAndValidity();\r\n }\r\n }\r\n\r\n getFormControlForShareCodeSchedule(day: string): FormControl {\r\n var formControlShareCodeSchedule = null;\r\n switch (day) {\r\n case 'weekdaybegin': {\r\n formControlShareCodeSchedule = this.practiceForm.get('schedule.weekDayBegin');\r\n break;\r\n }\r\n case 'weekdayend': {\r\n formControlShareCodeSchedule = this.practiceForm.get('schedule.weekDayEnd');\r\n break;\r\n }\r\n case 'weekendbegin': {\r\n formControlShareCodeSchedule = this.practiceForm.get('schedule.weekendBegin');\r\n break;\r\n }\r\n case 'weekendend': {\r\n formControlShareCodeSchedule = this.practiceForm.get('schedule.weekendEnd');\r\n break;\r\n }\r\n default: {\r\n formControlShareCodeSchedule = null;\r\n break;\r\n }\r\n }\r\n return formControlShareCodeSchedule;\r\n }\r\n\r\n getFormControlForPracticeSchedule(day: string): FormControl {\r\n var formControlPracticeSchedule = null;\r\n switch (day) {\r\n case 'mondaybegin': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleBegin.mondayBegin');\r\n break;\r\n }\r\n case 'tuesdaybegin': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleBegin.tuesdayBegin');\r\n break;\r\n }\r\n case 'wednesdaybegin': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleBegin.wednesdayBegin');\r\n break;\r\n }\r\n case 'thursdaybegin': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleBegin.thursdayBegin');\r\n break;\r\n }\r\n case 'fridaybegin': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleBegin.fridayBegin');\r\n break;\r\n }\r\n case 'saturdaybegin': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleBegin.saturdayBegin');\r\n break;\r\n }\r\n case 'sundaybegin': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleBegin.sundayBegin');\r\n break;\r\n }\r\n case 'mondayend': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleEnd.mondayEnd');\r\n break;\r\n }\r\n case 'tuesdayend': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleEnd.tuesdayEnd');\r\n break;\r\n }\r\n case 'wednesdayend': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleEnd.wednesdayEnd');\r\n break;\r\n }\r\n case 'thursdayend': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleEnd.thursdayEnd');\r\n break;\r\n }\r\n case 'fridayend': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleEnd.fridayEnd');\r\n break;\r\n }\r\n case 'saturdayend': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleEnd.saturdayEnd');\r\n break;\r\n }\r\n case 'sundayend': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleEnd.sundayEnd');\r\n break;\r\n }\r\n case 'mondaylunchbegin': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleLunchBegin.mondayLunchBegin');\r\n break;\r\n }\r\n case 'tuesdaylunchbegin': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleLunchBegin.tuesdayLunchBegin');\r\n break;\r\n }\r\n case 'wednesdaylunchbegin': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleLunchBegin.wednesdayLunchBegin');\r\n break;\r\n }\r\n case 'thursdaylunchbegin': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleLunchBegin.thursdayLunchBegin');\r\n break;\r\n }\r\n case 'fridaylunchbegin': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleLunchBegin.fridayLunchBegin');\r\n break;\r\n }\r\n case 'saturdaylunchbegin': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleLunchBegin.saturdayLunchBegin');\r\n break;\r\n }\r\n case 'sundaylunchbegin': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleLunchBegin.sundayLunchBegin');\r\n break;\r\n }\r\n case 'mondaylunchend': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleLunchEnd.mondayLunchEnd');\r\n break;\r\n }\r\n case 'tuesdaylunchend': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleLunchEnd.tuesdayLunchEnd');\r\n break;\r\n }\r\n case 'wednesdaylunchend': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleLunchEnd.wednesdayLunchEnd');\r\n break;\r\n }\r\n case 'thursdaylunchend': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleLunchEnd.thursdayLunchEnd');\r\n break;\r\n }\r\n case 'fridaylunchend': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleLunchEnd.fridayLunchEnd');\r\n break;\r\n }\r\n case 'saturdaylunchend': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleLunchEnd.saturdayLunchEnd');\r\n break;\r\n }\r\n case 'sundaylunchend': {\r\n formControlPracticeSchedule = this.practiceForm.get('schedule.practiceScheduleLunchEnd.sundayLunchEnd');\r\n break;\r\n }\r\n default: {\r\n formControlPracticeSchedule = null;\r\n break;\r\n }\r\n }\r\n return formControlPracticeSchedule;\r\n }\r\n}\r\n\r\nfunction isValidDate(control: AbstractControl): { [key: string]: any } | null {\r\n const formControl = control.value;\r\n if (formControl) {\r\n return null;\r\n } else {\r\n return { 'dateInValid': true };\r\n }\r\n}\r\n","module.exports = \"input.ng-invalid.ng-touched, select.ng-invalid.ng-touched {\\r\\n border: 1px solid red;\\r\\n}\\r\\n\\r\\n.ng-select .ng-select-container .ng-value-container {\\r\\n padding-left: 15px !important;\\r\\n padding-top: 0 !important;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n \\r\\n
\\r\\n

Sorry, You Do Not Have Permissions To Create a New Provider

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ pageTitle }} Provider\\r\\n \\r\\n \\r\\n   * required fields!\\r\\n
\\r\\n
\\r\\n \\r\\n

Basic Info:

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Please choose Practice Name\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n Please choose Primary 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 Please enter First Name\\r\\n First Name must be less than or equal to 50 characters\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Middle Name must be less than or equal to 50 characters\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Please enter Last Name\\r\\n Last Name must be less than or equal to 50 characters\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Yes\\r\\n
\\r\\n
\\r\\n \\r\\n Yes\\r\\n
\\r\\n
\\r\\n \\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 Data Avaible Currently\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
SelectPractice NameWeekday BeginWeekday EndWeekend BeginWeekend End
\\r\\n \\r\\n {{ shareCode.get('practiceName').value }}{{ shareCode.get('weekdayBegin').value | date:'shortTime' }}{{ shareCode.get('weekdayEnd').value | date:'shortTime' }}{{ shareCode.get('weekendBegin').value | date:'shortTime' }}{{ shareCode.get('weekendEnd').value | date:'shortTime' }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

Instructions:

\\r\\n

Select Instruction: (Select Instruction Type, Instruction Sub Type, and Instruction Text To Add A New Instruction)

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{instructionType.instructionTypeName}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{instructionSubType.instructionSubTypeName}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

Instructions:

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Instruction TypeInstruction Sub TypeInstruction TextDelete
{{ instruction.get('instructionTypeName').value }}{{ instruction.get('instructionSubTypeName').value }}\\r\\n \\r\\n \\r\\n
\\r\\n Please Enter the Instruction Text\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n

Office Address & Phone:

\\r\\n
\\r\\n
\\r\\n
\\r\\n Is Same As Practice Address\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Address 1 is required\\r\\n Address 1 must be less than or equal to 250 characters\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Address 2 must be less than or equal to 100 characters\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n City is required\\r\\n City must be less than or equal to 50 characters\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n State is required\\r\\n State must be less than or equal to 20 characters\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Zipcode is required\\r\\n Zipcode is invalid. (Ex: 12345 or 12345-6789)\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Enter a Valid Email Address\\r\\n Email must be less than or equal to 150 characters\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Phone number is invalid. (Valid Format: (123)-456-7890)\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Pager length should not exceed 250 characters.\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Fax number is invalid. (Valid Format: (123)-456-7890)\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Unlisted Phone 1 is invalid. (Valid Format: (123)-456-7890)\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Unlisted Phone 2 is invalid. (Valid Format: (123)-456-7890)\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

Home Address & Phone:

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Address 1 must be less than or equal to 250 characters\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Address 2 must be less than or equal to 100 characters\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n City must be less than or equal to 50 characters\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n State must be less than or equal to 20 characters\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Zipcode is invalid. (Ex: 12345 or 12345-6789)\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Phone Number is invalid. (Valid Format: (123)-456-7890)\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Unlisted Phone Number is invalid. (Valid Format: (123)-456-7890)\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Mobile 1 is invalid. (Valid Format: (123)-456-7890)\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Mobile 2 is invalid. (Valid Format: (123)-456-7890)\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Mobile 3 is invalid. (Valid Format: (123)-456-7890)\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Alternate Number cannot Exceed 10 digits\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, AfterViewInit, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { BasePage } from '../../common/base.page';\r\nimport { PracticeService } from '../../services/practice.service';\r\nimport { ProviderService } from '../../services/provider.service';\r\nimport { FormGroup, FormBuilder, Validators, FormArray, AbstractControl } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ShareCodeModel } from 'src/app/models/sharecode.model';\r\nimport { ProviderModel } from 'src/app/models/provider.model';\r\nimport { MappingInstructionTypeInstructionSubTypeModel } from 'src/app/models/mappinginstructiontypeinstructionsubtype.model';\r\nimport { InstructionTypesModel } from 'src/app/models/instructiontypes.model';\r\nimport { ProviderSharedPracticesModel } from 'src/app/models/providersharedpractices.model';\r\nimport { ProviderInstructionsModel } from 'src/app/models/providerinstructions.model';\r\nimport { ProviderSignOutModel } from 'src/app/models/providersignout.model';\r\nimport { ProviderSignOutService } from 'src/app/services/providersignout.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { PracticeModel } from 'src/app/models/practice.model';\r\nimport { SuiModalService } from 'ng2-semantic-ui';\r\nimport { ConfirmModal } from \"../../common/confirm-modal.component\";\r\nimport { FacilityScheduleTypesModel } from 'src/app/models/facilityscheduletypes.model';\r\nimport { forkJoin } from 'rxjs';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'newprovider',\r\n templateUrl: './newprovider.component.html',\r\n styleUrls: ['./newprovider.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class NewProviderComponent extends BasePage implements AfterViewInit {\r\n providerForm: FormGroup;\r\n providerModel: ProviderModel;\r\n practiceModelForProviderAddress: PracticeModel;\r\n providerSignOutModel: ProviderSignOutModel;\r\n practiceOptions: Array<{ id: number; name: string }> = [];\r\n primarySpecialities: Array<{ id: number; name: string }> = [];\r\n secondarySpecialities: Array<{ id: number; name: string }> = [];\r\n FMNPAndPAProviders: Array<{ id: number; name: string }> = [];\r\n searchPattern = /^[a-zA-Z0-9-!@$%#^&*()_+|~=`{}\\[\\]:\";'<>?,.\\/]*$/;\r\n sharedPracticeIds: Array = [];\r\n shareCodes: Array;\r\n providerInstructionModel: ProviderInstructionsModel;\r\n instructionTypes: Array = [];\r\n instructionSubTypes: Array<{ instructionSubTypeId: number; instructionSubTypeName: string }> = [];\r\n instructionMappings: Array = [];\r\n pageTitle: string;\r\n update: boolean = false;\r\n isProviderInitialization: boolean = false;\r\n isAdmin: boolean = false;\r\n isOperator: boolean = false;\r\n showMidLevel: boolean = false;\r\n\r\n constructor(private practiceService: PracticeService, private providerService: ProviderService, private fb: FormBuilder, private router: Router,\r\n private route: ActivatedRoute, private providerSignOutService: ProviderSignOutService, public authService: AuthService, private suiModalService: SuiModalService) { super(authService) }\r\n\r\n ngOnInit() {\r\n this.isAdmin = this.authService.isAdmin();\r\n this.providerSignOutModel = this.providerSignOutService.initializeProviderSignOutModel();\r\n this.providerForm = this.createProviderForm();\r\n\r\n this.isOperator = this.authService.isCallCenterOperator();\r\n\r\n //var lkPractices = \"practices\";\r\n //this.setLoading(lkPractices, true);\r\n //this.practiceService.getAllPractices().subscribe(res => {\r\n // this.practiceOptions = res.map(x => { return { id: x.facilityId, name: x.facilityName }; }) || [];\r\n // this.cd.detectChanges();\r\n // this.setLoading(lkPractices, false);\r\n //});\r\n\r\n //var lkPrimarySpecialities = \"primarySpecialities\";\r\n //this.setLoading(lkPrimarySpecialities, true);\r\n //this.providerService.getPrimarySpecialities().subscribe(res => {\r\n // this.primarySpecialities = res.map(x => { return { id: x.primarySpecialityId, name: x.specialityName }; }) || [];\r\n // this.setLoading(lkPrimarySpecialities, false);\r\n //});\r\n\r\n //var lkSecondarySpecialities = \"secondarySpecialities\";\r\n //this.setLoading(lkSecondarySpecialities, true);\r\n //this.providerService.getSecondarySpecialities().subscribe(res => {\r\n // this.secondarySpecialities = res.map(x => { return { id: x.secondarySpecialityId, name: x.specialityName }; }) || [];\r\n // this.setLoading(lkSecondarySpecialities, false);\r\n //});\r\n\r\n //var lkInstructionTypes = \"instructionTypes\";\r\n //this.setLoading(lkInstructionTypes, true);\r\n //this.providerService.getInstructionTypes().subscribe((result: Array) => {\r\n // console.log('Instruction Types have been loaded');\r\n // this.instructionTypes = result;\r\n // this.setLoading(lkInstructionTypes, false);\r\n //}, (error: any) => {\r\n // this.instructionTypes = [];\r\n // this.setLoading(lkInstructionTypes, false);\r\n //});\r\n\r\n //var lknpAndPaSchedules = \"NPANDPASchedules\";\r\n //this.setLoading(lknpAndPaSchedules, true);\r\n //this.providerService.getNPANDPAProviders().subscribe(res => {\r\n // this.FMNPAndPAProviders = res.map(x => { return { id: x.primarySpecialityId, name: x.specialityName }; }) || [];\r\n // var selectItem = { \"id\": 0, \"name\": \"Select one\" };\r\n // this.FMNPAndPAProviders.unshift(selectItem);\r\n // this.setLoading(lknpAndPaSchedules, false);\r\n //});\r\n\r\n const allPractices = this.practiceService.getAllPractices();\r\n const allPrimarySpecialities = this.providerService.getPrimarySpecialities();\r\n const allSecondarySpecialities = this.providerService.getSecondarySpecialities();\r\n const instructionTypes = this.providerService.getInstructionTypes();\r\n const allNPANDPAProviders = this.providerService.getNPANDPAProviders(); \r\n\r\n this.setLoading(\"providerpage\", true);\r\n forkJoin([allPractices, allPrimarySpecialities, allSecondarySpecialities, instructionTypes, allNPANDPAProviders]).subscribe((res) => {\r\n if (res) {\r\n this.practiceOptions = res[0].map(x => { return { id: x.facilityId, name: x.facilityName }; });\r\n const selectPracticeName = { id: -1, name: '-- Select Practice Name --'};\r\n this.practiceOptions.unshift(selectPracticeName);\r\n\r\n this.primarySpecialities = res[1].map(x => { return { id: x.primarySpecialityId, name: x.specialityName }; });\r\n const selectPrimarySpeciality = { id: -1, name: '-- Select Primary Speciality --' };\r\n this.primarySpecialities.unshift(selectPrimarySpeciality);\r\n\r\n this.secondarySpecialities = res[2].map(x => { return { id: x.secondarySpecialityId, name: x.specialityName }; });\r\n const selectSecondarySpeciality = { id: -1, name: '-- Select Secondary Speciality --' };\r\n this.secondarySpecialities.unshift(selectSecondarySpeciality);\r\n\r\n this.instructionTypes = res[3];\r\n this.FMNPAndPAProviders = res[4].map(x => { return { id: x.primarySpecialityId, name: x.specialityName }; });\r\n var selectItem = { \"id\": 0, \"name\": \"Select one\" };\r\n this.FMNPAndPAProviders.unshift(selectItem);\r\n\r\n this.route.paramMap.subscribe(params => {\r\n //var lkInstructionMappings = \"instructionMappings\";\r\n //this.setLoading(lkInstructionMappings, true);\r\n this.providerService.getInstructionMappings().subscribe((res: Array) => {\r\n this.instructionMappings = res;\r\n //this.setLoading(lkInstructionMappings, false);\r\n const providerId = +params.get('id');\r\n if (providerId) {\r\n this.update = true;\r\n this.isProviderInitialization = true;\r\n this.pageTitle = 'Update';\r\n this.getProvider(providerId);\r\n } else {\r\n this.pageTitle = 'New';\r\n this.providerModel = this.providerService.getInitialProviderModel();\r\n this.setLoading(\"providerpage\", false);\r\n }\r\n }, (error: any) => {\r\n this.instructionMappings = [];\r\n //this.setLoading(lkInstructionMappings, false);\r\n this.setLoading(\"providerpage\", false);\r\n });\r\n });\r\n }\r\n }, (error: any) => {\r\n this.practiceOptions = [];\r\n this.primarySpecialities = [];\r\n this.secondarySpecialities = [];\r\n this.instructionTypes = [];\r\n this.FMNPAndPAProviders = [];\r\n this.setLoading(\"providerpage\", false);\r\n });\r\n\r\n //Value Changes\r\n this.providerForm.get('basicInfo.practiceName').valueChanges.subscribe((data: number) => {\r\n const practiceNameFormControl = this.providerForm.get('basicInfo.practiceName');\r\n if (data == -1) {\r\n practiceNameFormControl.markAsTouched({ onlySelf: true });\r\n practiceNameFormControl.setErrors({ required: true });\r\n }\r\n });\r\n\r\n this.providerForm.get('basicInfo.primarySpeciality').valueChanges.subscribe((data: number) => {\r\n const primarySpecialityFormControl = this.providerForm.get('basicInfo.primarySpeciality');\r\n if (data == -1) {\r\n primarySpecialityFormControl.markAsTouched({ onlySelf: true });\r\n primarySpecialityFormControl.setErrors({ required: true });\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n $('.practiceDropdown').dropdown();\r\n $('.primarySpecialitiesDropdown').dropdown();\r\n $('.secondarySpecialitiesDropdown').dropdown();\r\n }\r\n\r\n createProviderForm(): FormGroup {\r\n return this.fb.group({\r\n basicInfo: this.fb.group({\r\n practiceName: ['', Validators.required],\r\n primarySpeciality: ['', Validators.required],\r\n secondarySpeciality: [''],\r\n isMidLevel: [false],\r\n outsideLMS: [false],\r\n firstName: ['', [Validators.required, Validators.maxLength(50)]],\r\n middleName: ['', Validators.maxLength(50)],\r\n lastName: ['', [Validators.required, Validators.maxLength(50)]],\r\n fmnpAndPAProviderId: ['0', Validators.required],\r\n shareCodes: this.fb.array([])\r\n }),\r\n officeGroup: this.fb.group({\r\n isSameAsPracticeAddress: [true],\r\n address1: ['', [Validators.required, Validators.maxLength(250)]],\r\n address2: ['', Validators.maxLength(100)],\r\n city: ['', [Validators.required, Validators.maxLength(50)]],\r\n state: ['', [Validators.required, Validators.maxLength(20)]],\r\n zipcode: ['', [Validators.required, Validators.maxLength(10), Validators.pattern(/^\\d{5}(?:[-]\\d{4})?$/)]],\r\n email: ['', [Validators.email, Validators.maxLength(150)]],\r\n phone: ['', [Validators.maxLength(14), Validators.pattern(/^\\([0-9]{3}\\)-[0-9]{3}-[0-9]{4}$/)]],\r\n pager: ['', Validators.maxLength(250)],\r\n fax: ['', [Validators.maxLength(14), Validators.pattern(/^\\([0-9]{3}\\)-[0-9]{3}-[0-9]{4}$/)]],\r\n faxExtension: ['', [Validators.maxLength(6), Validators.pattern(/^\\d{6}$/)]],\r\n unlistedPhone1: ['', [Validators.maxLength(14), Validators.pattern(/^\\([0-9]{3}\\)-[0-9]{3}-[0-9]{4}$/)]],\r\n unlistedPhone2: ['', [Validators.maxLength(14), Validators.pattern(/^\\([0-9]{3}\\)-[0-9]{3}-[0-9]{4}$/)]]\r\n }),\r\n homeGroup: this.fb.group({\r\n address1: ['', [Validators.maxLength(250)]],\r\n address2: ['', Validators.maxLength(100)],\r\n city: ['', [Validators.maxLength(50)]],\r\n state: ['', [Validators.maxLength(20)]],\r\n zipcode: ['', [Validators.maxLength(10), Validators.pattern(/^\\d{5}(?:[-]\\d{4})?$/)]],\r\n phone: ['', [Validators.maxLength(14), Validators.pattern(/^\\([0-9]{3}\\)-[0-9]{3}-[0-9]{4}$/)]],\r\n unlistedPhone: ['', [Validators.maxLength(14), Validators.pattern(/^\\([0-9]{3}\\)-[0-9]{3}-[0-9]{4}$/)]],\r\n mobile1: ['', [Validators.maxLength(14), Validators.pattern(/^\\([0-9]{3}\\)-[0-9]{3}-[0-9]{4}$/)]],\r\n mobile2: ['', [Validators.maxLength(14), Validators.pattern(/^\\([0-9]{3}\\)-[0-9]{3}-[0-9]{4}$/)]],\r\n mobile3: ['', [Validators.maxLength(14), Validators.pattern(/^\\([0-9]{3}\\)-[0-9]{3}-[0-9]{4}$/)]],\r\n alternateNumber: ['', Validators.maxLength(250)]\r\n }),\r\n instructions: this.fb.array([]),\r\n instructionSelection: this.fb.group({\r\n instructionType: [''],\r\n instructionSubType: [''],\r\n instructionText: ['']\r\n })\r\n });\r\n }\r\n\r\n getProvider(providerId: number): void {\r\n //var lkGetProviderSignOut = \"getProviderSignOut\";\r\n //this.setLoading(lkGetProviderSignOut, true);\r\n this.providerSignOutService.getProviderSignOut(providerId).subscribe(\r\n (res) => {\r\n if (res) {\r\n this.providerSignOutModel = res;\r\n }\r\n //this.setLoading(lkGetProviderSignOut, false);\r\n },\r\n (error: any) => {\r\n //this.setLoading(lkGetProviderSignOut, false);\r\n }\r\n );\r\n\r\n //var lkGetProvider = \"getProvider\";\r\n //this.setLoading(lkGetProvider, true);\r\n this.providerService.getProvider(providerId).subscribe(\r\n (provider: ProviderModel) => {\r\n this.providerModel = provider;\r\n this.editProvider(provider);\r\n //this.setLoading(lkGetProvider, false);\r\n },\r\n (error: any) => {\r\n //this.setLoading(lkGetProvider, false);\r\n }\r\n );\r\n }\r\n\r\n editProvider(provider: ProviderModel) {\r\n $('.practiceDropdown').dropdown('set selected', provider.facilityId);\r\n $('.primarySpecialitiesDropdown').dropdown('set selected', provider.primarySpecialityId);\r\n $('.secondarySpecialitiesDropdown').dropdown('set selected', provider.secondarySpecialityId);\r\n\r\n this.practiceService.getPractice(provider.facilityId).subscribe(res => {\r\n this.practiceModelForProviderAddress = res;\r\n });\r\n\r\n this.providerForm.patchValue({\r\n basicInfo: {\r\n practiceName: provider.facilityId,\r\n primarySpeciality: provider.primarySpecialityId,\r\n secondarySpeciality: provider.secondarySpecialityId,\r\n isMidLevel: provider.isMidLevel,\r\n firstName: provider.providerFirstName,\r\n middleName: provider.providerMiddleName,\r\n lastName: provider.providerLastName,\r\n fmnpAndPAProviderId: provider.fmnpAndPAProviderId,\r\n outsideLMS: provider.outsideLMS\r\n },\r\n officeGroup: {\r\n isSameAsPracticeAddress: provider.isSameAsPracticeAddress,\r\n address1: provider.officeAddress1,\r\n address2: provider.officeAddress2,\r\n city: provider.officeCity,\r\n state: provider.officeState,\r\n zipcode: provider.officeZipCode,\r\n email: provider.officeEmail,\r\n phone: provider.officePhone ? '(' + provider.officePhone.substring(0, 3) + ')-' + provider.officePhone.substring(3, 6) + '-' + provider.officePhone.substring(6, provider.officePhone.length) : provider.officePhone,\r\n //pager: provider.officePager ? '(' + provider.officePager.substring(0, 3) + ')-' + provider.officePager.substring(3, 6) + '-' + provider.officePager.substring(6, provider.officePager.length) : provider.officePager,\r\n pager: provider.officePager,\r\n fax: provider.officeFax ? '(' + provider.officeFax.substring(0, 3) + ')-' + provider.officeFax.substring(3, 6) + '-' + provider.officeFax.substring(6, provider.officeFax.length) : provider.officeFax,\r\n faxExtension: provider.officeFaxExtension,\r\n unlistedPhone1: provider.officeUnlistedPhone1 ? '(' + provider.officeUnlistedPhone1.substring(0, 3) + ')-' + provider.officeUnlistedPhone1.substring(3, 6) + '-' + provider.officeUnlistedPhone1.substring(6, provider.officeUnlistedPhone1.length) : provider.officeUnlistedPhone1,\r\n unlistedPhone2: provider.officeUnlistedPhone2 ? '(' + provider.officeUnlistedPhone2.substring(0, 3) + ')-' + provider.officeUnlistedPhone2.substring(3, 6) + '-' + provider.officeUnlistedPhone2.substring(6, provider.officeUnlistedPhone2.length) : provider.officeUnlistedPhone2\r\n },\r\n homeGroup: {\r\n address1: provider.homeAddress1,\r\n address2: provider.homeAddress2,\r\n city: provider.homeCity,\r\n state: provider.homeState,\r\n zipcode: provider.homeZipCode,\r\n phone: provider.homePhone ? '(' + provider.homePhone.substring(0, 3) + ')-' + provider.homePhone.substring(3, 6) + '-' + provider.homePhone.substring(6, provider.homePhone.length) : provider.homePhone,\r\n unlistedPhone: provider.homeUnlistedPhone ? '(' + provider.homeUnlistedPhone.substring(0, 3) + ')-' + provider.homeUnlistedPhone.substring(3, 6) + '-' + provider.homeUnlistedPhone.substring(6, provider.homeUnlistedPhone.length) : provider.homeUnlistedPhone,\r\n mobile1: provider.homeMobile1 ? '(' + provider.homeMobile1.substring(0, 3) + ')-' + provider.homeMobile1.substring(3, 6) + '-' + provider.homeMobile1.substring(6, provider.homeMobile1.length) : provider.homeMobile1,\r\n mobile2: provider.homeMobile2 ? '(' + provider.homeMobile2.substring(0, 3) + ')-' + provider.homeMobile2.substring(3, 6) + '-' + provider.homeMobile2.substring(6, provider.homeMobile2.length) : provider.homeMobile2,\r\n mobile3: provider.homeMobile3 ? '(' + provider.homeMobile3.substring(0, 3) + ')-' + provider.homeMobile3.substring(3, 6) + '-' + provider.homeMobile3.substring(6, provider.homeMobile3.length) : provider.homeMobile3,\r\n alternateNumber: provider.homeAlternateNumber\r\n }\r\n });\r\n this.updateShareCodesForProviderModel(this.providerModel.facilityId);\r\n this.providerForm.setControl('instructions', this.setInstructionsForUpdate(this.providerModel.providerInstructions));\r\n this.setInstructionMappingsForUpdate(this.providerModel.providerInstructions);\r\n }\r\n\r\n setSharedPracticeIds() {\r\n const formArray = this.providerForm.get('basicInfo.shareCodes') as FormArray;\r\n for (var i = 0; i < formArray.length; i++) {\r\n const formGroup = formArray.at(i);\r\n const isChecked = formGroup.get('isCheckboxChecked').value;\r\n if (isChecked) {\r\n this.sharedPracticeIds.push(formGroup.get('practiceId').value);\r\n }\r\n }\r\n }\r\n\r\n setShareCodesForUpdate(sp: Array): FormArray {\r\n const formArray = this.providerForm.get('basicInfo.shareCodes') as FormArray;\r\n for (var i = 0; i < sp.length; i++) {\r\n const facilityId = sp[i].facilityId;\r\n for (var j = 0; j < formArray.length; j++) {\r\n const formGroup = formArray.at(j);\r\n if (formGroup.get('practiceId').value === facilityId) {\r\n formGroup.patchValue({ isCheckboxChecked: true });\r\n }\r\n }\r\n }\r\n return formArray;\r\n }\r\n\r\n updateShareCodesForProviderModel(event): void {\r\n this.providerService.getShareCodes(event).subscribe((res: Array) => {\r\n this.shareCodes = [];\r\n this.shareCodes = res;\r\n this.sharedPracticeIds = [];\r\n this.addShareCodesInProviderForm(this.shareCodes);\r\n this.providerForm.setControl('basicInfo.shareCodes', this.setShareCodesForUpdate(this.providerModel.providerSharedPractices));\r\n this.setSharedPracticeIds();\r\n\r\n const isTrue = this.checkLoading(\"providerpage\");\r\n if (isTrue) {\r\n this.setLoading(\"providerpage\", false);\r\n }\r\n });\r\n this.providerService.getScheduleTypeNPAndPA(event).subscribe((res: FacilityScheduleTypesModel) => {\r\n if (res) {\r\n this.showMidLevel = true;\r\n this.providerForm.get('basicInfo.isMidLevel').patchValue(this.providerModel.isMidLevel);\r\n this.providerForm.get('basicInfo.fmnpAndPAProviderId').patchValue(this.providerModel.fmnpAndPAProviderId);\r\n }\r\n });\r\n }\r\n\r\n getShareCodesFromServer(event): void {\r\n var lkGetShareCodes = \"getShareCodes\";\r\n this.setLoading(lkGetShareCodes, true);\r\n this.providerService.getShareCodes(event).subscribe((res: Array) => {\r\n this.shareCodes = [];\r\n this.shareCodes = res;\r\n this.sharedPracticeIds = [];\r\n this.addShareCodesInProviderForm(this.shareCodes);\r\n this.setLoading(lkGetShareCodes, false);\r\n });\r\n this.providerService.getScheduleTypeNPAndPA(event).subscribe((res: FacilityScheduleTypesModel) => {\r\n if (res) {\r\n this.showMidLevel = true;\r\n }\r\n });\r\n }\r\n\r\n setInstructionsForUpdate(providerInstructions: Array): FormArray {\r\n const formArray = this.providerForm.get('instructions') as FormArray;\r\n for (var i = 0; i < providerInstructions.length; i++) {\r\n const instruction = this.instructionMappings.find(x => x.instructionTypeId === providerInstructions[i].instructionTypeId && x.instructionSubTypeId === providerInstructions[i].instructionSubTypeId);\r\n formArray.push(this.addInstructionFormGroup(instruction, instruction, providerInstructions[i].instructionText, providerInstructions[i].providerId));\r\n }\r\n return formArray;\r\n }\r\n\r\n setInstructionMappingsForUpdate(providerInstructions: Array): void {\r\n for (var i = 0; i < providerInstructions.length; i++) {\r\n var instructionMapping = this.instructionMappings.find(x => x.instructionTypeId === providerInstructions[i].instructionTypeId && x.instructionSubTypeId === providerInstructions[i].instructionSubTypeId);\r\n instructionMapping.isInstructionSubTypeActive = false;\r\n }\r\n }\r\n\r\n onSearchDropDown(event, isAddCustomValidator: boolean): void {\r\n //const isSearchPatternValid = this.searchPattern.test(event.target.value);\r\n //if (event.target.value) {\r\n // if (isSearchPatternValid) {\r\n // const isValidPracticeOption = this.practiceOptions.find(x => x.name == event.target.value);\r\n // if (!isValidPracticeOption) {\r\n // this.providerForm.get('basicInfo.practiceName').setValue(null);\r\n // }\r\n // } else {\r\n // if (isAddCustomValidator) {\r\n // this.providerForm.get('basicInfo.secondarySpeciality').setValidators(searchDropdown);\r\n // this.providerForm.get('basicInfo.secondarySpeciality').updateValueAndValidity();\r\n // }\r\n // return;\r\n // }\r\n // if (isAddCustomValidator) {\r\n // this.providerForm.get('basicInfo.secondarySpeciality').setValidators(searchDropdown);\r\n // this.providerForm.get('basicInfo.secondarySpeciality').updateValueAndValidity();\r\n // }\r\n //} else {\r\n // if (isAddCustomValidator) {\r\n // this.providerForm.get('basicInfo.secondarySpeciality').clearValidators();\r\n // this.providerForm.get('basicInfo.secondarySpeciality').updateValueAndValidity();\r\n // }\r\n // return;\r\n //}\r\n }\r\n\r\n //Event Change Methods - Begin\r\n onPracticeChanged(event): void {\r\n if (event == -1) {\r\n return;\r\n }\r\n\r\n this.showMidLevel = false;\r\n this.providerForm.get('basicInfo.isMidLevel').patchValue(false);\r\n\r\n var lkOnPracticeChanged = \"onPracticeChanged\";\r\n this.setLoading(lkOnPracticeChanged, true);\r\n this.practiceService.getPractice(event).subscribe(res => {\r\n this.practiceModelForProviderAddress = res;\r\n this.initializeOfficeAddressGroupForProvider();\r\n this.setLoading(lkOnPracticeChanged, false);\r\n });\r\n if (this.providerModel.facilityId === event) {\r\n this.updateShareCodesForProviderModel(this.providerModel.facilityId);\r\n } else {\r\n this.getShareCodesFromServer(event);\r\n }\r\n }\r\n\r\n onCheckboxChanged(event: boolean, index: number): void {\r\n const formGroup = (this.providerForm.get('basicInfo.shareCodes')).at(index);\r\n const practiceId = formGroup.get('practiceId').value;\r\n if (event) {\r\n this.sharedPracticeIds.push(practiceId);\r\n formGroup.patchValue({ isCheckboxChecked: true });\r\n } else {\r\n this.sharedPracticeIds.forEach((x, index) => {\r\n if (x === practiceId) {\r\n this.sharedPracticeIds.splice(index, 1);\r\n }\r\n });\r\n formGroup.patchValue({ isCheckboxChecked: false });\r\n }\r\n }\r\n\r\n initializeOfficeAddressGroupForProvider(): void {\r\n if (!this.isProviderInitialization) {\r\n this.providerForm.patchValue({\r\n officeGroup: {\r\n isSameAsPracticeAddress: true,\r\n outsideLMS: false,\r\n address1: this.practiceModelForProviderAddress.address1,\r\n address2: this.practiceModelForProviderAddress.address2,\r\n city: this.practiceModelForProviderAddress.city,\r\n state: this.practiceModelForProviderAddress.state,\r\n zipcode: this.practiceModelForProviderAddress.zipcode\r\n }\r\n });\r\n }\r\n\r\n this.isProviderInitialization = false;\r\n }\r\n\r\n onIsSameAsPracticeAddress(event: boolean): void {\r\n this.isProviderInitialization = false;\r\n if (event) { \r\n this.initializeOfficeAddressGroupForProvider();\r\n } else {\r\n this.providerForm.patchValue({\r\n officeGroup: {\r\n address1: '',\r\n address2: '',\r\n city: '',\r\n state: '',\r\n zipcode: '',\r\n email: '',\r\n phone: '',\r\n pager: '',\r\n fax: '',\r\n faxExtension: '',\r\n unlistedPhone1: '',\r\n unlistedPhone2: ''\r\n }\r\n });\r\n }\r\n }\r\n\r\n populateInstructionSubTypes(event: InstructionTypesModel): void {\r\n let instructionSubTypeControlValue = this.providerForm.get('instructionSelection.instructionSubType');\r\n if (instructionSubTypeControlValue.value) {\r\n instructionSubTypeControlValue.patchValue('');\r\n }\r\n\r\n let instructionInstructionTextControlValue = this.providerForm.get('instructionSelection.instructionText');\r\n if (instructionInstructionTextControlValue.value) {\r\n instructionInstructionTextControlValue.patchValue('');\r\n }\r\n\r\n const id = event.instructionTypeId;\r\n this.instructionSubTypes = [];\r\n this.instructionSubTypes = this.instructionMappings.filter(x => x.instructionTypeId === id && x.isInstructionSubTypeActive)\r\n .map(x => { return { instructionSubTypeId: x.instructionSubTypeId, instructionSubTypeName: x.instructionSubTypeName }; });\r\n }\r\n //Event Change Methods - End\r\n\r\n //Creating New Form Controls / Form Groups / Form Arrays methods - Begin\r\n addShareCodesInProviderForm(shareCodes: Array) {\r\n const shareCodeFormArray = this.providerForm.get('basicInfo.shareCodes') as FormArray;\r\n for (var i = 0; i < shareCodes.length; i++) {\r\n const practiceName = this.practiceOptions.find(x => x.id === shareCodes[i].facilityId);\r\n shareCodeFormArray.push(this.addShareCodeFormGroup(shareCodes[i], practiceName.name));\r\n }\r\n while (shareCodeFormArray.length !== shareCodes.length) {\r\n shareCodeFormArray.removeAt(0);\r\n }\r\n }\r\n\r\n addShareCodeFormGroup(shareCode: ShareCodeModel, practiceName: string, isChecked: boolean = false): FormGroup {\r\n return this.fb.group({\r\n isCheckboxChecked: [isChecked],\r\n practiceName: [{ value: practiceName, disabled: true }],\r\n practiceId: shareCode.facilityId,\r\n weekdayBegin: [{ value: new Date(shareCode.weekdayBegin), disabled: true }],\r\n weekdayEnd: [{ value: new Date(shareCode.weekdayEnd), disabled: true }],\r\n weekendBegin: [{ value: new Date(shareCode.weekendBegin), disabled: true }],\r\n weekendEnd: [{ value: new Date(shareCode.weekendEnd), disabled: true }]\r\n });\r\n }\r\n\r\n addInstructionFormGroupOnClick(): void {\r\n const instructionType = this.providerForm.get('instructionSelection.instructionType').value;\r\n const instructionSubType = this.providerForm.get('instructionSelection.instructionSubType').value;\r\n const instructionText = this.providerForm.get('instructionSelection.instructionText').value;\r\n const instructionsFormArray = this.providerForm.get('instructions');\r\n if (instructionsFormArray.length > 1) {\r\n const instructionTypeValueAtZeroIndex = instructionsFormArray.at(0).get('instructionType').value;\r\n const instructionSubTypeValueAtZeroIndex = instructionsFormArray.at(0).get('instructionSubType').value;\r\n const isUrgent = (instructionTypeValueAtZeroIndex == 4 && instructionSubTypeValueAtZeroIndex == 12);\r\n if (instructionType.instructionTypeId == 4 && instructionSubType.instructionSubTypeId == 12) {\r\n instructionsFormArray.insert(0, this.addInstructionFormGroup(instructionType, instructionSubType, instructionText));\r\n } else {\r\n for (var j = 0; j < instructionsFormArray.length; j++) {\r\n const instructionTypeValue = instructionsFormArray.at(j).get('instructionType').value;\r\n if (instructionType.instructionTypeId < instructionTypeValue) {\r\n if (j > 0) {\r\n instructionsFormArray.insert(j, this.addInstructionFormGroup(instructionType, instructionSubType, instructionText));\r\n break;\r\n } else if (j === 0 && !isUrgent) {\r\n instructionsFormArray.insert(0, this.addInstructionFormGroup(instructionType, instructionSubType, instructionText));\r\n break;\r\n }\r\n }\r\n if (j === (instructionsFormArray.length - 1)) {\r\n instructionsFormArray.push(this.addInstructionFormGroup(instructionType, instructionSubType, instructionText));\r\n break;\r\n }\r\n }\r\n }\r\n } else if (instructionsFormArray.length === 1) {\r\n const instructionTypeValueAtZeroIndex = instructionsFormArray.at(0).get('instructionType').value;\r\n const instructionSubTypeValueAtZeroIndex = instructionsFormArray.at(0).get('instructionSubType').value;\r\n const isUrgent = (instructionTypeValueAtZeroIndex == 4 && instructionSubTypeValueAtZeroIndex == 12);\r\n\r\n if (instructionType.instructionTypeId == 4 && instructionSubType.instructionSubTypeId == 12) {\r\n instructionsFormArray.insert(0, this.addInstructionFormGroup(instructionType, instructionSubType, instructionText));\r\n } else if ((instructionType.instructionTypeId < instructionTypeValueAtZeroIndex) && !isUrgent) {\r\n instructionsFormArray.insert(0, this.addInstructionFormGroup(instructionType, instructionSubType, instructionText));\r\n } else {\r\n instructionsFormArray.push(this.addInstructionFormGroup(instructionType, instructionSubType, instructionText));\r\n }\r\n } else {\r\n instructionsFormArray.push(this.addInstructionFormGroup(instructionType, instructionSubType, instructionText));\r\n }\r\n\r\n //(this.providerForm.get('instructions')).push(this.addInstructionFormGroup(instructionType, instructionSubType, instructionText));\r\n\r\n for (var i = 0; i < this.instructionMappings.length; i++) {\r\n if (this.instructionMappings[i].instructionSubTypeId === instructionSubType.instructionSubTypeId && this.instructionMappings[i].instructionTypeId === instructionType.instructionTypeId) {\r\n this.instructionMappings[i].isInstructionSubTypeActive = false;\r\n break;\r\n }\r\n }\r\n this.resetInstructionSelectionFormGroup();\r\n }\r\n\r\n resetInstructionSelectionFormGroup(): void {\r\n this.providerForm.get('instructionSelection').setValue({\r\n instructionType: '',\r\n instructionSubType: '',\r\n instructionText: ''\r\n });\r\n this.instructionSubTypes = [];\r\n }\r\n\r\n addInstructionFormGroup(instructionType: any, instructionSubType: any, instructionText: string, providerId: number = 0): FormGroup {\r\n return this.fb.group({\r\n instructionType: [instructionType.instructionTypeId],\r\n instructionTypeName: [{ value: instructionType.instructionTypeName, disabled: true }],\r\n instructionSubType: [instructionSubType.instructionSubTypeId],\r\n instructionSubTypeName: [{ value: instructionSubType.instructionSubTypeName, disabled: true }],\r\n instructionText: [instructionText, Validators.required],\r\n isActive: [true],\r\n providerId: [providerId]\r\n });\r\n }\r\n //Creating New Form Controls / Form Groups / Form Arrays methods - End\r\n\r\n showDeleteConfirm(index: number): void {\r\n this.suiModalService\r\n .open(new ConfirmModal(\"Are you sure?\", \"Are you sure about deleting the Instruction?\"))\r\n .onApprove(() => this.removeInstruction(index))\r\n .onDeny(() => {\r\n });\r\n }\r\n\r\n removeInstruction(index: number): void {\r\n const instructionTypeId = (this.providerForm.get('instructions')).at(index).get('instructionType').value;\r\n const instructionSubTypeId = (this.providerForm.get('instructions')).at(index).get('instructionSubType').value;\r\n for (var i = 0; i < this.instructionMappings.length; i++) {\r\n if (this.instructionMappings[i].instructionSubTypeId === instructionSubTypeId && this.instructionMappings[i].instructionTypeId === instructionTypeId) {\r\n this.instructionMappings[i].isInstructionSubTypeActive = true;\r\n break;\r\n }\r\n }\r\n\r\n if (!this.update) {\r\n (this.providerForm.get('instructions')).removeAt(index);\r\n } else {\r\n //const providerModelInstructionsLength = this.providerModel.providerInstructions.length;\r\n //const instructionsFormArrayLength = (this.providerForm.get('instructions')).length;\r\n //if (providerModelInstructionsLength < instructionsFormArrayLength && (index + 1) > providerModelInstructionsLength) {\r\n // (this.providerForm.get('instructions')).removeAt(index);\r\n //} else {\r\n // (this.providerForm.get('instructions')).at(index).patchValue({ isActive: false });\r\n //}\r\n const instructionsFormArray = this.providerForm.get('instructions');\r\n const instructionsFormGroup = instructionsFormArray.at(index);\r\n const instructionTypeProviderId = instructionsFormGroup.get('providerId').value;\r\n if (instructionTypeProviderId <= 0) {\r\n instructionsFormArray.removeAt(index);\r\n } else {\r\n instructionsFormGroup.patchValue({ isActive: false });\r\n }\r\n }\r\n this.resetInstructionSelectionFormGroup();\r\n }\r\n\r\n get isInstructionsExist(): boolean {\r\n return (this.providerForm.get('instructions')).length > 0;\r\n }\r\n\r\n get shareCodesAvailable(): boolean {\r\n return (this.providerForm.get('basicInfo.shareCodes')).length === 0;\r\n }\r\n\r\n get isCurrentInstructionGroupInValid(): boolean {\r\n return this.providerForm.get('instructionSelection.instructionType').value == '' ||\r\n this.providerForm.get('instructionSelection.instructionSubType').value == '' ||\r\n this.providerForm.get('instructionSelection.instructionText').value == '';\r\n }\r\n\r\n get isInstructionsGreaterThanZero(): boolean {\r\n return this.getInstructionsArrayLength() > 0;\r\n }\r\n\r\n isInstructionActive(index: number): boolean {\r\n return (this.providerForm.get('instructions')).at(index).get('isActive').value;\r\n }\r\n\r\n private getInstructionsArrayLength(): number {\r\n return (this.providerForm.get('instructions')).length;\r\n }\r\n\r\n goBack(): void {\r\n this.router.navigate(['manageprovider']);\r\n }\r\n\r\n get isProviderSignIn() {\r\n return this.providerSignOutModel.providerId !== 0;\r\n }\r\n\r\n get isProviderSignOut() {\r\n return this.update && this.providerSignOutModel.providerId === 0;\r\n }\r\n\r\n providerSignIn(): void {\r\n this.suiModalService\r\n .open(new ConfirmModal(\"Are you sure?\", \"Are you sure you want to Sign In the Provider \\\"\" + this.providerModel.providerFirstName + \" \" + this.providerModel.providerLastName + \"\\\"?\"))\r\n .onApprove(() => this.confirmProviderSignIn())\r\n .onDeny(() => {\r\n });\r\n }\r\n\r\n confirmProviderSignIn(): void {\r\n var lkDeleteProviderSignOut = \"deleteProviderSignOut\";\r\n this.setLoading(lkDeleteProviderSignOut, true);\r\n this.providerSignOutService.deleteProviderSignOut(this.providerSignOutModel.providerId).subscribe(\r\n () => {\r\n this.providerSignOutModel = this.providerSignOutService.initializeProviderSignOutModel();\r\n this.setLoading(lkDeleteProviderSignOut, false);\r\n }\r\n );\r\n }\r\n\r\n providerSignOut(): void {\r\n this.router.navigate([`providersignout`, this.providerModel.providerId]);\r\n }\r\n\r\n onSubmit(): void {\r\n if (this.providerModel.providerId) {\r\n this.mapValuesToProviderModelForUpdate();\r\n var lkUpdateProvider = \"updateProvider\";\r\n this.setLoading(lkUpdateProvider, true);\r\n this.providerService.updateProvider(this.providerModel).subscribe(\r\n () => {\r\n this.setLoading(lkUpdateProvider, false);\r\n this.router.navigate(['manageprovider', 'updated']);\r\n }\r\n );\r\n } else {\r\n this.mapValuesToProviderModelForCreate();\r\n var lkCreateProvider = \"createProvider\";\r\n this.setLoading(lkCreateProvider, true);\r\n this.providerService.saveProvider(this.providerModel).subscribe(\r\n () => {\r\n this.setLoading(lkCreateProvider, false);\r\n this.router.navigate(['manageprovider', 'created']);\r\n }\r\n );\r\n }\r\n }\r\n\r\n mapValuesToProviderModelForUpdate(): void {\r\n this.updateSharedPractices();\r\n this.updateInstructions();\r\n this.updateInputFields();\r\n }\r\n\r\n mapValuesToProviderModelForCreate(): void {\r\n this.updateInputFields();\r\n this.createSharedPractices();\r\n this.createInstructions();\r\n }\r\n\r\n private updateInputFields(): void {\r\n //Basic Info\r\n const basicInfo = this.providerForm.get('basicInfo');\r\n this.providerModel.facilityId = basicInfo.get('practiceName').value;\r\n this.providerModel.primarySpecialityId = basicInfo.get('primarySpeciality').value;\r\n this.providerModel.secondarySpecialityId = basicInfo.get('secondarySpeciality').value == -1 ? null : basicInfo.get('secondarySpeciality').value;\r\n this.providerModel.isMidLevel = basicInfo.get('isMidLevel').value;\r\n this.providerModel.providerFirstName = basicInfo.get('firstName').value;\r\n this.providerModel.providerMiddleName = basicInfo.get('middleName').value;\r\n this.providerModel.providerLastName = basicInfo.get('lastName').value;\r\n this.providerModel.fmnpAndPAProviderId = basicInfo.get('fmnpAndPAProviderId').value;\r\n this.providerModel.outsideLMS = basicInfo.get('outsideLMS').value;\r\n\r\n //Office Info\r\n const officeInfo = this.providerForm.get('officeGroup');\r\n this.providerModel.isSameAsPracticeAddress = officeInfo.get('isSameAsPracticeAddress').value;\r\n this.providerModel.officeAddress1 = officeInfo.get('address1').value;\r\n this.providerModel.officeAddress2 = officeInfo.get('address2').value;\r\n this.providerModel.officeCity = officeInfo.get('city').value;\r\n this.providerModel.officeState = officeInfo.get('state').value;\r\n this.providerModel.officeZipCode = officeInfo.get('zipcode').value;\r\n this.providerModel.officeEmail = officeInfo.get('email').value;\r\n\r\n const officePhone = officeInfo.get('phone').value;\r\n const officePager = officeInfo.get('pager').value;\r\n const officeFax = officeInfo.get('fax').value;\r\n //const officeFaxExtension = officeInfo.get('faxExtension').value;\r\n const officeUnlistedPhone_1 = officeInfo.get('unlistedPhone1').value;\r\n const officeUnlistedPhone_2 = officeInfo.get('unlistedPhone2').value;\r\n\r\n this.providerModel.officePhone = officePhone ? officePhone.match(/[0-9]+/g).join('') : officePhone;\r\n //this.providerModel.officePager = officePager ? officePager.match(/[0-9]+/g).join('') : officePager;\r\n this.providerModel.officePager = officePager;\r\n this.providerModel.officeFax = officeFax ? officeFax.match(/[0-9]+/g).join('') : officeFax;\r\n this.providerModel.officeFaxExtension = officeInfo.get('faxExtension').value;\r\n this.providerModel.officeUnlistedPhone1 = officeUnlistedPhone_1 ? officeUnlistedPhone_1.match(/[0-9]+/g).join('') : officeUnlistedPhone_1;\r\n this.providerModel.officeUnlistedPhone2 = officeUnlistedPhone_2 ? officeUnlistedPhone_2.match(/[0-9]+/g).join('') : officeUnlistedPhone_2;\r\n\r\n //Home Info\r\n const homeInfo = this.providerForm.get('homeGroup');\r\n this.providerModel.homeAddress1 = homeInfo.get('address1').value;\r\n this.providerModel.homeAddress2 = homeInfo.get('address2').value;\r\n this.providerModel.homeCity = homeInfo.get('city').value;\r\n this.providerModel.homeState = homeInfo.get('state').value;\r\n this.providerModel.homeZipCode = homeInfo.get('zipcode').value;\r\n\r\n const homePhone = homeInfo.get('phone').value;\r\n const homeUnlistedPhone = homeInfo.get('unlistedPhone').value;\r\n const homeMobile_1 = homeInfo.get('mobile1').value;\r\n const homeMobile_2 = homeInfo.get('mobile2').value;\r\n const homeMobile_3 = homeInfo.get('mobile3').value;\r\n\r\n\r\n this.providerModel.homePhone = homePhone ? homePhone.match(/[0-9]+/g).join('') : homePhone;\r\n this.providerModel.homeUnlistedPhone = homeUnlistedPhone ? homeUnlistedPhone.match(/[0-9]+/g).join('') : homeUnlistedPhone;\r\n this.providerModel.homeMobile1 = homeMobile_1 ? homeMobile_1.match(/[0-9]+/g).join('') : homeMobile_1;\r\n this.providerModel.homeMobile2 = homeMobile_2 ? homeMobile_2.match(/[0-9]+/g).join('') : homeMobile_2;\r\n this.providerModel.homeMobile3 = homeMobile_3 ? homeMobile_3.match(/[0-9]+/g).join('') : homeMobile_3;\r\n this.providerModel.homeAlternateNumber = homeInfo.get('alternateNumber').value;\r\n }\r\n\r\n private createSharedPractices(): void {\r\n const providerId = this.providerModel.providerId;\r\n for (var i = 0; i < this.sharedPracticeIds.length; i++) {\r\n this.providerModel.providerSharedPractices.push({\r\n sharedPracticeId: 0,\r\n providerId: providerId,\r\n facilityId: this.sharedPracticeIds[i],\r\n isActive: true\r\n });\r\n }\r\n }\r\n\r\n private updateSharedPractices(): void {\r\n const practiceId = this.providerForm.get('basicInfo.practiceName').value;\r\n if (this.providerModel.facilityId !== practiceId) {\r\n for (var i = 0; i < this.providerModel.providerSharedPractices.length; i++) {\r\n this.providerModel.providerSharedPractices[i].isActive = false;\r\n }\r\n this.createSharedPractices();\r\n } else if (this.providerModel.facilityId === practiceId) {\r\n const formArray = this.providerForm.get('basicInfo.shareCodes') as FormArray;\r\n for (var i = 0; i < formArray.length; i++) {\r\n const shareCodePracticeId = formArray.at(i).get('practiceId').value;\r\n const isChecked = formArray.at(i).get('isCheckboxChecked').value;\r\n const index = this.providerModel.providerSharedPractices.findIndex(x => x.facilityId === shareCodePracticeId);\r\n if (index > -1) {\r\n this.providerModel.providerSharedPractices[index].isActive = isChecked;\r\n } else if (index === -1 && isChecked) {\r\n this.providerModel.providerSharedPractices.push({\r\n sharedPracticeId: 0,\r\n providerId: this.providerModel.providerId,\r\n facilityId: shareCodePracticeId,\r\n isActive: true\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n private updateInstructions(): void {\r\n const formArray = this.providerForm.get('instructions') as FormArray;\r\n for (var i = 0; i < formArray.length; i++) {\r\n const providerId = formArray.at(i).get('providerId').value;\r\n const instructionTypeId = formArray.at(i).get('instructionType').value;\r\n const instructionSubTypeId = formArray.at(i).get('instructionSubType').value;\r\n if (providerId === 0) {\r\n this.providerInstructionModel = {\r\n id: 0,\r\n instructionText: formArray.at(i).get('instructionText').value,\r\n providerId: providerId,\r\n instructionTypeId: instructionTypeId,\r\n instructionSubTypeId: instructionSubTypeId,\r\n isActive: formArray.at(i).get('isActive').value\r\n };\r\n\r\n if (this.providerInstructionModel) {\r\n this.providerModel.providerInstructions.push(this.providerInstructionModel);\r\n }\r\n } else {\r\n for (var j = 0; j < this.providerModel.providerInstructions.length; j++) {\r\n if (this.providerModel.providerInstructions[j].instructionTypeId === instructionTypeId &&\r\n this.providerModel.providerInstructions[j].instructionSubTypeId === instructionSubTypeId &&\r\n this.providerModel.providerInstructions[j].providerId > 0) {\r\n this.providerModel.providerInstructions[j].instructionText = formArray.at(i).get('instructionText').value;\r\n this.providerModel.providerInstructions[j].isActive = formArray.at(i).get('isActive').value;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private createInstructions(): void {\r\n const formArray = this.providerForm.get('instructions') as FormArray;\r\n for (var i = 0; i < formArray.length; i++) {\r\n const formGroup = formArray.at(i);\r\n this.providerModel.providerInstructions.push({\r\n id: 0,\r\n instructionText: formGroup.get('instructionText').value,\r\n providerId: 0,\r\n instructionTypeId: formGroup.get('instructionType').value,\r\n instructionSubTypeId: formGroup.get('instructionSubType').value,\r\n isActive: formGroup.get('isActive').value\r\n });\r\n }\r\n }\r\n}\r\n\r\nfunction searchDropdown(control: AbstractControl): { [key: string]: any } {\r\n return { 'searchDropdown': true };\r\n}\r\n","module.exports = \"input.ng-invalid.ng-touched, select.ng-invalid.ng-touched {\\r\\n border: 1px solid red;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n \\r\\n
\\r\\n

Sorry, You Do Not Have Permissions To Create a New User

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ pageTitle }} User\\r\\n * required fields!\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n A Role is required\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Practice(s) is required\\r\\n
\\r\\n
\\r\\n Please choose a valid Practice(s)\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n First Name is required\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Last Name is required\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n An Email is required\\r\\n Enter A Valid Email Address\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n A Username is required\\r\\n Username already exists.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Password is required\\r\\n Password must be at least 8 characters in length\\r\\n \\r\\n Password should have at least 1 uppercase letter, 1 lowercase letter, one number and one special character\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Confirm Password is required\\r\\n Password and Confirm Password do not match\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Force User To Reset Password?\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component } from '@angular/core';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { Role } from 'src/app/models/role.model';\r\nimport { BasePage } from '../../common/base.page';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { NgForm, NgModel, AbstractControl, Validators } from '@angular/forms';\r\nimport { PracticeService } from 'src/app/services/practice.service';\r\n\r\n@Component({\r\n selector: 'newuser',\r\n templateUrl: './newuser.component.html',\r\n styleUrls: ['./newuser.component.css']\r\n})\r\nexport class NewUserComponent extends BasePage {\r\n userModel: User;\r\n passwordPattern: RegExp = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[$@@$!%*?&#])[A-Za-z\\d$@@$!%*?&#]{8,}/;\r\n facilityOptions: Array<{ id: number, name: string }>;\r\n providerOptions: Array<{ id: number, name: string }>;\r\n roleOptions: Array;\r\n searchPattern = /^[a-zA-Z0-9-!@$%#^&*()_+|~=`{}\\[\\]:\";'<>?,.\\/]*$/;\r\n confirmPasswordInput: string = '';\r\n userNameForUpdate: string = '';\r\n pageTitle: string = 'New';\r\n isUpdate: boolean = false;\r\n isAdmin: boolean = false;\r\n valid: boolean = false;\r\n\r\n constructor(private userService: UserService, private practiceService: PracticeService, public router: Router,\r\n private route: ActivatedRoute, public authService: AuthService) { super(authService) }\r\n\r\n ngOnInit() {\r\n this.isAdmin = this.authService.isAdmin();\r\n this.userModel = this.userService.initializeUserModel();\r\n\r\n var lkPractices = \"practices\";\r\n this.setLoading(lkPractices, true);\r\n this.practiceService.getAllPractices().subscribe(res => {\r\n this.facilityOptions = res.map(x => { return { id: x.facilityId, name: x.facilityName }; }) || [];\r\n this.setLoading(lkPractices, false);\r\n }, err => {\r\n this.facilityOptions = [];\r\n this.setLoading(lkPractices, false);\r\n });\r\n\r\n var lkGetRoles = \"getRoles\";\r\n this.setLoading(lkGetRoles, true);\r\n this.userService.getRoles().subscribe(res => {\r\n this.roleOptions = res || [];\r\n this.setLoading(lkGetRoles, false);\r\n }, err => {\r\n this.setLoading(lkGetRoles, false);\r\n this.roleOptions = [];\r\n });\r\n\r\n this.route.paramMap.subscribe(params => {\r\n const userId = +params.get('id');\r\n if (userId) {\r\n this.isUpdate = true;\r\n this.pageTitle = 'Update';\r\n this.getUser(userId);\r\n }\r\n });\r\n }\r\n\r\n getUser(userId: number): void {\r\n var lkUsers = \"users\";\r\n this.setLoading(lkUsers, true);\r\n this.userService.getUser(userId).subscribe(res => {\r\n if (res) {\r\n this.userModel = res;\r\n }\r\n this.confirmPasswordInput = this.userModel.password;\r\n this.userNameForUpdate = this.userModel.username;\r\n this.setLoading(lkUsers, false);\r\n });\r\n }\r\n\r\n get isExternalUser(): boolean {\r\n return this.userModel.roleId === 3;\r\n }\r\n\r\n get isUpdateUserName(): boolean {\r\n return !(this.userNameForUpdate === this.userModel.username);\r\n }\r\n\r\n setPractices(roleId: number): void {\r\n if (!this.isUpdate) {\r\n if (roleId === 1 || roleId === 2) {\r\n this.userModel.facilities = [];\r\n }\r\n } \r\n }\r\n\r\n onSearchDropDown(event, practice: NgModel): void {\r\n if (event.target.value) {\r\n const isValidPracticeOption = this.facilityOptions.find(x => x.name == event.target.value);\r\n if (!isValidPracticeOption) {\r\n practice.control.setErrors(null);\r\n practice.control.setErrors({ searchDropdown: 'Please choose a valid Practice(s)' });\r\n }\r\n } else { \r\n practice.control.setErrors(null);\r\n practice.control.setValidators(Validators.required);\r\n practice.control.updateValueAndValidity();\r\n return;\r\n } \r\n }\r\n\r\n onSubmit() {\r\n if (this.isUpdate) {\r\n if (this.userModel.roleId === 1 || this.userModel.roleId === 2) {\r\n this.userModel.facilities = [];\r\n }\r\n var lkUpdateUser = \"updateUser\";\r\n this.setLoading(lkUpdateUser, true);\r\n this.userService.saveUser(this.userModel).subscribe(res => {\r\n this.setLoading(lkUpdateUser, false);\r\n this.router.navigate(['manageusers', 'updated']);\r\n });\r\n } else {\r\n var lkCreateUser = \"createUser\";\r\n this.setLoading(lkCreateUser, true);\r\n this.userService.saveUser(this.userModel).subscribe(res => {\r\n this.setLoading(lkCreateUser, false);\r\n this.router.navigate(['manageusers', 'created']);\r\n });\r\n } \r\n }\r\n\r\n goBack(): void {\r\n this.router.navigate(['manageusers']);\r\n }\r\n}\r\n\r\nfunction searchDropdown(control: AbstractControl): { [key: string]: any } {\r\n return { 'searchDropdown': true };\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n Provider Sign Out\\r\\n * required fields!\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\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 the Sign Out Description\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Sign Out Indefinite\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please Enter Valid Date (Ex: '20 January 2020 12:00 AM')\\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 { ProviderSignOutModel } from \"../../models/providersignout.model\";\r\nimport { ProviderForSignOutModel } from \"../../models/providerforsignout.model\";\r\nimport { ProviderService } from \"../../services/provider.service\";\r\nimport { ProviderSignOutService } from \"../../services/providersignout.service\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { SuiModalService } from \"ng2-semantic-ui\";\r\nimport { ConfirmModal } from \"../../common/confirm-modal.component\";\r\n\r\n@Component({\r\n selector: 'lms-provider-signout',\r\n templateUrl: './providersignout.component.html',\r\n styles: [\r\n `input.ng-invalid.ng-touched, textarea.ng-invalid.ng-touched {\r\n border: 1px solid red;\r\n }`\r\n ]\r\n})\r\n\r\nexport class ProviderSignOutComponent implements OnInit {\r\n signOutDate: Date = null;\r\n providerSignOutForm: ProviderSignOutModel;\r\n providerForSignOutModel: ProviderForSignOutModel = {\r\n providerId: 0,\r\n providerName: '',\r\n facilityId: 0,\r\n facilityName: ''\r\n };\r\n minDate: Date = new Date();\r\n\r\n constructor(private providerService: ProviderService, private providerSignOutService: ProviderSignOutService, private route: ActivatedRoute,\r\n private router: Router, private suiModalService: SuiModalService) { }\r\n\r\n ngOnInit() {\r\n this.providerSignOutForm = this.providerSignOutService.initializeProviderSignOutModel();\r\n\r\n this.route.paramMap.subscribe(params => {\r\n const providerId = +params.get('id');\r\n \r\n this.providerService.getProviderForProviderSignOut(providerId).subscribe(res => {\r\n this.providerForSignOutModel = res;\r\n });\r\n\r\n this.providerSignOutForm.providerId = providerId;\r\n });\r\n }\r\n\r\n emptyUntilDate(): void {\r\n this.providerSignOutForm.date = null;\r\n }\r\n\r\n get isIndefiniteSignOut(): boolean {\r\n return !this.providerSignOutForm.isIndefinite;\r\n }\r\n\r\n goBack(): void {\r\n this.router.navigate(['editprovider', this.providerSignOutForm.providerId]);\r\n }\r\n\r\n onSubmit(): void {\r\n this.suiModalService\r\n .open(new ConfirmModal(\"Are you sure?\", \"Are you sure you want to Sign Out the Provider \\\"\" + this.providerForSignOutModel.providerName + \"\\\" associated with \\\"\" + this.providerForSignOutModel.facilityName + \"\\\"?\"))\r\n .onApprove(() => this.submitRequest())\r\n .onDeny(() => {\r\n }); \r\n }\r\n\r\n submitRequest(): void {\r\n if (!this.providerSignOutForm.isIndefinite) {\r\n //this.providerSignOutForm.date = new Date(this.providerSignOutForm.date.toUTCString());//.setHours(this.providerSignOutForm.date.getHours() - 5);\r\n this.providerSignOutForm.date = this.convertToString(this.signOutDate);\r\n }\r\n\r\n this.providerSignOutService.createProviderSignout(this.providerSignOutForm).subscribe(() => {\r\n this.router.navigate(['editprovider', this.providerSignOutForm.providerId]);\r\n });\r\n }\r\n\r\n convertToString(date: Date): string {\r\n var day = date.getDate(); // yields date\r\n var month = date.getMonth() + 1; // yields month (add one as '.getMonth()' is zero indexed)\r\n var year = date.getFullYear(); // yields year\r\n var hour = date.getHours(); // yields hours \r\n var minute = date.getMinutes(); // yields minutes\r\n var second = date.getSeconds(); // yields seconds\r\n\r\n // After this construct a string with the above results as below\r\n var dateString = month + '/' + day + '/' + year + ' ' + (hour > 0 ? hour : '00') + ':' + (minute > 0 ? minute : '00') + ':' + (second > 0 ? second : '00');\r\n return dateString;\r\n }\r\n}\r\n","module.exports = \"@media (max-width: 767px) {\\r\\n /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */\\r\\n .body-content {\\r\\n padding-top: 50px;\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AppComponent } from './app.component';\r\nimport { NavMenuComponent } from './nav-menu/navmenu.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { NewProviderComponent } from './administration/newprovider/newprovider.component';\r\nimport { NewUserComponent } from './administration/newuser/newuser.component';\r\nimport { ManageFacilityComponent } from './administration/managefacility/managefacility.component';\r\nimport { ManageProviderComponent } from './administration/manageprovider/manageprovider.component';\r\nimport { NavComponent } from './nav-menu/nav.component';\r\nimport { ManageScheduleComponent } from './scheduler/manageschedule.component';\r\nimport { LoginService } from './services/login.service';\r\nimport { FacilityService } from './services/facility.service';\r\nimport { ForgotPasswordComponent } from './forgotpassword/forgotpassword.component';\r\nimport { SecuritySettingsComponent } from './securitysettings/securitysettings.component';\r\nimport { ProviderService } from './services/provider.service';\r\nimport { DataService } from './services/data.service';\r\nimport { GuestService } from './services/guest.service';\r\nimport { CompareFieldsValidatorDirective } from './common/directives/comparefieldsvalidator.directive';\r\nimport { ExistingUserNameValidatorDirective } from './common/directives/usernameexists.directive';\r\nimport { ChangePasswordComponent } from './changepassword/changepassword.component';\r\nimport { ResetPasswordComponent } from './resetpassword/resetpassword.component';\r\nimport { TableSearchFilterComponent } from './common/table-search-filter/table-search-filter.component';\r\nimport { PaginationPageSizerComponent } from './common/pagination-page-sizer/pagination-page-sizer.component';\r\nimport { SuiModule, SuiModalService } from 'ng2-semantic-ui';\r\nimport { ConfirmModalComponent } from './common/confirm-modal.component';\r\nimport { FlatpickrModule } from 'angularx-flatpickr';\r\nimport { CalendarModule, DateAdapter } from 'angular-calendar';\r\nimport { adapterFactory } from 'angular-calendar/date-adapters/date-fns';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ManageUsersComponent } from './administration/manageusers/manageusers.component';\r\nimport { KeyValueTransformPipe } from './common/pipes/key-value-transform.pipe';\r\nimport { UserService } from './services/user.service';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { AdminHudComponent } from './header/admin-hud.component';\r\nimport { KeyValueContatenationPipe } from './common/pipes/key-value-concatenation.pipe';\r\nimport { NotificationReminderSetupComponent } from './notificationsetup/notification-reminder-setup/notificationremindersetup.component';\r\nimport { NotificationReminderSetupService } from './services/notificationremindersetup.service';\r\nimport { NotesAnnouncementsComponent } from './notes-announcements/notesannouncements.component';\r\nimport { ManageNotesAnnouncementsComponent } from './manage-notes-announcements/managenotesannouncements.component';\r\nimport { NotesAndAnnouncementsService } from './services/notesandannouncements.service';\r\nimport { NewPracticeComponent } from './administration/newpractice/newpractice.component';\r\nimport { PracticeService } from './services/practice.service';\r\nimport { SharecodesComponent } from './share-codes/sharecodes.component';\r\nimport { ManageSharecodesComponent } from './manage-sharecodes/managesharecodes.component';\r\nimport { StandardViewComponent } from './standard-view-schedule/standardview.component';\r\nimport { PulmonaryViewComponent } from './pulmonary-view-schedule/pulmonaryview.component';\r\nimport { PulmonaryViewComponent1 } from './pulmonary1-view-schedule/pulmonaryview1.component';\r\nimport { AuthService } from './services/auth.service';\r\nimport { PracticeScheduleService } from './services/practiceSchedule.service';\r\nimport { PhoneNumberPipe } from './common/pipes/phonenumber.pipe';\r\nimport { ProviderSignOutComponent } from './administration/providersignout/providersignout.component';\r\nimport { ProviderSignOutService } from './services/providersignout.service';\r\nimport { NotificationMessagesComponent } from './notificationmessages/notificationmessages.component';\r\nimport { NotificationMessagesService } from './services/notificationmessages.service';\r\nimport { OnCallVolumeComponent } from './reports/on-call-volume/on-call-volume.component';\r\nimport { ReportService } from './services/report.service';\r\nimport { UserRoleAuthGuardService } from './services/user-role-auth-guard.service';\r\nimport { CopyScheduleComponent } from './copyschedule/copyschedule.component';\r\nimport { CalendarHeaderComponent } from './common/calendar-header/calendarheader.component';\r\nimport { ErrorService } from './services/error.service';\r\nimport { DigitOnyDirective } from './common/directives/digitonly.directive';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NavMenuComponent,\r\n HomeComponent,\r\n LoginComponent,\r\n NewProviderComponent,\r\n NewUserComponent,\r\n ManageFacilityComponent,\r\n ManageProviderComponent,\r\n ManageScheduleComponent,\r\n NavComponent,\r\n ForgotPasswordComponent,\r\n SecuritySettingsComponent,\r\n TableSearchFilterComponent,\r\n PaginationPageSizerComponent,\r\n ConfirmModalComponent,\r\n ManageUsersComponent,\r\n KeyValueTransformPipe,\r\n HeaderComponent,\r\n AdminHudComponent,\r\n KeyValueContatenationPipe,\r\n CompareFieldsValidatorDirective,\r\n ExistingUserNameValidatorDirective,\r\n ChangePasswordComponent,\r\n ResetPasswordComponent,\r\n NotificationReminderSetupComponent,\r\n NotesAnnouncementsComponent,\r\n ManageNotesAnnouncementsComponent,\r\n NewPracticeComponent,\r\n SharecodesComponent,\r\n ManageSharecodesComponent,\r\n StandardViewComponent,\r\n PulmonaryViewComponent,\r\n PulmonaryViewComponent1,\r\n PhoneNumberPipe,\r\n ProviderSignOutComponent,\r\n NotificationMessagesComponent,\r\n ProviderSignOutComponent,\r\n OnCallVolumeComponent,\r\n CopyScheduleComponent,\r\n CalendarHeaderComponent,\r\n DigitOnyDirective\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n FlatpickrModule.forRoot(),\r\n FormsModule, NgSelectModule,\r\n ReactiveFormsModule,\r\n CalendarModule.forRoot({\r\n provide: DateAdapter,\r\n useFactory: adapterFactory\r\n }),\r\n SuiModule,\r\n RouterModule.forRoot([\r\n { path: '', redirectTo: 'login', pathMatch: 'full' },\r\n { path: 'login', component: LoginComponent },\r\n { path: 'newprovider', canActivate: [UserRoleAuthGuardService], component: NewProviderComponent },\r\n { path: 'newuser', canActivate: [UserRoleAuthGuardService], component: NewUserComponent },\r\n { path: 'managepractice', canActivate: [UserRoleAuthGuardService], component: ManageFacilityComponent },\r\n { path: 'managepractice/:status', canActivate: [UserRoleAuthGuardService], component: ManageFacilityComponent },\r\n { path: 'newpractice', canActivate: [UserRoleAuthGuardService], component: NewPracticeComponent },\r\n { path: 'editpractice/:id', canActivate: [UserRoleAuthGuardService], component: NewPracticeComponent },\r\n { path: 'manageschedule', canActivate: [UserRoleAuthGuardService], component: ManageScheduleComponent },\r\n { path: 'manageprovider', canActivate: [UserRoleAuthGuardService], component: ManageProviderComponent },\r\n { path: 'manageprovider/:status', canActivate: [UserRoleAuthGuardService], component: ManageProviderComponent },\r\n { path: 'editprovider/:id', canActivate: [UserRoleAuthGuardService], component: NewProviderComponent },\r\n { path: 'edituser/:id', canActivate: [UserRoleAuthGuardService], component: NewUserComponent },\r\n { path: 'forgotpassword', component: ForgotPasswordComponent },\r\n { path: 'securitysettings', canActivate: [UserRoleAuthGuardService], component: SecuritySettingsComponent },\r\n { path: 'manageusers', canActivate: [UserRoleAuthGuardService], component: ManageUsersComponent },\r\n { path: 'manageusers/:status', canActivate: [UserRoleAuthGuardService], component: ManageUsersComponent },\r\n { path: 'changepassword', canActivate: [UserRoleAuthGuardService], component: ChangePasswordComponent },\r\n { path: 'changepassword/:id', canActivate: [UserRoleAuthGuardService], component: ChangePasswordComponent },\r\n { path: 'resetpassword', component: ResetPasswordComponent },\r\n { path: 'manageusers', canActivate: [UserRoleAuthGuardService], component: ManageUsersComponent },\r\n { path: 'remindersetup', canActivate: [UserRoleAuthGuardService], component: NotificationReminderSetupComponent },\r\n { path: 'notesannouncements', canActivate: [UserRoleAuthGuardService], component: NotesAnnouncementsComponent },\r\n { path: 'managenotes', canActivate: [UserRoleAuthGuardService], component: ManageNotesAnnouncementsComponent },\r\n { path: 'editnotesannouncements/:id', canActivate: [UserRoleAuthGuardService], component: NotesAnnouncementsComponent },\r\n { path: 'sharecodes', canActivate: [UserRoleAuthGuardService], component: SharecodesComponent },\r\n { path: 'managesharecodes', canActivate: [UserRoleAuthGuardService], component: ManageSharecodesComponent },\r\n { path: 'standardview', canActivate: [UserRoleAuthGuardService], component: StandardViewComponent },\r\n { path: 'standardview/:id/:isCopied', canActivate: [UserRoleAuthGuardService], component: StandardViewComponent },\r\n { path: 'standardview/:id', canActivate: [UserRoleAuthGuardService], component: StandardViewComponent },\r\n { path: 'pulmonaryview', canActivate: [UserRoleAuthGuardService], component: PulmonaryViewComponent },\r\n { path: 'pulmonaryview1', canActivate: [UserRoleAuthGuardService], component: PulmonaryViewComponent1 },\r\n { path: 'providersignout/:id', canActivate: [UserRoleAuthGuardService], component: ProviderSignOutComponent },\r\n { path: 'home', canActivate: [UserRoleAuthGuardService], component: NotificationMessagesComponent },\r\n { path: 'on-call-volume-report', canActivate: [UserRoleAuthGuardService], component: OnCallVolumeComponent },\r\n { path: 'copyschedule', canActivate: [UserRoleAuthGuardService], component: CopyScheduleComponent },\r\n { path: '**', redirectTo: 'login' }\r\n ])\r\n ],\r\n entryComponents: [\r\n ConfirmModalComponent\r\n ],\r\n providers: [LoginService, DataService, FacilityService, GuestService, SuiModalService, ProviderService, UserService, NotificationReminderSetupService,\r\n NotesAndAnnouncementsService, PracticeService, AuthService, PracticeScheduleService, ProviderSignOutService, NotificationMessagesService, ReportService, UserRoleAuthGuardService, ErrorService],\r\n bootstrap: [AppComponent]\r\n})\r\n\r\nexport class AppModule { }\r\n","module.exports = \"input.ng-invalid.ng-touched {\\r\\n border: 1px solid red;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Change Password\\r\\n * required fields!\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ successMessage }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Current Password is required\\r\\n Current Password must be at least 8 characters in length\\r\\n \\r\\n Current Password should have at least 1 uppercase letter, 1 lowercase letter, one number and one special character\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n New Password is required\\r\\n New Password must be at least 8 characters in length\\r\\n \\r\\n New Password should have at least 1 uppercase letter, 1 lowercase letter, one number and one special character\\r\\n \\r\\n
New Password shouldn't match with Current Password
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Confirm Password is required
\\r\\n
Confirm Password doesn't match with New Password
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { ChangePasswordModel } from '../models/changepassword.model';\r\nimport { UserService } from '../services/user.service';\r\nimport { AuthService } from \"../services/auth.service\";\r\nimport { BasePage } from \"../common/base.page\";\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './changepassword.component.html',\r\n styleUrls: ['./changepassword.component.css']\r\n})\r\n\r\nexport class ChangePasswordComponent extends BasePage {\r\n passwordPattern: RegExp = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[$@@$!%*?&#])[A-Za-z\\d$@@$!%*?&#]{8,}/;\r\n changePasswordModel: ChangePasswordModel = {\r\n userId: 0,\r\n password: \"\",\r\n newPassword: \"\"\r\n };\r\n successMessage: string = '';\r\n\r\n constructor(private activatedRoute: ActivatedRoute, private userService: UserService, public authService: AuthService) { super(authService) }\r\n\r\n ngOnInit() {\r\n if (this.activatedRoute.snapshot.params['id']) {\r\n this.changePasswordModel.userId = this.activatedRoute.snapshot.params['id'];\r\n }\r\n\r\n let user = this.authService.getUser();\r\n if (user != null) {\r\n this.changePasswordModel.userId = user.id;\r\n } else {\r\n this.authService.signOut();\r\n }\r\n }\r\n\r\n onSubmit(changePasswordForm: NgForm) {\r\n if (this.changePasswordModel.userId > 0) {\r\n var lkChangePassword = \"changePassword\";\r\n this.setLoading(lkChangePassword, true);\r\n this.userService.changePassword(this.changePasswordModel).subscribe(res => {\r\n this.setLoading(lkChangePassword, false);\r\n changePasswordForm.reset();\r\n if (res) {\r\n this.successMessage = \"Password has been Successfully Changed!!!\";\r\n console.log(\"Password has been Successfully Changed!!!\");\r\n } else {\r\n this.successMessage = \"Old password does not match our record. Please try again!\";\r\n console.log(\"Password change was unsuccessful\");\r\n }\r\n });\r\n } \r\n }\r\n}\r\n","import { OnInit } from '@angular/core';\r\n\r\nexport abstract class BaseComponent implements OnInit {\r\n\r\n\tpublic isLoading: boolean = false;\r\n private LoadingList: Map = new Map();\r\n\r\n\tabstract ngOnInit();\r\n\r\n\tsetLoading (loadingKey: string, value: boolean) : void {\r\n this.LoadingList[loadingKey] = value;\r\n if (value) {\r\n this.isLoading = value;\r\n } else {\r\n var stillLoading: boolean = false;\r\n this.LoadingList.forEach((v: boolean, key: string) => {\r\n if (v) {\r\n stillLoading = true;\r\n }\r\n });\r\n this.isLoading = stillLoading;\r\n }\r\n }\r\n\r\n checkLoading ( loadingKey: string ): boolean {\r\n return this.LoadingList[loadingKey] == true;\r\n }\r\n}\r\n","import { OnInit } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { BaseComponent } from './base.component';\r\n\r\nexport abstract class BasePage extends BaseComponent implements OnInit {\r\n\r\n constructor(public authService: AuthService) { super() }\r\n\r\n checkPermission(permission: string): boolean {\r\n if (this.authService.getUser() == null) {\r\n return false;\r\n }\r\n return this.checkPermissionImpl(permission);\r\n }\r\n\r\n private checkPermissionImpl(permission: string): boolean {\r\n var user = this.authService.getUser();\r\n\r\n if (this.userHasPermission(user, permission)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private userHasPermission(user: any, permission: string): boolean {\r\n var userRoleId = user != null ? (user.accesslevel + \"\").trim() : '';\r\n if (userRoleId !== '') {\r\n if (userRoleId === 'lmsadmin_api_access') {\r\n return true;\r\n } else {\r\n var permissions = user.userpermissions;\r\n if (user !== null) {\r\n var permissionsArray = permissions.split(',');\r\n if (permission.indexOf(',') > -1) {\r\n var checkPermissionsList = permission.split(',');\r\n return permissionsArray.filter(pa => {\r\n if (checkPermissionsList.indexOf(pa) >= 0)\r\n return true;\r\n }).length > 0;\r\n } else {\r\n return permissionsArray.filter(pa => {\r\n if (pa === permission)\r\n return true;\r\n }).length > 0;\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n Previous\\r\\n
\\r\\n
\\r\\n Today\\r\\n
\\r\\n
\\r\\n Next\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ viewDate | calendarDate: view + 'ViewTitle':locale }}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'mwl-calendar-header',\r\n templateUrl: './calendarheader.component.html'\r\n})\r\n\r\nexport class CalendarHeaderComponent {\r\n @Input() view: string;\r\n\r\n @Input() viewDate: Date;\r\n\r\n @Input() locale: string = 'en';\r\n\r\n @Output() viewChange: EventEmitter = new EventEmitter();\r\n\r\n @Output() viewDateChange: EventEmitter = new EventEmitter();\r\n} \r\n","import { Component } from '@angular/core';\r\nimport { SuiModal, ComponentModalConfig, ModalSize } from \"ng2-semantic-ui\"\r\n\r\nexport interface IConfirmModalContext {\r\n title: string;\r\n question: string;\r\n}\r\n\r\n@Component({\r\n selector: 'modal-confirm',\r\n template: `\r\n
{{ modal.context.title }}
\r\n
\r\n

{{ modal.context.question }}

\r\n
\r\n
\r\n \r\n \r\n
\r\n`\r\n})\r\n\r\nexport class ConfirmModalComponent {\r\n constructor(public modal: SuiModal) { }\r\n}\r\n\r\nexport class ConfirmModal extends ComponentModalConfig {\r\n constructor(title: string, question: string) {\r\n super(ConfirmModalComponent, { title, question });\r\n\r\n this.isClosable = false;\r\n this.transitionDuration = 200;\r\n this.size = ModalSize.Small;\r\n }\r\n}\r\n","import { Directive, Input } from \"@angular/core\";\r\nimport { Validator, AbstractControl, ValidationErrors, NG_VALIDATORS } from \"@angular/forms\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\n@Directive({\r\n selector: '[comparefields]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: CompareFieldsValidatorDirective, multi: true }]\r\n})\r\n\r\nexport class CompareFieldsValidatorDirective implements Validator {\r\n @Input('comparefields') compareControls: string;\r\n @Input('comparingControls') comparingControlContent: string;\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n if (control.value == null || control.value.length === 0) {\r\n return null;\r\n }\r\n\r\n const controlToCompare = control.root.get(this.compareControls);\r\n\r\n if (controlToCompare) {\r\n const subscription: Subscription = controlToCompare.valueChanges.subscribe(() => {\r\n control.updateValueAndValidity();\r\n subscription.unsubscribe();\r\n });\r\n }\r\n\r\n if (this.comparingControlContent === 'currentpassword') {\r\n return controlToCompare && controlToCompare.value === control.value ? { 'comparefields': true } : null;\r\n } else if (this.comparingControlContent === 'newpassword') {\r\n return controlToCompare && controlToCompare.value !== control.value ? { 'comparefields': true } : null;\r\n } \r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[digitOnly]'\r\n})\r\nexport class DigitOnyDirective {\r\n constructor(\r\n public el: ElementRef\r\n ) { }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent) {\r\n if (\r\n // Allow: Delete, Backspace, Tab, Escape, Enter\r\n [46, 8, 9, 27, 13].indexOf(e.keyCode) !== -1 ||\r\n (e.keyCode === 65 && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.keyCode === 67 && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.keyCode === 86 && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.keyCode === 88 && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.keyCode === 65 && e.metaKey === true) || // Cmd+A (Mac)\r\n (e.keyCode === 67 && e.metaKey === true) || // Cmd+C (Mac)\r\n (e.keyCode === 86 && e.metaKey === true) || // Cmd+V (Mac)\r\n (e.keyCode === 88 && e.metaKey === true) || // Cmd+X (Mac)\r\n (e.keyCode >= 35 && e.keyCode <= 39) // Home, End, Left, Right\r\n ) {\r\n return; // let it happen, don't do anything\r\n }\r\n // Ensure that it is a number and stop the keypress\r\n if (\r\n (e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) &&\r\n (e.keyCode < 96 || e.keyCode > 105)\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n}\r\n","import { Directive, Input, HostListener } from '@angular/core';\r\nimport { AsyncValidator, NG_ASYNC_VALIDATORS, AbstractControl, ValidationErrors } from \"@angular/forms\";\r\nimport { Observable, timer, of } from 'rxjs';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { map, switchMap } from 'rxjs/operators';\r\n\r\n@Directive({\r\n selector: '[userNameExists]',\r\n providers: [{ provide: NG_ASYNC_VALIDATORS, useExisting: ExistingUserNameValidatorDirective, multi: true }]\r\n})\r\n\r\nexport class ExistingUserNameValidatorDirective implements AsyncValidator {\r\n userModel: User;\r\n @Input() userNameForUpdate: boolean;\r\n\r\n constructor(private userService: UserService) { }\r\n\r\n validate(control: AbstractControl): Promise | Observable {\r\n if (this.userNameForUpdate !== control.value) {\r\n return timer(1000).pipe(\r\n switchMap(() => {\r\n if (!control.value) {\r\n return of(null);\r\n }\r\n return this.userService.userNameExists(control.value).pipe(map(user => {\r\n return user ? { \"userNameExists\": true } : null;\r\n }));\r\n })\r\n );\r\n } else {\r\n return of(null);\r\n } \r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n\"","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'pagination-page-sizer',\r\n templateUrl: './pagination-page-sizer.component.html'\r\n})\r\n\r\nexport class PaginationPageSizerComponent {\r\n gridSizes = [\r\n 10,\r\n 15,\r\n 25,\r\n 50\r\n ];\r\n\r\n @Input() recordsPerPage: number;\r\n @Output() recordsPerPageUpdated: EventEmitter;\r\n\r\n constructor() {\r\n this.recordsPerPageUpdated = new EventEmitter();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n updateRecordsPerPage(newPageSize: number) {\r\n this.recordsPerPageUpdated.emit(newPageSize);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: 'keyValueConcatenation'\r\n})\r\n\r\nexport class KeyValueContatenationPipe implements PipeTransform{\r\n transform(keys: Array, targetArray: Array<{ key: string | number, value: string | number }>) {\r\n if (keys === null || !targetArray)\r\n return 'Not available';\r\n //var concateNumbers = keys.join('#');\r\n //var validResults = targetArray.filter(x => concateNumbers.indexOf(x.key.toString()) !== -1);\r\n var validResults = targetArray.filter(x => keys.indexOf(x.key) !== -1);\r\n var retVal: string = '';\r\n validResults.forEach(x => retVal += x.value + ', ');\r\n return retVal.substring(0, retVal.length - 2);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'keyValueTransform'\r\n})\r\n\r\nexport class KeyValueTransformPipe implements PipeTransform {\r\n transform(key: string | number, targetArray: Array<{ key: string | number, value: string | number }>) {\r\n if (key === null || !targetArray)\r\n return 'Not available';\r\n var validResults = targetArray.filter(x => +x.key == +key);\r\n if (validResults)\r\n return validResults[0].value;\r\n return 'Not available';\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: 'phoneNumberDisplay'\r\n})\r\n\r\nexport class PhoneNumberPipe implements PipeTransform {\r\n \r\n transform(phoneNumber: string): string {\r\n if (phoneNumber) {\r\n var mask = phoneNumber.replace(/\\D/g, '').match(/(\\d{0,3})(\\d{0,3})(\\d{0,4})/);\r\n return !mask[2] ? mask[1] : '(' + mask[1] + ')' + '-' + mask[2] + (!mask[3] ? '' : '-' + mask[3]);\r\n }\r\n return null;\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n\"","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'table-search-filter',\r\n templateUrl: './table-search-filter.component.html'\r\n})\r\n\r\nexport class TableSearchFilterComponent {\r\n private _searchArray: Array;\r\n searchTerm: string;\r\n searchingNext: boolean;\r\n\r\n @Input('facilitySearch') searchablePropertyNames: Array;\r\n\r\n @Input()\r\n set searchableArray(arr: Array) {\r\n this._searchArray = arr || [];\r\n this.searchChanged();\r\n }\r\n\r\n @Output() filterSearch: EventEmitter>;\r\n\r\n constructor() {\r\n this.filterSearch = new EventEmitter>();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchTerm = '';\r\n }\r\n\r\n searchChanged() {\r\n this.filterSearch.emit(this._searchArray.filter(t => {\r\n return this.searchStringFilter(t);\r\n }));\r\n }\r\n\r\n searchStringFilter(obj: object) {\r\n var str = (this.searchTerm || '').toLowerCase().trim();\r\n if (str !== '') {\r\n for (var prop in obj) {\r\n var searchables = this.searchablePropertyNames || [];\r\n if (searchables.length === 0 || searchables.find((x) => { return x === prop }) !== undefined) {\r\n var value = obj[prop];\r\n if (value !== null && value !== undefined) {\r\n if (typeof value === \"object\") {\r\n // recurrsively search all the objects in the object\r\n if (this.searchStringFilter(value)) {\r\n return true;\r\n }\r\n } else {\r\n if ((value + \"\").toLowerCase().includes(str)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\nexport class WebHttpUrlEncoding implements HttpParameterCodec {\r\n encodeKey(k: string): string {\r\n return encodeURIComponent(k);\r\n }\r\n\r\n encodeValue(v: string): string {\r\n return encodeURIComponent(v);\r\n }\r\n\r\n decodeKey(k: string): string {\r\n return decodeURIComponent(k);\r\n }\r\n\r\n decodeValue(v: string) {\r\n return decodeURIComponent(v);\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Copy Schedule\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Practice Name: {{copyScheduleModel.facilityName}}
\\r\\n
\\r\\n
\\r\\n
Schedule Type: {{copyScheduleModel.scheduleTypeName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Week {{items.weekNumber}} - {{items.startDate}} - {{items.endDate}}\\r\\n
\\r\\n
\\r\\n
items.sliceBegin || i == items.sliceBegin) && i < items.sliceEnd\\\">\\r\\n {{item.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\"","import { Component, OnInit } from '@angular/core';\r\nimport { PracticeScheduleService } from '../services/practiceSchedule.service';\r\nimport { CopyScheduleModel } from '../models/copyschedule.model';\r\nimport { CopyScheduleListModel } from '../models/copyschedulelist.model';\r\nimport { SuiModalService } from \"ng2-semantic-ui\";\r\nimport { ConfirmModal } from \"../common/confirm-modal.component\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { BasePage } from '../common/base.page';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Component({\r\n selector: 'lms-copy-schedule',\r\n templateUrl: './copyschedule.component.html'\r\n})\r\n\r\nexport class CopyScheduleComponent extends BasePage {\r\n copyScheduleModel: CopyScheduleModel;\r\n copyScheduleListModel: CopyScheduleListModel = { copyScheduleWeeksLists: [], copyScheduleDatesLists: [], facilityId: 0, scheduleTypeId: 0, groupsPerShareId: 0 };\r\n allDatesCheckedForWeek: boolean;\r\n\r\n constructor(private practiceScheduleService: PracticeScheduleService, private suiModalService: SuiModalService, private router: Router, public authService: AuthService) { super(authService) }\r\n\r\n ngOnInit() {\r\n this.copyScheduleModel = this.practiceScheduleService.getCopySchedule();\r\n this.practiceScheduleService.getListOfDates().subscribe(\r\n (result) => {\r\n if (result) {\r\n this.copyScheduleListModel = result;\r\n this.copyScheduleModel.facilityId = this.copyScheduleListModel.facilityId;\r\n }\r\n },\r\n (error: any) => {\r\n console.log('Error while getting list of dates');\r\n this.router.navigate(['standardview']);\r\n }\r\n );\r\n }\r\n\r\n onCheckWeekChange(event: boolean, index: number) {\r\n if (event) {\r\n for (var i = this.copyScheduleListModel.copyScheduleWeeksLists[index].sliceBegin; i < this.copyScheduleListModel.copyScheduleWeeksLists[index].sliceEnd; i++) {\r\n this.copyScheduleListModel.copyScheduleDatesLists[i].isChecked = true;\r\n }\r\n this.copyScheduleListModel.copyScheduleWeeksLists[index].allSelected = true;\r\n this.copyScheduleListModel.copyScheduleWeeksLists[index].allUnselected = false;\r\n }\r\n else {\r\n for (var i = this.copyScheduleListModel.copyScheduleWeeksLists[index].sliceBegin; i < this.copyScheduleListModel.copyScheduleWeeksLists[index].sliceEnd; i++) {\r\n this.copyScheduleListModel.copyScheduleDatesLists[i].isChecked = false;\r\n }\r\n this.copyScheduleListModel.copyScheduleWeeksLists[index].allSelected = false;\r\n this.copyScheduleListModel.copyScheduleWeeksLists[index].allUnselected = true;\r\n }\r\n }\r\n\r\n onCheckDateChange(event: boolean, dateIndex: number, weekIndex: number) {\r\n if (event) {\r\n this.allDatesCheckedForWeek =\r\n this.checkIfAllDatesForWeekAreChecked(this.copyScheduleListModel.copyScheduleWeeksLists[weekIndex].sliceBegin, this.copyScheduleListModel.copyScheduleWeeksLists[weekIndex].sliceEnd, true);\r\n\r\n if (this.allDatesCheckedForWeek) {\r\n this.copyScheduleListModel.copyScheduleWeeksLists[weekIndex].allSelected = true;\r\n }\r\n this.copyScheduleListModel.copyScheduleWeeksLists[weekIndex].allUnselected = false;\r\n }\r\n else {\r\n const allDatesUnCheckedForWeek =\r\n this.checkIfAllDatesForWeekAreChecked(this.copyScheduleListModel.copyScheduleWeeksLists[weekIndex].sliceBegin, this.copyScheduleListModel.copyScheduleWeeksLists[weekIndex].sliceEnd, false);\r\n\r\n if (allDatesUnCheckedForWeek) {\r\n this.copyScheduleListModel.copyScheduleWeeksLists[weekIndex].allUnselected = true;\r\n }\r\n this.copyScheduleListModel.copyScheduleWeeksLists[weekIndex].allSelected = false;\r\n }\r\n }\r\n\r\n checkIfAllDatesForWeekAreChecked(sliceBegin: number, sliceEnd: number, checkForAllSelected: boolean): boolean {\r\n if (checkForAllSelected) {\r\n for (var i = sliceBegin; i < sliceEnd; i++) {\r\n if (!this.copyScheduleListModel.copyScheduleDatesLists[i].isChecked) {\r\n return false;\r\n }\r\n }\r\n } else {\r\n for (var i = sliceBegin; i < sliceEnd; i++) {\r\n if (this.copyScheduleListModel.copyScheduleDatesLists[i].isChecked) {\r\n return false;\r\n }\r\n }\r\n }\r\n \r\n return true;\r\n }\r\n\r\n navigateToStandardView(): void {\r\n this.router.navigate(['standardview', this.copyScheduleModel.groupsPerShareId, false]);\r\n }\r\n\r\n onSubmit(): void {\r\n this.suiModalService\r\n .open(new ConfirmModal(\"Are you sure?\", \"Are you sure you want to copy the schedule?\"))\r\n .onApprove(() => this.submitRequest())\r\n .onDeny(() => {\r\n });\r\n }\r\n\r\n submitRequest(): void {\r\n if (this.copyScheduleModel.facilityId > 0) {\r\n if (this.copyScheduleModel.scheduleTypeId == 3 && this.copyScheduleModel.scheduleTypeName === 'Pulmonary') {\r\n this.practiceScheduleService.saveCopyScheduleForPulmonary(this.copyScheduleListModel).subscribe(\r\n () => {\r\n this.router.navigate(['standardview', this.copyScheduleModel.groupsPerShareId, true]);\r\n }\r\n );\r\n }\r\n else if (this.copyScheduleModel.scheduleTypeId == 4 && this.copyScheduleModel.scheduleTypeName === 'NP And PA') //NP And PA\r\n {\r\n this.practiceScheduleService.saveCopyScheduleForNPAndPA(this.copyScheduleListModel).subscribe(\r\n () => {\r\n this.router.navigate(['standardview', this.copyScheduleModel.groupsPerShareId, true]);\r\n }\r\n );\r\n }\r\n else {\r\n this.practiceScheduleService.saveCopySchedule(this.copyScheduleListModel).subscribe(\r\n () => {\r\n this.router.navigate(['standardview', this.copyScheduleModel.groupsPerShareId, true]);\r\n }\r\n );\r\n }\r\n } else {\r\n this.router.navigate(['standardview']);\r\n }\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 \\\"Lexington\\r\\n

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

\\r\\n Lexington Medical Society\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * required fields!\\r\\n\\r\\n

\\r\\n Forgot Password\\r\\n

\\r\\n
\\r\\n
\\r\\n {{ message }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n A valid Email is required\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ©{{ currentYear }} Lexington Medical Society.\\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 } from '@angular/core';\r\nimport { LoginService } from '../services/login.service';\r\nimport { NgForm } from '@angular/forms';\r\nimport { BasePage } from '../common/base.page';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-forgot-password',\r\n templateUrl: './forgotpassword.component.html'\r\n})\r\n\r\nexport class ForgotPasswordComponent extends BasePage {\r\n\r\n currentYear: number = new Date().getFullYear();\r\n message: string = '';\r\n constructor(private loginService: LoginService, public authService: AuthService) { super(authService) }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n onSubmit(form: NgForm) {\r\n var lkForgotPassword = \"forgotPassword\";\r\n this.setLoading(lkForgotPassword, true);\r\n this.loginService.sendResetPasswordEmail(form.value.email).subscribe(res => {\r\n this.setLoading(lkForgotPassword, false);\r\n if (res == 0) {\r\n this.message = \"The email address you entered does not registered in the system. Please contact administrator!\";\r\n } else {\r\n this.message = \"An email has been sent to your email address with instructions to reset your password. Please check your email and follow the instruction to reset your password!\";\r\n }\r\n })\r\n form.reset();\r\n }\r\n}\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'lms-admin-hud',\r\n template: `\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n `,\r\n styles: [`\r\n nav {\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n bottom: 0px;\r\n }\r\n `]\r\n})\r\nexport class AdminHudComponent {\r\n fullMenuDisplay: boolean = false;\r\n\r\n}\r\n","module.exports = \"body {\\r\\n}\\r\\n\\r\\n.site-header h1{\\r\\n font-size: x-large;\\r\\n}\\r\\n\\r\\n.site-header h2 {\\r\\n font-size: x-large;\\r\\n}\\r\\n\\r\\n.site-header {\\r\\n background-color: #374791;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:760px){\\r\\n .site-header h1#appTitle{\\r\\n display: none;\\r\\n }\\r\\n .site-header h2#appSubtitle{\\r\\n display: none;\\r\\n }\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu.profile-dropdown {\\r\\n font-size: 1.1rem;\\r\\n width: 300px;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n

\\r\\n

\\r\\n

\\r\\n

\\r\\n

Lexington Medical Society - SCHEDULER

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

{{fullName}}

\\r\\n
\\r\\n
\\r\\n Change Password\\r\\n Security Settings\\r\\n  Sign Out\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, EventEmitter, Output } from \"@angular/core\";\r\nimport { AuthService } from \"../services/auth.service\";\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\n\r\nexport class HeaderComponent implements OnInit {\r\n fullDisplay: boolean = false;\r\n fullName: string = '';\r\n @Output() displayToggled = new EventEmitter();\r\n constructor(private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n let user = this.authService.getUser();\r\n if (user != null) {\r\n this.fullName = user.firstname + ' ' + user.lastname;\r\n }\r\n }\r\n\r\n toggleDisplay() {\r\n this.fullDisplay = !this.fullDisplay;\r\n this.displayToggled.emit();\r\n }\r\n\r\n signOut() {\r\n this.authService.signOut();\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Home/Dashboard\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { PracticeScheduleService } from \"../services/practiceSchedule.service\";\r\n@Component({\r\n selector: 'home',\r\n templateUrl: './home.component.html'\r\n})\r\nexport class HomeComponent implements OnInit {\r\n serverTime: Date;\r\n constructor(private practiceScheduleService: PracticeScheduleService) { }\r\n ngOnInit() {\r\n this.getServerTime();\r\n }\r\n getServerTime(): void {\r\n \r\n //var dtFromServer = new Date();\r\n this.practiceScheduleService.getServerTime().subscribe(res => {\r\n //debugger;\r\n // console.log(new Date(res.dt));\r\n this.serverTime = new Date(res);\r\n localStorage.setItem('serverTime', res);\r\n // return this.serverTime;\r\n\r\n });\r\n\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"Lexington\\r\\n

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

\\r\\n Lexington Medical Society\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * required fields!\\r\\n\\r\\n

\\r\\n Login\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ loginModel.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 \\r\\n
\\r\\n
\\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
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ©{{ currentYear }} Lexington Medical Society.\\r\\n
\\r\\n
\\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 { ActivatedRoute, Router } from '@angular/router';\r\nimport { LoginService } from '../services/login.service';\r\nimport { LoginModel } from '../models/login.model';\r\nimport { retry } from 'rxjs/operators';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Component({\r\n\tselector: 'Login',\r\n\ttemplateUrl: './login.component.html'\r\n})\r\nexport class LoginComponent implements OnInit {\r\n facility: string=\"0\";\r\n userName: string=\"\";\r\n password: string=\"\";\r\n loginModel: LoginModel;\r\n private LoadingList: Map = new Map();\r\n public isLoading: boolean = false;\r\n currentYear: number = new Date().getFullYear();\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private loginService: LoginService, private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n this.loginModel = { id:0, username:\"\", auth_token:\"\", message:\"\", isinvalid:false };\r\n }\r\n\r\n Login() {\r\n var lkLogin = \"login\";\r\n this.setLoading(lkLogin, true);\r\n this.loginService.getLogin(this.userName, this.password, this.facility).subscribe(res => {\r\n this.setLoading(lkLogin, false);\r\n this.loginModel = res;\r\n if (!this.loginModel.isinvalid) {\r\n this.authService.setUserToken(this.loginModel.auth_token);\r\n let user = this.authService.getUser();\r\n if (user.resetpassword === 'true') {\r\n this.router.navigate([`./changepassword`]);\r\n } else {\r\n this.router.navigate([`./home`]);\r\n }\r\n }\r\n }, err => {\r\n this.setLoading(lkLogin, false);\r\n }); \r\n }\r\n\r\n Login1() {\r\n this.router.navigate([`./home`]);\r\n }\r\n\r\n setLoading(loadingKey: string, value: boolean): void {\r\n this.LoadingList[loadingKey] = value;\r\n if (value) {\r\n this.isLoading = value;\r\n } else {\r\n var stillLoading: boolean = false;\r\n this.LoadingList.forEach((v: boolean, key: string) => {\r\n if (v) {\r\n stillLoading = true;\r\n }\r\n });\r\n this.isLoading = stillLoading;\r\n }\r\n }\r\n\r\n checkLoading(loadingKey: string): boolean {\r\n return this.LoadingList[loadingKey] == true;\r\n }\r\n}\r\n","module.exports = \" \\r\\n
\\r\\n
\\r\\n
Manage Notes / Announcements
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Add Notes / Announcements\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
TypePractices | ProvidersExpiration DateActions
{{ na.typeId | keyValueTransform: typeOptions }}{{ na.providers | keyValueConcatenation: providerOptions }}{{ na.practices | keyValueConcatenation: practiceOptions }}{{ na.expirationDate | date:'medium' }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
TypePracticesDescriptionExpiration DateActions
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { NotesAndAnnouncementsModel } from \"../models/notesandannouncements.model\";\r\nimport { NotesAndAnnouncementsService } from \"../services/notesandannouncements.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { SuiModalService } from \"ng2-semantic-ui\";\r\nimport { ConfirmModal } from \"../common/confirm-modal.component\";\r\nimport { GuestService } from \"../services/guest.service\";\r\nimport { FacilityService } from \"../services/facility.service\";\r\nimport { ProviderService } from \"../services/provider.service\";\r\n\r\n@Component({\r\n selector: 'lms-manage-notes-announcements',\r\n templateUrl: './managenotesannouncements.component.html'\r\n})\r\n\r\nexport class ManageNotesAnnouncementsComponent implements OnInit {\r\n notesAndAnnouncements: Array;\r\n filteredNotesAndAnnouncements: Array;\r\n filterednotesAndAnnouncementsPage: Array;\r\n filteredNotesAndAnnouncementsLength: number = 0;\r\n practiceOptions: Array<{ key: string | number, value: string | number }>;\r\n providerOptions: Array<{ key: string | number, value: string | number }>;\r\n typeOptions: Array<{ key: number, value: string}>;\r\n\r\n searchableProperties: Array = [\r\n \"shortDescription\"\r\n ];\r\n\r\n recordsPerPage: number = 10;\r\n currentPage: number = 1; \r\n\r\n constructor(private router: Router, private suiModalService: SuiModalService, private notesAndAnnouncementsService: NotesAndAnnouncementsService,\r\n private guestService: GuestService, private practiceService: FacilityService, private providerService: ProviderService) { }\r\n\r\n ngOnInit() {\r\n this.guestService.getDefaultPageRecordCount().subscribe(res => {\r\n debugger;\r\n this.recordsPerPage = res;\r\n }, err => {\r\n this.recordsPerPage = 10;\r\n });\r\n\r\n this.practiceService.getAllFacilities().subscribe(res => {\r\n this.practiceOptions = res.map(x => { return { key: x.facilityId, value: x.facilityName }; });\r\n debugger;\r\n console.log(this.practiceOptions);\r\n });\r\n\r\n this.providerService.getAllProviders().subscribe(res => {\r\n this.providerOptions = res.map(x => { return { key: x.providerId, value: x.providerFirstName + ' ' + x.providerLastName }; }) || [];\r\n debugger;\r\n console.log(this.providerOptions);\r\n },\r\n err => {\r\n this.providerOptions = [];\r\n }\r\n );\r\n\r\n this.notesAndAnnouncementsService.getTypes().subscribe(res => {\r\n this.typeOptions = res.map(x => { return { key: x.id, value: x.typeName }; });\r\n });\r\n\r\n this.getNotesAndAnnouncements();\r\n }\r\n\r\n getNotesAndAnnouncements() {\r\n this.notesAndAnnouncementsService.getAllNotesAndAnnouncements().subscribe(res => {\r\n this.notesAndAnnouncements = res;\r\n debugger;\r\n console.log(this.notesAndAnnouncements);\r\n }, err => {\r\n this.notesAndAnnouncements = []; \r\n });\r\n }\r\n\r\n pageChanged(newPage: number) {\r\n this.currentPage = newPage;\r\n this.paginatePage();\r\n }\r\n\r\n searchChanged($event: Array) {\r\n this.filteredNotesAndAnnouncements = $event;\r\n setTimeout(() => {\r\n this.filteredNotesAndAnnouncementsLength = this.filteredNotesAndAnnouncements.length;\r\n }, 0);\r\n this.filterednotesAndAnnouncementsPage = this.recordsPerPage > this.filteredNotesAndAnnouncements.length - 1 ? this.filteredNotesAndAnnouncements.slice() : this.filteredNotesAndAnnouncements.slice(0, this.recordsPerPage);\r\n this.currentPage = 1;\r\n }\r\n\r\n updateRecordsPerPage(newRecordsPerPage: number) {\r\n debugger;\r\n this.recordsPerPage = newRecordsPerPage;\r\n this.currentPage = 1;\r\n this.paginatePage();\r\n }\r\n\r\n private paginatePage() {\r\n var newIndex = this.recordsPerPage * (this.currentPage - 1);\r\n this.filterednotesAndAnnouncementsPage = (newIndex + this.recordsPerPage) > this.filteredNotesAndAnnouncements.length - 1 ? this.filteredNotesAndAnnouncements.slice(newIndex) : this.filteredNotesAndAnnouncements.slice(newIndex, newIndex + this.recordsPerPage);\r\n }\r\n\r\n editNotesAndAnnouncements(notesAndAnnouncementsModel: NotesAndAnnouncementsModel): void {\r\n this.router.navigate(['editnotesannouncements', notesAndAnnouncementsModel.id]);\r\n }\r\n\r\n showDeleteConfirm(notesAndAnnouncementsModel: NotesAndAnnouncementsModel): void {\r\n this.suiModalService\r\n .open(new ConfirmModal(\"Are you sure?\", \"Are you sure about deleting the NotesAndAnnouncement \" + notesAndAnnouncementsModel.shortDescription + \" ?\"))\r\n .onApprove(() => this.deleteNotesAndAnnouncements(notesAndAnnouncementsModel.id))\r\n .onDeny(() => {\r\n\r\n });\r\n }\r\n\r\n deleteNotesAndAnnouncements(id: number): void {\r\n this.notesAndAnnouncementsService.deleteNotesAndAnnouncements(id).subscribe(\r\n res => {\r\n this.getNotesAndAnnouncements();\r\n },\r\n err => {\r\n this.notesAndAnnouncements = [];\r\n })\r\n }\r\n\r\n isProvider(id: number): boolean {\r\n return id == 1 ? true : false;\r\n }\r\n}\r\n","module.exports = \"\\r\\n \\r\\n
\\r\\n
\\r\\n
Manage Share Codes
\\r\\n
\\r\\n
\\r\\n \\r\\n Add Share Code\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Share Code NameWeekday BeginWeekday EndWeekend BeginWeekend EndActions
Associates for Womens Care05:00 PM08:00 AM05:00 PM08:00 AM\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Baptist IM & Endo at Beaumont04:30 PM08:00 AM04:30 PM08:00 AM\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Baptist Health Womens Care05:00 PM08:00 AM04:00 PM08:00 AM\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Share Code NameWeekday BeginWeekday EndWeekend BeginWeekend EndActions
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { NgForm } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'lms-manage-sharecodes',\r\n templateUrl: './managesharecodes.component.html'\r\n})\r\n\r\nexport class ManageSharecodesComponent implements OnInit {\r\n fac: string = \"null\";\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n}\r\n","module.exports = \"body {\\r\\n}\\r\\n.site-header{\\r\\n position: relative;\\r\\n}\\r\\n.navbar-toggle-button{\\r\\n margin-top:0px;\\r\\n}\\r\\n.ui.compact.inverted.vertical.menu{\\r\\n height:100%;\\r\\n /*position:absolute;\\r\\n top: 0px;\\r\\n left: 0px;\\r\\n bottom: 0px;*/\\r\\n}\\r\\n\\r\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n\"","import { Component, Input } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Component({\r\n\tselector: 'nav',\r\n templateUrl: './nav.component.html',\r\n styleUrls: ['./nav.component.css']\r\n})\r\nexport class NavComponent {\r\n @Input() fullDisplay: boolean = false;\r\n @Input() isAdmin: boolean = false;\r\n @Input() isCCOperator: boolean = false;\r\n @Input() isExternal: boolean = false;\r\n\r\n constructor(private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n let user = this.authService.getUser();\r\n if (user != null) {\r\n let authlevel = user.accesslevel;\r\n this.isAdmin = authlevel == \"lmsadmin_api_access\";\r\n this.isCCOperator = authlevel == \"lmscco_api_access\";\r\n this.isExternal = authlevel == \"lmsepu_api_access\";\r\n }\r\n }\r\n\r\n ngOnChildLoad() {\r\n \r\n }\r\n\r\n signOut() {\r\n this.authService.signOut();\r\n }\r\n}\r\n","module.exports = \"li .glyphicon {\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n/* Highlighting rules for nav menu items */\\r\\n\\r\\nli.link-active a,\\r\\nli.link-active a:hover,\\r\\nli.link-active a:focus {\\r\\n background-color: #4189C7;\\r\\n color: white;\\r\\n}\\r\\n\\r\\n/* Keep the nav menu independent of scrolling and on top of other items */\\r\\n\\r\\n.main-nav {\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n@media (min-width: 768px) {\\r\\n /* On small screens, convert the nav menu to a vertical sidebar */\\r\\n .main-nav {\\r\\n height: 100%;\\r\\n width: calc(25% - 20px);\\r\\n }\\r\\n .navbar {\\r\\n border-radius: 0px;\\r\\n border-width: 0px;\\r\\n height: 100%;\\r\\n }\\r\\n .navbar-header {\\r\\n float: none;\\r\\n }\\r\\n .navbar-collapse {\\r\\n border-top: 1px solid #444;\\r\\n padding: 0px;\\r\\n }\\r\\n .navbar ul {\\r\\n float: none;\\r\\n }\\r\\n .navbar li {\\r\\n float: none;\\r\\n font-size: 15px;\\r\\n margin: 6px;\\r\\n }\\r\\n .navbar li a {\\r\\n padding: 10px 16px;\\r\\n border-radius: 4px;\\r\\n }\\r\\n .navbar a {\\r\\n /* If a menu item's text is too long, truncate it */\\r\\n width: 100%;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n }\\r\\n}\\r\\n\"","module.exports = \"\\r\\n\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'nav-menu',\r\n templateUrl: './navmenu.component.html',\r\n styleUrls: ['./navmenu.component.css']\r\n})\r\nexport class NavMenuComponent {\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Notes | Announcements\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Please Select a Valid 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 {{ selection }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ selection }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\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 the Content\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\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 { NgForm } from \"@angular/forms\";\r\nimport { NotesAndAnnouncementsModel } from '../models/notesandannouncements.model';\r\nimport { TypesModel } from '../models/types.model';\r\nimport { FacilityService } from \"../services/facility.service\";\r\nimport { Router, ActivatedRoute, Params } from \"@angular/router\";\r\nimport { NotesAndAnnouncementsService } from \"../services/notesandannouncements.service\";\r\nimport { ProviderService } from \"../services/provider.service\";\r\n\r\n@Component({\r\n selector: 'lms-notes-announcements',\r\n templateUrl: './notesannouncements.component.html'\r\n})\r\n\r\nexport class NotesAnnouncementsComponent implements OnInit {\r\n //Property definitions and initializations here\r\n typeId?: number = null;\r\n practiceSelection = ['All Practices', 'Select Practices'];\r\n providerSelection = ['All Providers', 'Select Providers'];\r\n practiceSelected: string = '';\r\n providerSelected: string = '';\r\n types: Array = [];\r\n selectedPractices: Array = [];\r\n selectedProviders: Array = [];\r\n practiceOptions: Array<{ id: number, name: string }>;\r\n providerOptions: Array<{ id: number, name: string }>;\r\n notesAndAnnouncements: NotesAndAnnouncementsModel;\r\n\r\n //Inject all the necessary services\r\n constructor(private practiceService: FacilityService, private providerService: ProviderService, private router: Router, private activatedRoute: ActivatedRoute,\r\n private notesAndAnnouncementsService: NotesAndAnnouncementsService) { }\r\n\r\n //Used for instantiating the class\r\n ngOnInit() {\r\n this.practiceService.getAllFacilities().subscribe(res => {\r\n this.practiceOptions = res.map(x => { return { id: x.facilityId, name: x.facilityName }; }) || [];\r\n console.log(this.practiceOptions);\r\n },\r\n err => {\r\n this.practiceOptions = [];\r\n }\r\n );\r\n\r\n this.providerService.getAllProviders().subscribe(res => {\r\n this.providerOptions = res.map(x => { return { id: x.providerId, name: x.providerFirstName + ' ' + x.providerLastName }; }) || [];\r\n console.log(this.providerOptions);\r\n },\r\n err => {\r\n this.providerOptions = [];\r\n }\r\n );\r\n\r\n this.notesAndAnnouncementsService.getTypes().subscribe(res => {\r\n this.types = res || [];\r\n },\r\n err => {\r\n this.types = [];\r\n }\r\n );\r\n\r\n this.notesAndAnnouncements = {\r\n shortDescription: '',\r\n content: '',\r\n typeId: 1,\r\n isAll: true,\r\n practices: [],\r\n providers: []\r\n };\r\n\r\n if (this.activatedRoute.snapshot.params['id']) {\r\n this.activatedRoute.params.subscribe((params: Params) => {\r\n this.notesAndAnnouncementsService.getNotesAndAnnouncement(+params['id']).subscribe(res => {\r\n this.notesAndAnnouncements = res;\r\n this.typeId = this.notesAndAnnouncements.typeId;\r\n if (this.notesAndAnnouncements.typeId === 1) {\r\n if (this.notesAndAnnouncements.isAll) {\r\n this.providerSelected = this.providerSelection[0];\r\n } else {\r\n this.providerSelected = this.providerSelection[1];\r\n this.selectedProviders = this.notesAndAnnouncements.providers;\r\n }\r\n } else if (this.notesAndAnnouncements.typeId === 2) {\r\n if (this.notesAndAnnouncements.isAll) {\r\n this.practiceSelected = this.practiceSelection[0];\r\n } else {\r\n this.practiceSelected = this.practiceSelection[1];\r\n this.selectedPractices = this.notesAndAnnouncements.practices;\r\n }\r\n }\r\n });\r\n });\r\n }\r\n console.log(this.notesAndAnnouncements);\r\n }\r\n\r\n onSubmit(form: NgForm) {\r\n if (this.typeId == 1) {\r\n this.initializeProviderNotes();\r\n if (this.providerSelected === 'Select Providers') {\r\n this.notesAndAnnouncements.isAll = false;\r\n }\r\n } else {\r\n this.initializePracticeAnnouncements();\r\n if (this.practiceSelected === 'Select Practices') {\r\n this.notesAndAnnouncements.isAll = false;\r\n }\r\n }\r\n\r\n this.notesAndAnnouncementsService.saveNotesAndAnnouncement(this.notesAndAnnouncements).subscribe(res => {\r\n form.reset();\r\n this.router.navigate(['managenotes']);\r\n });\r\n }\r\n\r\n initializeProviderNotes(): void {\r\n if (this.notesAndAnnouncements.providers.length > 0) {\r\n this.notesAndAnnouncements.providers = [];\r\n }\r\n\r\n if (this.providerSelected === this.providerSelection[0]) {\r\n for (var i = 0; i < this.providerOptions.length; i++) {\r\n this.notesAndAnnouncements.providers.push(this.providerOptions[i].id);\r\n }\r\n } else if (this.providerSelected === this.providerSelection[1]) {\r\n for (var i = 0; i < this.selectedProviders.length; i++) {\r\n this.notesAndAnnouncements.providers.push(this.selectedProviders[i]);\r\n }\r\n }\r\n\r\n this.notesAndAnnouncements.typeId = this.typeId;\r\n }\r\n\r\n initializePracticeAnnouncements(): void {\r\n if (this.notesAndAnnouncements.practices.length > 0) {\r\n this.notesAndAnnouncements.practices = [];\r\n }\r\n\r\n if (this.practiceSelected === this.practiceSelection[0]) {\r\n for (var i = 0; i < this.practiceOptions.length; i++) {\r\n this.notesAndAnnouncements.practices.push(this.practiceOptions[i].id);\r\n }\r\n } else if (this.practiceSelected === this.practiceSelection[1]) {\r\n for (var i = 0; i < this.selectedPractices.length; i++) {\r\n this.notesAndAnnouncements.practices.push(this.selectedPractices[i]);\r\n }\r\n }\r\n\r\n this.notesAndAnnouncements.typeId = this.typeId;\r\n }\r\n\r\n getType(): boolean {\r\n return this.typeId == 1 ? true : false;\r\n }\r\n\r\n getContentHeading(): string {\r\n return (this.getType() === true) ? 'Notes Text' : 'Announcements Text';\r\n }\r\n\r\n getSelectedType(): boolean {\r\n if (this.typeId == 1) {\r\n return (this.providerSelected === 'Select Providers') ? true : false;\r\n } else if (this.typeId == 2) {\r\n return (this.practiceSelected === 'Select Practices') ? true : false;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n \\r\\n
\\r\\n

Sorry, You Do Not Have Permissions To View Notifications

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Home Dashboard\\r\\n
\\r\\n
\\r\\n

\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Notifications ({{ notificationMessagesModel.length }})\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n No Schedules for next {{ notification.daysOut }} day(s) - {{ notification.facilityName }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Practices ({{ practicesList.length }})\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ practice.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Providers ({{ providersList.length }})\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ provider.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\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { NotificationMessagesModel } from \"../models/notificationmessages.model\";\r\nimport { NotificationMessagesService } from \"../services/notificationmessages.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { BasePage } from \"../common/base.page\";\r\nimport { AuthService } from \"../services/auth.service\";\r\nimport { PracticeScheduleService } from \"../services/practiceSchedule.service\";\r\nimport { forkJoin } from \"rxjs\";\r\n@Component({\r\n selector: 'lms-notification-messages',\r\n templateUrl: './notificationmessages.component.html'\r\n})\r\n\r\nexport class NotificationMessagesComponent extends BasePage {\r\n notificationMessagesModel: Array = [];\r\n practicesList: Array<{ id: number, name: string }> = [];\r\n providersList: Array<{ id: number, name: string }> = [];\r\n\r\n constructor(private notificationMessageService: NotificationMessagesService, private route: Router, public authService: AuthService, private practiceScheduleService: PracticeScheduleService) { super(authService) }\r\n\r\n ngOnInit() {\r\n this.getServerTime();\r\n\r\n //var lkAllNotifications = \"allNotifications\";\r\n //this.setLoading(lkAllNotifications, true);\r\n //this.notificationMessageService.getAllNotifications().subscribe(res => {\r\n // this.notificationMessagesModel = res || [];\r\n // this.setLoading(lkAllNotifications, false);\r\n //});\r\n\r\n //var lkAllPractices = \"allPractices\";\r\n //this.setLoading(lkAllPractices, true);\r\n //this.notificationMessageService.getPractices().subscribe(res => {\r\n // this.practicesList = res.map(x => { return { id: x.key, name: x.value }; });\r\n // this.setLoading(lkAllPractices, false);\r\n //});\r\n\r\n //var lkAllProviders = \"allProviders\";\r\n //this.setLoading(lkAllProviders, true);\r\n //this.notificationMessageService.getProviders().subscribe(res => {\r\n // this.providersList = res.map(x => { return { id: x.key, name: x.value }; });\r\n // this.setLoading(lkAllProviders, false);\r\n //});\r\n\r\n const notificationMessages = this.notificationMessageService.getAllNotifications();\r\n const allPractices = this.notificationMessageService.getPractices();\r\n const allProviders = this.notificationMessageService.getProviders();\r\n\r\n var lkAllNotifications = \"allNotifications\";\r\n this.setLoading(lkAllNotifications, true);\r\n forkJoin([notificationMessages, allPractices, allProviders]).subscribe((res) => {\r\n if (res) {\r\n this.notificationMessagesModel = res[0] || [];\r\n this.practicesList = res[1].map(x => { return { id: x.key, name: x.value }; });\r\n this.providersList = res[2].map(x => { return { id: x.key, name: x.value }; });\r\n }\r\n this.setLoading(lkAllNotifications, false);\r\n }, (error: any) => {\r\n this.notificationMessagesModel = [];\r\n this.practicesList = [];\r\n this.providersList = [];\r\n this.setLoading(lkAllNotifications, false);\r\n });\r\n }\r\n\r\n getServerTime(): void {\r\n this.practiceScheduleService.getServerTime().subscribe(res => {\r\n localStorage.setItem('serverTime', res);\r\n });\r\n }\r\n\r\n onNotificationOrPracticeClick(id: number): void {\r\n if (id) {\r\n this.notificationMessageService.getGroupsPerShareForFacilityId(id).subscribe(res => {\r\n if (res) {\r\n this.route.navigate(['standardview', res.groupsPerShareId]);\r\n }\r\n }, err => {\r\n\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n onClickNavigateToPractice(id: number): void {\r\n this.route.navigate(['editpractice', id]);\r\n }\r\n\r\n onClickNavigateToProvider(id: number): void {\r\n this.route.navigate(['editprovider', id]);\r\n }\r\n\r\n getColor(index: number, isBackground: boolean): string {\r\n const notificationMessageColor = this.notificationMessagesModel[index].color.toLowerCase();\r\n let color = 'green';\r\n switch (notificationMessageColor) {\r\n case 'green':\r\n color = isBackground ? 'mediumseagreen' : 'forestgreen';\r\n break;\r\n case 'red':\r\n color = isBackground ? 'lightcoral' : 'crimson';\r\n break;\r\n case 'yellow':\r\n color = isBackground ? 'khaki' : 'gold';\r\n break;\r\n case 'violet':\r\n color = isBackground ? 'mediumpurple' : 'darkviolet';\r\n break;\r\n case 'indigo':\r\n color = isBackground ? 'slateblue' : 'indigo';\r\n break;\r\n case 'blue':\r\n color = isBackground ? 'dodgerblue' : 'mediumblue';\r\n break;\r\n case 'purple':\r\n color = isBackground ? 'plum' : 'mediumorchid';\r\n break;\r\n case 'cyan':\r\n color = isBackground ? 'paleturquoise' : 'turquoise';\r\n break;\r\n case 'brown':\r\n color = isBackground ? 'peru' : 'saddlebrown';\r\n break;\r\n case 'orange':\r\n color = isBackground ? 'orange' : 'darkorange';\r\n break;\r\n default:\r\n console.log('Such color doesn\\'t exist');\r\n break;\r\n }\r\n return color;\r\n }\r\n\r\n getTextColor(index: number): string {\r\n const notificationMessageColor = this.notificationMessagesModel[index].color.toLowerCase();\r\n let textColor = 'white';\r\n switch (notificationMessageColor) {\r\n case 'yellow':\r\n case 'cyan':\r\n textColor = 'black';\r\n break;\r\n case 'green':\r\n case 'red':\r\n case 'violet':\r\n case 'indigo':\r\n case 'blue':\r\n case 'orange':\r\n case 'brown':\r\n case 'purple':\r\n textColor = 'white';\r\n break;\r\n default:\r\n console.log('Such Text Color doesn\\'t exist');\r\n break;\r\n }\r\n return textColor;\r\n }\r\n}\r\n","module.exports = \".ui.form {\\r\\n margin: 10px 1em 0 1em;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n \\r\\n
\\r\\n

Sorry, You Do Not Have Permissions To Manage Reminders

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Reminder Setup\\r\\n * required fields!\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Practice Users - Reminder Setup for No Schedules:\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\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 Number of Days\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter Notification Message\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Notify LMS Manager\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n LMS Operators - Reminder Setup:\\r\\n

\\r\\n
\\r\\n
\\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 notification 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
\\r\\n

\\r\\n Notification Cleanup:\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n On\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please enter number of 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\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { PracticeUserReminderModel } from \"../../models/practiceuserreminder.model\";\r\nimport { NotificationReminderSetupService } from \"../../services/notificationremindersetup.service\";\r\nimport { OperatorReminderModel } from \"../../models/operatorreminder.model\";\r\nimport { NotificationCleanUpModel } from \"../../models/notificationcleanup.model\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { SuiModalService } from 'ng2-semantic-ui';\r\nimport { ConfirmModal } from '../../common/confirm-modal.component';\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { BasePage } from \"../../common/base.page\";\r\n\r\n@Component({\r\n selector: 'lms-notification-reminder-setup',\r\n templateUrl: './notificationremindersetup.component.html',\r\n styleUrls: ['./notificationremindersetup.component.css']\r\n})\r\n\r\nexport class NotificationReminderSetupComponent extends BasePage{\r\n isDeleted: boolean = false;\r\n isAdmin: boolean = false;\r\n isPracticeUserListLoaded: boolean = false;\r\n practiceUserReminders: Array;\r\n insertPracticeUserReminders: Array = [];\r\n updatePracticeUserReminders: Array;\r\n operatorReminders: Array;\r\n\r\n notificationCleanup: NotificationCleanUpModel = {\r\n id: 0,\r\n isToClearNotification: false,\r\n pastDaysNotifications: 0\r\n };\r\n\r\n constructor(private activatedRoute: ActivatedRoute, private route: Router, private reminderService: NotificationReminderSetupService,\r\n private suiModalService: SuiModalService, public authService: AuthService) { super(authService) }\r\n\r\n ngOnInit() {\r\n this.isAdmin = this.authService.isAdmin();\r\n this.getPracticeUserReminders();\r\n this.getOperatorReminders();\r\n this.getNotificationCleanup();\r\n this.updatePracticeUserReminders = [];\r\n }\r\n\r\n getPracticeUserReminders() {\r\n var lkGetPracticeUserReminders = \"getPracticeUserReminders\";\r\n this.setLoading(lkGetPracticeUserReminders, true);\r\n this.reminderService.getPracticeUserReminders().subscribe(res => {\r\n this.practiceUserReminders = res || [];\r\n if (this.practiceUserReminders) {\r\n this.isPracticeUserListLoaded = true;\r\n }\r\n this.setLoading(lkGetPracticeUserReminders, false);\r\n });\r\n }\r\n\r\n getOperatorReminders() {\r\n var lkGetOperatorReminders = \"getOperatorReminders\";\r\n this.setLoading(lkGetOperatorReminders, true);\r\n this.reminderService.getOperatorReminders().subscribe(res => {\r\n this.operatorReminders = res || [];\r\n this.setLoading(lkGetOperatorReminders, false);\r\n });\r\n }\r\n\r\n getNotificationCleanup() {\r\n var lkGetNotificationCleanup = \"getNotificationCleanup\";\r\n this.setLoading(lkGetNotificationCleanup, true);\r\n this.reminderService.getNotificationCleanup().subscribe(res => {\r\n this.notificationCleanup = res;\r\n this.setLoading(lkGetNotificationCleanup, false);\r\n });\r\n }\r\n\r\n onAddReminder(): void {\r\n var addReminder = {\r\n id: 0,\r\n daysOut: null,\r\n isToNotify: false,\r\n isActive: true,\r\n notificationText: '',\r\n color: 'Violet'\r\n };\r\n\r\n if (this.practiceUserReminders) {\r\n this.practiceUserReminders.push(addReminder);\r\n }\r\n }\r\n\r\n deleteConfirm(index: number, practiceUserReminder: PracticeUserReminderModel): void {\r\n this.suiModalService\r\n .open(new ConfirmModal(\"Are you sure?\", \"Are you sure about deleting the \" + practiceUserReminder.notificationText + \" reminder?\"))\r\n .onApprove(() => this.deletePracticeUserReminder(index))\r\n .onDeny(() => {\r\n });\r\n }\r\n\r\n deletePracticeUserReminder(index: number): void {\r\n if (this.practiceUserReminders[index].id === 0) {\r\n this.practiceUserReminders.splice(index, 1);\r\n } else {\r\n this.practiceUserReminders[index].isActive = false;\r\n this.isDeleted = true;\r\n }\r\n return;\r\n }\r\n\r\n onSubmitPracticeUserReminder(frm: NgForm) {\r\n for (var i = 0; i < this.practiceUserReminders.length; i++) {\r\n if (this.practiceUserReminders[i].id === 0) {\r\n this.insertPracticeUserReminders.push(this.practiceUserReminders[i]);\r\n } else {\r\n this.updatePracticeUserReminders.push(this.practiceUserReminders[i]);\r\n }\r\n }\r\n\r\n if (this.insertPracticeUserReminders.length > 0) {\r\n var lkInsertPracticeUserReminders = \"insertPracticeUserReminders\";\r\n this.setLoading(lkInsertPracticeUserReminders, true);\r\n this.reminderService.addPracticeUserReminders(this.insertPracticeUserReminders).subscribe(res => {\r\n this.setLoading(lkInsertPracticeUserReminders, false);\r\n this.afterInsertUpdateOfPracticeUserReminders(frm); \r\n });\r\n }\r\n\r\n if (this.practiceUserReminders.length > 0) {\r\n var lkUpdatePracticeUserReminders = \"updatePracticeUserReminders\";\r\n this.setLoading(lkUpdatePracticeUserReminders, true);\r\n this.reminderService.updatePracticeUserReminders(this.updatePracticeUserReminders).subscribe(res => {\r\n this.setLoading(lkUpdatePracticeUserReminders, false);\r\n this.afterInsertUpdateOfPracticeUserReminders(frm);\r\n });\r\n }\r\n }\r\n\r\n afterInsertUpdateOfPracticeUserReminders(frm: NgForm): void {\r\n this.isPracticeUserListLoaded = false;\r\n frm.reset();\r\n this.practiceUserReminders = [];\r\n this.updatePracticeUserReminders = [];\r\n this.insertPracticeUserReminders = [];\r\n this.isDeleted = false;\r\n this.getPracticeUserReminders();\r\n }\r\n\r\n onSubmitOperatorReminder(frm: NgForm) {\r\n if (this.operatorReminders.length > 0) {\r\n var lkUpdateOperatorReminders = \"updateOperatorReminders\";\r\n this.setLoading(lkUpdateOperatorReminders, true);\r\n this.reminderService.updateOperatorReminders(this.operatorReminders).subscribe(res => {\r\n frm.reset();\r\n this.setLoading(lkUpdateOperatorReminders, false);\r\n this.getOperatorReminders();\r\n });\r\n }\r\n }\r\n\r\n onSubmitNotificationCleanup(frm: NgForm) {\r\n var lkUpdateNotificationCleanup = \"updateNotificationCleanUp\";\r\n this.setLoading(lkUpdateNotificationCleanup, true);\r\n this.reminderService.updateNotificationCleanup(this.notificationCleanup).subscribe(res => {\r\n frm.reset();\r\n this.setLoading(lkUpdateNotificationCleanup, false);\r\n this.getNotificationCleanup();\r\n });\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Schedule\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Monday\\r\\n \\r\\n
\\r\\n 9/23/2019  
08:30 AM  -  5:00 PM\\r\\n
\\r\\n
\\r\\n Tuesday\\r\\n \\r\\n
\\r\\n 9/24/2019  
08:30 AM  -  5:00 PM\\r\\n
\\r\\n
\\r\\n Wednesday\\r\\n \\r\\n
\\r\\n 9/25/2019  
08:30 AM  -  5:00 PM\\r\\n
\\r\\n
\\r\\n Thursday\\r\\n \\r\\n
\\r\\n 9/26/2019  
08:30 AM  -  5:00 PM\\r\\n
\\r\\n
\\r\\n Friday\\r\\n \\r\\n
\\r\\n 9/27/2019  
08:30 AM  -  5:00 PM\\r\\n
\\r\\n
\\r\\n 2 ICU\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n 2B\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n 2A\\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 \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Pulm\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n ER/Trans/Cons\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Night\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
 \\r\\n Saturday\\r\\n \\r\\n
\\r\\n 9/28/2019  
08:30 AM  -  5:00 PM\\r\\n
\\r\\n
\\r\\n Sunday\\r\\n \\r\\n
\\r\\n 9/29/2019  
08:30 AM  -  5:00 PM\\r\\n
\\r\\n
\\r\\n Day\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n B/U\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Night\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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 { NgForm } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'lms-pulmonaryview',\r\n templateUrl: './pulmonaryview.component.html'\r\n})\r\n\r\nexport class PulmonaryViewComponent implements OnInit {\r\n fac: string = \"null\";\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n onSubmit(form: NgForm) {\r\n console.log(\"I am here.\")\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Schedule\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Monday\\r\\n \\r\\n
\\r\\n 9/23/2019  
08:30 AM  -  5:00 PM\\r\\n
\\r\\n
\\r\\n Tuesday\\r\\n \\r\\n
\\r\\n 9/24/2019  
08:30 AM  -  5:00 PM\\r\\n
\\r\\n
\\r\\n Wednesday\\r\\n \\r\\n
\\r\\n 9/25/2019  
08:30 AM  -  5:00 PM\\r\\n
\\r\\n
\\r\\n Thursday\\r\\n \\r\\n
\\r\\n 9/26/2019  
08:30 AM  -  5:00 PM\\r\\n
\\r\\n
\\r\\n Friday\\r\\n \\r\\n
\\r\\n 9/27/2019  
08:30 AM  -  5:00 PM\\r\\n
\\r\\n
\\r\\n Saturday\\r\\n \\r\\n
\\r\\n 9/28/2019  
08:30 AM  -  5:00 PM\\r\\n
\\r\\n
\\r\\n Sunday\\r\\n \\r\\n
\\r\\n 9/29/2019  
08:30 AM  -  5:00 PM\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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 { NgForm } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'lms-pulmonaryview1',\r\n templateUrl: './pulmonaryview1.component.html'\r\n})\r\n\r\nexport class PulmonaryViewComponent1 implements OnInit {\r\n fac: string = \"null\";\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n onSubmit(form: NgForm) {\r\n console.log(\"I am here.\")\r\n }\r\n}\r\n","module.exports = \"/*input.ng-invalid{\\r\\n border-right: 5px solid red !important;\\r\\n}\\r\\ninput.ng-valid {\\r\\n border-right: 5px solid green !important;\\r\\n}*/\\r\\n\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n On Call Volume Report\\r\\n * required fields!\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Report filters:

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\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, AfterViewInit } from \"@angular/core\";\r\nimport { ReportService } from \"../../services/report.service\";\r\nimport * as FileSaver from 'file-saver';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'lms-on-call-volume',\r\n templateUrl: './on-call-volume.component.html',\r\n styleUrls:['./on-call-volume.component.css']\r\n})\r\nexport class OnCallVolumeComponent implements AfterViewInit {\r\n practiceOptions: Array;\r\n providerOptions: Array;\r\n private LoadingList: Map = new Map();\r\n public isLoading: boolean = false;\r\n\r\n constructor(private readonly reportService: ReportService) { }\r\n\r\n ngOnInit() {\r\n var lkPractice = \"practice\";\r\n this.setLoading(lkPractice, true);\r\n this.reportService.getMessageSlipPractices().subscribe(res => {\r\n this.setLoading(lkPractice, false);\r\n this.practiceOptions = res;\r\n }, err => {\r\n this.setLoading(lkPractice, false);\r\n this.practiceOptions = [];\r\n });\r\n var lkProvider = \"provider\";\r\n this.setLoading(lkProvider, true);\r\n this.reportService.getMessageSlipProviders().subscribe(res => {\r\n this.setLoading(lkProvider, false);\r\n this.providerOptions = res;\r\n }, err => {\r\n this.setLoading(lkProvider, false);\r\n this.providerOptions = [];\r\n })\r\n }\r\n\r\n ngAfterViewInit() {\r\n $('.practiceDropdown').dropdown();\r\n $('.providerDropdown').dropdown();\r\n }\r\n\r\n getReport(searchForm: any) {\r\n var loadingKey = \"onCallVolumeReport\";\r\n if (this.checkLoading(loadingKey)) return;\r\n this.setLoading(loadingKey, true);\r\n this.reportService.onCallVolumeReport(searchForm.Practices, searchForm.Providers, searchForm.BeginDate, searchForm.EndDate).subscribe(res => {\r\n this.setLoading(loadingKey, false);\r\n FileSaver.saveAs(res, \"On Call Report.pdf\");\r\n }, err => {\r\n this.setLoading(loadingKey, false);\r\n });\r\n }\r\n setLoading(loadingKey: string, value: boolean): void {\r\n this.LoadingList[loadingKey] = value;\r\n if (value) {\r\n this.isLoading = value;\r\n } else {\r\n var stillLoading: boolean = false;\r\n this.LoadingList.forEach((v: boolean, key: string) => {\r\n if (v) {\r\n stillLoading = true;\r\n }\r\n });\r\n this.isLoading = stillLoading;\r\n }\r\n }\r\n\r\n checkLoading(loadingKey: string): boolean {\r\n return this.LoadingList[loadingKey] == true;\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"Lexington\\r\\n

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

\\r\\n Lexington Medical Society\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * required fields!\\r\\n\\r\\n

\\r\\n Security Challenge!\\r\\n

\\r\\n
\\r\\n
\\r\\n {{ 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 Please enter a valid Answer\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * required fields!\\r\\n\\r\\n

\\r\\n Reset Password!\\r\\n

\\r\\n
\\r\\n
\\r\\n {{ message }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n New Password is required\\r\\n New Password must be at least 8 characters in length\\r\\n \\r\\n New Password should have at least 1 uppercase letter, 1 lowercase letter, one number and one special character\\r\\n \\r\\n
New Password shouldn't match with Current Password
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Confirm Password is required
\\r\\n
Confirm Password doesn't match with New Password
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ©{{ currentYear }} Lexington Medical Society.\\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 { UserService } from \"../services/user.service\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { UserQuestion } from \"../models/userquestion.model\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { Answer } from \"../models/answer.model\";\r\nimport { ChangePasswordModel } from \"../models/changepassword.model\";\r\n\r\n@Component({\r\n selector: 'lms-reset-password',\r\n templateUrl: './resetpassword.component.html'\r\n})\r\n\r\nexport class ResetPasswordComponent implements OnInit {\r\n obj: { email: string, date: string };\r\n userQuestion: UserQuestion = {\r\n userId: 0,\r\n questionId: 0,\r\n questionText: '-- Default Question --',\r\n answerText: null,\r\n questionNumber: 0,\r\n answerId: null\r\n };\r\n\r\n changePassword: ChangePasswordModel = {\r\n userId: 0,\r\n password: '',\r\n newPassword: ''\r\n };\r\n\r\n isVisib: boolean = true;\r\n message: string = '';\r\n\r\n constructor(private userService: UserService, private activatedRoute: ActivatedRoute, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.obj = {\r\n email: this.activatedRoute.snapshot.queryParams['email'],\r\n date: this.activatedRoute.snapshot.queryParams['date']\r\n };\r\n\r\n this.userService.getQuestion(this.obj).subscribe(res => {\r\n this.userQuestion = res;\r\n this.changePassword.userId = this.userQuestion.userId;\r\n });\r\n }\r\n\r\n onSubmitQuestion() {\r\n this.userService.isValidAnswer(this.userQuestion).subscribe(res => {\r\n if (res == 0) {\r\n this.isVisib = true;\r\n this.message = \"The answer you entered did not match our record. Please contact administrator or try again.\";\r\n } else {\r\n this.isVisib = false;\r\n this.message = \"\";\r\n }\r\n })\r\n }\r\n\r\n onSubmitPassword() {\r\n this.userService.changePassword(this.changePassword).subscribe(res => {\r\n if (res) {\r\n this.router.navigate(['/login']);\r\n }\r\n })\r\n }\r\n}\r\n","module.exports = \"h3 {\\r\\n margin: 0 0 10px;\\r\\n}\\r\\n\\r\\npre {\\r\\n background-color: #f5f5f5;\\r\\n padding: 15px;\\r\\n}\\r\\n\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Manage Schedule
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\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, ChangeDetectionStrategy } from '@angular/core';\r\nimport { isSameMonth, isSameDay, startOfMonth, endOfMonth, startOfWeek, endOfWeek, startOfDay, endOfDay, format } from 'date-fns';\r\nimport { Observable } from 'rxjs';\r\nimport { CalendarEvent, CalendarView } from 'angular-calendar';\r\nimport { BasePage } from '../common/base.page';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { map } from 'rxjs/operators';\r\nimport { practiceScheduleModel } from '../models/practiceSchedule.model';\r\nimport { PracticeScheduleService } from '../services/practiceSchedule.service';\r\nimport { FinalScheduleModel } from '../models/finalschedule.model';\r\n\r\nconst colors: any = {\r\n red: {\r\n primary: '#ad2121',\r\n secondary: '#FAE3E3'\r\n },\r\n blue: {\r\n primary: '#1e90ff',\r\n secondary: '#D1E8FF'\r\n },\r\n yellow: {\r\n primary: '#e3bc08',\r\n secondary: '#FDF1BA'\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'manageschedule',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './manageschedule.component.html',\r\n styleUrls: ['./manageschedule.component.css']\r\n})\r\n\r\nexport class ManageScheduleComponent extends BasePage {\r\n view: string = 'month'; \r\n viewDate: Date = new Date();\r\n schedules$: Observable>>;\r\n activeDayIsOpen: boolean = false;\r\n\r\n constructor(private practiceScheduleService: PracticeScheduleService, public authService: AuthService) { super(authService) }\r\n\r\n ngOnInit() {\r\n this.fetchSchedules();\r\n }\r\n\r\n fetchSchedules(): void {\r\n var ldFetchSchedules = \"schedules\";\r\n this.setLoading(ldFetchSchedules, true);\r\n\r\n const getStart: any = {\r\n month: startOfMonth,\r\n week: startOfWeek,\r\n day: startOfDay\r\n }[this.view];\r\n\r\n const getEnd: any = {\r\n month: endOfMonth,\r\n week: endOfWeek,\r\n day: endOfDay\r\n }[this.view];\r\n\r\n this.schedules$ = this.practiceScheduleService\r\n .manageSchedules(format(getStart(this.viewDate), 'DD MMMM YYYY HH:mm:ss A'), format(getEnd(this.viewDate), 'DD MMMM YYYY HH:mm:ss A'))\r\n .pipe(\r\n map((results: Array) => {\r\n this.setLoading(ldFetchSchedules, false);\r\n return results.map((schedule: FinalScheduleModel) => { \r\n var titleText = this.getTitleText(schedule);\r\n return {\r\n title: titleText,\r\n start: new Date(schedule.scheduleDate),\r\n color: colors.yellow,\r\n allDay: true\r\n };\r\n });\r\n })\r\n );\r\n }\r\n\r\n getTitleText(schedule: FinalScheduleModel): string {\r\n if (schedule.scheduleTypeId === 4 && schedule.scheduleTypeName === 'NP And PA') {\r\n var nppaOnCallText = (schedule.onCallText) ? (' - ' + schedule.onCallText) : '';\r\n return schedule.practiceName + ' - ' + schedule.scheduleTypeName + ' - ' + schedule.providerName + nppaOnCallText;\r\n } else {\r\n var displayStartTime = this.getTime(schedule.scheduleBeginTime);\r\n var displayEndTime = this.getTime(schedule.scheduleEndTime);\r\n var onCallTextString = (schedule.onCallText) ? (' - ' + schedule.onCallText) : '';\r\n\r\n return schedule.practiceName + ' - ' + schedule.scheduleTypeName + ' - ' + schedule.providerName + ', ' + displayStartTime + ' to ' + displayEndTime + onCallTextString;\r\n }\r\n }\r\n\r\n getTime(currentDate: Date): string {\r\n var date = new Date(currentDate);\r\n var hours = date.getHours();\r\n var minutes = date.getMinutes();\r\n\r\n //Check whether AM or PM\r\n var newformat = hours >= 12 ? 'PM' : 'AM';\r\n\r\n //Find Current Hour in AM-PM format\r\n hours = hours % 12;\r\n\r\n //To display \"0\" as \"12\"\r\n hours = hours ? hours : 12;\r\n var finalMinutes = minutes < 10 ? '0' + minutes : minutes;\r\n\r\n return hours + ':' + finalMinutes + ' ' + newformat;\r\n }\r\n\r\n dayClicked({ date, events }: { date: Date; events: Array> }): void {\r\n if (isSameMonth(date, this.viewDate)) {\r\n if (\r\n (isSameDay(this.viewDate, date) && this.activeDayIsOpen === true) ||\r\n events.length === 0\r\n ) {\r\n this.activeDayIsOpen = false;\r\n } else {\r\n this.activeDayIsOpen = true;\r\n this.viewDate = date;\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n

\\r\\n Security\\r\\n

\\r\\n
\\r\\n * required fields!\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n {{ successMessage }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Answer is required\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Answer is required\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Answer is required\\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 { Question } from \"../models/questions.model\";\r\nimport { Answer } from \"../models/answer.model\";\r\nimport { UserService } from \"../services/user.service\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'lms-security-settings',\r\n templateUrl: './securitysettings.component.html'\r\n})\r\n\r\nexport class SecuritySettingsComponent implements OnInit {\r\n questionAndAnswer: Array<{ quesId: number, answer: string }> =\r\n [\r\n { quesId: null, answer: \"\" },\r\n { quesId: null, answer: \"\" },\r\n { quesId: null, answer: \"\" }\r\n ];\r\n\r\n isUpdate: boolean = false;\r\n userId: number = 1;\r\n questions: Array = [];\r\n answers: Array = [];\r\n successMessage: string = '';\r\n\r\n constructor(private userService: UserService, private activatedRoute: ActivatedRoute) { }\r\n\r\n ngOnInit() {\r\n debugger;\r\n this.userService.getQuestions().subscribe(res => {\r\n this.questions = res || [];\r\n });\r\n\r\n this.userService.getAnswers(this.userId).subscribe(res => {\r\n debugger;\r\n this.answers = res || [];\r\n\r\n if (this.answers.length > 0 && this.answers.length < 4) {\r\n this.displayAnswers(this.answers);\r\n }\r\n });\r\n\r\n if (this.activatedRoute.snapshot.params['id']) {\r\n this.userId = this.activatedRoute.snapshot.params['id'];\r\n }\r\n }\r\n\r\n displayAnswers(answers: Array): void {\r\n debugger;\r\n this.isUpdate = true;\r\n\r\n for (var i = 0; i < answers.length; i++) {\r\n this.questionAndAnswer[i] = {\r\n quesId: answers[i].questionId,\r\n answer: answers[i].answerText\r\n };\r\n }\r\n }\r\n\r\n onSubmit(form: NgForm): void {\r\n debugger;\r\n if (!this.isUpdate) {\r\n for (var i = 0; i < this.questionAndAnswer.length; i++) {\r\n debugger;\r\n this.answers.push({\r\n questionId: this.questionAndAnswer[i].quesId,\r\n answerText: this.questionAndAnswer[i].answer,\r\n questionNumber: i + 1,\r\n userId: this.userId\r\n });\r\n }\r\n\r\n this.userService.insertAnswers(this.answers).subscribe(res => {\r\n console.log(res);\r\n if (this.answers.length > 0 && this.answers.length < 4) {\r\n this.displayAnswers(this.answers);\r\n }\r\n });\r\n }\r\n else {\r\n for (var i = 0; i < this.questionAndAnswer.length; i++) {\r\n debugger;\r\n this.answers[i].questionId = this.questionAndAnswer[i].quesId;\r\n this.answers[i].answerText = this.questionAndAnswer[i].answer;\r\n this.answers[i].questionNumber = i + 1;\r\n this.answers[i].userId = this.userId;\r\n }\r\n\r\n this.userService.updateAnswers(this.answers).subscribe(res => {\r\n console.log(res);\r\n if (this.answers.length > 0 && this.answers.length < 4) {\r\n debugger;\r\n this.displayAnswers(this.answers);\r\n }\r\n this.successMessage = \"Your security answers saved successfully!!\";\r\n });\r\n }\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { Response, Http, URLSearchParams, RequestOptionsArgs, Headers, ResponseContentType } from '@angular/http';\r\nimport { BehaviorSubject, Observable, pipe } from 'rxjs';\r\nimport { User } from \"../models/user.model\";\r\nimport { JwtHelperService } from \"@auth0/angular-jwt\";\r\nimport { debug } from 'util';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nconst helper = new JwtHelperService();\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n baseUrl: BehaviorSubject;;\r\n private user: BehaviorSubject;\r\n private auth_token: BehaviorSubject;\r\n\r\n constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string, private router: Router) {\r\n this.baseUrl = new BehaviorSubject(baseUrl);\r\n this.user = new BehaviorSubject(null);\r\n this.auth_token = new BehaviorSubject(null);\r\n }\r\n\r\n isLoggedIn(): boolean {\r\n return !helper.isTokenExpired(this.auth_token.value);\r\n }\r\n\r\n getUser(): any {\r\n return this.user == null ? null : this.user.value;\r\n }\r\n\r\n getUserPermissions(): string {\r\n const hasUserPermissions = this.user.value.userpermissions;\r\n return hasUserPermissions;\r\n }\r\n\r\n isAdmin(): boolean {\r\n return this.user.value.accesslevel.trim() === 'lmsadmin_api_access';\r\n }\r\n\r\n isCallCenterOperator(): boolean {\r\n return this.user.value.accesslevel.trim() === 'lmscco_api_access';\r\n }\r\n\r\n setUserToken(token: string) {\r\n this.auth_token = new BehaviorSubject(null);\r\n this.auth_token.next(token);\r\n this.user = new BehaviorSubject(null);\r\n this.user.next(helper.decodeToken(this.auth_token.value));\r\n }\r\n\r\n getAuthToken(): string {\r\n return this.auth_token == null ? null : (this.auth_token.value == null ? null : JSON.parse(this.auth_token.value).auth_token);\r\n }\r\n\r\n signOut() {\r\n this.auth_token = null;\r\n this.user = null;\r\n this.router.navigate([`./login`]);\r\n }\r\n\r\n generateHeaders() {\r\n if (this.user == null || this.user.value == null || this.auth_token == null || this.auth_token.value == null) {\r\n this.signOut();\r\n }\r\n return {\r\n headers: new HttpHeaders().set('Content-Type', 'application/json')\r\n .set('Cache-Control', 'no-cache')\r\n .set('Pragma', 'no-cache')\r\n .set('Expires', 'Sat, 01 Jan 2000 00:00:00 GMT')\r\n .append('Authorization', 'Bearer ' + this.getAuthToken())\r\n .append('UserId', this.user.value.id)\r\n .append('TimezoneOffset', (new Date().getTimezoneOffset()).toString())\r\n }\r\n }\r\n\r\n generateHeaders_v2(): HttpHeaders {\r\n if (this.user == null || this.user.value == null || this.auth_token == null || this.auth_token.value == null) {\r\n this.signOut();\r\n }\r\n \r\n const headers = new HttpHeaders().set('Content-Type', 'application/json')\r\n .set('Cache-Control', 'no-cache')\r\n .set('Pragma', 'no-cache')\r\n .set('Expires', 'Sat, 01 Jan 2000 00:00:00 GMT')\r\n .append('Authorization', 'Bearer ' + this.getAuthToken())\r\n .append('UserId', this.user.value.id);\r\n return headers; \r\n }\r\n}\r\n","import { Injectable, Inject, ɵisObservable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams, HttpHeaderResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { FacilityModel } from '../models/facility.model';\r\nimport { ProviderModel } from '../models/provider.model';\r\nimport { scheduleModel } from '../models/schedule.model';\r\nimport { ScheduleType } from '../models/schedule-type.model';\r\nimport { AuthService } from './auth.service';\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n};\r\n@Injectable()\r\nexport class DataService {\r\n baseUrl: string;\r\n\r\n \r\n constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string, private authService: AuthService) {\r\n this.baseUrl = baseUrl;\r\n }\r\n getFacilities(): Observable {\r\n \r\n\r\n return this.httpClient.get(this.baseUrl + \"api/Data/GetFacilities/\", this.authService.generateHeaders());\r\n }\r\n getProviders(facilityId: string): Observable {\r\n //let httpParams = new HttpParams();\r\n //httpParams.set('FacilityId', facilityId); \r\n\r\n return this.httpClient.get(this.baseUrl + \"api/Data/GetProviders?FacilityId=\" + facilityId, this.authService.generateHeaders());\r\n }\r\n\r\n saveSchedule(newSchedule: scheduleModel) { \r\n\r\n return this.httpClient.post(this.baseUrl + \"api/Data/saveSchedule/\", newSchedule, this.authService.generateHeaders());\r\n }\r\n\r\n copyPreviousMonthsSchedule() {\r\n return this.httpClient.post(this.baseUrl + \"api/Data/CopyPreviousSchedule/\", null, this.authService.generateHeaders());\r\n }\r\n getSchedules(): Observable {\r\n return this.httpClient.get(this.baseUrl + \"api/Data/getSchedules/\", this.authService.generateHeaders());\r\n }\r\n getSchedule(scheduleId: string): Observable {\r\n \r\n return this.httpClient.get(this.baseUrl + \"api/Data/getSchedule?scheduleId=\" + scheduleId, this.authService.generateHeaders());\r\n }\r\n\r\n editSchedule(scheduleId: string, newSchedule: scheduleModel) {\r\n\r\n return this.httpClient.post(this.baseUrl + \"api/Data/editSchedule?scheduleId=\" + scheduleId, newSchedule, this.authService.generateHeaders());\r\n }\r\n getScheduleTypesForFacility(facilityId: number):Observable {\r\n return this.httpClient.get(this.baseUrl + \"api/Data/GetScheduleTypesForFacility?facilityId=\" + facilityId, this.authService.generateHeaders());\r\n }\r\n postFile(fileToUpload: File): Observable {\r\n\r\n debugger;\r\n \r\n\r\n const formData: FormData = new FormData();\r\n formData.append('file', fileToUpload, fileToUpload.name);\r\n\r\n return this.httpClient\r\n .post(this.baseUrl + \"api/Data/importCalendar\", formData); \r\n \r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { throwError } from 'rxjs';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class ErrorService {\r\n\r\n constructor(private authService: AuthService) { }\r\n\r\n public handleError(errorResponse: HttpErrorResponse) {\r\n //if (errorResponse.error instanceof ErrorEvent) {\r\n // console.error('Client Side Error: ', errorResponse.error.message);\r\n //} else {\r\n // console.error('Server Side Error: ', errorResponse.error);\r\n //}\r\n //return throwError(errorResponse.error.message);\r\n return throwError('Something went wrong. Please try again!');\r\n }\r\n}\r\n","import { Injectable, Inject, ɵisObservable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { FacilityModel } from '../models/facility.model';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable()\r\nexport class FacilityService {\r\n baseUrl: string;\r\n\r\n constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string, private authService: AuthService) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n getAllFacilities(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/Facility/\", this.authService.generateHeaders());\r\n }\r\n\r\n saveFacility(facility: FacilityModel): Observable {\r\n if (!facility.facilityId)\r\n return this.httpClient.post(this.baseUrl + \"api/Facility/\", JSON.stringify(facility), this.authService.generateHeaders());\r\n else\r\n return this.httpClient.put(this.baseUrl + \"api/Facility/\" + facility.facilityId, JSON.stringify(facility), this.authService.generateHeaders());\r\n }\r\n\r\n deleteFacility(facilityId: number): Observable {\r\n return this.httpClient.delete(this.baseUrl + \"api/Facility/\" + facilityId, this.authService.generateHeaders());\r\n }\r\n\r\n getFacility(facilityId: number): Observable {\r\n return this.httpClient.get(this.baseUrl + \"api/facility/\" + facilityId, this.authService.generateHeaders());\r\n }\r\n\r\n private generateHeaders() {\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n }\r\n }\r\n}\r\n","import { Injectable, Inject, ɵisObservable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { HttpClient, HttpHeaders, HttpParams, HttpHeaderResponse } from '@angular/common/http';\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n};\r\n\r\n@Injectable()\r\nexport class GuestService {\r\n defaultPageRecordCount: number;\r\n baseUrl: string;\r\n\r\n constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n getDefaultPageRecordCount(): Observable {\r\n var getDefaultPageRecordCount = this.httpClient.get(this.baseUrl + \"api/guest/GetDefaultPageRecordCount/\", { params: null });\r\n\r\n if (this.defaultPageRecordCount)\r\n return of(this.defaultPageRecordCount);\r\n\r\n getDefaultPageRecordCount.subscribe(res => {\r\n this.defaultPageRecordCount = res;\r\n });\r\n\r\n return getDefaultPageRecordCount;\r\n }\r\n}\r\n","import { Injectable, Inject,ɵisObservable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams, HttpHeaderResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { LoginModel } from '../models/login.model';\r\n@Injectable()\r\nexport class LoginService {\r\n baseUrl: string;\r\n\r\n constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n getLogin(username: string, password: string, facility: string) {\r\n var body = {\r\n username: username,\r\n password: password\r\n }; \r\n return this.httpClient.post(this.baseUrl + \"/api/Login/GetLogin/\", JSON.stringify(body), this.generateHeaders());\r\n }\r\n\r\n sendResetPasswordEmail(email: string): Observable {\r\n return this.httpClient.post(this.baseUrl + '/api/Login/', JSON.stringify(email), this.generateHeaders());\r\n }\r\n\r\n private generateHeaders() {\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n }\r\n }\r\n}\r\n","import { Inject, Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from \"rxjs\";\r\nimport { NotesAndAnnouncementsModel } from \"../models/notesandannouncements.model\";\r\nimport { TypesModel } from \"../models/types.model\";\r\nimport { AuthService } from \"./auth.service\";\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n};\r\n\r\n@Injectable()\r\nexport class NotesAndAnnouncementsService {\r\n baseUrl: string;\r\n constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string, private authService: AuthService) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n getAllNotesAndAnnouncements(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/NotesAndAnnouncement/\", this.authService.generateHeaders());\r\n }\r\n\r\n getNotesAndAnnouncement(id: number): Observable {\r\n return this.httpClient.get(this.baseUrl + \"api/NotesAndAnnouncement/GetNotesAndAnnouncement?id=\" + id, this.authService.generateHeaders());\r\n }\r\n\r\n saveNotesAndAnnouncement(notesAndAnnouncementsModel: NotesAndAnnouncementsModel): Observable {\r\n if (!notesAndAnnouncementsModel.id)\r\n return this.httpClient.post(this.baseUrl + \"api/NotesAndAnnouncement/\", JSON.stringify(notesAndAnnouncementsModel), this.authService.generateHeaders());\r\n else\r\n return this.httpClient.put(this.baseUrl + \"api/NotesAndAnnouncement?id=\" + notesAndAnnouncementsModel.id, JSON.stringify(notesAndAnnouncementsModel), this.authService.generateHeaders());\r\n }\r\n\r\n deleteNotesAndAnnouncements(id: number): Observable {\r\n return this.httpClient.delete(this.baseUrl + \"api/NotesAndAnnouncement?id=\" + id);\r\n }\r\n\r\n getTypes(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/NotesAndAnnouncement/GetTypes/\", this.authService.generateHeaders());\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { NotificationMessagesModel } from '../models/notificationmessages.model';\r\nimport { FacilityModel } from '../models/facility.model';\r\nimport { ProviderModel } from '../models/provider.model';\r\nimport { AuthService } from './auth.service';\r\nimport { GroupsPerShareModel } from '../models/GroupsPerShare.model';\r\n\r\n@Injectable()\r\nexport class NotificationMessagesService {\r\n baseUrl: string;\r\n\r\n constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string, private authService: AuthService) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n getAllNotifications(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/NotificationMessages/\", this.authService.generateHeaders());\r\n }\r\n\r\n getPractices(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/NotificationMessages/GetAllPractices/\", this.authService.generateHeaders());\r\n }\r\n\r\n getProviders(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/NotificationMessages/GetAllProviders/\", this.authService.generateHeaders());\r\n }\r\n\r\n getGroupsPerShareForFacilityId(facilityId: number): Observable {\r\n const httpParams = new HttpParams().set('facilityId', facilityId.toString());\r\n return this.httpClient.get(this.baseUrl + \"api/NotificationMessages/GroupsPerShareForFacilityId/\", { headers: this.authService.generateHeaders_v2(), params: httpParams });\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PracticeUserReminderModel } from '../models/practiceuserreminder.model';\r\nimport { OperatorReminderModel } from '../models/operatorreminder.model';\r\nimport { NotificationCleanUpModel } from '../models/notificationcleanup.model';\r\nimport { AuthService } from './auth.service';\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n};\r\n\r\n@Injectable()\r\nexport class NotificationReminderSetupService {\r\n baseUrl: string;\r\n\r\n constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string, private authService: AuthService) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n getPracticeUserReminders(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + 'api/Reminder/', this.authService.generateHeaders());\r\n }\r\n\r\n getOperatorReminders(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + 'api/Reminder/GetOperatorReminders/', this.authService.generateHeaders());\r\n }\r\n\r\n getNotificationCleanup(): Observable {\r\n return this.httpClient.get(this.baseUrl + 'api/Reminder/GetNotificationCleanup/', this.authService.generateHeaders());\r\n }\r\n\r\n addPracticeUserReminders(practiceUserReminders: Array): Observable {\r\n return this.httpClient.post(this.baseUrl + 'api/Reminder/', JSON.stringify(practiceUserReminders), this.authService.generateHeaders());\r\n }\r\n\r\n updatePracticeUserReminders(practiceUserReminders: Array): Observable {\r\n return this.httpClient.put(this.baseUrl + 'api/Reminder', JSON.stringify(practiceUserReminders), this.authService.generateHeaders());\r\n }\r\n\r\n updateOperatorReminders(operatorReminders: Array): Observable {\r\n return this.httpClient.put(this.baseUrl + 'api/Reminder/UpdateOperatorReminders/', JSON.stringify(operatorReminders), this.authService.generateHeaders());\r\n }\r\n\r\n updateNotificationCleanup(notificationCleanup: NotificationCleanUpModel): Observable {\r\n return this.httpClient.put(this.baseUrl + 'api/Reminder/UpdateNotificationCleanup/', JSON.stringify(notificationCleanup), this.authService.generateHeaders());\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PracticeModel } from '../models/practice.model';\r\nimport { ScheduleType } from '../models/schedule-type.model';\r\nimport { AuthService } from './auth.service';\r\nimport { ErrorService } from './error.service';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class PracticeService {\r\n baseUrl: string;\r\n initialPracticeModel: PracticeModel;\r\n\r\n constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string, private authService: AuthService, private errorService: ErrorService) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n getInitialPracticeModel(): PracticeModel {\r\n this.initialPracticeModel = {\r\n facilityId: 0,\r\n managerName: '',\r\n facilityName: '',\r\n firstName: '',\r\n lastName: '',\r\n address1: '',\r\n address2: '',\r\n email: '',\r\n outsideLMS: false,\r\n createShareGroupInFM: false,\r\n showInSchedulePage: true,\r\n city: '',\r\n state: '',\r\n zipcode: '',\r\n phone: '',\r\n unlistedPhone1: '',\r\n unlistedPhone2: '',\r\n fax: '',\r\n mondayBegin: null,\r\n mondayEnd: null,\r\n tuesdayBegin: null,\r\n tuesdayEnd: null,\r\n wednesdayBegin: null,\r\n wednesdayEnd: null,\r\n thursdayBegin: null,\r\n thursdayEnd: null,\r\n fridayBegin: null,\r\n fridayEnd: null,\r\n saturdayBegin: null,\r\n saturdayEnd: null,\r\n sundayBegin: null,\r\n sundayEnd: null,\r\n mondayLunchBegin: null,\r\n mondayLunchEnd: null,\r\n tuesdayLunchBegin: null,\r\n tuesdayLunchEnd: null,\r\n wednesdayLunchBegin: null,\r\n wednesdayLunchEnd: null,\r\n thursdayLunchBegin: null,\r\n thursdayLunchEnd: null,\r\n fridayLunchBegin: null,\r\n fridayLunchEnd: null,\r\n saturdayLunchBegin: null,\r\n saturdayLunchEnd: null,\r\n sundayLunchBegin: null,\r\n sundayLunchEnd: null,\r\n gpsBillingNumber: '',\r\n facilityScheduleTypes: [],\r\n shareCode: {\r\n shareCodeId: 0,\r\n weekdayBegin: new Date().toString(),\r\n weekdayEnd: new Date().toString(),\r\n weekendBegin: new Date().toString(),\r\n weekendEnd: new Date().toString(),\r\n facilityId: 0,\r\n isActive: true,\r\n modifiedOn: null,\r\n modifiedBy: ''\r\n },\r\n groupsPerShares: []\r\n };\r\n\r\n return this.initialPracticeModel;\r\n }\r\n\r\n getAllPractices(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/Practices/\", this.authService.generateHeaders()).pipe(catchError(this.errorService.handleError));\r\n }\r\n\r\n getPracticesWithOutsideLMS(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/Practices/GetPracticesWithOutsideLMS/\", this.authService.generateHeaders()).pipe(catchError(this.errorService.handleError));\r\n }\r\n\r\n savePractice(facility: PracticeModel): Observable {\r\n return this.httpClient.post(this.baseUrl + \"api/Practices/\", JSON.stringify(facility), this.authService.generateHeaders()).pipe(catchError(this.errorService.handleError));\r\n }\r\n\r\n updatePractice(facility: PracticeModel): Observable {\r\n return this.httpClient.put(this.baseUrl + \"api/Practices/\" + facility.facilityId, JSON.stringify(facility), this.authService.generateHeaders()).pipe(catchError(this.errorService.handleError));\r\n }\r\n\r\n deletePractice(facilityId: number): Observable {\r\n return this.httpClient.delete(this.baseUrl + \"api/Practices/\" + facilityId, this.authService.generateHeaders()).pipe(catchError(this.errorService.handleError));\r\n }\r\n\r\n getPractice(facilityId: number): Observable {\r\n return this.httpClient.get(this.baseUrl + \"api/Practices/\" + facilityId, this.authService.generateHeaders()).pipe(catchError(this.errorService.handleError));\r\n }\r\n\r\n getScheduleTypes(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/Practices/GetScheduleTypes/\", this.authService.generateHeaders()).pipe(catchError(this.errorService.handleError));\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { practiceScheduleModel } from '../models/practiceSchedule.model';\r\nimport { ScheduleType } from '../models/schedule-type.model';\r\nimport { FacilityModel } from '../models/facility.model';\r\nimport { PulmonaryType } from '../models/pulmonary-type.model';\r\nimport { PulmonaryData } from '../models/pulmonary.data.model';\r\nimport { AuthService } from './auth.service';\r\nimport { CopyScheduleModel } from '../models/copyschedule.model';\r\nimport { CopyScheduleListModel } from '../models/copyschedulelist.model';\r\nimport { FinalScheduleModel } from '../models/finalschedule.model';\r\nimport { ProviderModel } from '../models/provider.model';\r\nimport { CopyScheduleDatesListModel } from '../models/copyscheduledateslist.model';\r\nimport { ScheduleTiming } from '../models/scheduletiming.model';\r\nimport { NPAndPASchedule} from '../models/NPAndPASchedule.model';\r\n\r\n@Injectable()\r\nexport class PracticeScheduleService {\r\n baseUrl: string;\r\n\r\n copyScheduleModel: CopyScheduleModel = {\r\n facilityId: 0,\r\n facilityName: \"\",\r\n groupsPerShareId: 0,\r\n scheduleTypeId: 0,\r\n scheduleTypeName: \"\",\r\n dateEntered: new Date(),\r\n };\r\n\r\n constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string, private authService: AuthService) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n getPulmonaryTypes(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/PracticeSchedule/GetPulmonaryTypes\", this.authService.generateHeaders());\r\n }\r\n\r\n getAllProviders(groupsPerShareId: string): Observable> {\r\n const Params = new HttpParams()\r\n .set('groupsPerShareId', groupsPerShareId)\r\n\r\n return this.httpClient.get>(this.baseUrl + \"api/PracticeSchedule/GetAllProvidersAsync\", {\r\n headers: this.authService.generateHeaders_v2(), params: Params });\r\n }\r\n getScheduleTimings(): Observable> { \r\n\r\n return this.httpClient.get>(this.baseUrl + \"api/PracticeSchedule/getScheduleTimings\", this.authService.generateHeaders());\r\n }\r\n getAllProvidersForPractice(groupsPerShareId: string, scheduleTypeId: string, days: string, dt: string): Observable> {\r\n const Params = new HttpParams()\r\n .set('groupsPerShareId', groupsPerShareId)\r\n .set('type', scheduleTypeId)\r\n .set('days', days)\r\n .set('dat', dt);\r\n\r\n return this.httpClient.get>(this.baseUrl + \"api/PracticeSchedule/GetAllProvidersForPracticeAsync\", {\r\n headers: this.authService.generateHeaders_v2(), params: Params\r\n });\r\n }\r\n getGroupsPerShare(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/PracticeSchedule/GetGroupsPerShare/\", this.authService.generateHeaders());\r\n }\r\n\r\n getServerTime(): Observable {\r\n return this.httpClient.get(this.baseUrl + \"api/PracticeSchedule/GetServerTime/\", this.authService.generateHeaders());\r\n }\r\n\r\n getAllFacilities(groupShareId: string): Observable> {\r\n const Params = new HttpParams()\r\n .set('groupShareId', groupShareId)\r\n return this.httpClient.get>(this.baseUrl + \"api/PracticeSchedule/GetFacilities/\", { headers: this.authService.generateHeaders_v2(), params: Params });\r\n }\r\n\r\n //getAllFacilities(): Observable> {\r\n // return this.httpClient.get>(this.baseUrl + \"api/PracticeSchedule/GetFacilities/\", this.authService.generateHeaders());\r\n //}\r\n\r\n getSchedules(facilityId: string, scheduleTypeId: string, days: string, dt: string): Observable> {\r\n const Params = new HttpParams()\r\n .set('facility', facilityId)\r\n .set('type', scheduleTypeId)\r\n .set('days', days)\r\n .set('dat', dt);\r\n // .set('r', Math.random().toString());\r\n return this.httpClient.get>(this.baseUrl + \"api/PracticeSchedule/getPracticeSchedule\", {\r\n headers: this.authService.generateHeaders_v2(), params:Params });\r\n }\r\n\r\n getPulmonarySchedules(facilityId: string, scheduleTypeId: string, days: string, dt: string): Observable> {\r\n const Params = new HttpParams()\r\n .set('facility', facilityId)\r\n .set('type', scheduleTypeId)\r\n .set('days', days)\r\n .set('dat', dt);\r\n //.set('r', Math.random().toString());\r\n return this.httpClient.get>(this.baseUrl + \"api/PracticeSchedule/getPulmonarySchedule\", {\r\n headers: this.authService.generateHeaders_v2(), params: Params });\r\n }\r\n\r\n //copySchedule(facilityId: string, scheduleTypeId: string, dt: string): Observable {\r\n \r\n // var facilityObj = {\r\n // facilityId: 0,\r\n // facilityName: facilityId,\r\n // firstName: scheduleTypeId,\r\n // lastName: dt,\r\n // address1: \"\",\r\n // address2: \"\",\r\n // city: \"\",\r\n // state: \"\",\r\n // zipcode: \"\",\r\n // phone: \"\",\r\n // email: \"\"\r\n // };\r\n\r\n // return this.httpClient.post(this.baseUrl + \"api/PracticeSchedule/copySchedule/\", facilityObj, this.authService.generateHeaders());\r\n\r\n //}\r\n\r\n getScheduleTypes(facilityId: string): Observable {\r\n const Params = new HttpParams()\r\n .set('facilityId', facilityId);\r\n return this.httpClient.get>(this.baseUrl + \"api/PracticeSchedule/getScheduleTypes/\", { headers: this.authService.generateHeaders_v2(), params: Params });\r\n }\r\n\r\n savePractice(practiceSchedule: practiceScheduleModel[]): Observable {\r\n return this.httpClient.post(this.baseUrl + \"api/PracticeSchedule/createPracticeSchedule\", practiceSchedule, this.authService.generateHeaders());\r\n //else\r\n // return this.httpClient.put(this.baseUrl + \"api/PracticeSchedule/\" + practiceSchedule.scheduleNumber, JSON.stringify(practiceSchedule), this.generateHeaders());\r\n }\r\n\r\n savePulmonary(practiceSchedule: PulmonaryData[]): Observable {\r\n return this.httpClient.post(this.baseUrl + \"api/PracticeSchedule/PulmonarySchedule\", practiceSchedule, this.authService.generateHeaders()); \r\n }\r\n saveNPAndSchedule(naAndPASchedule: NPAndPASchedule[]): Observable {\r\n return this.httpClient.post(this.baseUrl + \"api/PracticeSchedule/naAndPASchedule\", naAndPASchedule, this.authService.generateHeaders());\r\n }\r\n copySchedule(copyScheduleModel: CopyScheduleModel): void {\r\n this.copyScheduleModel = copyScheduleModel;\r\n }\r\n\r\n getCopySchedule(): CopyScheduleModel {\r\n return this.copyScheduleModel;\r\n }\r\n\r\n getListOfDates(): Observable {\r\n const dateEntered = this.copyScheduleModel.dateEntered;\r\n const dateString = (dateEntered.getMonth() + 1) + \"/\" + dateEntered.getDate() + \"/\" + dateEntered.getFullYear() + \" \" + dateEntered.getHours() + ':' + dateEntered.getMinutes() + ':' + dateEntered.getSeconds();\r\n const httpParams = new HttpParams().set('dateEntered', dateString)\r\n .set('scheduleTypeId', this.copyScheduleModel.scheduleTypeId.toString())\r\n .set('groupsPerShareId', this.copyScheduleModel.groupsPerShareId.toString());\r\n\r\n return this.httpClient.get(this.baseUrl + \"api/PracticeSchedule/CopySchedule/\", { headers: this.authService.generateHeaders_v2(), params: httpParams });\r\n }\r\n\r\n saveCopySchedule(copyScheduleListModel: CopyScheduleListModel): Observable {\r\n return this.httpClient.post(this.baseUrl + \"api/PracticeSchedule/SaveCopySchedule\", JSON.stringify(copyScheduleListModel), this.authService.generateHeaders());\r\n }\r\n\r\n saveCopyScheduleForPulmonary(copyScheduleListModel: CopyScheduleListModel): Observable {\r\n return this.httpClient.post(this.baseUrl + \"api/PracticeSchedule/SaveCopyScheduleForPulmonary/\", JSON.stringify(copyScheduleListModel), this.authService.generateHeaders());\r\n }\r\n saveCopyScheduleForNPAndPA(copyScheduleListModel: CopyScheduleListModel): Observable {\r\n return this.httpClient.post(this.baseUrl + \"api/PracticeSchedule/SaveCopyScheduleForNAAndPA/\", JSON.stringify(copyScheduleListModel), this.authService.generateHeaders());\r\n }\r\n manageSchedules(startDate: string, endDate: string): Observable> {\r\n let dateParam = new HttpParams().set('startDate', startDate).set('endDate', endDate);\r\n return this.httpClient.get>(this.baseUrl + \"api/PracticeSchedule/GetSchedules/\",\r\n { headers: this.authService.generateHeaders_v2(), params: dateParam });\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ProviderModel } from '../models/provider.model';\r\nimport { ShareCodeModel } from '../models/sharecode.model';\r\nimport { MappingInstructionTypeInstructionSubTypeModel } from '../models/mappinginstructiontypeinstructionsubtype.model';\r\nimport { InstructionTypesModel } from '../models/instructiontypes.model';\r\nimport { PrimarySpecialityModel } from '../models/primaryspeciality.model';\r\nimport { SecondarySpecialityModel } from '../models/secondaryspeciality.model';\r\nimport { ProviderForSignOutModel } from '../models/providerforsignout.model';\r\nimport { AuthService } from './auth.service';\r\nimport { FacilityScheduleTypesModel } from '../models/facilityscheduletypes.model';\r\n\r\n@Injectable()\r\nexport class ProviderService {\r\n baseUrl: string;\r\n initialProviderModel: ProviderModel;\r\n\r\n constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string, private authService: AuthService) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n getInitialProviderModel(): ProviderModel {\r\n this.initialProviderModel = {\r\n providerId: 0,\r\n providerFirstName: '',\r\n providerMiddleName: '',\r\n providerLastName: '',\r\n officeAddress1: '',\r\n isMidLevel: false,\r\n isSameAsPracticeAddress: false,\r\n officeAddress2: '',\r\n officeCity: '',\r\n officeState: '',\r\n officeZipCode: '',\r\n officeEmail: '',\r\n officePhone: '',\r\n officePager: '',\r\n officeFax: '',\r\n officeFaxExtension: '',\r\n officeUnlistedPhone1: '',\r\n officeUnlistedPhone2: '',\r\n homeAddress1: '',\r\n homeAddress2: '',\r\n homeCity: '',\r\n homeState: '',\r\n homeZipCode: '',\r\n homePhone: '',\r\n homeUnlistedPhone: '',\r\n homeAlternateNumber: '',\r\n homeMobile1: '',\r\n homeMobile2: '',\r\n homeMobile3: '',\r\n facilityId: 0,\r\n primarySpecialityId: 0,\r\n secondarySpecialityId: 0,\r\n providerSharedPractices: [],\r\n providerInstructions: [],\r\n fmnpAndPAProviderId: 0,\r\n outsideLMS: false\r\n };\r\n\r\n return this.initialProviderModel;\r\n }\r\n\r\n getAllProviders(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/Providers/\", this.authService.generateHeaders());\r\n }\r\n\r\n saveProvider(provider: ProviderModel): Observable {\r\n return this.httpClient.post(this.baseUrl + \"api/Providers/\", JSON.stringify(provider), this.authService.generateHeaders());\r\n }\r\n\r\n updateProvider(provider: ProviderModel): Observable {\r\n return this.httpClient.put(this.baseUrl + \"api/Providers/\" + provider.providerId, JSON.stringify(provider), this.authService.generateHeaders());\r\n }\r\n\r\n deleteProvider(providerId: number): Observable {\r\n return this.httpClient.delete(this.baseUrl + \"api/Providers/\" + providerId, this.authService.generateHeaders());\r\n }\r\n\r\n getProvider(providerId: number): Observable {\r\n return this.httpClient.get(this.baseUrl + \"api/Providers/\" + providerId, this.authService.generateHeaders());\r\n }\r\n\r\n getShareCodes(id: number): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/Providers/GetShareCode?id=\" + id, this.authService.generateHeaders());\r\n }\r\n\r\n getInstructionMappings(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/Providers/GetInstructionTypeSubType/\", this.authService.generateHeaders());\r\n }\r\n\r\n getInstructionTypes(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/Providers/GetInstructionType/\", this.authService.generateHeaders());\r\n }\r\n\r\n getPrimarySpecialities(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/Providers/GetPrimarySpeciality/\", this.authService.generateHeaders());\r\n }\r\n\r\n getSecondarySpecialities(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/Providers/GetSecondarySpeciality/\", this.authService.generateHeaders());\r\n }\r\n\r\n getProviderForProviderSignOut(providerId: number): Observable {\r\n return this.httpClient.get(this.baseUrl + \"api/providers/GetProviderForSignOut?id=\" + providerId, this.authService.generateHeaders());\r\n }\r\n\r\n getScheduleTypeNPAndPA(id: number): Observable {\r\n return this.httpClient.get(this.baseUrl + \"api/Providers/GetMidLevelScheduleType?id=\" + id, this.authService.generateHeaders());\r\n }\r\n getNPANDPAProviders(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + \"api/Providers/GetNPANDPAProviders/\", this.authService.generateHeaders());\r\n }\r\n}\r\n","import { Injectable, Inject } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { ProviderSignOutModel } from \"../models/providersignout.model\";\r\nimport { Observable } from 'rxjs';\r\nimport { ProviderForSignOutModel } from \"../models/providerforsignout.model\";\r\nimport { AuthService } from \"./auth.service\";\r\nimport { ErrorService } from \"./error.service\";\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ProviderSignOutService {\r\n baseUrl: string;\r\n initialProviderSignOutModel: ProviderSignOutModel;\r\n providerForSignOutModel: ProviderForSignOutModel;\r\n\r\n initializeProviderSignOutModel(): ProviderSignOutModel {\r\n this.initialProviderSignOutModel = {\r\n id: 0,\r\n date: null,\r\n signOutTo: '',\r\n isIndefinite: false,\r\n providerId: 0\r\n };\r\n return this.initialProviderSignOutModel;\r\n }\r\n\r\n initializeProviderForSignOutModel(): ProviderForSignOutModel {\r\n this.providerForSignOutModel = {\r\n providerId: 0,\r\n providerName: '',\r\n facilityId: 0,\r\n facilityName: ''\r\n };\r\n\r\n return this.providerForSignOutModel;\r\n }\r\n\r\n constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string, private authService: AuthService, private errorService: ErrorService) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n getProviderSignOut(providerId: number): Observable {\r\n return this.httpClient.get(this.baseUrl + \"api/ProviderSignOut/\" + providerId, this.authService.generateHeaders()).pipe(catchError(this.errorService.handleError));\r\n }\r\n\r\n createProviderSignout(providerSignOut: ProviderSignOutModel): Observable {\r\n return this.httpClient.post(this.baseUrl + \"api/ProviderSignOut/\", JSON.stringify(providerSignOut), this.authService.generateHeaders());\r\n }\r\n\r\n deleteProviderSignOut(providerId: number): Observable {\r\n return this.httpClient.delete(this.baseUrl + \"api/ProviderSignOut/\" + providerId, this.authService.generateHeaders());\r\n }\r\n}\r\n","import { Injectable, Inject } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport * as FileSaver from 'file-saver';\r\nimport { AuthService } from \"./auth.service\";\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n};\r\n\r\n@Injectable()\r\nexport class ReportService {\r\n baseUrl: string;\r\n constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string, private authService: AuthService) {\r\n this.baseUrl = baseUrl;\r\n }\r\n getMessageSlipPractices(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + 'api/Report/GetMessageSlipPractices', this.authService.generateHeaders());\r\n }\r\n getMessageSlipProviders(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + 'api/Report/GetMessageSlipProviders', this.authService.generateHeaders());\r\n }\r\n onCallVolumeReport(practices: Array, providers: Array, beginDate: Date, endDate: Date):Observable {\r\n var params = new HttpParams();\r\n if(practices.length > 0)\r\n params = params.set('practices', JSON.stringify(practices));\r\n if(providers.length > 0)\r\n params = params.set('providers', JSON.stringify(providers));\r\n params = params.set('beginDate', beginDate.toDateString());\r\n params = params.set('endDate', endDate.toDateString());\r\n //this.httpClient.get(this.baseUrl + 'api/Report/OnCallVolumeReport', { params: params, responseType: 'blob' }).subscribe(res => {\r\n // FileSaver.saveAs(res, 'Report.pdf');\r\n //});\r\n //return this.httpClient.get(this.baseUrl + 'api/Report/OnCallVolumeReport', {\r\n // headers: new HttpHeaders().append('Authorization', 'Bearer ' + this.authService.getAuthToken()).append('UserId', this.authService.getUser().id), params: params, responseType: 'blob' });\r\n\r\n return this.httpClient.get(this.baseUrl + 'api/Report/OnCallVolumeReport', {\r\n headers: this.authService.generateHeaders_v2(), params: params, responseType: 'blob'\r\n });\r\n }\r\n}\r\n","import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from \"@angular/router\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { AuthService } from \"./auth.service\";\r\n\r\n@Injectable()\r\nexport class UserRoleAuthGuardService implements CanActivate {\r\n constructor(private authService: AuthService, private route: Router) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean { \r\n if (this.authService.isLoggedIn()) {\r\n return true;\r\n }\r\n this.route.navigate([`./login`]);\r\n return false;\r\n }\r\n}\r\n","import { Inject, Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from \"rxjs\";\r\nimport { User } from \"../models/user.model\";\r\nimport { Question } from \"../models/questions.model\";\r\nimport { Answer } from \"../models/answer.model\";\r\nimport { ChangePasswordModel } from \"../models/changepassword.model\";\r\nimport { UserQuestion } from \"../models/userquestion.model\";\r\nimport { Role } from \"../models/role.model\";\r\nimport { WebHttpUrlEncoding } from \"../common/webhttpurlencoding\";\r\nimport { AuthService } from \"./auth.service\";\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n};\r\n@Injectable()\r\nexport class UserService {\r\n baseUrl: string;\r\n userModel: User;\r\n\r\n constructor(private httpClient: HttpClient, @Inject('BASE_URL') baseUrl: string, private authService: AuthService) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n initializeUserModel(): User {\r\n this.userModel = {\r\n userId: 0,\r\n facilities: [],\r\n firstName: '',\r\n lastName: '',\r\n username: '',\r\n email: '',\r\n password: '',\r\n forceUserToResetPassword: true,\r\n roleId: null\r\n };\r\n\r\n return this.userModel;\r\n }\r\n\r\n getUsers(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + 'api/User/', this.authService.generateHeaders());\r\n }\r\n\r\n getUser(id: number): Observable {\r\n return this.httpClient.get(this.baseUrl + 'api/User/' + id, this.authService.generateHeaders());\r\n }\r\n\r\n userNameExists(username: string): Observable {\r\n let usernameParam = new HttpParams().set('username', username);\r\n return this.httpClient.get(this.baseUrl + 'api/User/UserNameExists', { headers: new HttpHeaders().append('Authorization', 'Bearer ' + this.authService.getAuthToken()).append('UserId', this.authService.getUser().id), params: usernameParam });\r\n }\r\n\r\n saveUser(user: User): Observable {\r\n if (!user.userId)\r\n return this.httpClient.post(this.baseUrl + 'api/User/', JSON.stringify(user), this.authService.generateHeaders());\r\n else\r\n return this.httpClient.put(this.baseUrl + 'api/User/' + user.userId, JSON.stringify(user), this.authService.generateHeaders());\r\n }\r\n\r\n deleteUser(id: number): Observable {\r\n return this.httpClient.delete(this.baseUrl + 'api/User/' + id, this.authService.generateHeaders());\r\n }\r\n\r\n getQuestions(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + 'api/User/GetQuestions/', this.authService.generateHeaders());\r\n }\r\n\r\n getAnswers(id: number): Observable> {\r\n return this.httpClient.get>(this.baseUrl + 'api/User/GetAnswers?id=' + id, this.authService.generateHeaders());\r\n }\r\n\r\n insertAnswers(answers: Array): Observable {\r\n return this.httpClient.post(this.baseUrl + 'api/User/InsertAnswers/', JSON.stringify(answers), this.authService.generateHeaders());\r\n }\r\n\r\n updateAnswers(answers: Array): Observable {\r\n return this.httpClient.put(this.baseUrl + 'api/User/UpdateAnswers/', JSON.stringify(answers), this.authService.generateHeaders());\r\n }\r\n\r\n changePassword(changePasswordModel: ChangePasswordModel): Observable {\r\n if (changePasswordModel.password != \"\")\r\n return this.httpClient.put(this.baseUrl + 'api/User/UpdatePassword/', JSON.stringify(changePasswordModel), this.authService.generateHeaders());\r\n else\r\n return this.httpClient.put(this.baseUrl + 'api/User/PasswordReset/', JSON.stringify(changePasswordModel), { headers: this.generateHeaders() }); \r\n }\r\n\r\n getQuestion(content: { email: string, date: string }): Observable {\r\n let contentParams = new HttpParams({ encoder: new WebHttpUrlEncoding() }).set('email', content.email).set('date', content.date);\r\n return this.httpClient.get(this.baseUrl + 'api/User/ResetPassword', { headers: this.generateHeaders(), params: contentParams });\r\n }\r\n\r\n getRoles(): Observable> {\r\n return this.httpClient.get>(this.baseUrl + 'api/User/GetRoles', this.authService.generateHeaders());\r\n }\r\n\r\n isValidAnswer(userQuestion: UserQuestion): Observable {\r\n let answerParams = new HttpParams().set('userId', userQuestion.userId.toString()).set('questionId', userQuestion.questionId.toString()).set('answerText', userQuestion.answerText);\r\n return this.httpClient.get(this.baseUrl + 'api/User/IsValidAnswer', { headers: this.generateHeaders(), params: answerParams });\r\n }\r\n private generateHeaders() {\r\n return new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n \r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Share 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 \\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 { NgForm } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'lms-sharecodes',\r\n templateUrl: './sharecodes.component.html'\r\n})\r\n\r\nexport class SharecodesComponent implements OnInit {\r\n fac: string = \"null\";\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n onSubmit(form: NgForm) {\r\n console.log(\"I am here.\")\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Schedule\\r\\n * required fields!\\r\\n
\\r\\n
\\r\\n
\\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 choose Practice Name\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
0) && standardForm.get('basicInfo.facilityname').touched && standardForm.get('basicInfo.facilityname').invalid\\\">\\r\\n Please choose Schedule 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 Please enter Practice Name, Schedule Type and Begin Date to Copy Schedule\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Schedule*\\r\\n

\\r\\n
\\r\\n
\\r\\n
{{ copyMsg }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n Weekday Begin - {{weekDayBegin}}    Weekday End - {{weekDayEnd}}    \\r\\n Weekend Begin - {{weekEndBegin}}    Weekend End - {{weekEndEnd}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ onCall1Name }}{{onCall2Name}}{{onCall3Name}}{{onCall4Name}}{{onCall5Name}}
\\r\\n Monday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWMondayDate) }}   {{mondayStart }}  - {{mondayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Tuesday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWTuesdayDate)}}  {{tuesdayStart}} - {{tuesdayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Wednesday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWwednesdayDate)}}  {{wednesdayStart}}  - {{wednesdayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Thursday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWThursdayDate)}}  {{thursdayStart}} - {{thursdayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Friday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWFridayDate)}}  {{fridayStart}} - {{fridayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Saturday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstSaturdayDate)}}  {{saturdayStart}} - {{saturdayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Sunday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstSundayDate)}}  {{SundayStart}} - {{SundayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Monday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(SecondWMondayDate) }}   {{mondayStart }}  - {{mondayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Tuesday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(SecondWTuesdayDate)}}  {{tuesdayStart}} - {{tuesdayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Wednesday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(SecondWwednesdayDate)}}  {{wednesdayStart}}  - {{wednesdayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Thursday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(SecondWThursdayDate)}}  {{thursdayStart}} - {{thursdayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Friday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(SecondWFridayDate)}}  {{fridayStart}} - {{fridayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Saturday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(SecondWSaturdayDate)}}  {{saturdayStart}} - {{saturdayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n Sunday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(SecondWSundayDate)}}  {{SundayStart}} - {{SundayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n  
\\r\\n {{this.getDayName(n)}}\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(n)}}   {{SundayStart}} - {{SundayEnd}}\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Schedule*\\r\\n

\\r\\n
\\r\\n
\\r\\n
{{ copyMsg }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n Weekday Begin - {{weekDayBegin}}    Weekday End - {{weekDayEnd}}    \\r\\n Weekend Begin - {{weekEndBegin}}    Weekend End - {{weekEndEnd}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Monday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWMondayDate) }}
{{mondayStart }}  - {{mondayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Tuesday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWTuesdayDate)}}
{{tuesdayStart}} - {{tuesdayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Wednesday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWwednesdayDate)}}
{{wednesdayStart}}  - {{wednesdayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Thursday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWThursdayDate)}}
{{thursdayStart}} - {{thursdayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Friday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWFridayDate)}}
{{fridayStart}} - {{fridayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Saturday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstSaturdayDate)}}
{{saturdayStart}} - {{saturdayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Sunday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstSundayDate)}}
{{SundayStart}} - {{SundayEnd}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
(7a-5p)
\\r\\n
(7a-7p)
\\r\\n
(7p-7a)
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
(7a-5p)
\\r\\n
(5p-7a)
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Schedule*\\r\\n

\\r\\n
\\r\\n
\\r\\n
{{ copyMsg }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Monday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWMondayDate) }}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Tuesday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWTuesdayDate)}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Wednesday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWwednesdayDate)}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Thursday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWThursdayDate)}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Friday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstWFridayDate)}}
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Saturday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstSaturdayDate)}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Sunday\\r\\n \\r\\n
\\r\\n {{this.getFormattedDate(FirstSundayDate)}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{item.providerName}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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:
Click \\\"Save\\\" to save the schedule changes to LMS.
Click \\\"Complete\\\" to send the schedule changes to Filemaker.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n {{ responseMsg }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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 Signed Out\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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 { NgForm, FormsModule } from \"@angular/forms\";\r\nimport { ModalTemplate, TemplateModalConfig } from \"ng2-semantic-ui\";\r\nimport { FacilityService } from \"../services/facility.service\";\r\nimport { ProviderService } from \"../services/provider.service\";\r\nimport { PracticeScheduleService } from \"../services/practiceSchedule.service\";\r\nimport { practiceScheduleModel } from '../models/practiceSchedule.model';\r\nimport { ConfirmModal } from \"../common/confirm-modal.component\";\r\nimport { SuiModalService } from \"ng2-semantic-ui\";\r\nimport { ProviderSignOutService } from \"../services/providersignout.service\";\r\nimport { ProviderSignOutModel } from \"../models/providersignout.model\";\r\nimport { ProviderForSignOutModel } from \"../models/providerforsignout.model\";\r\nimport { PulmonaryType } from '../models/pulmonary-type.model';\r\nimport { PulmonaryData } from '../models/pulmonary.data.model';\r\nimport { debug } from \"util\";\r\nimport { retry } from \"rxjs/operators\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { CopyScheduleModel } from '../models/copyschedule.model';\r\nimport { standardViewModel } from '../models/standardview.model';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { GuestService } from '../services/guest.service';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { forEach } from \"@angular/router/src/utils/collection\";\r\nimport { BasePage } from '../common/base.page';\r\nimport { NPAndPASchedule } from \"../models/NPAndPASchedule.model\";\r\nimport { NgSelectModule, NgOption } from '@ng-select/ng-select';\r\n\r\nexport interface ProviderSignOutInfoModal {\r\n providerSignOutModel: ProviderSignOutModel,\r\n providerForSignOutModel: ProviderForSignOutModel\r\n}\r\n\r\n@Component({\r\n selector: 'lms-standardview',\r\n templateUrl: './standardview.component.html'\r\n})\r\nexport class StandardViewComponent extends BasePage {\r\n @ViewChild('providerSignOutModalTemplate')\r\n public providerSignOutModalTemplate: ModalTemplate;\r\n\r\n fac: string = \"null\";\r\n responseMsg: string = \"\";\r\n scheduleType: string = \"0\";\r\n facilityname: string = \"0\";\r\n searchPattern = /^[a-zA-Z0-9-!@$%#^&*()_+|~=`{}\\[\\]:\";'<>?,.\\/]*$/;\r\n serverTime: Date;\r\n today: Date;\r\n localDate: Date;\r\n beginDate: Date;\r\n localDateTmp: Date;\r\n monthStartDate: Date;\r\n copyMsg: string = \"\";\r\n is2ndweek: boolean = false;\r\n is3rdweek: boolean = false;\r\n is1Month: boolean = false;\r\n isNeporology: boolean = true;\r\n isPulmonary: boolean = false;\r\n isNAPASchedule: boolean = false;\r\n is1weekDisplay: boolean = true;\r\n isDisabled: boolean = false;\r\n isAdmin: boolean = false;\r\n isPreviousDisabled = false;\r\n isNextDisabled = false;\r\n firstPulmonaryType: number = 0;\r\n standardForm: FormGroup;\r\n standardModel: standardViewModel;\r\n hasFocus: boolean = false;\r\n hasFocus1: boolean = false;\r\n hasFocus2: boolean = false;\r\n hasFocus3: boolean = false;\r\n hasFocus4: boolean = false;\r\n hasFocus5: boolean = false;\r\n hasFocus6: boolean = false;\r\n has1Focus: boolean = true;\r\n FirstWMondayDate: Date; FirstWTuesdayDate: Date; FirstWwednesdayDate: Date; FirstWThursdayDate: Date; FirstWFridayDate: Date; FirstSaturdayDate: Date; FirstSundayDate: Date;\r\n SecondWMondayDate: Date; SecondWTuesdayDate: Date; SecondWwednesdayDate: Date; SecondWThursdayDate: Date; SecondWFridayDate: Date;\r\n SecondWSaturdayDate: Date; SecondWSundayDate: Date;\r\n FirstWMondayTDate: Date; FirstSundayTDate: Date; FirstWMondayPTDate: Date; FirstSundayPTDate: Date;\r\n practiceOptions: Array<{ key: string | number, value: string | number, facilityId: number }>;\r\n providerOptions: Array<{ key: string | number, value: string | number }>;\r\n scheduleTypes: Array<{ key: string | number, value: string | number }>;\r\n pulmonaryTypes: Array<{ key: string | number, value: string | number }>;\r\n scheduleTimingOptions: Array<{ key: string | number, value: string | number }>;\r\n items: number[] = [];\r\n flagArray: number[] = [];\r\n practiceModelWObj: practiceScheduleModel[] = [];\r\n providerSignOutModel: ProviderSignOutModel;\r\n providerForSignOutModel: ProviderForSignOutModel;\r\n pulmonaryModelWObj: PulmonaryData[] = [];\r\n monthDays: Date[] = [];\r\n practiceModelWObject: practiceScheduleModel[] = [];\r\n npAndPaObj: NPAndPASchedule[] = [];\r\n facilityItems: any;\r\n onCall1Name: string; onCall2Name: string; onCall3Name: string; onCall4Name: string; onCall5Name: string;\r\n mondayStart: string; tuesdayStart: string; wednesdayStart: string; thursdayStart: string; fridayStart: string; saturdayStart: string;; SundayStart: string;\r\n mondayEnd: string; tuesdayEnd: string; wednesdayEnd: string; thursdayEnd: string; fridayEnd: string; saturdayEnd: string; SundayEnd: string;\r\n mondayLunchStart: string; tuesdayLunchStart: string; wednesdayLunchStart: string; thursdayLunchStart: string; fridayLunchStart: string; saturdayLunchStart: string;; SundayLunchStart: string;\r\n mondayLunchEnd: string; tuesdayLunchEnd: string; wednesdayLunchEnd: string; thursdayLunchEnd: string; fridayLunchEnd: string; saturdayLunchEnd: string; SundayLunchEnd: string;\r\n weekDayBegin: string; weekDayEnd: string; weekEndBegin: string; weekEndEnd: string;\r\n isCompleted: boolean = false;\r\n isCopyScheduleValid: boolean = true;\r\n copyScheduleModel: CopyScheduleModel;\r\n\r\n constructor(private practiceService: FacilityService, private providerService: ProviderService, private practiceScheduleService: PracticeScheduleService,\r\n private suiModalService: SuiModalService, private providerSignOutService: ProviderSignOutService, private route: Router, private fb: FormBuilder, private guestService: GuestService,\r\n public authService: AuthService, private activatedRoute: ActivatedRoute) { super(authService) }\r\n\r\n ngOnInit() {\r\n this.providerSignOutModel = this.providerSignOutService.initializeProviderSignOutModel();\r\n this.providerForSignOutModel = this.providerSignOutService.initializeProviderForSignOutModel();\r\n\r\n if (localStorage.getItem('serverTime') != null) {\r\n this.serverTime = new Date(localStorage.getItem('serverTime'));\r\n } else {\r\n this.serverTime = new Date();\r\n }\r\n\r\n this.today = this.serverTime;\r\n this.localDate = this.serverTime;\r\n this.localDateTmp = this.serverTime;\r\n this.beginDate = this.serverTime;\r\n this.isAdmin = this.authService.isAdmin();\r\n this.standardForm = this.createStandardForm();\r\n this.standardModel = this.getInitialStandardModel();\r\n\r\n let beginD: any = document.getElementById(\"beginDate\");\r\n if (!this.isAdmin) {\r\n beginD.disabled = true;\r\n }\r\n\r\n this.monthStartDate = new Date(this.beginDate.getMonth() + 1 + \"/1/\" + this.beginDate.getFullYear());\r\n this.getFacilities();\r\n this.generateAllWeekDates();\r\n\r\n //Reset to Server Time - Start\r\n if (localStorage.getItem('serverTime') != null) {\r\n this.serverTime = new Date(localStorage.getItem('serverTime'));\r\n } else {\r\n this.serverTime = new Date();\r\n }\r\n\r\n this.beginDate = this.serverTime;\r\n this.today = new Date(this.beginDate);\r\n this.localDate = new Date(this.beginDate);\r\n\r\n //Reset to Server Time - end\r\n this.LoadSchedules();\r\n this.LoadPulmonaryTypes();\r\n this.getScheduleTimings();\r\n\r\n this.activatedRoute.paramMap.subscribe(params => {\r\n const groupShareId = +params.get('id');\r\n const isScheduleCopied = params.get('isCopied');\r\n if (groupShareId) {\r\n this.facilityname = groupShareId.toString();\r\n this.onPracticeChangeName(this.facilityname);\r\n if (isScheduleCopied === 'true') {\r\n this.copyMsg = \"The Schedule Has been Successfully Copied!!\";\r\n setTimeout(() => {\r\n this.copyMsg = \"\";\r\n }, 5000);\r\n }\r\n }\r\n });\r\n }\r\n\r\n createStandardForm(): FormGroup {\r\n return this.fb.group({\r\n basicInfo: this.fb.group({\r\n facilityname: [null, Validators.required],\r\n scheduleType: [null, Validators.required],\r\n beginDate: [new Date(this.serverTime), Validators.required]\r\n }),\r\n standardView: this.fb.group({\r\n W1DoctorOnCall: [''],\r\n W2DoctorOnCall: [''],\r\n W3DoctorOnCall: [''],\r\n W4DoctorOnCall: [''],\r\n W5DoctorOnCall: [''],\r\n W6DoctorOnCall: [''],\r\n W7DoctorOnCall: [''],\r\n W8DoctorOnCall: [''],\r\n W9DoctorOnCall: [''],\r\n W10DoctorOnCall: [''],\r\n W11DoctorOnCall: [''],\r\n W12DoctorOnCall: [''],\r\n W13DoctorOnCall: [''],\r\n W14DoctorOnCall: [''],\r\n W15DoctorOnCall: [''],\r\n W16DoctorOnCall: [''],\r\n W17DoctorOnCall: [''],\r\n W18DoctorOnCall: [''],\r\n W19DoctorOnCall: [''],\r\n W20DoctorOnCall: [''],\r\n W21DoctorOnCall: [''],\r\n W22DoctorOnCall: [''],\r\n W23DoctorOnCall: [''],\r\n W24DoctorOnCall: [''],\r\n W25DoctorOnCall: [''],\r\n W26DoctorOnCall: [''],\r\n W27DoctorOnCall: [''],\r\n W28DoctorOnCall: [''],\r\n W29DoctorOnCall: [''],\r\n W30DoctorOnCall: [''],\r\n W31DoctorOnCall: [''],\r\n W32DoctorOnCall: [''],\r\n\r\n W1Stemi: [''],\r\n W2Stemi: [''],\r\n W3Stemi: [''],\r\n W4Stemi: [''],\r\n W5Stemi: [''],\r\n W6Stemi: [''],\r\n W7Stemi: [''],\r\n W8Stemi: [''],\r\n W9Stemi: [''],\r\n W10Stemi: [''],\r\n W11Stemi: [''],\r\n W12Stemi: [''],\r\n W13Stemi: [''],\r\n W14Stemi: [''],\r\n W15Stemi: [''],\r\n W16Stemi: [''],\r\n W17Stemi: [''],\r\n W18Stemi: [''],\r\n W19Stemi: [''],\r\n W20Stemi: [''],\r\n W21Stemi: [''],\r\n W22Stemi: [''],\r\n W23Stemi: [''],\r\n W24Stemi: [''],\r\n W25Stemi: [''],\r\n W26Stemi: [''],\r\n W27Stemi: [''],\r\n W28Stemi: [''],\r\n W29Stemi: [''],\r\n W30Stemi: [''],\r\n W31Stemi: [''],\r\n W32Stemi: [''],\r\n\r\n W1ApcOnCall: [''],\r\n W2ApcOnCall: [''],\r\n W3ApcOnCall: [''],\r\n W4ApcOnCall: [''],\r\n W5ApcOnCall: [''],\r\n W6ApcOnCall: [''],\r\n W7ApcOnCall: [''],\r\n W8ApcOnCall: [''],\r\n W9ApcOnCall: [''],\r\n W10ApcOnCall: [''],\r\n W11ApcOnCall: [''],\r\n W12ApcOnCall: [''],\r\n W13ApcOnCall: [''],\r\n W14ApcOnCall: [''],\r\n W15ApcOnCall: [''],\r\n W16ApcOnCall: [''],\r\n W17ApcOnCall: [''],\r\n W18ApcOnCall: [''],\r\n W19ApcOnCall: [''],\r\n W20ApcOnCall: [''],\r\n W21ApcOnCall: [''],\r\n W22ApcOnCall: [''],\r\n W23ApcOnCall: [''],\r\n W24ApcOnCall: [''],\r\n W25ApcOnCall: [''],\r\n W26ApcOnCall: [''],\r\n W27ApcOnCall: [''],\r\n W28ApcOnCall: [''],\r\n W29ApcOnCall: [''],\r\n W30ApcOnCall: [''],\r\n W31ApcOnCall: [''],\r\n W32ApcOnCall: [''],\r\n\r\n\r\n W1Oncall4: [''],\r\n W2Oncall4: [''],\r\n W3Oncall4: [''],\r\n W4Oncall4: [''],\r\n W5Oncall4: [''],\r\n W6Oncall4: [''],\r\n W7Oncall4: [''],\r\n W8Oncall4: [''],\r\n W9Oncall4: [''],\r\n W10Oncall4: [''],\r\n W11Oncall4: [''],\r\n W12Oncall4: [''],\r\n W13Oncall4: [''],\r\n W14Oncall4: [''],\r\n W15Oncall4: [''],\r\n W16Oncall4: [''],\r\n W17Oncall4: [''],\r\n W18Oncall4: [''],\r\n W19Oncall4: [''],\r\n W20Oncall4: [''],\r\n W21Oncall4: [''],\r\n W22Oncall4: [''],\r\n W23Oncall4: [''],\r\n W24Oncall4: [''],\r\n W25Oncall4: [''],\r\n W26Oncall4: [''],\r\n W27Oncall4: [''],\r\n W28Oncall4: [''],\r\n W29Oncall4: [''],\r\n W30Oncall4: [''],\r\n W31Oncall4: [''],\r\n W32Oncall4: [''],\r\n\r\n\r\n W1Oncall5: [''],\r\n W2Oncall5: [''],\r\n W3Oncall5: [''],\r\n W4Oncall5: [''],\r\n W5Oncall5: [''],\r\n W6Oncall5: [''],\r\n W7Oncall5: [''],\r\n W8Oncall5: [''],\r\n W9Oncall5: [''],\r\n W10Oncall5: [''],\r\n W11Oncall5: [''],\r\n W12Oncall5: [''],\r\n W13Oncall5: [''],\r\n W14Oncall5: [''],\r\n W15Oncall5: [''],\r\n W16Oncall5: [''],\r\n W17Oncall5: [''],\r\n W18Oncall5: [''],\r\n W19Oncall5: [''],\r\n W20Oncall5: [''],\r\n W21Oncall5: [''],\r\n W22Oncall5: [''],\r\n W23Oncall5: [''],\r\n W24Oncall5: [''],\r\n W25Oncall5: [''],\r\n W26Oncall5: [''],\r\n W27Oncall5: [''],\r\n W28Oncall5: [''],\r\n W29Oncall5: [''],\r\n W30Oncall5: [''],\r\n W31Oncall5: [''],\r\n W32Oncall5: ['']\r\n\r\n })\r\n\r\n });\r\n }\r\n\r\n getInitialStandardModel() {\r\n this.standardModel = {\r\n basicInfo: {\r\n facilityname: 0,\r\n scheduleType: 0,\r\n beginDate: new Date(this.serverTime)\r\n },\r\n standardView: {\r\n W1DoctorOnCall: 0,\r\n W2DoctorOnCall: 0\r\n },\r\n };\r\n return this.standardModel;\r\n }\r\n\r\n private FillOneMonthDates(): any {\r\n //debugger;\r\n this.monthDays = [];\r\n var date = this.beginDate;\r\n\r\n var firstDay =\r\n new Date(date.getFullYear(), date.getMonth(), 1);\r\n\r\n var lastDay =\r\n new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n\r\n for (let y = 1; y < 35; y++) {\r\n\r\n if (firstDay <= lastDay) {\r\n\r\n this.monthDays.push(new Date(firstDay));\r\n firstDay = new Date(firstDay.setDate(firstDay.getDate() + 1));\r\n\r\n }\r\n }\r\n }\r\n\r\n printHours(): any {\r\n var today = this.serverTime;\r\n var time = today.getHours() + \":\" + today.getMinutes() + \":\" + today.getSeconds();\r\n //console.log(time);\r\n }\r\n\r\n getFacilities(): any {\r\n\r\n this.practiceScheduleService.getGroupsPerShare().subscribe(res => {\r\n //console.log(res);\r\n //debugger;\r\n\r\n\r\n this.practiceOptions = res.map(x => { return { key: x.firstName, value: x.facilityId + \"-\" + x.facilityName, facilityId: x.facilityId }; });\r\n\r\n //console.log(this.practiceOptions);\r\n });\r\n }\r\n\r\n LoadPulmonaryTypes(): any {\r\n this.practiceScheduleService.getPulmonaryTypes().subscribe(res => {\r\n this.pulmonaryTypes = res.map(x => { return { key: x.pulmonaryTypeId, value: x.typeName }; });\r\n if (this.pulmonaryTypes.length > 0) {\r\n this.firstPulmonaryType = parseInt(this.pulmonaryTypes[0].key.toString());\r\n }\r\n });\r\n }\r\n\r\n getProviders(groupShareId: string): any {\r\n this.practiceScheduleService.getAllProviders(groupShareId).subscribe(res => {\r\n this.providerOptions = res.map(x => { return { key: x.providerId, value: x.providerFirstName + ' ' + x.providerLastName }; }) || [];\r\n var selectItem = { \"key\": 0, \"value\": \"Select one\" };\r\n this.providerOptions.unshift(selectItem);\r\n }, err => {\r\n this.providerOptions = [];\r\n });\r\n }\r\n\r\n getScheduleTimings(): any {\r\n //debugger;\r\n this.practiceScheduleService.getScheduleTimings().subscribe(res => {\r\n this.scheduleTimingOptions = res.map(x => { return { key: x.scheduleTimeId, value: x.scheduleTimeName }; }) || [];\r\n var selectItem = { \"key\": 0, \"value\": \"Select one\" };\r\n this.scheduleTimingOptions.unshift(selectItem);\r\n },\r\n err => {\r\n this.scheduleTimingOptions = [];\r\n }\r\n );\r\n }\r\n\r\n LoadSchedules(): any {\r\n var loadingKey = \"scheduleTypeChange\";\r\n this.setLoading(loadingKey, true);\r\n\r\n this.pulmonaryModelWObj = [];\r\n this.practiceModelWObj = [];\r\n this.practiceModelWObject = [];\r\n this.npAndPaObj = [];\r\n let facilityObj: any = this.standardModel.basicInfo.facilityname;\r\n let scheduleTypeObj: any = this.standardModel.basicInfo.scheduleType;// \"0\";// document.getElementById(\"scheduleType\");\r\n if (this.scheduleTypes != undefined)\r\n scheduleTypeObj = this.scheduleTypes[0].key;\r\n\r\n let datObj: any = this.getFormattedDate(this.beginDate);\r\n let days = \"6\";\r\n if (this.is1Month == true) {\r\n days = \"31\";\r\n if (this.is1Month == true) {\r\n this.FillOneMonthDates();\r\n }\r\n } else if (this.is2ndweek == true) {\r\n days = \"13\";\r\n }\r\n\r\n if (this.isPulmonary == false && this.isNAPASchedule == false) {\r\n this.practiceScheduleService.getSchedules(facilityObj, scheduleTypeObj, days, datObj).subscribe(res => {\r\n this.populateValues(res);\r\n this.practiceModelWObject = res;\r\n }, err => {\r\n this.setLoading(loadingKey, false);\r\n });\r\n } else if (this.isNeporology == false && this.isNAPASchedule == false) {\r\n days = \"6\";\r\n this.practiceScheduleService.getPulmonarySchedules(facilityObj, scheduleTypeObj, days, datObj).subscribe(res => {\r\n this.populatePulmonaryValues(res);\r\n }, err => {\r\n this.setLoading(loadingKey, false);\r\n });\r\n this.AddItems();\r\n } else {\r\n days = \"6\";\r\n //debugger;\r\n this.practiceScheduleService.getAllProvidersForPractice(facilityObj, scheduleTypeObj, days, datObj).subscribe(res => {\r\n //debugger;\r\n //this.setLoading(loadingKey, false);\r\n //console.log(res);\r\n this.populateNPAnsPAValues(res);\r\n }, err => {\r\n this.setLoading(loadingKey, false);\r\n });\r\n }\r\n\r\n if (facilityObj > 0) {\r\n setTimeout(() => {\r\n\r\n this.setLoading(loadingKey, false);\r\n // console.log(\"started\");\r\n }, 500);\r\n\r\n //setTimeout(() => {\r\n // // this.hasFocus = true;\r\n // this.setLoading(loadingKey, false);\r\n // console.log(\"started\");\r\n //}, 6000);\r\n }\r\n else {\r\n this.setLoading(loadingKey, false);\r\n }\r\n }\r\n\r\n populateNPAnsPAValues(response: NPAndPASchedule[]): any {\r\n\r\n if (response != undefined && response.length > 0) {\r\n\r\n for (let i = 0; i < response.length;i++)\r\n {\r\n debugger;\r\n var npPAobject = response[i];\r\n if (npPAobject.day1TimeId == undefined || npPAobject.day1TimeId==null)\r\n npPAobject.day1TimeId = 0;\r\n if (npPAobject.day2TimeId == undefined || null)\r\n npPAobject.day2TimeId = 0;\r\n if (npPAobject.day3TimeId == undefined || null)\r\n npPAobject.day3TimeId = 0;\r\n if (npPAobject.day4TimeId == undefined || null)\r\n npPAobject.day4TimeId = 0;\r\n if (npPAobject.day5TimeId == undefined || null)\r\n npPAobject.day5TimeId = 0;\r\n if (npPAobject.day6TimeId == undefined || null)\r\n npPAobject.day6TimeId = 0;\r\n if (npPAobject.day7TimeId == undefined || null)\r\n npPAobject.day7TimeId = 0;\r\n this.npAndPaObj.push(npPAobject);\r\n }\r\n //this.npAndPaObj = response;\r\n\r\n }\r\n }\r\n\r\n populateValues(response: practiceScheduleModel[]): any {\r\n debugger;\r\n if (this.isPulmonary == false) {\r\n\r\n let days = 8;\r\n if (this.is1Month == true) {\r\n days = 32;\r\n }\r\n else if (this.is2ndweek == true) {\r\n days = 15;\r\n }\r\n\r\n\r\n for (var i = 1; i < days; i++) {\r\n //debugger;\r\n // console.log(\"looping started\");\r\n var hdnDateobj: any = document.getElementById(\"hdn\" + i + \"day\");\r\n if (hdnDateobj != undefined && hdnDateobj != null) {\r\n\r\n if (hdnDateobj.value != \"\") {\r\n\r\n\r\n // debugger;\r\n var dtTmp: Date = new Date(hdnDateobj.value);\r\n var obj = this.getSelectedDateObj(response, dtTmp); //response.filter(x => x.scheduleDate.getDate() === dt.getDate());\r\n\r\n let practiceModel = obj;\r\n\r\n let hdnId: any = document.getElementById(\"hdn\" + i + \"Id\");\r\n if (practiceModel != undefined && practiceModel != null) {\r\n\r\n\r\n\r\n if (hdnId != undefined && hdnId != null)\r\n hdnId.value = practiceModel.scheduleNumber;\r\n\r\n //debugger;\r\n\r\n let formArray: any = this.standardForm.get('standardView') as FormArray;\r\n let DoctorOnCall: string = \"W\" + i + \"DoctorOnCall\";\r\n if (practiceModel.onCall1ProviderId==null)\r\n formArray.get(DoctorOnCall).patchValue(0);\r\n else\r\n formArray.get(DoctorOnCall).patchValue(practiceModel.onCall1ProviderId);\r\n\r\n let Stemi: string = \"W\" + i + \"Stemi\";\r\n if (practiceModel.onCall2ProviderId == null)\r\n formArray.get(Stemi).patchValue(0);\r\n else\r\n formArray.get(Stemi).patchValue(practiceModel.onCall2ProviderId);\r\n\r\n let ApcOnCall: string = \"W\" + i + \"ApcOnCall\";\r\n if (practiceModel.onCall3ProviderId == null)\r\n formArray.get(ApcOnCall).patchValue(0);\r\n else\r\n formArray.get(ApcOnCall).patchValue(practiceModel.onCall3ProviderId);\r\n\r\n let Oncall4: string = \"W\" + i + \"Oncall4\";\r\n if (practiceModel.onCall4ProviderId==null)\r\n formArray.get(Oncall4).patchValue(0);\r\n else\r\n formArray.get(Oncall4).patchValue(practiceModel.onCall4ProviderId);\r\n\r\n let Oncall5: string = \"W\" + i + \"Oncall5\";\r\n if (practiceModel.onCall5ProviderId == null)\r\n formArray.get(Oncall5).patchValue(0);\r\n else\r\n formArray.get(Oncall5).patchValue(practiceModel.onCall5ProviderId);\r\n }\r\n else {\r\n\r\n if (hdnId != undefined && hdnId != null)\r\n hdnId.value = \"0\";\r\n\r\n let txtName: string = \"W\" + i + \"DoctorOnCall\";\r\n let formArray: any = this.standardForm.get('standardView') as FormArray;\r\n let xval = formArray.get(txtName).value;\r\n formArray.get(txtName).patchValue(0);\r\n\r\n let Stemi: string = \"W\" + i + \"Stemi\";\r\n formArray.get(Stemi).patchValue(0);\r\n\r\n let ApcOnCall: string = \"W\" + i + \"ApcOnCall\";\r\n formArray.get(ApcOnCall).patchValue(0);\r\n\r\n let Oncall4: string = \"W\" + i + \"Oncall4\";\r\n formArray.get(Oncall4).patchValue(0);\r\n\r\n let Oncall5: string = \"W\" + i + \"Oncall5\";\r\n formArray.get(Oncall5).patchValue(0);\r\n\r\n }\r\n }\r\n }\r\n else {\r\n\r\n let txtName: string = \"W\" + i + \"DoctorOnCall\";\r\n let formArray: any = this.standardForm.get('standardView') as FormArray;\r\n let xval = formArray.get(txtName).value;\r\n formArray.get(txtName).patchValue(0);\r\n\r\n let Stemi: string = \"W\" + i + \"Stemi\";\r\n formArray.get(Stemi).patchValue(0);\r\n\r\n let ApcOnCall: string = \"W\" + i + \"ApcOnCall\";\r\n formArray.get(ApcOnCall).patchValue(0);\r\n\r\n let Oncall4: string = \"W\" + i + \"Oncall4\";\r\n formArray.get(Oncall4).patchValue(0);\r\n\r\n let Oncall5: string = \"W\" + i + \"Oncall5\";\r\n formArray.get(Oncall5).patchValue(0);\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n getSelectedDateObj(response: practiceScheduleModel[], dt: Date): practiceScheduleModel {\r\n\r\n for (var y = 0; y < response.length; y++) {\r\n // debugger;\r\n var dtDate: Date = new Date(response[y].scheduleDate);\r\n // //console.log(dtDate + \"-\" + dt); \r\n\r\n if (dtDate.getDate() === dt.getDate()) {\r\n return response[y];\r\n }\r\n }\r\n }\r\n\r\n populatePulmonaryValues(response: PulmonaryData[]): any {\r\n if (this.isPulmonary == true) {\r\n let formArray: any = this.standardForm.get('pulmonaryView') as FormArray;\r\n if (response != undefined && response.length > 0) {\r\n this.items = [];\r\n this.pulmonaryModelWObj = response;\r\n for (var c = 0; c < response.length; c++) {\r\n if (this.items.indexOf(response[c].pulmonaryTypeId) == -1)\r\n this.items.push(response[c].pulmonaryTypeId);\r\n }\r\n }\r\n }\r\n }\r\n\r\n //setPulmonaryGrid(response: PulmonaryData[]): FormArray {\r\n\r\n // const pulmonaryViewArray = this.standardForm.get('pulmonaryView') as FormArray;\r\n // for (var c = 0; c < response.length; c++) {\r\n\r\n // pulmonaryViewArray.push(this.fb.group({\r\n // call1: response[c].pulmonaryTypeId,\r\n // pulmType: response[c].pulmonaryTypeId,\r\n // monday: response[c].day1ProviderId,\r\n // tuesday: response[c].day2ProviderId,\r\n // wednesday: response[c].day3ProviderId,\r\n // thursday: response[c].day4ProviderId,\r\n // friday: response[c].day5ProviderId,\r\n // saturday: response[c].day6ProviderId,\r\n // sunday: response[c].day7ProviderId\r\n // }));\r\n // }\r\n\r\n // //pulmonaryViewArray.push(this.fb.group({ \r\n // // call1:123 \r\n // //}));\r\n // //pulmonaryViewArray.push(this.fb.group({\r\n // // call1: 234\r\n // //}));\r\n // //pulmonaryViewArray.push(this.fb.group({\r\n // // call1: 345\r\n // //}));\r\n\r\n // return pulmonaryViewArray;\r\n //}\r\n\r\n generateAllWeekDates(): any {\r\n this.responseMsg = \"\";\r\n let dayNumber = this.today.getDay();\r\n // debugger;\r\n\r\n if (dayNumber == 0)\r\n dayNumber = 7;\r\n\r\n this.localDate.setDate(this.localDate.getDate() - dayNumber);\r\n\r\n this.localDate.setDate(this.localDate.getDate() + 1);\r\n this.FirstWMondayDate = new Date(this.localDate.getTime());\r\n this.localDate.setDate(this.localDate.getDate() + 1);\r\n this.FirstWTuesdayDate = new Date(this.localDate.getTime());\r\n this.localDate.setDate(this.localDate.getDate() + 1);\r\n this.FirstWwednesdayDate = new Date(this.localDate.getTime());\r\n this.localDate.setDate(this.localDate.getDate() + 1);\r\n this.FirstWThursdayDate = new Date(this.localDate.getTime());\r\n this.localDate.setDate(this.localDate.getDate() + 1);\r\n this.FirstWFridayDate = new Date(this.localDate.getTime());\r\n this.localDate.setDate(this.localDate.getDate() + 1);\r\n this.FirstSaturdayDate = new Date(this.localDate.getTime());\r\n this.localDate.setDate(this.localDate.getDate() + 1);\r\n this.FirstSundayDate = new Date(this.localDate.getTime());\r\n\r\n\r\n this.localDate.setDate(this.localDate.getDate() + 1);\r\n this.SecondWMondayDate = new Date(this.localDate.getTime());\r\n this.localDate.setDate(this.localDate.getDate() + 1);\r\n this.SecondWTuesdayDate = new Date(this.localDate.getTime());\r\n this.localDate.setDate(this.localDate.getDate() + 1);\r\n this.SecondWwednesdayDate = new Date(this.localDate.getTime());\r\n this.localDate.setDate(this.localDate.getDate() + 1);\r\n this.SecondWThursdayDate = new Date(this.localDate.getTime());\r\n this.localDate.setDate(this.localDate.getDate() + 1);\r\n this.SecondWFridayDate = new Date(this.localDate.getTime());\r\n this.localDate.setDate(this.localDate.getDate() + 1);\r\n this.SecondWSaturdayDate = new Date(this.localDate.getTime());\r\n this.localDate.setDate(this.localDate.getDate() + 1);\r\n this.SecondWSundayDate = new Date(this.localDate.getTime());\r\n\r\n\r\n\r\n\r\n }\r\n\r\n getFormattedDate(dt): any {\r\n\r\n\r\n let today = new Date(dt);\r\n let dd: any = today.getDate();\r\n let mm: any = today.getMonth() + 1; //January is 0!\r\n var fnmonth: any = mm.toString();;\r\n var fndate: any = dd.toString();;\r\n\r\n let yyyy = today.getFullYear();\r\n if (dd < 10) {\r\n fndate = '0' + dd.toString();\r\n }\r\n if (mm < 10) {\r\n fnmonth = '0' + mm.toString();;\r\n }\r\n return fnmonth + '/' + fndate + '/' + yyyy;\r\n\r\n }\r\n\r\n onSubmit(form: NgForm) {\r\n //console.log(\"I am here.\")\r\n }\r\n\r\n clearForm() {\r\n if (localStorage.getItem('serverTime') != null) {\r\n this.serverTime = new Date(localStorage.getItem('serverTime'));\r\n }\r\n else {\r\n this.serverTime = new Date();\r\n }\r\n this.beginDate = this.serverTime;\r\n this.today = new Date(this.beginDate);\r\n this.localDate = new Date(this.beginDate);\r\n this.isDisabled = false;\r\n this.is2ndweek = false;\r\n this.is3rdweek = false;\r\n this.is1Month = false;\r\n this.is2ndweek = false;\r\n // this.isPulmonary = false;\r\n\r\n this.generateAllWeekDates();\r\n //Reset to Server Time -Start\r\n if (localStorage.getItem('serverTime') != null) {\r\n this.serverTime = new Date(localStorage.getItem('serverTime'));\r\n }\r\n else {\r\n this.serverTime = new Date();\r\n }\r\n this.beginDate = this.serverTime;\r\n this.today = new Date(this.beginDate);\r\n this.localDate = new Date(this.beginDate);\r\n //Reset to Server Time -end\r\n\r\n //let facilityObj: any = document.getElementById(\"facilityname\");\r\n //let scheduleTypeObj: any = document.getElementById(\"scheduleType\");\r\n //scheduleTypeObj.value = \"0\";\r\n //facilityObj.value = \"0\";\r\n //facilityObj.focus();\r\n //this.facilityname = \"0\";\r\n //this.scheduleType = \"0\";\r\n\r\n this.weekDayBegin = \"\";\r\n this.weekDayEnd = \"\";\r\n this.weekEndBegin = \"\";\r\n this.weekEndEnd = \"\";\r\n this.mondayStart = \"\"; this.mondayEnd = \"\";\r\n this.tuesdayStart = \"\"; this.tuesdayEnd = \"\";\r\n this.wednesdayStart = \"\"; this.wednesdayEnd = \"\";\r\n this.thursdayStart = \"\"; this.thursdayEnd = \"\";\r\n this.fridayStart = \"\"; this.fridayEnd = \"\";\r\n this.saturdayStart = \"\"; this.saturdayEnd = \"\";\r\n this.SundayStart = \"\"; this.SundayEnd = \"\";\r\n this.onCall1Name = \"\";\r\n this.onCall2Name = \"\";\r\n this.onCall3Name = \"\";\r\n this.onCall4Name = \"\";\r\n this.onCall5Name = \"\";\r\n\r\n\r\n this.standardForm = this.createStandardForm();\r\n this.standardModel = this.getInitialStandardModel();\r\n\r\n\r\n var firstButton: any = document.getElementById(\"btn1week\");\r\n if (firstButton != null) {\r\n firstButton.style.backgroundColor = \"#21BA45\";\r\n firstButton.style.color = \"#FFFFFF\";\r\n }\r\n\r\n var secondButton: any = document.getElementById(\"btn2week\");\r\n if (secondButton != null) {\r\n secondButton.style.backgroundColor = \"#E0E1E2\";\r\n secondButton.style.color = \"#000000\";\r\n }\r\n\r\n var thirdButton: any = document.getElementById(\"btn3week\");\r\n if (thirdButton != null) {\r\n thirdButton.style.backgroundColor = \"#E0E1E2\";\r\n thirdButton.style.color = \"#000000\";\r\n }\r\n\r\n this.pulmonaryModelWObj = [];\r\n this.npAndPaObj = [];\r\n this.flagArray = [];\r\n this.isPulmonary = false;\r\n }\r\n\r\n SaveForm(flag) {\r\n //var lkPageRecord = \"saveSchedule\";\r\n //this.setLoading(lkPageRecord, true);\r\n this.copyMsg = \"\";\r\n this.isDisabled = true;\r\n let myDate: Date = this.serverTime;\r\n\r\n if (flag == 'C') {\r\n this.isCompleted = true;\r\n } else {\r\n this.isCompleted = false;\r\n }\r\n\r\n const basicInfo = this.standardForm.get('basicInfo');\r\n this.standardModel.basicInfo.facilityname = basicInfo.get('facilityname').value;\r\n this.standardModel.basicInfo.scheduleType = basicInfo.get('scheduleType').value;\r\n\r\n if (this.isPulmonary == false && this.isNAPASchedule == false) {\r\n let days = 8;\r\n if (this.is1Month == true) {\r\n days = 32;\r\n } else if (this.is2ndweek == true) {\r\n days = 15;\r\n }\r\n\r\n for (let i = 1; i <= days; i++) {\r\n let onCall4: number = 0;\r\n let onCal5: number = 0;\r\n let Id: any = document.getElementById(\"hdn\" + i + \"Id\");\r\n\r\n if (Id != undefined) {\r\n const standardInfo = this.standardForm.get('standardView');\r\n\r\n if (this.isNeporology == true) {\r\n onCall4 = parseInt(standardInfo.get(\"W\" + i + \"Oncall4\").value);\r\n onCal5 = parseInt(standardInfo.get(\"W\" + i + \"Oncall5\").value);\r\n }\r\n\r\n let scheduleDate: any = document.getElementById(\"hdn\" + i + \"day\");\r\n let actDate: any = new Date(scheduleDate.value);\r\n let scheduleId: any = Id.value;\r\n\r\n var practiceScheduleModelObj = {\r\n scheduleNumber: parseInt(scheduleId),\r\n onCall1ProviderId: parseInt(standardInfo.get(\"W\" + i + \"DoctorOnCall\").value),\r\n onCall2ProviderId: parseInt(standardInfo.get(\"W\" + i + \"Stemi\").value),\r\n onCall3ProviderId: parseInt(standardInfo.get(\"W\" + i + \"ApcOnCall\").value),\r\n onCall4ProviderId: onCall4,\r\n onCall5ProviderId: onCal5,\r\n scheduleTypeId: parseInt(this.standardModel.basicInfo.scheduleType.toString()),\r\n facilityId: 0,\r\n startDate: new Date(myDate.toUTCString()) ,\r\n endDate: new Date(myDate.toUTCString()),\r\n scheduleDate: new Date(actDate.toUTCString()),\r\n scheduleDt: \"\",\r\n groupsPerShareId: parseInt(this.standardModel.basicInfo.facilityname.toString()),\r\n displayOrder: 0,\r\n pulmonaryTypeId: 0,\r\n providerName: \"\",\r\n completed: this.isCompleted\r\n };\r\n\r\n this.practiceModelWObj.push(practiceScheduleModelObj);\r\n }\r\n }\r\n this.practiceScheduleService.savePractice(this.practiceModelWObj).subscribe(res => {\r\n // this.setLoading(lkPageRecord, false);\r\n this.responseMsg = res.message;\r\n \r\n this.LoadSchedules();\r\n setTimeout(() => {\r\n this.responseMsg = \"\";\r\n this.isDisabled = false;\r\n }, 3000);\r\n }, err => {\r\n setTimeout(() => {\r\n this.responseMsg = \"\";\r\n this.isDisabled = false;\r\n }, 3000);\r\n });\r\n } else if (this.isNeporology == false && this.isNAPASchedule == false) {\r\n for (var y = 0; y < this.pulmonaryModelWObj.length; y++) {\r\n var schNumber: number = 0;\r\n let displayOrder: number = this.pulmonaryModelWObj[y].displayOrder;\r\n var pulmonaryActive: boolean = false;\r\n let IdObj: any = document.getElementById(\"hidPY\" + y);\r\n let hidActiveObj: any = document.getElementById(\"hidisActive\" + y);\r\n if (hidActiveObj != undefined && hidActiveObj.value.indexOf(\"true\") > -1)\r\n pulmonaryActive = true;\r\n\r\n if (IdObj != undefined)\r\n schNumber = parseInt(IdObj.value);\r\n\r\n var pulmObj = this.pulmonaryModelWObj.find(x => x.scheduleNumber == schNumber && x.displayOrder == displayOrder && x.isActive == true);\r\n if (pulmObj != undefined && pulmObj != null) {\r\n pulmObj.scheduleTypeId = parseInt(this.standardModel.basicInfo.scheduleType.toString());\r\n pulmObj.displayOrder = y;\r\n pulmObj.isActive = pulmonaryActive;\r\n pulmObj.completed = this.isCompleted;\r\n }\r\n let stUTCDt: any = new Date( this.pulmonaryModelWObj[y].startDate);\r\n this.pulmonaryModelWObj[y].startDate = new Date(stUTCDt.toUTCString());\r\n let edUTCDt: any =new Date( this.pulmonaryModelWObj[y].endDate);\r\n this.pulmonaryModelWObj[y].endDate = new Date(edUTCDt.toUTCString());\r\n }\r\n\r\n if (this.getActivePulmonaryAndDublicate() == false) {\r\n this.responseMsg = \"\";\r\n this.practiceScheduleService.savePulmonary(this.pulmonaryModelWObj).subscribe(res => {\r\n // this.setLoading(lkPageRecord, false);\r\n this.responseMsg = res.message;\r\n \r\n this.LoadSchedules();\r\n setTimeout(() => {\r\n this.responseMsg = \"\";\r\n this.isDisabled = false;\r\n }, 3000);\r\n },\r\n err => {\r\n setTimeout(() => {\r\n this.responseMsg = \"\";\r\n this.isDisabled = false;\r\n }, 3000);\r\n // this.setLoading(lkPageRecord, false);\r\n });\r\n }\r\n else {\r\n this.responseMsg = \"Pulmonary Types contains duplicate items!\";\r\n setTimeout(() => {\r\n this.responseMsg = \"\";\r\n this.isDisabled = false;\r\n }, 3000);\r\n \r\n }\r\n } else {\r\n for (var y = 0; y < this.npAndPaObj.length; y++) {\r\n var schNumber: number = 0;\r\n let displayOrder: number = this.npAndPaObj[y].displayOrder;\r\n var pulmonaryActive: boolean = false;\r\n let IdObj: any = document.getElementById(\"hidPY\" + y);\r\n let hidActiveObj: any = document.getElementById(\"hidisActive\" + y);\r\n\r\n if (hidActiveObj != undefined && hidActiveObj.value.indexOf(\"true\") > -1)\r\n pulmonaryActive = true;\r\n\r\n if (IdObj != undefined)\r\n schNumber = parseInt(IdObj.value);\r\n\r\n var npObj = this.npAndPaObj.find(x => x.scheduleNumber == schNumber && x.displayOrder == displayOrder && x.isActive == true);\r\n if (npObj != undefined && npObj != null) {\r\n npObj.scheduleTypeId = parseInt(this.standardModel.basicInfo.scheduleType.toString());\r\n npObj.displayOrder = y;\r\n npObj.isActive = pulmonaryActive;\r\n }\r\n\r\n this.npAndPaObj[y].startDate = new Date(this.FirstWMondayDate.toUTCString());\r\n this.npAndPaObj[y].endDate = new Date(this.FirstSundayDate.toUTCString());\r\n this.npAndPaObj[y].scheduleDate = new Date(this.FirstWMondayDate.toUTCString());\r\n this.npAndPaObj[y].completed = this.isCompleted;\r\n }\r\n\r\n this.responseMsg = \"\";\r\n this.practiceScheduleService.saveNPAndSchedule(this.npAndPaObj).subscribe(res => {\r\n //this.setLoading(lkPageRecord, false); \r\n this.responseMsg = res.message;\r\n \r\n this.LoadSchedules();\r\n setTimeout(() => {\r\n this.responseMsg = \"\";\r\n this.isDisabled = false;\r\n }, 3000);\r\n }, err => {\r\n setTimeout(() => {\r\n this.responseMsg = \"\";\r\n this.isDisabled = false;\r\n }, 3000);\r\n });\r\n }\r\n this.hasFocus = false;\r\n this.hasFocus1 = false;\r\n this.hasFocus2 = false;\r\n this.hasFocus3 = false;\r\n this.hasFocus4 = false;\r\n this.hasFocus5 = false;\r\n this.hasFocus6 = false;\r\n }\r\n\r\n getActivePulmonaryAndDublicate(): boolean {\r\n\r\n let totalActives: number = 0;\r\n let flag = false;\r\n for (let z = 0; z < this.pulmonaryTypes.length; z++) {\r\n let pulmonaryId = this.pulmonaryTypes[z].key;\r\n let locCounter = 0;\r\n\r\n for (let x = 0; x < this.pulmonaryModelWObj.length; x++) {\r\n if (this.pulmonaryModelWObj[x].isActive == true) {\r\n if (pulmonaryId == this.pulmonaryModelWObj[x].pulmonaryTypeId) {\r\n locCounter = locCounter + 1;\r\n }\r\n }\r\n }\r\n\r\n if (locCounter > 1)\r\n flag = true;\r\n\r\n }\r\n return flag;\r\n }\r\n\r\n show1Week(): any {\r\n //debugger;\r\n this.hasFocus = false;\r\n this.hasFocus1 = false;\r\n this.hasFocus2 = false;\r\n this.hasFocus3 = false;\r\n this.hasFocus4 = false;\r\n this.hasFocus5 = false;\r\n this.hasFocus6 = false;\r\n var lkPageRecord = \"weekshow\";\r\n this.setLoading(lkPageRecord, true);\r\n\r\n this.is2ndweek = false;\r\n this.is3rdweek = false;\r\n this.is1Month = false;\r\n\r\n let beginDateObj: any = document.getElementById(\"beginDate\");\r\n this.beginDate = new Date(beginDateObj.value);\r\n this.today = new Date(this.beginDate);\r\n this.localDate = new Date(this.beginDate);\r\n this.generateAllWeekDates();\r\n\r\n var firstButton: any = document.getElementById(\"btn1week\");\r\n if (firstButton != null) {\r\n firstButton.style.backgroundColor = \"#21BA45\";\r\n firstButton.style.color = \"#FFFFFF\";\r\n }\r\n\r\n var secondButton: any = document.getElementById(\"btn2week\");\r\n if (secondButton != null) {\r\n secondButton.style.backgroundColor = \"#E0E1E2\";\r\n secondButton.style.color = \"#000000\";\r\n }\r\n\r\n var thirdButton: any = document.getElementById(\"btn3week\");\r\n if (thirdButton != null) {\r\n thirdButton.style.backgroundColor = \"#E0E1E2\";\r\n thirdButton.style.color = \"#000000\";\r\n }\r\n this.setLoading(lkPageRecord, false);\r\n this.LoadSchedules();\r\n }\r\n\r\n show2Week(): any {\r\n //debugger;\r\n this.hasFocus = false;\r\n this.hasFocus1 = false;\r\n this.hasFocus2 = false;\r\n this.hasFocus3 = false;\r\n this.hasFocus4 = false;\r\n this.hasFocus5 = false;\r\n this.hasFocus6 = false;\r\n var lkPageRecord = \"weekshow\";\r\n this.setLoading(lkPageRecord, true);\r\n\r\n this.is2ndweek = true;\r\n this.is3rdweek = false;\r\n this.is1Month = false;\r\n\r\n let beginDateObj: any = document.getElementById(\"beginDate\");\r\n this.beginDate = new Date(beginDateObj.value);\r\n this.today = new Date(this.beginDate);\r\n this.localDate = new Date(this.beginDate);\r\n\r\n var firstButton: any = document.getElementById(\"btn1week\");\r\n if (firstButton != null) {\r\n firstButton.style.backgroundColor = \"#E0E1E2\";\r\n firstButton.style.color = \"#000000\";\r\n }\r\n\r\n var secondButton: any = document.getElementById(\"btn2week\");\r\n if (secondButton != null) {\r\n secondButton.style.backgroundColor = \"#21BA45\";\r\n secondButton.style.color = \"#FFFFFF\";\r\n }\r\n\r\n var thirdButton: any = document.getElementById(\"btn3week\");\r\n if (thirdButton != null) {\r\n thirdButton.style.backgroundColor = \"#E0E1E2\";\r\n thirdButton.style.color = \"#000000\";\r\n }\r\n this.generateAllWeekDates();\r\n this.setLoading(lkPageRecord, false);\r\n this.LoadSchedules();\r\n\r\n }\r\n\r\n show3Week(): any {\r\n //debugger;\r\n this.flagArray = [];\r\n this.hasFocus = false;\r\n this.hasFocus1 = false;\r\n this.hasFocus2 = false;\r\n this.hasFocus3 = false;\r\n this.hasFocus4 = false;\r\n this.hasFocus5 = false;\r\n this.hasFocus6 = false;\r\n var lkPageRecord = \"weekshow\";\r\n this.setLoading(lkPageRecord, true);\r\n this.is2ndweek = false;\r\n this.is3rdweek = false;\r\n this.is1Month = true;\r\n\r\n let beginDateObj: any = document.getElementById(\"beginDate\");\r\n this.beginDate = new Date(beginDateObj.value);\r\n this.today = new Date(this.beginDate);\r\n this.localDate = new Date(this.beginDate);\r\n\r\n var firstButton: any = document.getElementById(\"btn1week\");\r\n firstButton.style.backgroundColor = \"#E0E1E2\";\r\n firstButton.style.color = \"#000000\";\r\n\r\n var secondButton: any = document.getElementById(\"btn2week\");\r\n secondButton.style.backgroundColor = \"#E0E1E2\";\r\n secondButton.style.color = \"#000000\";\r\n\r\n var thirdButton: any = document.getElementById(\"btn3week\");\r\n thirdButton.style.backgroundColor = \"#21BA45\";\r\n thirdButton.style.color = \"#FFFFFF\";\r\n\r\n this.generateAllWeekDates();\r\n this.setLoading(lkPageRecord, false);\r\n this.LoadSchedules();\r\n // this.loadnthDropDown();\r\n }\r\n\r\n PreviousClick(): any {\r\n //debugger;\r\n this.hasFocus = false;\r\n this.hasFocus1 = false;\r\n this.hasFocus2 = false;\r\n this.hasFocus3 = false;\r\n this.hasFocus4 = false;\r\n this.hasFocus5 = false;\r\n this.hasFocus6 = false;\r\n this.pulmonaryModelWObj = [];\r\n this.practiceModelWObj = [];\r\n this.practiceModelWObject = [];\r\n this.npAndPaObj = [];\r\n this.responseMsg = \"\";\r\n this.isDisabled = false;\r\n\r\n\r\n if (this.is1Month == true) {\r\n this.beginDate.setDate(this.beginDate.getDate() - 31);\r\n\r\n }\r\n else if (this.is2ndweek == true) {\r\n this.beginDate.setDate(this.beginDate.getDate() - 14);\r\n\r\n }\r\n else {\r\n this.beginDate.setDate(this.beginDate.getDate() - 7);\r\n }\r\n\r\n\r\n this.today = new Date(this.beginDate);\r\n this.localDate = new Date(this.beginDate);\r\n\r\n\r\n this.generateAllWeekDates();\r\n this.eventStartDateChanged(this.beginDate);\r\n\r\n }\r\n\r\n NextClick(): any {\r\n //debugger;\r\n this.hasFocus = false;\r\n this.hasFocus1 = false;\r\n this.hasFocus2 = false;\r\n this.hasFocus3 = false;\r\n this.hasFocus4 = false;\r\n this.hasFocus5 = false;\r\n this.hasFocus6 = false;\r\n this.pulmonaryModelWObj = [];\r\n this.practiceModelWObj = [];\r\n this.practiceModelWObject = [];\r\n this.responseMsg = \"\";\r\n this.isDisabled = false;\r\n\r\n\r\n if (this.is1Month == true) {\r\n this.beginDate.setDate(this.beginDate.getDate() + 31);\r\n\r\n }\r\n else if (this.is2ndweek == true) {\r\n this.beginDate.setDate(this.beginDate.getDate() + 14);\r\n\r\n }\r\n else {\r\n this.beginDate.setDate(this.beginDate.getDate() + 7);\r\n\r\n }\r\n\r\n\r\n this.today = new Date(this.beginDate);\r\n this.localDate = new Date(this.beginDate);\r\n\r\n this.generateAllWeekDates();\r\n this.eventStartDateChanged(this.beginDate);\r\n }\r\n\r\n onPracticeChange(event: any): void {\r\n debugger;\r\n this.onPracticeChangeName(event.key);\r\n this.onSearchDropDown(event.key);\r\n }\r\n\r\n onPracticeChangeName(item: string): any {\r\n this.isCopyScheduleValid = true;\r\n this.hasFocus = false;\r\n this.hasFocus1 = false;\r\n this.hasFocus2 = false;\r\n this.hasFocus3 = false;\r\n this.hasFocus4 = false;\r\n this.hasFocus5 = false;\r\n this.hasFocus6 = false;\r\n this.isDisabled = false;\r\n this.responseMsg = \"\";\r\n this.practiceScheduleService.getScheduleTypes(item).subscribe(res => {\r\n this.scheduleTypes = res.map(x => { return { key: x.scheduleTypeId, value: x.scheduleTypeName }; });\r\n this.loadTiming(item);\r\n this.standardModel.basicInfo.facilityname = item;\r\n this.standardModel.basicInfo.scheduleType = this.scheduleTypes[0].key;\r\n this.standardForm.patchValue({\r\n basicInfo: {\r\n facilityname: item,\r\n scheduleType: this.scheduleTypes[0].key\r\n }\r\n });\r\n });\r\n\r\n this.getProviders(item);\r\n this.flagArray = [];\r\n }\r\n\r\n onScheduleTypeChange(itemValue: string, itemName: string): any {\r\n this.responseMsg = \"\";\r\n this.isDisabled = false;\r\n let fitem: any = document.getElementById(\"facilityname\");\r\n let typeString: any = itemName;\r\n if (typeString.toLowerCase() == \"standard\") {\r\n this.isNeporology = false;\r\n this.isPulmonary = false;\r\n this.isNAPASchedule = false;\r\n this.is1weekDisplay = true;\r\n if (this.isAdmin == false) {\r\n this.is1weekDisplay = false;\r\n this.enablePreviousNextButtons();\r\n }\r\n } else if (typeString.toLowerCase() == \"nephrology\") {\r\n this.isNeporology = true;\r\n this.isPulmonary = false;\r\n this.isNAPASchedule = false;\r\n this.is1weekDisplay = true;\r\n if (this.isAdmin == false) {\r\n this.is1weekDisplay = false;\r\n this.enablePreviousNextButtons();\r\n }\r\n } else if (typeString.toLowerCase() == \"pulmonary\") {\r\n this.isNeporology = false;\r\n this.isPulmonary = true;\r\n this.is2ndweek = false;\r\n this.is3rdweek = false;\r\n this.is1weekDisplay = false\r\n this.isNAPASchedule = false;\r\n if (this.isAdmin == false) {\r\n ////Reset to Server Time -Start\r\n //if (localStorage.getItem('serverTime') != null) {\r\n // this.serverTime = new Date(localStorage.getItem('serverTime'));\r\n //}\r\n //else {\r\n // this.serverTime = new Date();\r\n //}\r\n //this.today = this.serverTime;\r\n //this.beginDate = this.today;\r\n this.enablePreviousNextButtons();\r\n }\r\n }\r\n else {\r\n this.isNeporology = false;\r\n this.isPulmonary = false;\r\n this.isNAPASchedule = true;\r\n this.is2ndweek = false;\r\n this.is1weekDisplay = false;\r\n this.is3rdweek = false;\r\n if (this.isAdmin == false) {\r\n ////Reset to Server Time -Start\r\n //if (localStorage.getItem('serverTime') != null) {\r\n // this.serverTime = new Date(localStorage.getItem('serverTime'));\r\n //}\r\n //else {\r\n // this.serverTime = new Date();\r\n //}\r\n //this.today = this.serverTime;\r\n //this.beginDate = this.today;\r\n this.enablePreviousNextButtons();\r\n }\r\n }\r\n\r\n for (var i = 0; i < this.facilityItems.length; i++) {\r\n var facilityItem: any = this.facilityItems[i];\r\n\r\n if (facilityItem.groupsPerShares != null) {\r\n for (var j = 0; j < facilityItem.groupsPerShares.length; j++) {\r\n var groupShareItem = facilityItem.groupsPerShares[j];\r\n if (groupShareItem.scheduleTypeId == itemValue) {\r\n this.onCall1Name = groupShareItem.onCall1;\r\n this.onCall2Name = groupShareItem.onCall2;\r\n this.onCall3Name = groupShareItem.onCall3;\r\n this.onCall4Name = groupShareItem.onCall4;\r\n this.onCall5Name = groupShareItem.onCall5;\r\n }\r\n }\r\n }\r\n if (facilityItem.shareCode != null) {\r\n //debugger;\r\n let isObject = true;\r\n for (var j = 0; j < facilityItem.shareCode.length; j++) {\r\n isObject = false;\r\n var shareCodeItem = facilityItem.shareCode[j];\r\n if (shareCodeItem.scheduleTypeId == itemValue) {\r\n if (shareCodeItem.weekdayBegin != null) {\r\n this.weekDayBegin = this.formatAMPM(shareCodeItem.weekdayBegin);\r\n }\r\n else {\r\n this.weekDayBegin = \"\";\r\n }\r\n\r\n if (shareCodeItem.weekdayEnd != null) {\r\n this.weekDayEnd = this.formatAMPM(shareCodeItem.weekdayEnd);\r\n } else {\r\n this.weekDayEnd = \"\";\r\n }\r\n if (shareCodeItem.weekendBegin != null) {\r\n this.weekEndBegin = this.formatAMPM(shareCodeItem.weekendBegin);\r\n } else {\r\n this.weekEndBegin = \"\";\r\n }\r\n if (shareCodeItem.weekendEnd != null) {\r\n this.weekEndEnd = this.formatAMPM(shareCodeItem.weekendEnd);\r\n } else {\r\n this.weekEndEnd = \"\";\r\n }\r\n\r\n }\r\n }\r\n if (isObject == true) {\r\n // debugger;\r\n var localDt = this.serverTime;\r\n let shareCodeItem: any = facilityItem.shareCode;\r\n if (shareCodeItem.weekdayBegin != null) {\r\n localDt = new Date(shareCodeItem.weekdayBegin);\r\n this.weekDayBegin = this.formatAMPM(localDt);\r\n }\r\n else {\r\n this.weekDayBegin = \"\";\r\n }\r\n\r\n if (shareCodeItem.weekdayEnd != null) {\r\n localDt = new Date(shareCodeItem.weekdayEnd);\r\n this.weekDayEnd = this.formatAMPM(localDt);\r\n } else {\r\n this.weekDayEnd = \"\";\r\n }\r\n if (shareCodeItem.weekendBegin != null) {\r\n localDt = new Date(shareCodeItem.weekendBegin);\r\n this.weekEndBegin = this.formatAMPM(localDt);\r\n } else {\r\n this.weekEndBegin = \"\";\r\n }\r\n if (shareCodeItem.weekendEnd != null) {\r\n localDt = new Date(shareCodeItem.weekendEnd);\r\n this.weekEndEnd = this.formatAMPM(localDt);\r\n } else {\r\n this.weekEndEnd = \"\";\r\n }\r\n }\r\n }\r\n }\r\n this.pulmonaryModelWObj = [];\r\n this.LoadSchedules();\r\n }\r\n\r\n setDefaultSelection(scheduleType: any): string {\r\n if (this.scheduleTypes.length === 1) {\r\n return \"selected\";\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n\r\n loadTiming(itm: string): any {\r\n this.practiceScheduleService.getAllFacilities(itm).subscribe(res => {\r\n this.facilityItems = res;\r\n if (this.facilityItems != undefined || this.facilityItems != null) {\r\n if (this.scheduleTypes != undefined && this.scheduleTypes.length === 1) {\r\n this.scheduleType = this.scheduleTypes[0].key.toString();\r\n this.onScheduleTypeChange(this.scheduleTypes[0].key.toString(), this.scheduleTypes[0].value.toString());\r\n }\r\n\r\n var facilityItem: any = this.facilityItems[0];\r\n var facilityDt = this.serverTime;\r\n\r\n if (facilityItem.mondayBegin != null) {\r\n let MondayBegin: any = facilityItem.mondayBegin;\r\n facilityDt = new Date(MondayBegin);\r\n this.mondayStart = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.mondayStart = \"\";\r\n\r\n if (facilityItem.mondayEnd != null) {\r\n let MondayEnd: any = facilityItem.mondayEnd;\r\n facilityDt = new Date(MondayEnd);\r\n this.mondayEnd = this.formatAMPM(facilityDt);\r\n }\r\n\r\n if (facilityItem.tuesdayBegin != null) {\r\n let tuesdayBegin: any = facilityItem.tuesdayBegin;\r\n facilityDt = new Date(tuesdayBegin);\r\n this.tuesdayStart = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.tuesdayStart = \"\";\r\n\r\n if (facilityItem.tuesdayEnd != null) {\r\n let tuesdayEnd: any = facilityItem.tuesdayEnd;\r\n facilityDt = new Date(tuesdayEnd);\r\n this.tuesdayEnd = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.tuesdayEnd = \"\";\r\n\r\n\r\n if (facilityItem.wednesdayBegin != null) {\r\n let tuesdayBegin: any = facilityItem.wednesdayBegin;\r\n facilityDt = new Date(tuesdayBegin);\r\n this.wednesdayStart = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.wednesdayStart = \"\";\r\n\r\n if (facilityItem.wednesdayEnd != null) {\r\n let tuesdayEnd: any = facilityItem.wednesdayEnd;\r\n facilityDt = new Date(tuesdayEnd);\r\n this.wednesdayEnd = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.wednesdayEnd = \"\";\r\n\r\n if (facilityItem.thursdayBegin != null) {\r\n let tuesdayBegin: any = facilityItem.thursdayBegin;\r\n facilityDt = new Date(tuesdayBegin);\r\n this.thursdayStart = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.thursdayStart = \"\";\r\n\r\n if (facilityItem.thursdayEnd != null) {\r\n let tuesdayEnd: any = facilityItem.thursdayEnd;\r\n facilityDt = new Date(tuesdayEnd);\r\n this.thursdayEnd = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.thursdayEnd = \"\";\r\n\r\n if (facilityItem.fridayBegin != null) {\r\n let tuesdayBegin: any = facilityItem.fridayBegin;\r\n facilityDt = new Date(tuesdayBegin);\r\n this.fridayStart = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.fridayStart = \"\";\r\n\r\n if (facilityItem.fridayEnd != null) {\r\n let tuesdayEnd: any = facilityItem.fridayEnd;\r\n facilityDt = new Date(tuesdayEnd);\r\n this.fridayEnd = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.fridayEnd = \"\";\r\n\r\n if (facilityItem.saturdayBegin != null) {\r\n let tuesdayBegin: any = facilityItem.saturdayBegin;\r\n facilityDt = new Date(tuesdayBegin);\r\n this.saturdayStart = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.saturdayStart = \"\";\r\n\r\n if (facilityItem.saturdayEnd != null) {\r\n let tuesdayEnd: any = facilityItem.saturdayEnd;\r\n facilityDt = new Date(tuesdayEnd);\r\n this.saturdayEnd = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.saturdayEnd = \"\";\r\n\r\n if (facilityItem.sundayBegin != null) {\r\n let tuesdayEnd: any = facilityItem.sundayBegin;\r\n facilityDt = new Date(tuesdayEnd);\r\n this.SundayStart = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.SundayStart = \"\";\r\n\r\n if (facilityItem.sundayEnd != null) {\r\n let tuesdayEnd: any = facilityItem.sundayEnd;\r\n facilityDt = new Date(tuesdayEnd);\r\n this.SundayEnd = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.SundayEnd = \"\";\r\n\r\n if (facilityItem.mondayLunchBegin != null) {\r\n let MondayLunchBegin: any = facilityItem.mondayLunchBegin;\r\n facilityDt = new Date(MondayLunchBegin);\r\n this.mondayLunchStart = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.mondayLunchStart = \"\";\r\n\r\n if (facilityItem.mondayLunchEnd != null) {\r\n let MondayLunchEnd: any = facilityItem.mondayLunchEnd;\r\n facilityDt = new Date(MondayLunchEnd);\r\n this.mondayLunchEnd = this.formatAMPM(facilityDt);\r\n }\r\n\r\n if (facilityItem.tuesdayLunchBegin != null) {\r\n let tuesdayLunchBegin: any = facilityItem.tuesdayLunchBegin;\r\n facilityDt = new Date(tuesdayLunchBegin);\r\n this.tuesdayLunchStart = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.tuesdayLunchStart = \"\";\r\n\r\n if (facilityItem.tuesdayLunchEnd != null) {\r\n let tuesdayLunchEnd: any = facilityItem.tuesdayLunchEnd;\r\n facilityDt = new Date(tuesdayLunchEnd);\r\n this.tuesdayLunchEnd = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.tuesdayLunchEnd = \"\";\r\n\r\n\r\n if (facilityItem.wednesdayLunchBegin != null) {\r\n let tuesdayLunchBegin: any = facilityItem.wednesdayLunchBegin;\r\n facilityDt = new Date(tuesdayLunchBegin);\r\n this.wednesdayLunchStart = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.wednesdayLunchStart = \"\";\r\n\r\n if (facilityItem.wednesdayLunchEnd != null) {\r\n let tuesdayLunchEnd: any = facilityItem.wednesdayLunchEnd;\r\n facilityDt = new Date(tuesdayLunchEnd);\r\n this.wednesdayLunchEnd = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.wednesdayLunchEnd = \"\";\r\n\r\n\r\n if (facilityItem.thursdayLunchBegin != null) {\r\n let tuesdayLunchBegin: any = facilityItem.thursdayLunchBegin;\r\n facilityDt = new Date(tuesdayLunchBegin);\r\n this.thursdayLunchStart = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.thursdayLunchStart = \"\";\r\n\r\n if (facilityItem.thursdayLunchEnd != null) {\r\n let tuesdayLunchEnd: any = facilityItem.thursdayLunchEnd;\r\n facilityDt = new Date(tuesdayLunchEnd);\r\n this.thursdayLunchEnd = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.thursdayLunchEnd = \"\";\r\n\r\n if (facilityItem.fridayLunchBegin != null) {\r\n let tuesdayLunchBegin: any = facilityItem.fridayLunchBegin;\r\n facilityDt = new Date(tuesdayLunchBegin);\r\n this.fridayLunchStart = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.fridayLunchStart = \"\";\r\n\r\n if (facilityItem.fridayLunchEnd != null) {\r\n let tuesdayLunchEnd: any = facilityItem.fridayLunchEnd;\r\n facilityDt = new Date(tuesdayLunchEnd);\r\n this.fridayLunchEnd = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.fridayLunchEnd = \"\";\r\n\r\n if (facilityItem.saturdayLunchBegin != null) {\r\n let tuesdayLunchBegin: any = facilityItem.saturdayBegin;\r\n facilityDt = new Date(tuesdayLunchBegin);\r\n this.saturdayLunchStart = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.saturdayLunchStart = \"\";\r\n\r\n if (facilityItem.saturdayLunchEnd != null) {\r\n let tuesdayLunchEnd: any = facilityItem.saturdayLunchEnd;\r\n facilityDt = new Date(tuesdayLunchEnd);\r\n this.saturdayLunchEnd = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.saturdayLunchEnd = \"\";\r\n\r\n if (facilityItem.sundayLunchBegin != null) {\r\n let tuesdayLunchEnd: any = facilityItem.sundayLunchBegin;\r\n facilityDt = new Date(tuesdayLunchEnd);\r\n this.SundayLunchStart = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.SundayLunchStart = \"\";\r\n\r\n if (facilityItem.sundayLunchEnd != null) {\r\n let tuesdayLunchEnd: any = facilityItem.sundayLunchEnd;\r\n facilityDt = new Date(tuesdayLunchEnd);\r\n this.SundayLunchEnd = this.formatAMPM(facilityDt);\r\n }\r\n else\r\n this.SundayLunchEnd = \"\";\r\n }\r\n });\r\n }\r\n\r\n formatAMPM(date): any {\r\n var hours = date.getHours();\r\n var minutes = date.getMinutes();\r\n var ampm = hours >= 12 ? 'PM' : 'AM';\r\n hours = hours % 12;\r\n hours = hours ? hours : 12; // the hour '0' should be '12'\r\n minutes = minutes < 10 ? '0' + minutes : minutes;\r\n var strTime = hours + ':' + minutes + ' ' + ampm;\r\n return strTime;\r\n }\r\n\r\n getMonthName(d): string {\r\n var month = new Array();\r\n month[0] = \"January\";\r\n month[1] = \"February\";\r\n month[2] = \"March\";\r\n month[3] = \"April\";\r\n month[4] = \"May\";\r\n month[5] = \"June\";\r\n month[6] = \"July\";\r\n month[7] = \"August\";\r\n month[8] = \"September\";\r\n month[9] = \"October\";\r\n month[10] = \"November\";\r\n month[11] = \"December\";\r\n return month[d.getMonth()];\r\n }\r\n\r\n eventStartDateChanged(e): any {\r\n //debugger; \r\n\r\n this.today = new Date(e);\r\n this.localDate = new Date(e);\r\n this.beginDate = this.today;\r\n\r\n\r\n if (this.isAdmin == false) {\r\n if (this.allowDate() == false) {\r\n // this.beginDate = this.todayDatePM;\r\n }\r\n }\r\n\r\n\r\n this.generateAllWeekDates();\r\n if (this.isAdmin == false) {\r\n //disbale the Next button to true if non admin\r\n this.enablePreviousNextButtons();\r\n }\r\n this.LoadSchedules();\r\n }\r\n\r\n //showDeleteConfirm(dt): void {\r\n // this.suiModalService\r\n // .open(new ConfirmModal(\"Are you sure?\", \"Are you sure want to Copy Schedules?\"))\r\n // .onApprove(() => this.startImport())\r\n // .onDeny(() => {\r\n\r\n // });\r\n //}\r\n //startImport():any {\r\n\r\n // let facilityObj: any = document.getElementById(\"facilityname\");\r\n // let scheduleTypeObj: any = document.getElementById(\"scheduleType\");\r\n // let scheduleObj: any = document.getElementById(\"beginDate\");\r\n // debugger;\r\n\r\n // if (scheduleTypeObj.value != \"0\" && scheduleObj.value != \"\") {\r\n\r\n // this.practiceScheduleService.copySchedule(facilityObj.value, scheduleTypeObj.value, scheduleObj.value).subscribe(res => {\r\n // console.log(res);\r\n // debugger;\r\n\r\n // this.copyMsg = res.msg;\r\n\r\n // });\r\n\r\n // }\r\n //}\r\n\r\n isProviderSignedOut(event:any): void {\r\n debugger;\r\n if (event != undefined) {\r\n let providerId = event.key;\r\n if (providerId > 0) {\r\n this.providerSignOutService.getProviderSignOut(providerId).subscribe(\r\n (res) => {\r\n if (res) {\r\n this.providerService.getProviderForProviderSignOut(providerId).subscribe(result => {\r\n var todaysDate = this.serverTime;\r\n if (result) {\r\n this.providerForSignOutModel = result;\r\n this.providerSignOutModel = res;\r\n if (this.providerSignOutModel.isIndefinite) {\r\n this.displayProviderSignOutModal();\r\n } else {\r\n var providerSignOutDate = new Date(this.providerSignOutModel.date);\r\n if (providerSignOutDate >= todaysDate) {\r\n this.displayProviderSignOutModal();\r\n }\r\n }\r\n this.providerSignOutModel = this.providerSignOutService.initializeProviderSignOutModel();\r\n this.providerForSignOutModel = this.providerSignOutService.initializeProviderForSignOutModel();\r\n }\r\n });\r\n }\r\n },\r\n (error) => {\r\n\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n displayProviderSignOutModal(): void {\r\n const config = new TemplateModalConfig(this.providerSignOutModalTemplate);\r\n config.closeResult = \"Closed!\";\r\n config.context = { providerSignOutModel: this.providerSignOutModel, providerForSignOutModel: this.providerForSignOutModel };\r\n\r\n this.suiModalService\r\n .open(config)\r\n .onApprove(result => { })\r\n .onDeny(result => { });\r\n }\r\n\r\n AddNewPulmonarySchedule(): void {\r\n const isAddPulmonaryScheduleValid = this.isValidPulmonarySchedules();\r\n if (!isAddPulmonaryScheduleValid) {\r\n var pulmonaryScheduleObj = {\r\n scheduleNumber: 0,\r\n groupsPerShareId: parseInt(this.standardModel.basicInfo.facilityname.toString()),\r\n scheduleTypeId: parseInt(this.standardModel.basicInfo.scheduleType.toString()),\r\n day1ProviderId: 0,\r\n day2ProviderId: 0,\r\n day3ProviderId: 0,\r\n day4ProviderId: 0,\r\n day5ProviderId: 0,\r\n day6ProviderId: 0,\r\n day7ProviderId: 0,\r\n facilityId: 0,\r\n startDate: this.FirstWMondayDate,\r\n endDate: this.FirstSundayDate,\r\n displayOrder: this.pulmonaryModelWObj.length,\r\n pulmonaryTypeId: this.getPulmonaryTypeIdForNewPulmonarySchedule(),\r\n isActive: true,\r\n completed: false\r\n } as PulmonaryData;\r\n this.pulmonaryModelWObj.push(pulmonaryScheduleObj);\r\n }\r\n }\r\n\r\n getPulmonaryTypeIdForNewPulmonarySchedule(): number {\r\n let pulmonaryType: { pulmonaryTypeId: number; isActive: boolean };\r\n const activePulmonaryTypes: Array<{ pulmonaryTypeId: number; isActive: boolean }> = [];\r\n for (var i = 0; i < this.pulmonaryModelWObj.length; i++) {\r\n if (this.pulmonaryModelWObj[i].isActive) {\r\n activePulmonaryTypes.push({ pulmonaryTypeId: this.pulmonaryModelWObj[i].pulmonaryTypeId, isActive: true });\r\n }\r\n }\r\n for (var j = 0; j < this.pulmonaryTypes.length; j++) {\r\n pulmonaryType = activePulmonaryTypes.find(x => x.pulmonaryTypeId == parseInt(this.pulmonaryTypes[j].key.toString()));\r\n if (!pulmonaryType) {\r\n return parseInt(this.pulmonaryTypes[j].key.toString());\r\n }\r\n }\r\n return parseInt(this.pulmonaryTypes[0].key.toString());\r\n }\r\n\r\n AddItemsM(): void {\r\n this.responseMsg = \"\";\r\n this.AddItems();\r\n }\r\n\r\n AddItems(): void {\r\n let dt = this.serverTime;\r\n let noOfActives: number = this.getActivePulmonaryItems();\r\n if (this.pulmonaryTypes.length > noOfActives) {\r\n for (var i = 0; i < this.pulmonaryTypes.length; i++) {\r\n var pulmonaryScheduleObj = {\r\n scheduleNumber: 0,\r\n groupsPerShareId: parseInt(this.standardModel.basicInfo.facilityname.toString()),\r\n scheduleTypeId: parseInt(this.standardModel.basicInfo.scheduleType.toString()),\r\n day1ProviderId: 0,\r\n day2ProviderId: 0,\r\n day3ProviderId: 0,\r\n day4ProviderId: 0,\r\n day5ProviderId: 0,\r\n day6ProviderId: 0,\r\n day7ProviderId: 0,\r\n facilityId: 0,\r\n startDate: this.FirstWMondayDate,\r\n endDate: this.FirstSundayDate,\r\n displayOrder: this.pulmonaryModelWObj.length,\r\n pulmonaryTypeId: parseInt(this.pulmonaryTypes[i].key.toString()),\r\n isActive: true,\r\n completed: false\r\n };\r\n this.pulmonaryModelWObj.push(pulmonaryScheduleObj);\r\n }\r\n }\r\n }\r\n\r\n onSearchDropDown(event): void {\r\n debugger;\r\n let eventValue = event;\r\n const practiceNameControl = this.standardForm.get('basicInfo.facilityname');\r\n const scheduleTypeControl = this.standardForm.get('basicInfo.scheduleType');\r\n if (scheduleTypeControl.value && !practiceNameControl.value) {\r\n this.standardForm.get('basicInfo.scheduleType').setValue(null);\r\n this.standardForm.get('basicInfo.scheduleType').markAsPristine();\r\n this.standardForm.get('basicInfo.scheduleType').markAsUntouched();\r\n this.scheduleTypes = [];\r\n }\r\n\r\n const isSearchPatternValid = this.searchPattern.test(eventValue);\r\n if (eventValue) {\r\n if (isSearchPatternValid) {\r\n const isValidPracticeOption = this.practiceOptions.find(x => x.value == eventValue);\r\n if (!isValidPracticeOption) {\r\n practiceNameControl.setValue(null);\r\n }\r\n } else {\r\n return;\r\n }\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n onPulmonaryTypeChange(itemValue: string): boolean {\r\n\r\n return false;\r\n }\r\n\r\n getActivePulmonaryItems(): number {\r\n let totalActives: number = 0;\r\n for (let x = 0; x < this.pulmonaryModelWObj.length; x++) {\r\n if (this.pulmonaryModelWObj[x].isActive == true) {\r\n totalActives = totalActives + 1;\r\n }\r\n }\r\n return totalActives;\r\n }\r\n\r\n setSelected(item: PulmonaryData, value: number): string {\r\n\r\n if (item.pulmonaryTypeId == value)\r\n return \"selected\";\r\n else\r\n return \"\";\r\n }\r\n\r\n setMSelected(item: PulmonaryData, value: number): string {\r\n\r\n if (item.day1ProviderId == value)\r\n return \"selected\";\r\n else\r\n return \"\";\r\n }\r\n\r\n setTSelected(item: PulmonaryData, value: number): string {\r\n\r\n if (item.day2ProviderId == value)\r\n return \"selected\";\r\n else\r\n return \"\";\r\n }\r\n\r\n setWSelected(item: PulmonaryData, value: number): string {\r\n\r\n if (item.day3ProviderId == value)\r\n return \"selected\";\r\n else\r\n return \"\";\r\n }\r\n\r\n setHSelected(item: PulmonaryData, value: number): string {\r\n\r\n if (item.day4ProviderId == value)\r\n return \"selected\";\r\n else\r\n return \"\";\r\n }\r\n\r\n setFSelected(item: PulmonaryData, value: number): string {\r\n\r\n if (item.day5ProviderId == value)\r\n return \"selected\";\r\n else\r\n return \"\";\r\n }\r\n\r\n setSSelected(item: PulmonaryData, value: number): string {\r\n\r\n if (item.day6ProviderId == value)\r\n return \"selected\";\r\n else\r\n return \"\";\r\n }\r\n\r\n setNSelected(item: PulmonaryData, value: number): string {\r\n\r\n if (item.day7ProviderId == value)\r\n return \"selected\";\r\n else\r\n return \"\";\r\n }\r\n\r\n getSelectedP1Value(dt: Date, selectedValue: number): string {\r\n\r\n if (this.practiceModelWObject != undefined) {\r\n let dday: any = this.getFormattedDate(dt);\r\n\r\n\r\n\r\n let selectedObject = this.practiceModelWObject.find(x => x.scheduleDt == dday);\r\n if (selectedObject != undefined) {\r\n\r\n if (selectedObject.onCall1ProviderId == selectedValue)\r\n return \"selected\";\r\n }\r\n }\r\n }\r\n\r\n getID(dt: Date, selectedValue: number): string {\r\n\r\n if (this.practiceModelWObject != undefined) {\r\n let dday: any = this.getFormattedDate(dt);\r\n\r\n let selectedObject = this.practiceModelWObject.find(x => x.scheduleDt == dday);\r\n if (selectedObject != undefined) {\r\n return selectedObject.scheduleNumber.toString();\r\n }\r\n else {\r\n return \"0\";\r\n\r\n }\r\n }\r\n }\r\n\r\n getSelectedP2Value(dt: Date, selectedValue: number): string {\r\n\r\n if (this.practiceModelWObject != undefined) {\r\n let dday: any = this.getFormattedDate(dt);\r\n let selectedObject = this.practiceModelWObject.find(x => x.scheduleDt == dday);\r\n if (selectedObject != undefined) {\r\n if (selectedObject.onCall2ProviderId == selectedValue)\r\n return \"selected\";\r\n }\r\n }\r\n }\r\n\r\n getSelectedP3Value(dt: Date, selectedValue: number): string {\r\n if (this.practiceModelWObject != undefined) {\r\n let dday: any = this.getFormattedDate(dt);\r\n let selectedObject = this.practiceModelWObject.find(x => x.scheduleDt == dday);\r\n if (selectedObject != undefined) {\r\n if (selectedObject.onCall3ProviderId == selectedValue)\r\n return \"selected\";\r\n }\r\n }\r\n }\r\n\r\n getSelectedP4Value(dt: Date, selectedValue: number): string {\r\n if (this.practiceModelWObject != undefined) {\r\n let dday: any = this.getFormattedDate(dt);\r\n let selectedObject = this.practiceModelWObject.find(x => x.scheduleDt == dday);\r\n if (selectedObject != undefined) {\r\n if (selectedObject.onCall4ProviderId == selectedValue)\r\n return \"selected\";\r\n }\r\n }\r\n }\r\n\r\n getSelectedP5Value(dt: Date, selectedValue: number): string {\r\n if (this.practiceModelWObject != undefined) {\r\n let dday: any = this.getFormattedDate(dt);\r\n let selectedObject = this.practiceModelWObject.find(x => x.scheduleDt == dday);\r\n if (selectedObject != undefined) {\r\n if (selectedObject.onCall5ProviderId == selectedValue)\r\n return \"selected\";\r\n }\r\n }\r\n }\r\n\r\n showDeleteConfirm(index: number): void {\r\n this.suiModalService\r\n .open(new ConfirmModal(\"Are you sure?\", \"Are you sure want to Delete Schedule?\"))\r\n .onApprove(() => this.deleteSchedule(index))\r\n .onDeny(() => {\r\n });\r\n }\r\n\r\n showCompletedConfirm(): void {\r\n this.suiModalService\r\n .open(new ConfirmModal(\"Are you sure?\", \"Are you sure want to Complete Schedule?\"))\r\n .onApprove(() => this.SaveForm('C'))\r\n .onDeny(() => {\r\n });\r\n }\r\n\r\n deleteSchedule(index: number): void {\r\n if (this.pulmonaryModelWObj[index].scheduleNumber > 0) {\r\n this.pulmonaryModelWObj[index].isActive = false;\r\n } else {\r\n this.pulmonaryModelWObj.splice(index, 1);\r\n }\r\n }\r\n\r\n isValidPulmonarySchedules(): boolean {\r\n let numberOfActivePulmonarySchedules = 0;\r\n for (var i = 0; i < this.pulmonaryModelWObj.length; i++) {\r\n if (this.pulmonaryModelWObj[i].isActive) {\r\n numberOfActivePulmonarySchedules += 1;\r\n }\r\n }\r\n return numberOfActivePulmonarySchedules === 8;\r\n }\r\n\r\n copyScheduleConfirm(): void {\r\n const groupsPerShareId = this.standardForm.get('basicInfo.facilityname').value;\r\n const scheduleTypeId = this.standardForm.get('basicInfo.scheduleType').value;\r\n const dateEntered = this.standardForm.get('basicInfo.beginDate').value;\r\n\r\n if (groupsPerShareId && groupsPerShareId != \"\" && groupsPerShareId != \"0\" && scheduleTypeId && scheduleTypeId != \"\" && scheduleTypeId != \"0\" && dateEntered && dateEntered != \"\") {\r\n const facilityName = this.practiceOptions.find(x => x.key == groupsPerShareId).value;\r\n const scheduleTypeName = this.scheduleTypes.find(x => x.key == scheduleTypeId).value;\r\n\r\n this.copyScheduleModel = {\r\n facilityId: 0,\r\n facilityName: facilityName,\r\n groupsPerShareId: groupsPerShareId,\r\n scheduleTypeId: scheduleTypeId,\r\n scheduleTypeName: scheduleTypeName,\r\n dateEntered: dateEntered,\r\n };\r\n\r\n this.practiceScheduleService.copySchedule(this.copyScheduleModel);\r\n\r\n this.route.navigate(['copyschedule']);\r\n }\r\n else {\r\n this.isCopyScheduleValid = false;\r\n }\r\n }\r\n\r\n enablePreviousNextButtons(): void {\r\n //Reset to Server Time -Start\r\n if (localStorage.getItem('serverTime') != null) {\r\n this.serverTime = new Date(localStorage.getItem('serverTime'));\r\n }\r\n else {\r\n this.serverTime = new Date();\r\n }\r\n\r\n let todaydate = this.serverTime;\r\n this.localDateTmp = this.serverTime;\r\n let dayNumber = todaydate.getDay();\r\n\r\n if (dayNumber == 0)\r\n dayNumber = 7;\r\n\r\n this.localDateTmp.setDate(this.localDateTmp.getDate() - dayNumber);\r\n\r\n this.localDateTmp.setDate(this.localDateTmp.getDate() + 1);\r\n this.FirstWMondayTDate = new Date(this.localDateTmp.getTime());\r\n\r\n this.localDateTmp.setDate(this.localDateTmp.getDate() + 6);\r\n this.FirstSundayTDate = new Date(this.localDateTmp.getTime());\r\n\r\n this.localDateTmp.setDate(this.localDateTmp.getDate() - 13);\r\n this.FirstWMondayPTDate = new Date(this.localDateTmp.getTime());\r\n\r\n this.localDateTmp.setDate(this.localDateTmp.getDate() + 6);\r\n this.FirstSundayPTDate = new Date(this.localDateTmp.getTime());\r\n\r\n if (this.beginDate.getDate() >= this.FirstWMondayTDate.getDate() && this.beginDate.getDate() <= this.FirstSundayTDate.getDate()) {\r\n this.isNextDisabled = true;\r\n this.isPreviousDisabled = false;\r\n }\r\n\r\n if (this.beginDate.getDate() >= this.FirstWMondayPTDate.getDate() && this.beginDate.getDate() <= this.FirstSundayPTDate.getDate()) {\r\n this.isNextDisabled = false;\r\n this.isPreviousDisabled = true;\r\n }\r\n }\r\n\r\n allowDate(): boolean {\r\n //debugger;\r\n let todaydate = this.serverTime;\r\n this.localDateTmp = this.serverTime;\r\n let dayNumber = todaydate.getDay();\r\n\r\n if (dayNumber == 0)\r\n dayNumber = 7;\r\n\r\n this.localDateTmp.setDate(this.localDateTmp.getDate() - dayNumber);\r\n\r\n this.localDateTmp.setDate(this.localDateTmp.getDate() + 1);\r\n this.FirstWMondayTDate = new Date(this.localDateTmp.getTime());\r\n\r\n this.localDateTmp.setDate(this.localDateTmp.getDate() + 6);\r\n this.FirstSundayTDate = new Date(this.localDateTmp.getTime());\r\n\r\n this.localDateTmp.setDate(this.localDateTmp.getDate() - 13);\r\n this.FirstWMondayPTDate = new Date(this.localDateTmp.getTime());\r\n\r\n this.localDateTmp.setDate(this.localDateTmp.getDate() + 6);\r\n this.FirstSundayPTDate = new Date(this.localDateTmp.getTime());\r\n\r\n\r\n if (this.beginDate.getDate() >= this.FirstWMondayTDate.getDate() && this.beginDate.getDate() <= this.FirstSundayTDate.getDate()) {\r\n return true;\r\n }\r\n\r\n if (this.beginDate.getDate() >= this.FirstWMondayPTDate.getDate() && this.beginDate.getDate() <= this.FirstSundayPTDate.getDate()) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n getDayName(d: Date): string {\r\n\r\n var weekday = new Array(7);\r\n weekday[0] = \"Sunday\";\r\n weekday[1] = \"Monday\";\r\n weekday[2] = \"Tuesday\";\r\n weekday[3] = \"Wednesday\";\r\n weekday[4] = \"Thursday\";\r\n weekday[5] = \"Friday\";\r\n weekday[6] = \"Saturday\";\r\n\r\n return weekday[d.getDay()];\r\n }\r\n\r\n setFlag(y: number) {\r\n debugger;\r\n let data = this.flagArray.find(x => x == y);\r\n if (data == undefined || data == null) {\r\n console.log(\"mouse over:\" + y.toString());\r\n this.flagArray.push(y);\r\n\r\n }\r\n }\r\n\r\n getFlag(y: number): boolean {\r\n\r\n for (let a = 0; a < this.flagArray.length; a++) {\r\n if (this.flagArray[a] == y) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n load1stDropDown() {\r\n setTimeout(() => {\r\n this.hasFocus = true;\r\n this.load2ndDropDown();\r\n }, 3000);\r\n }\r\n\r\n load2ndDropDown() {\r\n setTimeout(() => {\r\n this.hasFocus1 = true;\r\n this.load3rdDropDown();\r\n }, 3000);\r\n }\r\n\r\n load3rdDropDown() {\r\n setTimeout(() => {\r\n\r\n this.hasFocus2 = true;\r\n this.load4thDropDown();\r\n }, 3000);\r\n }\r\n\r\n load4thDropDown() {\r\n setTimeout(() => {\r\n this.hasFocus3 = true;\r\n this.load5thDropDown();\r\n }, 3000);\r\n }\r\n\r\n load5thDropDown() {\r\n setTimeout(() => {\r\n this.hasFocus4 = true;\r\n this.load6thDropDown();\r\n }, 3000);\r\n }\r\n\r\n load6thDropDown() {\r\n setTimeout(() => {\r\n this.hasFocus5 = true;\r\n this.load7thDropDown();\r\n }, 3000);\r\n }\r\n\r\n load7thDropDown() {\r\n setTimeout(() => {\r\n this.hasFocus6 = true;\r\n this.load1stDropDown();\r\n }, 3000);\r\n }\r\n\r\n loadnthDropDown() {\r\n setTimeout(() => {\r\n this.hasFocus = true;\r\n }, 500);\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: false\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\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\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"sourceRoot":""}