{"version":3,"file":"projects_vr-public-website_src_app_features_profile_profile_module_ts.e70b0e8233355cf7.js","mappings":"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","names":["RegistrationVisitService","constructor","http","appService","this","GetUnavailableDates","LabsiteCode","todayDateFromClient","get","visitUrl","GetCalendarSettings","labsiteCode","GetAlternativeCalendarSettings","GetTimeSlotsForGivenDate","visitDate","options","params","HttpParams","set","AddVisit","reqbody","headers","HttpHeaders","post","getVolunteerVisit","volunteerId","VolunteerId","queryUrl","_RegistrationVisitService","_angular_core__WEBPACK_IMPORTED_MODULE_2__","factory","ProductUsageLog","ProductUsageLogDto","ProductUsageLogRequestDto","StudyProductUsageService","getProductUsageLogs","addProductUsageLog","productUsageLog","recruitmentUrl","updateProductUsageLog","put","_StudyProductUsageService","i0","ColumnListComponent","_ColumnListComponent","selectors","ProfileComponent","globalRepositoryService","applicationService","spinner","cdr","link","label","ngOnInit","canShowProfileTabs","getVolunteerId","show","getLabsiteCode","subscribe","setCanShowVolunteerAppointments","canShowVolunteerAppointmentTab","setCanShowStudyProductUsage","canShowProductUsageTab","canShowVolunteerAppointmentsSubject","canShowVolunteerAppointments","handleMyAppointments","canShowStudyProductUsageSubject","canShowStudyProductUsage","handleMyProductUsageLogs","existingItem","navigation","find","item","splice","detectChanges","_ProfileComponent","core","ParticipationStatusEnums","StudyVolunteerService","getAllStudyVolunteersByParent","parentVolunteerId","ParentVolunteerId","_StudyVolunteerService","DetailRowWithIndicatorComponent","_DetailRowWithIndicatorComponent","StatusIndicatorComponent","_StatusIndicatorComponent","StudyVolunteerComponent","studyVolunteerService","translateService","messageService","helperService","AppConstants","width","getStudyVolunteerDetail","studies","studyVolunteers","filteredStudyVolunteers","isstudyVolunteersLoaded","alert","instant","GetParticipationStatusColor","statusEnum","GetParticipationStatusDetails","participationStatusEnum","isContactDateDisplayed","contactDate","isPreStudyVisitDateDisplayed","reasonForRejection","reasonForWithdrawal","isEmptyParticipationDetail","GetPaymentStatusColor","getToolTip","studyVolunteer","volunteerCode","volunteerFirstName","volunteerLastName","showBabyIcon","legalStatus","filterByParticipationStatus","participationStatus","selectedFilter","filter","study","paymentStatus","_StudyVolunteerComponent","ctx","VisitComponent","componentFactoryResolver","loader","registrationVisitService","labsiteInformationService","sanitized","BehaviorSubject","_isVisitRegisteredSubject","asObservable","_isPendingRegistration","_isActiveVolunteer","_isTimeSlotsAvailableSubject","moment","getTimeSlots","getFirstVisitInstructions","registrationVisitDescriptionText","decodeURIComponent","getRegistrationVisitDescriptionText","showRegistrationVisitDescText","IsVolunteerCodeModified","isUpdated","onVolunteerCodeModified","GetMediaType","getScreenSize","x","getSliderWidth","labsiteTimeFormat","getLabsiteTimeFormat","result","volunteerStatus","volunteerVisit","visitId","next","selectTimeSlot","data","visitDuration","duration","loadVisitRegistrationSlider","Promise","then","mod","RegistrationVisitModule","lazyModule","componentFactory","resolveComponentFactory","components","lazy","addDynamicComponent","sliderWidth","visitDurationSetting","onFormClose","size","getLabsiteInformation","response","hasError","labsiteInformation","firstVisitInstruction","bypassSecurityTrustHtml","content","calendarSettings","length","_VisitComponent","ActivityComponent","loggingService","labSiteCode","logPageView","_ActivityComponent","PrintVolunteerCardRequestDto","AccountComponent","volunteerAttributeDetailService","userLoginService","volunteerService","route","dialog","screenSize","value","VolunteerAttributesConstants","setScreenWiseConfig","accountId","getUserAccountId","queryParams","queryParameter","Object","assign","getUserInformation","OnVolunteerCodeModified","OnVolunteerBasicInfoUpdated","getVolunteerAttributeDetails","resp","volunteerAttributesDetail","getVolunteerDetails","user","setVolunteerCode","setVolunteerId","getVolunteerInformation","volunteer","userDetails","setUserName","email","volunteerPhones","mobileNumber","GetPhoneDetails","mobileContact","buildPhoneData","phoneDetails","phoneCode","phoneNumber","homeNumber","homeContact","alternativeNumber","alternativeContact","buildAddressData","volunteerAddress","showAccountDetails","isPublicWebsiteVolunteerDeletionAllowed","getIsDeleteVolunteerAllowed","printIdCardPublicWebsite","getPrintIdCardPublicWebsiteAllowed","isVolunteerProfileSelfEditingAllowed","getIsVolunteerProfileSelfEditingAllowed","AddVolunteerSlider","DeleteVolunteer","open","ConfirmPopupComponent","minHeight","maxHeight","title","message","confirmLable","cancelLabel","autoFocus","disableClose","afterClosed","popupResponse","DeleteVounteer","onSuccess","printVolunteerCard","printVolunteerCardRequestDto","PrintVolunteerCard","blob","pdfBlob","Blob","type","pdfDataUrl","URL","createObjectURL","window","canUpdateVolunteer","errorCode","success","logEvent","Labsite","onLogoutClick","isDeletionMailFailed","addressId","houseNumber","flatNumber","address","state","city","zipcode","zipCode","postCity","phoneData","enumValue","PhoneNumber","phoneTypeEnum","NavigateToLabsiteInformation","attribute","onEditBasicInformation","EditBasicInformationSlider","widthByScreen","getScreenSizeValue","sliderWidthByScreen","_AccountComponent","AppointmentsService","getVolunteerAppointments","_AppointmentsService","AppointmentsComponent","appointmentsService","appointments","setAppointments","volunteerAppointments","filteredVolunteerAppointments","filterByState","appointment","_AppointmentsComponent","StudyProductUsageComponent","productUsageService","GetProductUsageLogs","IsProductUsageLogModified","onProductUsageModified","AddProductUsageLog","studyProductUsageId","sliderFormData","PrepareSliderFormData","ProductUsageLogModule","EditProductUsageLog","productUsageLogId","logData","logdata","studyProductUsages","productUsageLogs","undefined","isDataLoaded","forEach","usage","sort","a","b","productUsageLogDate","isBefore","_","CanAddOrEditLog","endDate","Date","isAfter","isModified","toggleRotation","card","isRotated","_StudyProductUsageComponent","routes","path","component","children","pathMatch","redirectTo","ProfileRoutingModule","_ProfileRoutingModule","RouterModule","ProfileModule","_ProfileModule","CommonModule","SharedModule","MaterialModule","MatIconModule"],"sourceRoot":"webpack:///","sources":["./projects/vr-public-website/src/app/features/profile/components/registration-visit/registration-visit.service.ts","./projects/vr-public-website/src/app/features/profile/components/study-product-usage/study-product-usage.model.ts","./projects/vr-public-website/src/app/features/profile/components/study-product-usage/study-product-usage.service.ts","./projects/vr-public-website/src/app/shared/column-list/column-list.component.html","./projects/vr-public-website/src/app/shared/column-list/column-list.component.ts","./projects/vr-public-website/src/app/features/profile/profile.component.ts","./projects/vr-public-website/src/app/features/profile/profile.component.html","./projects/vr-public-website/src/app/features/profile/components/activity/components/studyVolunteer/studyVolunteer.model.ts","./projects/vr-public-website/src/app/features/profile/components/activity/components/studyVolunteer/studyVolunteer.service.ts","./projects/vr-public-website/src/app/shared/detailRowWithIndicator/detailRowWithIndicator.component.html","./projects/vr-public-website/src/app/shared/detailRowWithIndicator/detailRowWithIndicator.component.ts","./projects/vr-public-website/src/app/shared/statusIndicator/statusIndicator.component.ts","./projects/vr-public-website/src/app/shared/statusIndicator/statusIndicator.component.html","./projects/vr-public-website/src/app/features/profile/components/activity/components/studyVolunteer/studyVolunteer.component.html","./projects/vr-public-website/src/app/features/profile/components/activity/components/studyVolunteer/studyVolunteer.component.ts","./projects/vr-public-website/src/app/features/profile/components/activity/components/visit/visit.component.html","./projects/vr-public-website/src/app/features/profile/components/activity/components/visit/visit.component.ts","./projects/vr-public-website/src/app/features/profile/components/activity/activity.component.ts","./projects/vr-public-website/src/app/features/profile/components/activity/activity.component.html","./projects/vr-public-website/src/app/features/volunteer/models/PrintVolunteerCard.model.ts","./projects/vr-public-website/src/app/features/profile/components/account/account.component.html","./projects/vr-public-website/src/app/features/profile/components/account/account.component.ts","./projects/vr-public-website/src/app/features/profile/components/appointments/appointments.service.ts","./projects/vr-public-website/src/app/features/profile/components/appointments/appointments.component.html","./projects/vr-public-website/src/app/features/profile/components/appointments/appointments.component.ts","./projects/vr-public-website/src/app/features/profile/components/study-product-usage/study-product-usage.component.html","./projects/vr-public-website/src/app/features/profile/components/study-product-usage/study-product-usage.component.ts","./projects/vr-public-website/src/app/features/profile/profile-routing.module.ts","./projects/vr-public-website/src/app/features/profile/profile.module.ts"],"sourcesContent":["import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AppSettingsService } from '../../../../core/config/app-settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RegistrationVisitService {\r\n constructor(public http: HttpClient, public appService: AppSettingsService) { }\r\n\r\n public GetUnavailableDates(LabsiteCode: string, todayDateFromClient: string): Observable {\r\n return this.http.get(this.appService.visitUrl + 'unavailability/GetDatesUnavailability/' + LabsiteCode + '/' + todayDateFromClient);\r\n }\r\n\r\n GetCalendarSettings(labsiteCode: string): Observable {\r\n return this.http.get(this.appService.visitUrl + 'calendarSetting/GetCalendarSetting/' + labsiteCode);\r\n }\r\n GetAlternativeCalendarSettings(labsiteCode: string) {\r\n return this.http.get(this.appService.visitUrl + 'alternativeCalendarSetting/GetCalendarSetting/' + labsiteCode);\r\n }\r\n\r\n public GetTimeSlotsForGivenDate(visitDate: string, labsiteCode: string): Observable {\r\n const params = new HttpParams()\r\n .set('visitDate', visitDate)\r\n .set('labsiteCode', labsiteCode);\r\n const options = { params: params };\r\n return this.http.get(this.appService.visitUrl + 'visits/' + 'GetTimeSlotsForGivenDate', options);\r\n }\r\n\r\n public AddVisit(reqbody: string) {\r\n const headers = new HttpHeaders().set('content-type', 'application/json');\r\n return this.http.post(this.appService.visitUrl + 'visits', reqbody, { 'headers': headers });\r\n }\r\n\r\n public getVolunteerVisit(volunteerId: string, labsiteCode: string) {\r\n const reqbody = {\r\n VolunteerId: volunteerId,\r\n LabsiteCode: labsiteCode\r\n };\r\n return this.http.post(this.appService.queryUrl + 'visits/GetVisitByVolunteer', reqbody);\r\n }\r\n}","export class StudyProductUsage {\r\n constructor(\r\n public StudyProductUsageId: string,\r\n public StudyVolunteerId: string,\r\n public LegalStatus: string,\r\n public StudyCode: string,\r\n public ProductUsageLogs: ProductUsageLog[]\r\n ) { }\r\n }\r\n\r\n export class StudyProductUsageDto {\r\n constructor(\r\n public studyProductUsageId: string,\r\n public studyVolunteerId: string,\r\n public legalStatus: string,\r\n public productDescription: string,\r\n public studyCode: string,\r\n public productUsageLogs: ProductUsageLogDto[],\r\n public volunteerEndDate: string,\r\n public volunteerStartDate: string,\r\n public volunteerId: string,\r\n public isRotated: boolean = false\r\n ) { }\r\n }\r\n\r\n export class ProductUsageLog {\r\n \r\n public ProductUsageLogId!: string;\r\n public StudyProductUsageId!: string;\r\n public ProductUsageLogDate!: string;\r\n public NumberOfUses!: number;\r\n public Comments!: string;\r\n public DataState!: string\r\n \r\n }\r\n export class ProductUsageLogDto {\r\n \r\n public productUsageLogId!: string;\r\n public studyProductUsageId!: string;\r\n public productUsageLogDate!: string;\r\n public numberOfUses!: number;\r\n public comments!: string;\r\n \r\n }\r\n export class ProductUsageLogRequestDto {\r\n constructor(\r\n public ProductUsageLog: ProductUsageLog,\r\n public VolunteerId: string\r\n ) { }\r\n }\r\n\r\n export class ProductUsageLogResponseDto {\r\n \r\n public isSuccess!: boolean;\r\n public isErrorOrException!: boolean;\r\n public logAlreadyExsitsForThisDateError!: boolean;\r\n \r\n }","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AppSettingsService } from '../../../../core/config/app-settings.service';\r\nimport { ProductUsageLog, ProductUsageLogRequestDto } from './study-product-usage.model';\r\nimport { AppConstants } from '../../../../shared/constants/app-constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StudyProductUsageService {\r\n constructor(public http: HttpClient, public appService: AppSettingsService) { }\r\n\r\n public getProductUsageLogs(labsiteCode: string, volunteerId: string): Observable {\r\n const reqbody = {\r\n VolunteerId: volunteerId,\r\n LabsiteCode: labsiteCode\r\n };\r\n return this.http.post(this.appService.queryUrl + 'studyVolunteer/GetProductUsageLogs', reqbody);\r\n }\r\n\r\n public addProductUsageLog(volunteerId: string, productUsageLog: ProductUsageLog) {\r\n const reqbody = new ProductUsageLogRequestDto(productUsageLog, volunteerId);\r\n return this.http.post(this.appService.recruitmentUrl + 'studyVolunteers/AddProductUsageLogs', reqbody);\r\n }\r\n\r\n public updateProductUsageLog(volunteerId: string, productUsageLog: ProductUsageLog) {\r\n const reqbody = new ProductUsageLogRequestDto(productUsageLog, volunteerId);\r\n return this.http.put(this.appService.recruitmentUrl + 'studyVolunteers/UpdateProductUsageLogs', reqbody);\r\n }\r\n}"," \r\n \r\n \r\n
{{item.label | translate}}
\r\n
\r\n \r\n
\r\n","import { Component, Input } from '@angular/core';\r\nimport { MenuItem } from '../../main/models/menuitem';\r\n\r\n@Component({\r\n selector: 'anms-column-list',\r\n templateUrl: './column-list.component.html',\r\n styleUrls: ['./column-list.component.scss']\r\n})\r\nexport class ColumnListComponent {\r\n /* #region Fields */\r\n @Input() public listData: MenuItem[] = [];\r\n selectedFilter ='Mixed';\r\n /* #endregion */\r\n}\r\n","import { Component, ChangeDetectionStrategy, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { MenuItem } from '../../main/models/menuitem';\r\nimport { GlobalRepositoryService } from '../../core/repository/global-repository.service';\r\nimport { ApplicationService } from '../../app.service';\r\nimport { SpinnerService } from '../../core/spinner/spinner.service';\r\n\r\n@Component({\r\n selector: 'anms-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n public navigation: MenuItem[] = [\r\n {\r\n link: '/profile/myactivity',\r\n label: 'Profile.MyActivity'\r\n },\r\n {\r\n link: '/profile/myaccount',\r\n label: 'Profile.MyAccount'\r\n }\r\n ];\r\n\r\n constructor(public globalRepositoryService: GlobalRepositoryService, public applicationService: ApplicationService,\r\n public spinner: SpinnerService, private cdr: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.canShowProfileTabs();\r\n }\r\n\r\n private canShowProfileTabs() {\r\n const volunteerId = this.globalRepositoryService.getVolunteerId();\r\n if (volunteerId) {\r\n this.spinner.show(true);\r\n this.applicationService.canShowProfileTabs(volunteerId,\r\n this.globalRepositoryService.getLabsiteCode())\r\n .subscribe((canShowProfileTabs: any) => {\r\n this.globalRepositoryService.setCanShowVolunteerAppointments(canShowProfileTabs?.canShowVolunteerAppointmentTab);\r\n this.globalRepositoryService.setCanShowStudyProductUsage(canShowProfileTabs?.canShowProductUsageTab);\r\n this.spinner.show(false);\r\n }, () => {\r\n this.spinner.show(false);\r\n });\r\n }\r\n\r\n this.globalRepositoryService.canShowVolunteerAppointmentsSubject.subscribe((canShowVolunteerAppointments: boolean) => {\r\n this.handleMyAppointments(canShowVolunteerAppointments);\r\n\r\n this.globalRepositoryService.canShowStudyProductUsageSubject.subscribe((canShowStudyProductUsage: boolean) => {\r\n this.handleMyProductUsageLogs(canShowStudyProductUsage);\r\n });\r\n });\r\n }\r\n\r\n private handleMyAppointments(canShowVolunteerAppointments: boolean) {\r\n const existingItem = this.navigation.find(item => item.link === '/profile/myappointments');\r\n if (canShowVolunteerAppointments && !existingItem) {\r\n this.navigation.splice(1, 0, {\r\n link: '/profile/myappointments',\r\n label: 'Profile.MyAppointments'\r\n });\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private handleMyProductUsageLogs(canShowStudyProductUsage: boolean) {\r\n const existingItem = this.navigation.find(item => item.link === '/profile/myproductusagelog');\r\n if (canShowStudyProductUsage && !existingItem) {\r\n this.navigation.splice(2, 0, {\r\n link: '/profile/myproductusagelog',\r\n label: 'Profile.MyProductUsageLog'\r\n });\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n {{ 'Profile.ProfileHeader' | translate }}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
","export class StudyVolunteer {\r\n constructor(\r\n public volunteerCode: string,\r\n public volunteerFirstName: string,\r\n public volunteerLastName: string, \r\n public studyId: string,\r\n public code: string,\r\n public productDescription: string,\r\n public groupNumber: string,\r\n public startDate: string,\r\n public endDate: string,\r\n public visitDate: string,\r\n public participationStatus: string,\r\n public reasonForRejection: string,\r\n public reasonForWithdrawal: string,\r\n public contactDate: string,\r\n public dateOfWithdrawal: string,\r\n public currency: string,\r\n public paymentAmount: string,\r\n public paymentDate: string,\r\n public paymentStatus: string,\r\n public participationStatusEnum: number,\r\n public isContactDateDisplayed: boolean,\r\n public isEmptyParticipationDetail: boolean,\r\n public legalStatus: string\r\n ) { }\r\n}\r\n\r\nexport enum ParticipationStatusEnums {\r\n Applied = 0,\r\n ApplicationHold = 1,\r\n WaitingforFeedback = 2,\r\n ApplicationAccepted = 3,\r\n ApplicationRejected = 4,\r\n Included = 5,\r\n Withdrawn = 6,\r\n PreStudyVisit = 7\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AppSettingsService } from '../../../../../../core/core.module';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StudyVolunteerService {\r\n\r\n constructor(public http: HttpClient, public appService: AppSettingsService) { }\r\n\r\n public getAllStudyVolunteersByParent(labsiteCode: string, parentVolunteerId: string): Observable {\r\n const reqbody = {\r\n ParentVolunteerId: parentVolunteerId,\r\n LabsiteCode: labsiteCode\r\n };\r\n return this.http.post(this.appService.recruitmentUrl + 'studyInformation/GetAllStudyVolunteersByParent', reqbody);\r\n }\r\n}\r\n","{{label}}\r\n\r\n {{subLabel}} - {{date | date:\r\n 'dd-MMM-yyyy'}}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anms-detail-row-with-indicator',\r\n templateUrl: './detailRowWithIndicator.component.html',\r\n styleUrls: ['./detailRowWithIndicator.component.scss']\r\n})\r\nexport class DetailRowWithIndicatorComponent implements OnInit {\r\n @Input() subLabel!: string;\r\n @Input() color!: string;\r\n @Input() label!: string;\r\n @Input() date!: string;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n@Component({\r\n selector: 'anms-status-indicator',\r\n templateUrl: './statusIndicator.component.html',\r\n styleUrls: ['./statusIndicator.component.scss']\r\n})\r\nexport class StatusIndicatorComponent implements OnInit {\r\n @Input() statusText!: string;\r\n @Input() statusColor!: string;\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\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 0\"\r\n [cardHeaders]=\"cardHeaders\">\r\n
0\">\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {{'StudyVolunteer.StudyInfo' | translate }}\r\n {{studyVolunteer.code}}\r\n {{studyVolunteer.productDescription}}\r\n
\r\n
\r\n
\r\n \r\n {{'StudyVolunteer.StudyDuration' | translate }}\r\n {{\r\n 'StudyDetail.Group' | translate }} {{studyVolunteer.groupNumber | Split: \" \" :\r\n 1}}\r\n {{studyVolunteer.startDate |\r\n date: 'MMM y'}} \r\n {{studyVolunteer.endDate\r\n | date:\r\n 'MMM y'}}\r\n
\r\n
\r\n
\r\n \r\n {{'StudyVolunteer.ParticipationStatus' |\r\n translate }}\r\n \r\n {{GetParticipationStatusDetails(studyVolunteer)}}\r\n {{studyVolunteer.contactDate\r\n | date:\r\n 'dd-MMM-yyyy'}}\r\n {{studyVolunteer.visitDate\r\n | date:\r\n 'dd-MMM-yyyy'}}\r\n
\r\n
\r\n
\r\n \r\n {{'StudyVolunteer.PaymentStatus' | translate }}\r\n {{studyVolunteer.paymentAmount\r\n |\r\n currency: studyVolunteer.currency}}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n info\r\n \r\n

\r\n {{'StudyVolunteer.NotLinkedText_Start' |\r\n translate }}\r\n {{'StudyVolunteer.LINK_LABEL' |\r\n translate }}\r\n {{'StudyVolunteer.NotLinkedText_End' |\r\n translate }}

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

{{ 'MyActivity.NoActiveStudies' |translate }}

\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { GlobalRepositoryService } from '../../../../../../core/repository/global-repository.service';\r\nimport { SpinnerService } from '../../../../../../core/spinner/spinner.service';\r\nimport { MessageService } from '../../../../../../main/services/message.service';\r\nimport { CardHeader } from '../../../../../../main/models/cardHeader';\r\nimport { StudyVolunteer, ParticipationStatusEnums } from './studyVolunteer.model';\r\nimport { StudyVolunteerService } from './studyVolunteer.service';\r\nimport { HelperService } from '../../../../../../main/services/helper.service';\r\nimport { AppConstants } from '../../../../../../shared/constants/app-constants';\r\n\r\n\r\n@Component({\r\n selector: 'anms-study-volunteer',\r\n templateUrl: './studyVolunteer.component.html',\r\n styleUrls: ['./studyVolunteer.component.scss']\r\n})\r\nexport class StudyVolunteerComponent implements OnInit {\r\n constructor(public studyVolunteerService: StudyVolunteerService,\r\n public globalRepositoryService: GlobalRepositoryService,\r\n public spinner: SpinnerService,\r\n public translateService: TranslateService,\r\n public messageService: MessageService,\r\n private cdr: ChangeDetectorRef,\r\n public helperService: HelperService\r\n ) {\r\n\r\n }\r\n studyVolunteers: StudyVolunteer[] = [];\r\n isstudyVolunteersLoaded = false;\r\n isPreStudyVisitDateDisplayed = false;\r\n filteredStudyVolunteers: StudyVolunteer[] = [];\r\n selectedFilter = AppConstants.StudyParticipationStatus.All;\r\n All = AppConstants.StudyParticipationStatus.All;\r\n Applied = AppConstants.StudyParticipationStatus.Applied.Applied;\r\n Ongoing = AppConstants.StudyParticipationStatus.OnGoing.Ongoing;\r\n Passed = AppConstants.StudyParticipationStatus.Passed.Passed;\r\n\r\n cardHeaders: CardHeader[] = [\r\n {\r\n label: 'StudyVolunteer.StudyInfo',\r\n width: '40'\r\n },\r\n {\r\n label: 'StudyVolunteer.StudyDuration',\r\n width: '15'\r\n },\r\n {\r\n label: 'StudyVolunteer.ParticipationStatus',\r\n width: '20'\r\n },\r\n {\r\n label: 'StudyVolunteer.PaymentStatus',\r\n width: '20'\r\n }\r\n ];\r\n\r\n ngOnInit(): void {\r\n this.getStudyVolunteerDetail();\r\n }\r\n\r\n getStudyVolunteerDetail() {\r\n this.spinner.show(true);\r\n const volunteerId = this.globalRepositoryService.getVolunteerId();\r\n const labsiteCode = this.globalRepositoryService.getLabsiteCode();\r\n this.studyVolunteerService.getAllStudyVolunteersByParent(labsiteCode, volunteerId).subscribe((studies: StudyVolunteer[]) => {\r\n this.studyVolunteers = studies;\r\n this.filteredStudyVolunteers = studies;\r\n this.isstudyVolunteersLoaded = true;\r\n this.spinner.show(false);\r\n this.cdr.detectChanges();\r\n }, () => {\r\n this.messageService.alert(this.translateService.instant('StudyVolunteer.ErrorFetchingData'), true);\r\n this.spinner.show(false);\r\n });\r\n }\r\n\r\n public GetParticipationStatusColor(statusEnum: string): any {\r\n const colorcode = this.helperService.GetParticipationStatusColor(statusEnum);\r\n return colorcode;\r\n }\r\n\r\n public GetParticipationStatusDetails(item: StudyVolunteer) {\r\n switch (item.participationStatusEnum) {\r\n case ParticipationStatusEnums.ApplicationHold:\r\n case ParticipationStatusEnums.WaitingforFeedback:\r\n item.isContactDateDisplayed = true;\r\n return item.contactDate;\r\n case ParticipationStatusEnums.PreStudyVisit:\r\n this.isPreStudyVisitDateDisplayed = true;\r\n return item.visitDate;\r\n\r\n case ParticipationStatusEnums.ApplicationRejected:\r\n return this.translateService.instant('StudyVolunteer.ReasonForRejectionText.' + item.reasonForRejection);\r\n\r\n case ParticipationStatusEnums.Withdrawn:\r\n return this.translateService.instant('StudyVolunteer.ReasonForWithdrawalText.' + item.reasonForWithdrawal);\r\n\r\n default:\r\n item.isEmptyParticipationDetail = true;\r\n return '';\r\n }\r\n }\r\n\r\n public GetPaymentStatusColor(statusEnum: string): any {\r\n const colorcode = this.helperService.GetPaymentStatusColor(statusEnum);\r\n return colorcode;\r\n }\r\n\r\n getToolTip(studyVolunteer: StudyVolunteer): string {\r\n return this.translateService.instant('MyAccount.VolunteerCode') + ': ' + studyVolunteer.volunteerCode\r\n + '\\n' + this.translateService.instant('Volunteer.FirstName') + ': ' + studyVolunteer.volunteerFirstName\r\n + '\\n' + this.translateService.instant('Volunteer.LastName') + ': ' + studyVolunteer.volunteerLastName;\r\n }\r\n\r\n showBabyIcon(legalStatus: string): boolean {\r\n return legalStatus === AppConstants.LegalStatus.Minor ? true : false;\r\n }\r\n\r\n filterByParticipationStatus(participationStatus: string): void {\r\n switch (participationStatus) {\r\n case AppConstants.StudyParticipationStatus.All:\r\n this.filteredStudyVolunteers = this.studyVolunteers;\r\n this.selectedFilter = participationStatus;\r\n break;\r\n case AppConstants.StudyParticipationStatus.Applied.Applied:\r\n this.filteredStudyVolunteers = this.studyVolunteers.filter((study: StudyVolunteer) =>\r\n study.participationStatus === AppConstants.StudyParticipationStatus.Applied.Applied ||\r\n study.participationStatus === AppConstants.StudyParticipationStatus.Applied.ApplicationHold ||\r\n study.participationStatus === AppConstants.StudyParticipationStatus.Applied.WaitingForFeedback);\r\n this.selectedFilter = AppConstants.StudyParticipationStatus.Applied.Applied;\r\n break\r\n case AppConstants.StudyParticipationStatus.OnGoing.Ongoing:\r\n this.filteredStudyVolunteers = this.studyVolunteers.filter((study: StudyVolunteer) =>\r\n study.participationStatus === AppConstants.StudyParticipationStatus.OnGoing.PreStudyVisit ||\r\n study.participationStatus === AppConstants.StudyParticipationStatus.OnGoing.ApplicationAccepted ||\r\n (study.participationStatus === AppConstants.StudyParticipationStatus.OnGoing.Included &&\r\n study.paymentStatus !== AppConstants.Paid));\r\n this.selectedFilter = AppConstants.StudyParticipationStatus.OnGoing.Ongoing;\r\n break\r\n case AppConstants.StudyParticipationStatus.Passed.Passed:\r\n this.filteredStudyVolunteers = this.studyVolunteers.filter((study: StudyVolunteer) =>\r\n study.participationStatus === AppConstants.StudyParticipationStatus.Passed.Withdrawn ||\r\n study.participationStatus === AppConstants.StudyParticipationStatus.Passed.Rejected ||\r\n (study.participationStatus === AppConstants.StudyParticipationStatus.Passed.Included &&\r\n study.paymentStatus === AppConstants.Paid));\r\n this.selectedFilter = AppConstants.StudyParticipationStatus.Passed.Passed;\r\n break\r\n default:\r\n break;\r\n }\r\n }\r\n}","\r\n \r\n {{ 'MyActivity.RegistrationVisit' | translate }}\r\n
\r\n \r\n info\r\n \r\n \r\n {{\r\n 'MyActivity.RegistrationDone' | translate }} \r\n \r\n
\r\n {{ 'MyActivity.BookVisit' | translate }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {{ 'MyActivity.NoTimeSlotsConfigured' | translate }} \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n check_circle\r\n \r\n {{ 'MyActivity.VisitBooked' |\r\n translate }}\r\n \r\n
\r\n
\r\n
\r\n {{ 'MyActivity.Status' | translate }}\r\n \r\n \r\n {{ ('MyActivity.'+volunteerVisit.visitStatus) | translate }}\r\n
\r\n
\r\n
\r\n
\r\n {{ 'MyActivity.Date' | translate }}\r\n \r\n {{volunteerVisit.visitDate | date : 'dd-MMM-y'}}\r\n
\r\n
\r\n
\r\n
\r\n {{ 'MyActivity.Time' | translate }}\r\n \r\n \r\n {{(moment(volunteerVisit.startTime,'HH:mm:ss')) | date : labsiteTimeFormat | lowercase}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\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, ChangeDetectionStrategy, ComponentFactoryResolver } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport moment from 'moment';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { GlobalRepositoryService } from '../../../../../../core/repository/global-repository.service';\r\nimport { LoaderService } from '../../../../../../main/services/loader.service';\r\nimport { MessageService } from '../../../../../../main/services/message.service';\r\nimport { RegistrationVisitService } from '../../../registration-visit/registration-visit.service';\r\nimport { HelperService } from '../../../../../../main/services/helper.service';\r\nimport { SpinnerService } from '../../../../../../core/spinner/spinner.service';\r\nimport { AppConstants } from '../../../../../../shared/constants/app-constants';\r\nimport { LabsiteInformation } from '../../../../../labsiteInformation/labsiteInformation.model';\r\nimport { LabsiteInformationService } from '../../../../../labsiteInformation/labsiteInformation.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'anms-visit',\r\n templateUrl: './visit.component.html',\r\n styleUrls: ['./visit.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class VisitComponent implements OnInit {\r\n volunteerVisit: any;\r\n\r\n private _isVisitRegisteredSubject: BehaviorSubject = new BehaviorSubject(false);\r\n public isVisitRegistered: Observable = this._isVisitRegisteredSubject.asObservable();\r\n private _isPendingRegistration: BehaviorSubject = new BehaviorSubject(false);\r\n public isPendingRegistration: Observable = this._isPendingRegistration.asObservable();\r\n private _isActiveVolunteer: BehaviorSubject = new BehaviorSubject(false);\r\n public isActiveVolunteer: Observable = this._isActiveVolunteer.asObservable();\r\n private _isTimeSlotsAvailableSubject: BehaviorSubject = new BehaviorSubject(false);\r\n public isTimeSlotsAvailable: Observable = this._isTimeSlotsAvailableSubject.asObservable();\r\n\r\n moment: any = moment;\r\n visitDuration: number = 0;\r\n sliderWidth: any = '40%';\r\n labsiteTimeFormat: any;\r\n firstVisitInstruction : any; \r\n labsiteInformation !: LabsiteInformation; \r\n registrationVisitDescriptionText: any = ''; \r\n showRegistrationVisitDescText : boolean = false;\r\n\r\n constructor(public globalRepositoryService: GlobalRepositoryService,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n public loader: LoaderService,\r\n public registrationVisitService: RegistrationVisitService,\r\n public messageService: MessageService,\r\n public translateService: TranslateService,\r\n public helperService: HelperService,\r\n public spinner: SpinnerService,\r\n public labsiteInformationService: LabsiteInformationService,\r\n public sanitized: DomSanitizer) {\r\n this.getVolunteerVisit();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getVolunteerVisit();\r\n this.getTimeSlots();\r\n this.getFirstVisitInstructions();\r\n this.registrationVisitDescriptionText = decodeURIComponent(this.globalRepositoryService.getRegistrationVisitDescriptionText());\r\n if(this.registrationVisitDescriptionText !== '' ){ \r\n this.showRegistrationVisitDescText = true;\r\n }\r\n this.globalRepositoryService\r\n .IsVolunteerCodeModified()\r\n .subscribe((isUpdated) => this.onVolunteerCodeModified(isUpdated));\r\n this.helperService.GetMediaType();\r\n this.helperService.getScreenSize().subscribe(x => {\r\n this.getSliderWidth(x);\r\n });\r\n this.labsiteTimeFormat = this.helperService.getLabsiteTimeFormat();\r\n }\r\n\r\n onVolunteerCodeModified(isUpdated: boolean) {\r\n if (isUpdated) {\r\n this.getVolunteerVisit();\r\n }\r\n }\r\n\r\n getVolunteerVisit() {\r\n const volunteerId = this.globalRepositoryService.getVolunteerId();\r\n const labsiteCode = this.globalRepositoryService.getLabsiteCode();\r\n if (volunteerId && labsiteCode) {\r\n this.spinner.show(true);\r\n this.registrationVisitService.getVolunteerVisit(volunteerId, labsiteCode).subscribe((result: any) => {\r\n if (result && result.volunteerStatus) {\r\n this.volunteerVisit = result;\r\n if (result.visitId && result.visitId !== AppConstants.emptyGUID) {\r\n this._isVisitRegisteredSubject.next(true);\r\n }\r\n if (result.volunteerStatus === AppConstants.VolunteerStatus.PendingRegistrationVisit) {\r\n this._isPendingRegistration.next(true);\r\n } else if (result.volunteerStatus != AppConstants.VolunteerStatus.Deleted) {\r\n this._isActiveVolunteer.next(true);\r\n }\r\n }\r\n this.spinner.show(false);\r\n }, () => {\r\n this.messageService.alert(this.translateService.instant('Visit.VisitDateAndTime.UnableToFetchVolunteerVisit'), true);\r\n this.spinner.show(false);\r\n });\r\n }\r\n }\r\n\r\n selectTimeSlot() {\r\n this.spinner.show(true);\r\n this.registrationVisitService.GetCalendarSettings(this.globalRepositoryService.getLabsiteCode())\r\n .subscribe((data: any) => {\r\n if (data) {\r\n if (data.visitDuration != null) {\r\n this.visitDuration = data.visitDuration.duration;\r\n this.loadVisitRegistrationSlider();\r\n } else {\r\n this.visitDuration = 0;\r\n this.messageService.alert(this.translateService.instant('Visit.VisitDateAndTime.VisitConfigNotAvailable'), true);\r\n }\r\n }\r\n this.spinner.show(false);\r\n }, () => {\r\n this.messageService.alert(this.translateService.instant('Visit.VisitDateAndTime.UnableToFetchCalendarSettings'), true);\r\n this.spinner.show(false);\r\n }\r\n );\r\n }\r\n\r\n loadVisitRegistrationSlider() {\r\n import('../../../registration-visit/registration-visit.module')\r\n .then(mod => mod.RegistrationVisitModule)\r\n .then(lazyModule => {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(lazyModule.components['lazy']);\r\n this.loader.addDynamicComponent(componentFactory, this.sliderWidth, { visitDurationSetting: this.visitDuration });\r\n this.loader.onFormClose().subscribe(() => this.getVolunteerVisit());\r\n });\r\n }\r\n\r\n getSliderWidth(size: string) {\r\n if (size) {\r\n switch (size) {\r\n case 'xl':\r\n this.sliderWidth = '33%';\r\n break;\r\n case 'md':\r\n this.sliderWidth = '50%';\r\n break;\r\n case 'sm':\r\n this.sliderWidth = '100%';\r\n break;\r\n case 'xs':\r\n this.sliderWidth = '100%';\r\n break;\r\n }\r\n }\r\n }\r\n\r\n getFirstVisitInstructions() {\r\n const labsiteCode = this.globalRepositoryService.getLabsiteCode();\r\n const contentType = 'FirstVisitInstructions';\r\n if (labsiteCode) {\r\n this.spinner.show(true);\r\n this.labsiteInformationService.getLabsiteInformation(labsiteCode, contentType).subscribe((response: LabsiteInformation) => {\r\n if (!response.hasError) {\r\n this.labsiteInformation = response;\r\n this.firstVisitInstruction = this.sanitized.bypassSecurityTrustHtml(this.labsiteInformation.content);\r\n this.spinner.show(false);\r\n } else {\r\n this.messageService.alert(this.translateService.instant('LabsiteInformation.ErrorWhileFetchingLabsiteInformation'), true);\r\n this.spinner.show(false);\r\n }\r\n }, () => {\r\n this.messageService.alert(this.translateService.instant('LabsiteInformation.ErrorWhileFetchingLabsiteInformation'), true);\r\n this.spinner.show(false);\r\n });\r\n }\r\n }\r\n\r\n getTimeSlots() {\r\n const labsiteCode = this.globalRepositoryService.getLabsiteCode();\r\n if (labsiteCode) {\r\n this.spinner.show(true);\r\n this.registrationVisitService.GetCalendarSettings(this.globalRepositoryService.getLabsiteCode())\r\n .subscribe((data: any) => {\r\n if (data && data.calendarSettings != null) {\r\n if (data.calendarSettings.length > 0) {\r\n this._isTimeSlotsAvailableSubject.next(true);\r\n } else {\r\n this._isTimeSlotsAvailableSubject.next(false);\r\n }\r\n } else {\r\n this._isTimeSlotsAvailableSubject.next(false);\r\n }\r\n this.spinner.show(false);\r\n }, () => {\r\n this.messageService.alert(this.translateService.instant('Visit.VisitDateAndTime.UnableToFetchCalendarSettings'), true);\r\n this.spinner.show(false);\r\n }\r\n );\r\n }\r\n }\r\n\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { GlobalRepositoryService } from '../../../../core/repository/global-repository.service';\r\nimport { LoggingService } from '../../../../main/services/logging.service';\r\nimport { AppConstants } from '../../../../shared/constants/app-constants';\r\n\r\n@Component({\r\n selector: 'anms-activity',\r\n templateUrl: './activity.component.html',\r\n styleUrls: ['./activity.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ActivityComponent {\r\n\r\n labSiteCode?: string;\r\n\r\n constructor( \r\n public globalRepositoryService: GlobalRepositoryService,\r\n public loggingService: LoggingService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void { \r\n this.labSiteCode = this.globalRepositoryService.getLabsiteCode();\r\n this.loggingService.logPageView(AppConstants.Pages.MyActivity, this.labSiteCode); \r\n }\r\n}\r\n","
\r\n {{ 'MyActivity.MyActivityHeader' | translate }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","export class PrintVolunteerCardRequestDto {\r\n VolunteerId: any;\r\n LabsiteCode!: string; \r\n }","
\r\n {{ 'MyAccount.MyAccountHeader' | translate }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{userDetails.name}}
\r\n {{ 'MyAccount.VolunteerCode' | translate }} :\r\n {{userDetails.code}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {{ 'MyAccount.VolunteerStatus' | translate }} :\r\n {{userDetails.status}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ 'MyAccount.FromDate' | translate }} :\r\n {{userDetails.fromDate | date: 'dd-MMM-yyyy'}}\r\n
\r\n\r\n
\r\n {{ 'MyAccount.ToDate' | translate }} :\r\n {{userDetails.toDate | date: 'dd-MMM-yyyy'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ 'MyAccount.PauseReason' | translate }} :\r\n {{helperService.getTranslatedValue('PauseEnums',userDetails.pauseEnum)}}\r\n
\r\n\r\n
\r\n {{ 'MyAccount.RejectionReason' | translate }} :\r\n {{helperService.getTranslatedValue('RejectionEnums',userDetails.rejectionEnum)}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ 'MyAccount.EmailAddress' | translate }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{userDetails.email}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ 'MyAccount.ContactAddress' | translate\r\n }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ 'MyAccount.Mobile' |\r\n translate }}\r\n {{userDetails.mobileContact}}\r\n
\r\n
\r\n
\r\n
\r\n {{ 'MyAccount.Home' | translate\r\n }}\r\n {{userDetails.homeContact}}\r\n
\r\n
\r\n
\r\n
\r\n {{ 'MyAccount.Alternative' |\r\n translate }}\r\n {{userDetails.alternativeContact}}\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n place\r\n
\r\n\r\n
\r\n {{ 'MyAccount.HouseNumber' |\r\n translate }}\r\n {{userDetails.houseNumber}}\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n {{ 'MyAccount.FlatNumber' | translate\r\n }}\r\n {{userDetails.flatNumber}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n place\r\n
\r\n
\r\n {{ 'MyAccount.Address' |\r\n translate }}\r\n {{userDetails.address}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n {{ 'MyAccount.Zipcode' |\r\n translate }}\r\n {{userDetails.zipcode}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{ 'MyAccount.PostCity' |\r\n translate }}\r\n {{userDetails.postCity}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{ 'MyAccount.City' | translate\r\n }}\r\n {{userDetails.city}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n {{ 'MyAccount.State' |\r\n translate }}\r\n {{userDetails.state}}\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ 'MyAccount.AcceptRecruitmentEmails' |\r\n translate }}\r\n {{'Volunteer.Yes'\r\n | translate}}\r\n {{'Volunteer.No'\r\n | translate}}\r\n
\r\n
\r\n
\r\n
\r\n {{ 'MyAccount.AcceptRecruitmentTexts' |\r\n translate }}\r\n {{'Volunteer.Yes'\r\n | translate}}\r\n {{'Volunteer.No'\r\n | translate}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n {{ 'MyAccount.VolunteerRules' | translate }}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{ 'MyAccount.DeleteAccount' | translate\r\n }}\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n warning\r\n
\r\n\r\n
\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 { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ApplicationService } from '../../../../app.service';\r\nimport { GlobalRepositoryService } from '../../../../core/repository/global-repository.service';\r\nimport { SpinnerService } from '../../../../core/spinner/spinner.service';\r\nimport { ScreenSizeValue } from '../../../../main/models/screenSizeValue';\r\nimport { HelperService } from '../../../../main/services/helper.service';\r\nimport { LoggingService } from '../../../../main/services/logging.service';\r\nimport { MessageService } from '../../../../main/services/message.service';\r\nimport { ConfirmPopupComponent } from '../../../../shared/confirm-popup/confirm-popup.component';\r\nimport { AppConstants } from '../../../../shared/constants/app-constants';\r\nimport { UserLoginService } from '../../../../userLogin.service';\r\nimport { VolunteerAttributesConstants } from '../../../volunteer/maintenance/volunteer-attributes-constants';\r\nimport { VolunteerAttributeDetailsByLabSite } from '../../../volunteer/models/volunteerAttributesByLabSite.model';\r\nimport { VolunteerService } from '../../../volunteer/volunteer.service';\r\nimport { VolunteerAttributesService } from '../../../volunteer/volunteerAttributes.service';\r\nimport { PrintVolunteerCardRequestDto } from '../../../volunteer/models/PrintVolunteerCard.model';\r\n\r\n@Component({\r\n selector: 'anms-account',\r\n templateUrl: './account.component.html',\r\n styleUrls: ['./account.component.scss']\r\n})\r\nexport class AccountComponent implements OnInit {\r\n\r\n labSiteCode?: string;\r\n userDetails: any;\r\n showAccountDetails: boolean = false;\r\n accountId: string = '';\r\n volunteerId: string = '';\r\n sliderWidthByScreen: ScreenSizeValue[] = [{ screenSize: 'xl', value: '60%' }, { screenSize: 'md', value: '90%' },\r\n { screenSize: 'sm', value: '100%' }, { screenSize: 'xs', value: '100%' }];\r\n sliderWidth: string = '60%';\r\n public ProfileAttributesConstants = VolunteerAttributesConstants.Profile;\r\n public volunteerAttributesDetail = {} as VolunteerAttributeDetailsByLabSite;\r\n isPublicWebsiteVolunteerDeletionAllowed: boolean = false;\r\n printIdCardPublicWebsite: boolean = false;\r\n isVolunteerProfileSelfEditingAllowed: boolean = false;\r\n\r\n constructor(\r\n public appService: ApplicationService,\r\n public globalRepositoryService: GlobalRepositoryService,\r\n public volunteerAttributeDetailService: VolunteerAttributesService,\r\n public userLoginService: UserLoginService,\r\n public volunteerService: VolunteerService,\r\n private cdr: ChangeDetectorRef,\r\n private route: ActivatedRoute,\r\n public spinner: SpinnerService,\r\n public helperService: HelperService,\r\n public loggingService: LoggingService,\r\n public dialog: MatDialog,\r\n public messageService: MessageService,\r\n public translateService: TranslateService\r\n ) {\r\n this.setScreenWiseConfig();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.labSiteCode = this.globalRepositoryService.getLabsiteCode();\r\n const accountId = this.globalRepositoryService.getUserAccountId();\r\n\r\n if (accountId !== null && !!accountId && accountId !== '') {\r\n this.accountId = accountId;\r\n } else {\r\n this.route.queryParams.subscribe((params: any) => {\r\n const queryParameter = Object.assign({}, params);\r\n this.accountId = queryParameter.accountId;\r\n });\r\n }\r\n\r\n this.getUserInformation(this.accountId);\r\n this.globalRepositoryService\r\n .IsVolunteerCodeModified()\r\n .subscribe((isUpdated) => this.OnVolunteerCodeModified(isUpdated));\r\n\r\n this.volunteerService.OnVolunteerBasicInfoUpdated().subscribe((isUpdated: boolean) => {\r\n this.OnVolunteerCodeModified(isUpdated);\r\n });\r\n\r\n this.volunteerAttributeDetailService.getVolunteerAttributeDetails().subscribe((resp: any) => {\r\n this.volunteerAttributesDetail = resp;\r\n });\r\n\r\n this.loggingService.logPageView(AppConstants.Pages.MyAccount, this.labSiteCode);\r\n }\r\n\r\n OnVolunteerCodeModified(isUpdated: boolean) {\r\n if (isUpdated) {\r\n this.getVolunteerDetails();\r\n }\r\n }\r\n\r\n getUserInformation(accountId: string): any {\r\n this.spinner.show(true);\r\n this.appService.getUserInformation(accountId, this.globalRepositoryService.getLabsiteCode()).subscribe(\r\n (user: any) => {\r\n const volunteerCode: string = user?.volunteerCode;\r\n const volunteerId: string = user?.volunteerId;\r\n this.globalRepositoryService.setVolunteerCode(volunteerCode);\r\n this.globalRepositoryService.setVolunteerId(volunteerId);\r\n this.getVolunteerDetails();\r\n }, () => {\r\n this.spinner.show(false);\r\n });\r\n }\r\n\r\n getVolunteerDetails(): any {\r\n const volunteerId = this.globalRepositoryService.getVolunteerId();\r\n\r\n if (volunteerId !== null && !!volunteerId && volunteerId !== '') {\r\n this.appService\r\n .getVolunteerInformation(volunteerId)\r\n .subscribe((volunteer: any) => {\r\n this.userDetails = volunteer;\r\n this.globalRepositoryService.setUserName(volunteer?.email)\r\n this.volunteerId = volunteer.volunteerId;\r\n\r\n if (volunteer.volunteerPhones) {\r\n this.userDetails.mobileNumber = this.GetPhoneDetails(volunteer.volunteerPhones, 0);\r\n this.userDetails.mobileContact = this.userDetails.mobileNumber ?\r\n this.buildPhoneData(this.userDetails.mobileNumber.phoneDetails.phoneCode,\r\n this.userDetails.mobileNumber.phoneDetails.phoneNumber) : '';\r\n\r\n this.userDetails.homeNumber = this.GetPhoneDetails(volunteer.volunteerPhones, 1);\r\n this.userDetails.homeContact = this.userDetails.homeNumber ? this.buildPhoneData(\r\n this.userDetails.homeNumber.phoneDetails.phoneCode,\r\n this.userDetails.homeNumber.phoneDetails.phoneNumber\r\n ) : '';\r\n\r\n this.userDetails.alternativeNumber = this.GetPhoneDetails(volunteer.volunteerPhones, 2);\r\n this.userDetails.alternativeContact = this.userDetails.alternativeNumber ?\r\n this.buildPhoneData(\r\n this.userDetails.alternativeNumber.phoneDetails.phoneCode,\r\n this.userDetails.alternativeNumber.phoneDetails.phoneNumber\r\n ) : '';\r\n }\r\n this.buildAddressData(volunteer.volunteerAddress);\r\n this.showAccountDetails = true;\r\n this.isPublicWebsiteVolunteerDeletionAllowed = this.globalRepositoryService.getIsDeleteVolunteerAllowed();\r\n this.printIdCardPublicWebsite = this.globalRepositoryService.getPrintIdCardPublicWebsiteAllowed();\r\n this.isVolunteerProfileSelfEditingAllowed = this.globalRepositoryService.getIsVolunteerProfileSelfEditingAllowed();\r\n this.cdr.detectChanges();\r\n this.spinner.show(false);\r\n }, () => {\r\n this.spinner.show(false);\r\n });\r\n } else {\r\n this.spinner.show(false);\r\n this.volunteerService.AddVolunteerSlider(false);\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n DeleteVolunteer() {\r\n const dialogRef = this.dialog.open(ConfirmPopupComponent, {\r\n width: '500px',\r\n minHeight: '200px',\r\n maxHeight: '350px',\r\n data: {\r\n title: this.translateService.instant('MyAccount.ConfirmationHeaderText'),\r\n message: this.translateService.instant('MyAccount.DeleteAccountConfirmMessage'),\r\n confirmLable: this.translateService.instant('MyAccount.ConfirmButton'),\r\n cancelLabel: this.translateService.instant('MyAccount.CancelButton')\r\n },\r\n autoFocus: false,\r\n disableClose: true\r\n });\r\n dialogRef.afterClosed().subscribe((popupResponse) => {\r\n if (popupResponse == true) { \r\n const volunteerId = this.volunteerId;\r\n this.spinner.show(true);\r\n this.volunteerService.DeleteVounteer(volunteerId).subscribe((response: any) => {\r\n this.onSuccess(response);\r\n },\r\n () => {\r\n this.messageService.alert(this.translateService.instant('DeleteVolunteer.ErrorMessage'));\r\n this.spinner.show(false);\r\n });\r\n }\r\n });\r\n }\r\n\r\n printVolunteerCard(): void {\r\n this.spinner.show(true);\r\n const printVolunteerCardRequestDto = new PrintVolunteerCardRequestDto();\r\n printVolunteerCardRequestDto.LabsiteCode = this.labSiteCode;\r\n printVolunteerCardRequestDto.VolunteerId = this.volunteerId;\r\n this.volunteerService.PrintVolunteerCard(printVolunteerCardRequestDto)\r\n .subscribe((blob: Blob) => {\r\n this.spinner.show(false);\r\n if (blob) {\r\n const pdfBlob = new Blob([blob], { type: 'application/pdf' });\r\n const pdfDataUrl = URL.createObjectURL(pdfBlob);\r\n window.open(pdfDataUrl, '_blank');\r\n } else {\r\n this.messageService.alert(this.translateService.instant('MyAccount.PrintVolunteerCardError'), true, 3000);\r\n }\r\n }, () => {\r\n this.spinner.show(false);\r\n this.messageService.alert(this.translateService.instant('MyAccount.PrintVolunteerCardError'), true, 3000);\r\n })\r\n }\r\n\r\n onSuccess(response: any) {\r\n if (!response.canUpdateVolunteer && response.errorCode === 'InvalidParticipationStatus') {\r\n this.messageService.alert(this.translateService.instant('DeleteVolunteer.InvalidParticipationStatus'));\r\n }\r\n if (!response.canUpdateVolunteer && response.errorCode === 'InvalidPaymentStatus') {\r\n this.messageService.alert(this.translateService.instant('DeleteVolunteer.InvalidPaymentStatus'));\r\n }\r\n if (!response.canUpdateVolunteer && response.errorCode === 'LinkedToVolunteer') {\r\n this.messageService.alert(this.translateService.instant('DeleteVolunteer.LinkedToVolunteer'));\r\n }\r\n if (response.errorCode === 'ExternalUserDeletionFailed') {\r\n this.messageService.alert(this.translateService.instant('DeleteVolunteer.ExternalUserDeletionFailed'));\r\n }\r\n if (response.errorCode === 'ErrorOccuredOnAccountDeletion') {\r\n this.messageService.alert(this.translateService.instant('DeleteVolunteer.ErrorOccuredOnAccountDeletion'));\r\n }\r\n if (response.errorCode === 'Error') {\r\n this.messageService.alert(this.translateService.instant('DeleteVolunteer.VolunteerDeleteErrorText'));\r\n }\r\n if (response.errorCode === 'FileDeletionFailed') {\r\n this.messageService.alert(this.translateService.instant('DeleteVolunteer.ErrorOccuredOnFileDeletion'));\r\n }\r\n if (response.errorCode === 'Updated' || response.errorCode === 'Deleted') {\r\n this.messageService.success(this.translateService.instant('DeleteVolunteer.VolunteerDeleteSuccessText'), 3000);\r\n this.loggingService.logEvent(AppConstants.Events.AccountDeletion, { 'Labsite': this.labSiteCode });\r\n this.userLoginService.onLogoutClick();\r\n }\r\n if (response.isDeletionMailFailed) {\r\n this.messageService.alert(this.translateService.instant('DeleteVolunteer.DeletionMailNotSent'));\r\n }\r\n this.spinner.show(false);\r\n }\r\n\r\n public buildAddressData(volunteerAddress: any) {\r\n if (volunteerAddress) {\r\n this.userDetails.addressId = volunteerAddress.addressId;\r\n this.userDetails.houseNumber = volunteerAddress.houseNumber;\r\n this.userDetails.flatNumber = volunteerAddress.flatNumber;\r\n this.userDetails.address = volunteerAddress.address;\r\n this.userDetails.state = volunteerAddress.state;\r\n this.userDetails.city = volunteerAddress.city;\r\n this.userDetails.zipcode = volunteerAddress.zipCode == '0' ? '' : volunteerAddress.zipCode;\r\n this.userDetails.postCity = volunteerAddress.postCity;\r\n }\r\n }\r\n\r\n public buildPhoneData(phoneCode: any, phoneNumber: any) {\r\n return '+' + phoneCode + '-' + phoneNumber;\r\n }\r\n\r\n public GetPhoneDetails(phoneData: any, enumValue: any): any {\r\n const PhoneNumber = phoneData.filter(\r\n (x: { phoneTypeEnum: any }) => x.phoneTypeEnum === enumValue\r\n );\r\n if (PhoneNumber.length === 0) {\r\n return '';\r\n } else {\r\n return { 'phoneDetails': PhoneNumber[0] };\r\n }\r\n }\r\n\r\n\r\n\r\n onLogoutClick() {\r\n this.userLoginService.onLogoutClick();\r\n }\r\n\r\n NavigateToLabsiteInformation(attribute: string) {\r\n this.helperService.NavigateToLabsiteInformation(attribute);\r\n }\r\n\r\n onEditBasicInformation() {\r\n this.volunteerService.EditBasicInformationSlider(this.userDetails, this.sliderWidth);\r\n }\r\n\r\n setScreenWiseConfig() {\r\n this.helperService.GetMediaType();\r\n this.helperService.getScreenSize().subscribe(x => {\r\n const widthByScreen = this.helperService.getScreenSizeValue(this.sliderWidthByScreen, x);\r\n if (widthByScreen) {\r\n this.sliderWidth = widthByScreen;\r\n }\r\n });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AppSettingsService } from '../../../../core/config/app-settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppointmentsService {\r\n constructor(public http: HttpClient, public appService: AppSettingsService) { }\r\n\r\n public getVolunteerAppointments(labsiteCode: string, volunteerId: string): Observable {\r\n const reqbody = {\r\n VolunteerId: volunteerId,\r\n LabsiteCode: labsiteCode\r\n };\r\n return this.http.post(this.appService.queryUrl + 'VolunteerAccount/GetVolunteerAppointments', reqbody);\r\n }\r\n}","
\r\n {{ 'MyAppointments.MyAppointmentsHeader' | translate }}\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
0\">\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {{'MyAppointments.ContentHeader.Appointment' | translate }}\r\n {{appointment.visitDate |\r\n date: 'dd-MMM-yyyy'}}\r\n\r\n {{'MyAppointments.StartTime'\r\n | translate }} {{appointment.startTime}}\r\n \r\n
\r\n\r\n
\r\n \r\n {{'MyAppointments.ContentHeader.Description' | translate }}\r\n\r\n \r\n {{ appointment.visitType === 'Registration' ?\r\n ('MyAppointments.RegistrationProcess' | translate) : appointment.description\r\n }}\r\n \r\n
\r\n\r\n
\r\n \r\n {{'MyAppointments.ContentHeader.StudyInfo' | translate }}\r\n \r\n {{ appointment.visitType === 'Registration' ? ('MyAppointments.NA' |\r\n translate) : appointment.studyCode }}\r\n \r\n\r\n {{appointment.productDescription}}\r\n \r\n
\r\n\r\n
\r\n \r\n {{'MyAppointments.ContentHeader.State' | translate}}\r\n\r\n \r\n {{'MyAppointments.States.' + appointment.state | translate}}\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

{{ 'MyAppointments.NoResult' |translate }}

\r\n
\r\n\r\n\r\n \r\n \r\n \r\n","import { Component, OnInit, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { GlobalRepositoryService } from '../../../../core/repository/global-repository.service';\r\nimport { LoaderService } from '../../../../main/services/loader.service';\r\nimport { MessageService } from '../../../../main/services/message.service';\r\nimport { HelperService } from '../../../../main/services/helper.service';\r\nimport { SpinnerService } from '../../../../core/spinner/spinner.service';\r\nimport { AppConstants } from '../../../../shared/constants/app-constants';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { AppointmentsService } from './appointments.service';\r\nimport { CardHeader } from '../../../../main/models/cardHeader';\r\nimport { Appointments } from './appointments.model';\r\nimport { LoggingService } from '../../../../main/services/logging.service';\r\n\r\n@Component({\r\n selector: 'anms-appointments',\r\n templateUrl: './appointments.component.html',\r\n styleUrls: ['./appointments.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AppointmentsComponent implements OnInit {\r\n\r\n volunteerAppointments: Appointments[] = [];\r\n filteredVolunteerAppointments: Appointments[] = []; \r\n selectedFilter = AppConstants.AppointmentStates.All;\r\n appointmentStatePassed = AppConstants.AppointmentStates.Passed; \r\n\r\n constructor(public globalRepositoryService: GlobalRepositoryService, \r\n public loader: LoaderService,\r\n public appointmentsService: AppointmentsService,\r\n public messageService: MessageService,\r\n public translateService: TranslateService,\r\n public helperService: HelperService,\r\n public spinner: SpinnerService, \r\n public sanitized: DomSanitizer,\r\n private cdr: ChangeDetectorRef,\r\n public loggingService: LoggingService) { \r\n }\r\n\r\n cardHeaders: CardHeader[] = [\r\n {\r\n label: 'MyAppointments.ContentHeader.Appointment',\r\n width: '17'\r\n },\r\n {\r\n label: 'MyAppointments.ContentHeader.Description',\r\n width: '31'\r\n },\r\n {\r\n label: 'MyAppointments.ContentHeader.StudyInfo',\r\n width: '33'\r\n },\r\n {\r\n label: 'MyAppointments.ContentHeader.State',\r\n width: '14'\r\n },\r\n {\r\n label: ' ',\r\n width: '5'\r\n }\r\n ];\r\n \r\n ngOnInit(): void { \r\n this.getVolunteerAppointments();\r\n this.globalRepositoryService\r\n .IsVolunteerCodeModified()\r\n .subscribe((isUpdated) => this.onVolunteerCodeModified(isUpdated)); \r\n this.loggingService.logPageView(AppConstants.Pages.MyAppointments, this.globalRepositoryService.getLabsiteCode()); \r\n }\r\n\r\n onVolunteerCodeModified(isUpdated: boolean) {\r\n if (isUpdated) {\r\n this.getVolunteerAppointments();\r\n }\r\n }\r\n\r\n getVolunteerAppointments() {\r\n const labsiteCode = this.globalRepositoryService.getLabsiteCode();\r\n const volunteerId = this.globalRepositoryService.getVolunteerId(); \r\n if (volunteerId && labsiteCode) {\r\n this.spinner.show(true);\r\n this.appointmentsService.getVolunteerAppointments(labsiteCode, volunteerId).subscribe((appointments: Appointments[]) => {\r\n if (appointments) { \r\n this.setAppointments(appointments);\r\n this.cdr.detectChanges();\r\n }\r\n this.spinner.show(false);\r\n }, () => {\r\n this.messageService.alert(this.translateService.instant('MyAppointments.UnableToFetchMyAppointments'), true);\r\n this.spinner.show(false);\r\n });\r\n }\r\n } \r\n\r\n setAppointments(appointments: Appointments[]) {\r\n this.volunteerAppointments = appointments;\r\n this.filteredVolunteerAppointments = appointments; \r\n }\r\n\r\n filterByState(state: string) {\r\n if (state == AppConstants.AppointmentStates.All) {\r\n this.filteredVolunteerAppointments = this.volunteerAppointments;\r\n } else {\r\n this.filteredVolunteerAppointments = this.volunteerAppointments.filter((appointment: Appointments) => appointment.state === state);\r\n }\r\n this.selectedFilter = state;\r\n }\r\n\r\n getToolTip(appointment: Appointments) :string {\r\n return this.translateService.instant('MyAccount.VolunteerCode') + ': ' + appointment.volunteerCode \r\n + '\\n' + this.translateService.instant('Volunteer.FirstName') + ': ' + appointment.volunteerFirstName\r\n + '\\n' + this.translateService.instant('Volunteer.LastName') + ': ' + appointment.volunteerLastName;\r\n }\r\n\r\n showBabyIcon(legalStatus: string) : boolean {\r\n return legalStatus === AppConstants.LegalStatus.Minor ? true : false;\r\n }\r\n}\r\n","
\r\n {{ 'StudyProductUsage.StudyProductUsageHeader' | translate }}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {{card.studyCode}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{'StudyProductUsage.ProductDescription' | translate }}: {{card.productDescription}} \r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {{'StudyProductUsage.NoRecords' | translate}} \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{'StudyProductUsage.ProductUsageLogDate' | translate }} : \r\n {{log.productUsageLogDate}}\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{'StudyProductUsage.NumberOfUses' | translate }} : \r\n {{log.numberOfUses}}\r\n \r\n
\r\n
\r\n \r\n \r\n {{'StudyProductUsage.Comments' | translate }} : \r\n {{log.comments}} \r\n \r\n
\r\n
\r\n
\r\n \r\n
\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 { ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentFactoryResolver } from '@angular/core';\r\nimport { StudyProductUsageService } from './study-product-usage.service';\r\nimport { GlobalRepositoryService } from '../../../../core/repository/global-repository.service';\r\nimport { CardHeader } from '../../../../main/models/cardHeader';\r\nimport { LoaderService } from '../../../../main/services/loader.service';\r\nimport { HelperService } from '../../../../main/services/helper.service';\r\nimport { ScreenSizeValue } from '../../../../main/models/screenSizeValue';\r\nimport { MessageService } from '../../../../main/services/message.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SpinnerService } from '../../../../core/spinner/spinner.service';\r\nimport { ProductUsageLogDto, StudyProductUsageDto } from './study-product-usage.model';\r\nimport { AppConstants } from '../../../../shared/constants/app-constants';\r\nimport moment from 'moment';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'anms-study-product-usage',\r\n templateUrl: './study-product-usage.component.html',\r\n styleUrls: ['./study-product-usage.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class StudyProductUsageComponent {\r\n\r\n volunteerId: string = '';\r\n isDataLoaded = false;\r\n studyProductUsages : StudyProductUsageDto[] = [];\r\n cardHeaders: CardHeader[] = [\r\n {\r\n label: 'StudyProductUsage.ProductUsageLogDate',\r\n width: '14'\r\n },\r\n {\r\n label: 'StudyProductUsage.NumberOfUses',\r\n width: '12'\r\n },\r\n {\r\n label: 'StudyProductUsage.Comments',\r\n width: '66'\r\n },\r\n {\r\n label: ' ',\r\n width: '8'\r\n }\r\n ];\r\n\r\n sliderWidthByScreen: ScreenSizeValue[] = [{ screenSize: 'xl', value: '40%' }, { screenSize: 'md', value: '90%' },\r\n { screenSize: 'sm', value: '100%' }, { screenSize: 'xs', value: '100%' }];\r\n sliderWidth: string = '40%';\r\n labSiteCode!: string;\r\n rotated: boolean = false;\r\n\r\n constructor(\r\n public globalRepositoryService: GlobalRepositoryService, \r\n public loader: LoaderService,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n public messageService: MessageService,\r\n public translateService: TranslateService,\r\n public helperService: HelperService,\r\n public spinner: SpinnerService, \r\n public sanitized: DomSanitizer,\r\n private cdr: ChangeDetectorRef,\r\n public productUsageService: StudyProductUsageService) {\r\n this.setScreenWiseConfig();\r\n }\r\n\r\n ngOnInit() {\r\n this.GetProductUsageLogs();\r\n this.globalRepositoryService.IsProductUsageLogModified()\r\n .subscribe((isUpdated) => this.onProductUsageModified(isUpdated));\r\n\r\n }\r\n\r\n setScreenWiseConfig() {\r\n this.helperService.GetMediaType();\r\n this.helperService.getScreenSize().subscribe(x => {\r\n const widthByScreen = this.helperService.getScreenSizeValue(this.sliderWidthByScreen, x);\r\n if (widthByScreen) {\r\n this.sliderWidth = widthByScreen;\r\n }\r\n });\r\n }\r\n\r\n AddProductUsageLog(studyProductUsageId: string) {\r\n const sliderFormData = this.PrepareSliderFormData('', studyProductUsageId);\r\n import('./components/product-usage-logs/product-usage-log.module')\r\n .then(mod => mod.ProductUsageLogModule)\r\n .then(lazyModule => {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(lazyModule.components['lazy']);\r\n this.loader.addDynamicComponent(componentFactory, this.sliderWidth, sliderFormData);\r\n });\r\n }\r\n\r\n EditProductUsageLog(productUsageLogId: string, studyProductUsageId: string) {\r\n const sliderFormData = this.PrepareSliderFormData(productUsageLogId, studyProductUsageId);\r\n import('./components/product-usage-logs/product-usage-log.module')\r\n .then(mod => mod.ProductUsageLogModule)\r\n .then(lazyModule => {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(lazyModule.components['lazy']);\r\n this.loader.addDynamicComponent(componentFactory, this.sliderWidth, sliderFormData);\r\n });\r\n }\r\n\r\n PrepareSliderFormData(productUsageLogId: string, studyProductUsageId: string) {\r\n let logData = new ProductUsageLogDto();\r\n if (productUsageLogId === '') {\r\n logData.studyProductUsageId = studyProductUsageId;\r\n } else {\r\n const studyUsage = this.studyProductUsages.find(x => x.studyProductUsageId === studyProductUsageId);\r\n const logdata = studyUsage?.productUsageLogs.find(x => x.productUsageLogId === productUsageLogId);\r\n if (logdata !== undefined) {\r\n logData = logdata;\r\n }\r\n }\r\n return {labSiteCode: this.labSiteCode, volunteerId: this.volunteerId, logData: logData};\r\n }\r\n\r\n GetProductUsageLogs() {\r\n this.volunteerId = this.globalRepositoryService.getVolunteerId();\r\n this.labSiteCode = this.globalRepositoryService.getLabsiteCode();\r\n this.spinner.show(true);\r\n this.productUsageService.getProductUsageLogs(this.labSiteCode,this.volunteerId).subscribe((data: StudyProductUsageDto[]) => {\r\n this.isDataLoaded = true;\r\n this.studyProductUsages = data;\r\n this.studyProductUsages.forEach(usage => {\r\n usage.productUsageLogs.sort((a,b) => moment(a.productUsageLogDate).isBefore(moment(b.productUsageLogDate)) ? 1 : -1);\r\n });\r\n this.cdr.detectChanges();\r\n this.spinner.show(false);\r\n },\r\n (_) => {\r\n this.messageService.alert(this.translateService.instant('StudyProductUsage.ErrorOccuredWhileFetchingRecords'));\r\n this.spinner.show(false);\r\n });\r\n }\r\n\r\n showBabyIcon(legalStatus: string) : boolean {\r\n return legalStatus === AppConstants.LegalStatus.Minor ? true : false;\r\n }\r\n\r\n CanAddOrEditLog(endDate: string) {\r\n return moment(new Date(endDate)).isAfter(moment(new Date()));\r\n }\r\n\r\n onProductUsageModified(isModified: boolean) {\r\n if(isModified) {\r\n this.GetProductUsageLogs();\r\n }\r\n }\r\n\r\n toggleRotation(card: any) {\r\n card.isRotated = !card.isRotated;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ProfileComponent } from './profile.component';\r\nimport { ActivityComponent } from './components/activity/activity.component';\r\nimport { AccountComponent } from './components/account/account.component';\r\nimport { AppointmentsComponent } from './components/appointments/appointments.component';\r\nimport { StudyProductUsageComponent } from './components/study-product-usage/study-product-usage.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ProfileComponent,\r\n children: [\r\n {\r\n path: '',\r\n pathMatch: 'full',\r\n redirectTo: 'myaccount'\r\n },\r\n {\r\n path: 'myaccount',\r\n component: AccountComponent\r\n },\r\n {\r\n path: 'myactivity',\r\n component: ActivityComponent\r\n },\r\n {\r\n path: 'myappointments',\r\n component: AppointmentsComponent\r\n },\r\n {\r\n path: 'myproductusagelog',\r\n component: StudyProductUsageComponent\r\n }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ProfileRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProfileRoutingModule } from './profile-routing.module';\r\nimport { ProfileComponent } from './profile.component';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { AccountComponent } from './components/account/account.component';\r\nimport { ActivityComponent } from './components/activity/activity.component';\r\nimport { MaterialModule } from '../../shared/material.module';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { VisitComponent } from './components/activity/components/visit/visit.component';\r\nimport { StudyVolunteerComponent } from './components/activity/components/studyVolunteer/studyVolunteer.component';\r\nimport { AppointmentsComponent } from './components/appointments/appointments.component';\r\nimport { StudyProductUsageComponent } from './components/study-product-usage/study-product-usage.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ProfileComponent,\r\n AccountComponent,\r\n ActivityComponent,\r\n VisitComponent,\r\n StudyVolunteerComponent,\r\n AppointmentsComponent,\r\n StudyProductUsageComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n ProfileRoutingModule,\r\n SharedModule,\r\n MaterialModule,\r\n MatIconModule\r\n ]\r\n})\r\nexport class ProfileModule {\r\n}\r\n"],"x_google_ignoreList":[]}