{"version":3,"file":"main.js","mappings":"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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./backend/enum/CourseStatus.enum.ts","./backend/enum/ParseClasses.enum.ts","./src/app/admin/services/course.service.ts","./src/app/admin/services/group.service.ts","./src/app/admin/services/location.service.ts","./src/app/admin/services/meal-plan.service.ts","./src/app/admin/services/meal.service.ts","./src/app/admin/services/parent.service.ts","./src/app/admin/services/practitioner.service.ts","./src/app/admin/services/services.service.ts","./src/app/admin/services/side-nav.service.ts","./src/app/admin/services/student.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/auth/admin-auth-guard.service.ts","./src/app/auth/auth-routing.module.ts","./src/app/auth/auth.component.ts","./src/app/auth/auth.component.html","./src/app/auth/auth.module.ts","./src/app/auth/auth.service.ts","./src/app/auth/forgot-password/forgot-password.component.ts","./src/app/auth/forgot-password/forgot-password.component.html","./src/app/auth/login/login.component.ts","./src/app/auth/login/login.component.html","./src/app/auth/parent-auth-guard.service.ts","./src/app/auth/register/register.component.ts","./src/app/auth/register/register.component.html","./src/app/new-appointment/new-appointment.component.ts","./src/app/new-appointment/new-appointment.component.html","./src/app/pdf-worker/pdf-worker.component.ts","./src/app/pdf-worker/pdf-worker.component.html","./src/app/public-site/about/about.component.ts","./src/app/public-site/about/about.component.html","./src/app/public-site/contact/contact.component.ts","./src/app/public-site/contact/contact.component.html","./src/app/public-site/courses/courses.component.html","./src/app/public-site/courses/courses.component.ts","./src/app/public-site/home/home.component.ts","./src/app/public-site/home/home.component.html","./src/app/public-site/public-site.module.ts","./src/app/public-site/public-site.routing.module.ts","./src/app/public-site/public.component.ts","./src/app/public-site/public.component.html","./src/app/public-site/view-course/view-course.component.ts","./src/app/public-site/view-course/view-course.component.html","./src/app/services/appointment.service.ts","./src/app/services/data.service.ts","./src/app/services/notify.service.ts","./src/app/shared/album-dialog/album-dialog.component.ts","./src/app/shared/album-dialog/album-dialog.component.html","./src/app/shared/appointment-form/appointment-form.component.ts","./src/app/shared/appointment-form/appointment-form.component.html","./src/app/shared/appointments-dialog/appointments-dialog.component.ts","./src/app/shared/appointments-dialog/appointments-dialog.component.html","./src/app/shared/asset-upload-dialog/asset-upload-dialog.component.ts","./src/app/shared/asset-upload-dialog/asset-upload-dialog.component.html","./src/app/shared/calendar/calendar.component.ts","./src/app/shared/calendar/calendar.component.html","./src/app/shared/cancel-dialog/cancel-dialog.component.ts","./src/app/shared/cancel-dialog/cancel-dialog.component.html","./src/app/shared/check-in/check-in.component.ts","./src/app/shared/check-in/check-in.component.html","./src/app/shared/components/course-question/course-question.component.ts","./src/app/shared/components/course-question/course-question.component.html","./src/app/shared/components/flip-card/flip-card.component.ts","./src/app/shared/components/flip-card/flip-card.component.html","./src/app/shared/course-answers/course-answers.component.ts","./src/app/shared/course-answers/course-answers.component.html","./src/app/shared/course-profile/course-profile.component.ts","./src/app/shared/course-profile/course-profile.component.html","./src/app/shared/course-questions/course-questions.component.ts","./src/app/shared/course-questions/course-questions.component.html","./src/app/shared/daily-report/daily-report.component.ts","./src/app/shared/daily-report/daily-report.component.html","./src/app/shared/delete-confirmation/delete-confirmation.component.ts","./src/app/shared/delete-confirmation/delete-confirmation.component.html","./src/app/shared/delete-dialog/delete-dialog.component.ts","./src/app/shared/delete-dialog/delete-dialog.component.html","./src/app/shared/file-viewer-dialog/file-viewer-dialog.component.ts","./src/app/shared/file-viewer-dialog/file-viewer-dialog.component.html","./src/app/shared/gdrive/gdrive.component.ts","./src/app/shared/gdrive/gdrive.component.html","./src/app/shared/group/group.component.ts","./src/app/shared/group/group.component.html","./src/app/shared/learner-survey/learner-survey.component.ts","./src/app/shared/learner-survey/learner-survey.component.html","./src/app/shared/letterhead/letterhead.component.ts","./src/app/shared/letterhead/letterhead.component.html","./src/app/shared/letters/letters.component.ts","./src/app/shared/letters/letters.component.html","./src/app/shared/location/location.component.ts","./src/app/shared/location/location.component.html","./src/app/shared/meal-plan/meal-plan.component.ts","./src/app/shared/meal-plan/meal-plan.component.html","./src/app/shared/meal/meal.component.ts","./src/app/shared/meal/meal.component.html","./src/app/shared/notifications/notifications.component.ts","./src/app/shared/notifications/notifications.component.html","./src/app/shared/practitioner/practitioner.component.ts","./src/app/shared/practitioner/practitioner.component.html","./src/app/shared/profile-picture-dialog/profile-picture-dialog.component.ts","./src/app/shared/profile-picture-dialog/profile-picture-dialog.component.html","./src/app/shared/profile/profile.component.ts","./src/app/shared/profile/profile.component.html","./src/app/shared/search-course/search-course.component.ts","./src/app/shared/search-course/search-course.component.html","./src/app/shared/search-group/search-group.component.ts","./src/app/shared/search-group/search-group.component.html","./src/app/shared/search-location/search-location.component.ts","./src/app/shared/search-location/search-location.component.html","./src/app/shared/search-meal-plan/search-meal-plan.component.ts","./src/app/shared/search-meal-plan/search-meal-plan.component.html","./src/app/shared/search-meal/search-meal.component.ts","./src/app/shared/search-meal/search-meal.component.html","./src/app/shared/search-parent/search-parent.component.ts","./src/app/shared/search-parent/search-parent.component.html","./src/app/shared/search-practitioner/search-practitioner.component.ts","./src/app/shared/search-practitioner/search-practitioner.component.html","./src/app/shared/search-service/search-service.component.ts","./src/app/shared/search-service/search-service.component.html","./src/app/shared/search-student/search-student.component.ts","./src/app/shared/search-student/search-student.component.html","./src/app/shared/service/service.component.ts","./src/app/shared/service/service.component.html","./src/app/shared/shared.module.ts","./src/app/shared/signature-pad/signature-pad.component.ts","./src/app/shared/signature-pad/signature-pad.component.html","./src/app/shared/student-consent-form/student-consent-form.component.ts","./src/app/shared/student-consent-form/student-consent-form.component.html","./src/app/shared/submision-complete-dialog/submision-complete-dialog.component.ts","./src/app/shared/submision-complete-dialog/submision-complete-dialog.component.html","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["export enum CourseStatus {\n CREATED = 'Created',\n REVIEW = 'Review',\n REJECTED = 'Rejected',\n SUSPENDED = 'Suspended',\n APPROVED = 'Approved',\n LIVE = 'Live',\n CLOSED = 'Closed'\n}\n","export enum ParseClasses {\n COURSES = 'Courses',\n APPOINTMENTS = 'Appointments',\n UPLOADS = 'Uploads',\n GROUPS = 'Groups',\n USER = \"_User\",\n NOTIFICATIONS = \"Notifications\",\n COURSEQUESTIONS = \"Questions\",\n ORDERS = \"Orders\",\n ENROLLMENTS = \"Enrollments\"\n}\n","import { Injectable } from '@angular/core';\nimport * as Parse from 'parse';\nimport { BehaviorSubject } from 'rxjs';\nimport { CalendarEvent } from 'angular-calendar';\nimport { GoogleCalendarEvent } from 'backend/interfaces/calendar.interface';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Student } from 'backend/interfaces/student.interface';\nimport * as moment from \"moment\";\nimport { Course, CourseSearchCriteria } from 'backend/interfaces/course.interface';\nimport { ParentConsent } from 'backend/interfaces/parent.interface';\nimport { Question } from 'backend/interfaces/question.interface';\nimport { Order } from 'backend/interfaces/order.interface';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class CourseService {\n courses = new BehaviorSubject(null);\n courses$ = this.courses.asObservable();\n orders = new BehaviorSubject(null);\n orders$ = this.orders.asObservable();\n activatedOrder = new BehaviorSubject(null);\n activatedOrder$ = this.activatedOrder.asObservable();\n courseSearch = new BehaviorSubject<{name:string} | null>(null);\n courseSearch$ = this.courseSearch.asObservable();\n enrollments = new BehaviorSubject(null);\n enrollments$ = this.enrollments.asObservable();\n activatedEnrollment = new BehaviorSubject(null);\n activatedEnrollment$ = this.activatedEnrollment.asObservable();\n activatedCourse = new BehaviorSubject(null);\n activatedCourse$ = this.activatedCourse.asObservable();\n activatedDrive = new BehaviorSubject(null);\n activatedDrive$ = this.activatedCourse.asObservable();\n\n courseCount = new BehaviorSubject(null);\n courseCount$ = this.courseCount.asObservable();\n\n courseRequests = new BehaviorSubject(null);\n courseRequests$ = this.courseCount.asObservable();\n uploadToken: string;\n public newCourseEmail: string;\n constructor(private http: HttpClient) {\n }\n\n saveCourse(course: Course): Promise {\n return Parse.Cloud.run('saveCourse', { course }).then((result) => {\n return result;\n });\n \n }\n\n saveCourseConsent(courseConsent: ParentConsent): Promise {\n return Parse.Cloud.run('saveCourseConsent', { courseConsent }).then((result) => {\n return result;\n });\n }\n\n\n getCourses(displayLimit: number, page: number): Promise {\n return Parse.Cloud.run('getCourses', { displayLimit, page }).then((result) => {\n this.courses.next(result);\n });\n }\n\n getOrders(displayLimit: number, page: number): Promise {\n return Parse.Cloud.run('getOrders', { displayLimit, page }).then((result) => {\n this.orders.next(result);\n });\n }\n\n getOrderById(id: string): Promise { \n return Parse.Cloud.run('getOrderById', { id }).then(res => {\n this.activatedOrder.next(res)\n });\n }\n\n getEnrollmentById(id: string): Promise { \n return Parse.Cloud.run('getEnrollmentById', { id })\n }\n\n getCourseById(id: string): Promise { \n return Parse.Cloud.run('getCourseById', { id }).then(res => {\n this.activatedCourse.next(res)\n });\n }\n\n getStudentsByCourseId(id: string, mainContact: boolean): Promise {\n return Parse.Cloud.run('getStudentsByCourseId', { id, mainContact });\n }\n\n getEnrollmentsByUserId(id: string): Promise {\n return Parse.Cloud.run('getEnrollmentsByUserId', { id })\n }\n\n getEnrollmentsByOrderKey(id: string): Promise {\n return Parse.Cloud.run('getEnrollmentsByOrderKey', { id });\n }\n\n getCourseByEmail(email: string): Promise {\n return Parse.Cloud.run('getCourseByEmail', { email });\n }\n\n getCalendarBusy(): Promise{\n const from = \"2023-01-01T00:00:00.000Z\";\n const to = \"2023-04-01T00:00:00.000Z\";\n return Parse.Cloud.run('getCalendarBusy', { from, to });\n }\n\n getCalendarEvents(): Promise{\n return Parse.Cloud.run('getCalendarEvents');\n }\n\n getCourseCount(): Promise{\n return Parse.Cloud.run('getCourseCount').then((result) => {\n this.courseCount.next(result);\n });;\n }\n\n getCourseQuestions(courseId: string, section: string): Promise {\n return Parse.Cloud.run('getCourseQuestions', { courseId, section});\n }\n\n createBooking(event: GoogleCalendarEvent): Promise{\n return Parse.Cloud.run('createBooking', { event });\n }\n\n updateBooking(event: GoogleCalendarEvent): Promise{\n return Parse.Cloud.run('updateBooking', { event });\n }\n\n deleteBooking(id: string): Promise{\n return Parse.Cloud.run('deleteBooking', { id });\n }\n\n deleteCourse(id: string): Promise{\n return Parse.Cloud.run('deleteCourse', { id });\n }\n\n deleteOrder(id: string): Promise{\n return Parse.Cloud.run('deleteOrder', { id });\n }\n\n searchCourse(criteria: CourseSearchCriteria): Promise{\n return Parse.Cloud.run('searchCourse', { criteria });\n }\n\n getCourseRequests(status: string): Promise{\n return Parse.Cloud.run('getCourseRequests', { status }).then((result) => {\n this.courseRequests.next(result);\n });\n }\n\n saveProfilePicture(courseId: string, image: any): Promise{\n return Parse.Cloud.run('saveProfilePicture', { courseId, image });\n }\n\n getCourseFile(id: string, mimeType: string): Promise{\n return Parse.Cloud.run('getFileById', { id, mimeType })\n }\n\n getcourseFiles(fileId: string): Promise{\n return Parse.Cloud.run('getFilesById', { fileId })\n }\n\n saveCourseQuestions(courseId: string, questions: any[], section: string): Promise{\n return Parse.Cloud.run('saveCourseQuestions', { courseId, questions, section })\n }\n\n getAlbumList(id: string): Promise{\n return Parse.Cloud.run('getAlbumList', { id })\n }\n\n getAlbumById(id: string): Promise{\n return Parse.Cloud.run('getAlbumById', { id })\n }\n\n createDriveFolder(courseId: string): Promise{\n return Parse.Cloud.run('createCourseDriveFolder', { courseId })\n }\n\n createAccount(): Promise{\n return Parse.Cloud.run('saveAccount')\n }\n\n createPhotoAlbum(courseId: string): Promise{\n return Parse.Cloud.run('createPhotoAlbum', { courseId })\n }\n\n uploadFile(id: string, uploadedFile: any, description: string): Promise{\n return Parse.Cloud.run('uploadFile', { id, uploadedFile, description })\n }\n\n async uploadPhoto(id: string, uploadedFile: any, description: string): Promise{\n const authToken = await Parse.Cloud.run('getGToken', { });\n let body = uploadedFile.source;\n let newMediaItems = [];\n\n const reqHeaders = new HttpHeaders({\n Authorization: 'Bearer '+ authToken,\n 'Content-type': 'application/octet-stream',\n 'X-Goog-Upload-Content-Type': uploadedFile.type,\n 'X-Goog-Upload-File-Name': uploadedFile.name,\n 'X-Goog-Upload-Protocol': 'raw'\n })\n \n\n const batchCreateHeaders = new HttpHeaders({\n Authorization: 'Bearer '+ authToken,\n 'Content-type': 'application/json'\n })\n \n let uploadToken = await this.http.post(\n 'https://photoslibrary.googleapis.com/v1/uploads',\n body, {headers: reqHeaders, responseType: 'text'}).toPromise(); \n\n // uploadToken.tap(res => {\n newMediaItems.push(\n {\n description: uploadedFile.description,\n simpleMediaItem: {\n fileName: uploadedFile.name,\n uploadToken: uploadToken\n }\n });\n\n return this.http.post(\n 'https://photoslibrary.googleapis.com/v1/mediaItems:batchCreate',\n { albumId: id, newMediaItems }, {headers: batchCreateHeaders}).toPromise();\n\n // return Parse.Cloud.run('uploadPhoto', { id, uploadedFile })\n\n }\n\n generateKey(courseId: string, quantity: number, customerRef: string, expiryDate: string): Promise{\n return Parse.Cloud.run('generateCourseKey', { courseId, quantity, customerRef, expiryDate })\n }\n\n removeFile(id: string): Promise{\n return Parse.Cloud.run('removeFileById', { id })\n }\n}\n\n","import { Injectable } from '@angular/core';\nimport { Group, GroupSearchCriteria } from 'backend/interfaces/group.interface';\nimport { Student } from 'backend/interfaces/student.interface';\n\n\nimport * as Parse from 'parse';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GroupService {\n\n groups = new BehaviorSubject(null);\n groups$ = this.groups.asObservable();\n groupCount = new BehaviorSubject(null);\n groupCount$ = this.groupCount.asObservable();\n openGroup = new BehaviorSubject(null);\n openGroup$ = this.openGroup.asObservable();\n constructor() {}\n\n saveGroup(group: Group): Promise {\n return Parse.Cloud.run('saveGroup', { group }).then((result) => {\n return result;\n });\n }\n\n getGroups(displayLimit?: number, page?: number): Promise {\n return Parse.Cloud.run('getGroups', { displayLimit, page }).then((result) => {\n this.groups.next(result);\n this.groupCount.next(result.length);\n });\n }\n\n getGroupById(id: string): Promise {\n return Parse.Cloud.run('getGroupById', { id });\n }\n\n getStudentsByGroup(group: string): Promise {\n return Parse.Cloud.run('getStudentsByGroup', { group }).then((result) => {\n this.openGroup.next(result);\n });\n }\n\n getGroupCount(): Promise{\n return Parse.Cloud.run('getGroupCount').then((result) => {\n this.groupCount.next(result);\n });\n }\n\n deleteGroup(id: string): Promise{\n return Parse.Cloud.run('deleteGroup', { id });\n }\n\n searchGroup(criteria: GroupSearchCriteria): Promise{\n return Parse.Cloud.run('searchGroup', { criteria });\n }\n\n getGroupCourseCount(categoryId: string): Promise{\n return Parse.Cloud.run('getGroupCourseCount', {categoryId}).then((result) => {\n this.groupCount.next(result);\n });\n }\n\n}","import { Injectable } from '@angular/core';\nimport * as Parse from 'parse';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { LocationSearchCriteria } from 'backend/interfaces/location.interface';\nimport { Location } from '../../../../backend/interfaces/location.interface';\n@Injectable({\n providedIn: 'root'\n})\nexport class LocationService {\n\n locations = new BehaviorSubject(null);\n locations$ = this.locations.asObservable();\n locationCount = new BehaviorSubject(null);\n locationCount$ = this.locationCount.asObservable();\n openLocation: Location;\n constructor() {}\n\n saveLocation(location: Location): Promise {\n return Parse.Cloud.run('saveLocation', { location }).then((result) => {\n return result;\n });\n }\n\n getLocations(displayLimit?: number, page?: number): Promise {\n return Parse.Cloud.run('getLocations', { displayLimit, page }).then((result) => {\n this.locations.next(result);\n });\n }\n\n getLocationByName(name: string): Promise {\n return Parse.Cloud.run('getLocationByName', { name });\n }\n\n getLocationCount(): Promise{\n return Parse.Cloud.run('getLocationCount').then((result) => {\n this.locationCount.next(result);\n });;\n }\n\n deleteLocation(id: string): Promise{\n return Parse.Cloud.run('deleteLocation', { id });\n }\n\n searchLocation(criteria: LocationSearchCriteria): Promise{\n return Parse.Cloud.run('searchLocation', { criteria });\n }\n\n}","import { Injectable } from '@angular/core';\nimport { MealPlan, MealPlanSearchCriteria } from 'backend/interfaces/meal-plan.interface';\nimport * as Parse from 'parse';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MealPlanService {\n\n mealPlans = new BehaviorSubject(null);\n mealPlans$ = this.mealPlans.asObservable();\n activatedMealPlan = new BehaviorSubject(null);\n activatedMealPlan$ = this.activatedMealPlan.asObservable();\n mealPlanCount = new BehaviorSubject(null);\n mealPlanCount$ = this.mealPlanCount.asObservable();\n openMealPlan: MealPlan;\n constructor() {}\n\n saveMealPlan(mealPlan: MealPlan): Promise {\n return Parse.Cloud.run('saveMealPlan', { mealPlan }).then((result) => {\n return result;\n });\n }\n\n getMealPlans(displayLimit?: number, page?: number): Promise {\n return Parse.Cloud.run('getMealPlans', { displayLimit, page }).then((result) => {\n this.mealPlans.next(result);\n });\n }\n\n getMealPlanById(id: string): Promise {\n return Parse.Cloud.run('getMealPlanById', { id }).then((result) => {\n // console.log(result)\n this.activatedMealPlan.next(result);\n });\n }\n\n getMealPlanCount(): Promise{\n return Parse.Cloud.run('getMealPlanCount').then((result) => {\n this.mealPlanCount.next(result);\n });;\n }\n\n deleteMealPlan(id: string): Promise{\n return Parse.Cloud.run('deleteMealPlan', { id });\n }\n\n searchMealPlan(criteria: MealPlanSearchCriteria): Promise{\n // console.log(criteria)\n return Parse.Cloud.run('searchMealPlan', { criteria });\n }\n\n}","import { Injectable } from '@angular/core';\nimport { Meal, MealSearchCriteria } from 'backend/interfaces/meal.interface';\n\nimport * as Parse from 'parse';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MealService {\n\n meals = new BehaviorSubject(null);\n meals$ = this.meals.asObservable();\n mealCount = new BehaviorSubject(null);\n mealCount$ = this.mealCount.asObservable();\n openMeal: Meal;\n constructor() {}\n\n saveMeal(meal: Meal): Promise {\n return Parse.Cloud.run('saveMeal', { meal }).then((result) => {\n return result;\n });\n }\n\n getMeals(displayLimit?: number, page?: number): Promise {\n return Parse.Cloud.run('getMeals', { displayLimit, page }).then((result) => {\n this.meals.next(result);\n });\n }\n\n getMealById(id: string): Promise {\n return Parse.Cloud.run('getMealById', { id });\n }\n\n getMealCount(): Promise{\n return Parse.Cloud.run('getMealCount').then((result) => {\n this.mealCount.next(result);\n });;\n }\n\n deleteMeal(id: string): Promise{\n return Parse.Cloud.run('deleteMeal', { id });\n }\n\n searchMeal(criteria: MealSearchCriteria): Promise{\n return Parse.Cloud.run('searchMeal', { criteria });\n }\n\n}","import { Injectable } from '@angular/core';\nimport { MedicalDetails, Parent, ParentConsent, ParentSearchCriteria } from '../../../../backend/interfaces/parent.interface';\nimport * as Parse from 'parse';\nimport { BehaviorSubject } from 'rxjs';\nimport { CalendarEvent } from 'angular-calendar';\nimport { GoogleCalendarEvent } from 'backend/interfaces/calendar.interface';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Student } from 'backend/interfaces/student.interface';\nimport * as moment from \"moment\";\nimport { Course } from 'backend/interfaces/course.interface';\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ParentService {\n parents = new BehaviorSubject(null);\n parents$ = this.parents.asObservable();\n parentSearch = new BehaviorSubject<{name:string, mobile: string, email: string} | null>(null);\n parentsSearch$ = this.parentSearch.asObservable();\n parentBirthdays = new BehaviorSubject(null);\n activatedParent = new BehaviorSubject(null);\n activatedParent$ = this.activatedParent.asObservable();\n activatedDrive = new BehaviorSubject(null);\n activatedDrive$ = this.activatedParent.asObservable();\n parentBirthdays$ = this.parentBirthdays.asObservable();\n parentCount = new BehaviorSubject(null);\n parentCount$ = this.parentCount.asObservable();\n uploadToken: string;\n public newParentEmail: string;\n constructor(private http: HttpClient) {\n }\n\n saveParent(parent: Parent): Promise {\n return Parse.Cloud.run('saveParent', { parent }).then((result) => {\n return result;\n });\n \n }\n\n saveParents(parents: Parent[]): Promise{\n return Parse.Cloud.run('saveParents', { parents }).then((result) => {\n return result;\n });\n }\n\n saveParentConsent(parentConsent: ParentConsent): Promise {\n return Parse.Cloud.run('saveParentConsent', { parentConsent }).then((result) => {\n return result;\n });\n }\n\n saveParentMedicalDetails(medicalDetails: MedicalDetails): Promise {\n return Parse.Cloud.run('saveParentMedicalDetails', { medicalDetails }).then((result) => {\n return result;\n });\n }\n\n getParents(displayLimit: number, page: number): Promise {\n return Parse.Cloud.run('getCourses', { displayLimit, page }).then((result) => {\n this.parents.next(result);\n });\n }\n\n getParentById(id: string): Promise { \n return Parse.Cloud.run('getCourseById', { id }).then(res => this.activatedParent.next(res));\n }\n\n getStudentsByParentId(id: string, mainContact: boolean): Promise {\n return Parse.Cloud.run('getStudentsByParentId', { id, mainContact });\n }\n\n getParentByEmail(email: string): Promise {\n return Parse.Cloud.run('getParentByEmail', { email });\n }\n\n getCalendarBusy(): Promise{\n const from = \"2023-01-01T00:00:00.000Z\";\n const to = \"2023-04-01T00:00:00.000Z\";\n return Parse.Cloud.run('getCalendarBusy', { from, to });\n }\n\n getCalendarEvents(): Promise{\n return Parse.Cloud.run('getCalendarEvents');\n }\n\n getParentCount(): Promise{\n return Parse.Cloud.run('getCourseCount').then((result) => {\n this.parentCount.next(result);\n });;\n }\n\n getParentBirthdays(date: string): Promise {\n return Parse.Cloud.run('getParentBirthdays', { date }).then((result) => {\n\n const date = moment(new Date());\n let res = result.filter(r => {\n return moment(r.DOB).date() > date.date();\n });\n this.parentBirthdays.next(res);\n });;\n }\n\n createBooking(event: GoogleCalendarEvent): Promise{\n return Parse.Cloud.run('createBooking', { event });\n }\n\n updateBooking(event: GoogleCalendarEvent): Promise{\n return Parse.Cloud.run('updateBooking', { event });\n }\n\n deleteBooking(id: string): Promise{\n return Parse.Cloud.run('deleteBooking', { id });\n }\n\n searchParent(criteria: ParentSearchCriteria): Promise{\n return Parse.Cloud.run('searchParent', { criteria });\n }\n\n saveProfilePicture(parentId: string, image: any): Promise{\n return Parse.Cloud.run('saveProfilePicture', { parentId, image });\n }\n\n uploadPictureToBucket(uploadedFile: any, name: string, bucket: string, id?: string): Promise{\n return Parse.Cloud.run('uploadFileToBucket', { uploadedFile, name, bucket, id })\n }\n\n recogniseFace(uploadedFile: any, name: string, bucket: string): Promise{\n const reqHeaders = new HttpHeaders({\n 'Content-Type': uploadedFile.type,\n \"Access-Control-Allow-Origin\": \"*\"\n })\n return this.http.put(`https://ng6nmwy4yc.execute-api.eu-west-1.amazonaws.com/dev/${bucket}/${uploadedFile.name}`, uploadedFile, {headers: reqHeaders}).toPromise().then(async () => {\n const response = await this.authenticate(uploadedFile);\n if(response.Message === 'Success'){\n return `Hi ${response['firstName']} ${response['firstName']}`\n }else{\n return `Not found`\n }\n }).catch(err => {\n return `Error: ${err}`\n })\n }\n\n async authenticate(file: any): Promise {\n const reqHeaders = new HttpHeaders({\n 'Content-Type': file.type\n })\n const requestUrl = 'https://ng6nmwy4yc.execute-api.eu-west-1.amazonaws.com/dev/person?'+ new URLSearchParams({\n objectKey: file.name\n })\n return await this.http.get(requestUrl, {\n headers: reqHeaders\n }).toPromise().then(response => response)\n .then(data => {\n return data;\n }).catch(err => console.log(err));\n }\n\n getParentFile(id: string, mimeType: string): Promise{\n return Parse.Cloud.run('getFileById', { id, mimeType })\n }\n\n getparentFiles(fileId: string): Promise{\n return Parse.Cloud.run('getFilesById', { fileId })\n }\n\n getAlbumList(id: string): Promise{\n return Parse.Cloud.run('getAlbumList', { id })\n }\n\n getAlbumById(id: string): Promise{\n return Parse.Cloud.run('getAlbumById', { id })\n }\n\n createDriveFolder(parentId: string): Promise{\n return Parse.Cloud.run('createParentDriveFolder', { parentId })\n }\n\n createAccount(): Promise{\n return Parse.Cloud.run('saveAccount')\n }\n\n createPhotoAlbum(parentId: string): Promise{\n return Parse.Cloud.run('createPhotoAlbum', { parentId })\n }\n\n uploadFile(id: string, uploadedFile: any, description: string): Promise{\n return Parse.Cloud.run('uploadFile', { id, uploadedFile, description })\n }\n\n async uploadPhoto(id: string, uploadedFile: any, description: string): Promise{\n const authToken = await Parse.Cloud.run('getGToken', { });\n let body = uploadedFile.source;\n let newMediaItems = [];\n\n const reqHeaders = new HttpHeaders({\n Authorization: 'Bearer '+ authToken,\n 'Content-type': 'application/octet-stream',\n 'X-Goog-Upload-Content-Type': uploadedFile.type,\n 'X-Goog-Upload-File-Name': uploadedFile.name,\n 'X-Goog-Upload-Protocol': 'raw'\n })\n \n\n const batchCreateHeaders = new HttpHeaders({\n Authorization: 'Bearer '+ authToken,\n 'Content-type': 'application/json'\n })\n \n let uploadToken = await this.http.post(\n 'https://photoslibrary.googleapis.com/v1/uploads',\n body, {headers: reqHeaders, responseType: 'text'}).toPromise(); \n\n // uploadToken.tap(res => {\n newMediaItems.push(\n {\n description: uploadedFile.description,\n simpleMediaItem: {\n fileName: uploadedFile.name,\n uploadToken: uploadToken\n }\n });\n\n return this.http.post(\n 'https://photoslibrary.googleapis.com/v1/mediaItems:batchCreate',\n { albumId: id, newMediaItems }, {headers: batchCreateHeaders}).toPromise();\n\n // return Parse.Cloud.run('uploadPhoto', { id, uploadedFile })\n\n }\n}\n\n","import { Injectable } from '@angular/core';\nimport * as Parse from 'parse';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { LocationSearchCriteria } from 'backend/interfaces/location.interface';\nimport { Location } from '../../../../backend/interfaces/location.interface';\nimport { Practitioner, PractitionerSearchCriteria } from 'backend/interfaces/practitioner.interface';\n@Injectable({\n providedIn: 'root'\n})\nexport class PractitionerService {\n\n practitioners = new BehaviorSubject(null);\n practitioners$ = this.practitioners.asObservable();\n practitionerCount = new BehaviorSubject(null);\n practitionerCount$ = this.practitionerCount.asObservable();\n openPractitioner: Practitioner;\n constructor() {}\n\n savePractitioner(practitioner: Practitioner): Promise {\n return Parse.Cloud.run('savePractitioner', { practitioner }).then((result) => {\n return result;\n });\n }\n\n getPractitioners(displayLimit: number, page: number): Promise {\n return Parse.Cloud.run('getPractitioners', { displayLimit, page }).then((result) => {\n this.practitioners.next(result);\n });\n }\n\n getPractitionerByName(name: string): Promise {\n return Parse.Cloud.run('getPractitionerByName', { name });\n }\n\n getPractitionerById(id: string): Promise {\n return Parse.Cloud.run('getPractitionerById', { id });\n }\n\n getPractitionersByGroup(group: string): Promise {\n return Parse.Cloud.run('getPractitionersByGroup', { group });\n }\n\n getPractitionerCount(): Promise{\n return Parse.Cloud.run('getPractitionerCount').then((result) => {\n this.practitionerCount.next(result);\n });;\n }\n\n deletePractitioner(name: string): Promise{\n return Parse.Cloud.run('deleteLocation', { name });\n }\n\n searchPractitioner(criteria: PractitionerSearchCriteria): Promise{\n return Parse.Cloud.run('searchPractitioner', { criteria });\n }\n\n savePractitionerProfilePicture(practitionerId: string, image: any): Promise{\n return Parse.Cloud.run('savePractitionerProfilePicture', { practitionerId, image });\n }\n\n}","import { Injectable } from '@angular/core';\nimport * as Parse from 'parse';\nimport { BehaviorSubject } from 'rxjs';\nimport { Service, ServiceSearchCriteria } from 'backend/interfaces/service.interface';\n@Injectable({\n providedIn: 'root'\n})\nexport class ServicesService {\n\n services = new BehaviorSubject(null);\n services$ = this.services.asObservable();\n serviceCount = new BehaviorSubject(null);\n serviceCount$ = this.serviceCount.asObservable();\n openService: Service;\n constructor() {}\n\n saveService(service: Service): Promise {\n return Parse.Cloud.run('saveService', { service }).then((result) => {\n return result;\n });\n }\n\n getServices(displayLimit?: number, page?: number): Promise {\n return Parse.Cloud.run('getServices', { displayLimit, page }).then((result) => {\n // console.log(result)\n this.services.next(result);\n });\n }\n\n getServiceByName(name: string): Promise {\n return Parse.Cloud.run('getServiceByName', { name });\n }\n\n getServicesCount(): Promise{\n return Parse.Cloud.run('getServiceCount').then((result) => {\n this.serviceCount.next(result);\n });;\n }\n\n deleteService(id: string): Promise{\n return Parse.Cloud.run('deleteService', { id }).then((result) => {\n return result;\n });;\n }\n\n searchService(criteria: ServiceSearchCriteria): Promise{\n return Parse.Cloud.run('searchService', { criteria });\n }\n\n}","import { Injectable } from '@angular/core';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { CalendarEvent } from 'angular-calendar';\n\nexport enum SidenavActions {\n NewAppointment = 'New Appointment',\n NewParent = 'Create Parent',\n NewStudent = 'Create Student',\n NewCourse = 'Create Course',\n SearchParent = 'Find Parent',\n SearchStudent = 'Find Student',\n SearchCourse = 'Find Course',\n UpdateAppointment = 'Update Appointment',\n ReviewAppointment = 'Appointment Request',\n NewLocation = 'Create Location',\n SearchLocation = 'Find Location',\n NewMealPlan = 'Create Meal-plan',\n SearchMealPlan = 'Find Meal-plan',\n NewMeal = 'Create Meal',\n SearchMeal = 'Find Meal',\n NewService = 'Create Service',\n SearchService = 'Find Service',\n NewPractitioner = 'Create Teacher',\n SearchPractitioner = 'Find Teacher',\n NewGroup = 'Create Category',\n SearchGroup = 'Find Category',\n}\n\n@Injectable({\n providedIn: 'root'\n})\n\n\nexport class SideNavService {\n sidenav: MatSidenav;\n sidenavAction: SidenavActions;\n loading = false;\n newParentEmail: string;\n public newBookingForm: CalendarEvent;\n constructor() { }\n\n setSidenav(sidenav: MatSidenav) {\n this.sidenav = sidenav;\n }\n\n open(action: SidenavActions, newParentEmail?: string) {\n this.sidenavAction = action;\n this.newParentEmail = newParentEmail; \n // console.log(this.sidenavAction)\n return this.sidenav.open();\n }\n\n\n close() {\n this.loading = false;\n return this.sidenav.close();\n }\n\n toggle(): void {\n this.loading = false;\n this.sidenav.toggle();\n }\n\n \n}\n","import { Injectable } from '@angular/core';\nimport { DailyReport, MedicalDetails, Student, StudentConsent, StudentSearchCriteria } from '../../../../backend/interfaces/student.interface';\nimport * as Parse from 'parse';\nimport { BehaviorSubject } from 'rxjs';\nimport { CalendarEvent } from 'angular-calendar';\nimport { GoogleCalendarEvent } from 'backend/interfaces/calendar.interface';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { MealPlan } from 'backend/interfaces/meal-plan.interface';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class StudentService {\n students = new BehaviorSubject(null);\n students$ = this.students.asObservable();\n studentBirthdays = new BehaviorSubject(null);\n studentBirthdays$ = this.studentBirthdays.asObservable();\n studentSearch = new BehaviorSubject<{name:string, surname: string} | null>(null);\n studentsSearch$ = this.studentSearch.asObservable();\n activatedStudent = new BehaviorSubject(null);\n activatedStudent$ = this.activatedStudent.asObservable();\n activatedPhotoAlbum = new BehaviorSubject(null);\n activatedPhotoAlbum$ = this.activatedPhotoAlbum.asObservable();\n activatedDrive = new BehaviorSubject(null);\n activatedDrive$ = this.activatedDrive.asObservable();\n studentCount = new BehaviorSubject(null);\n studentCount$ = this.studentCount.asObservable();\n uploadToken: string;\n\n public newStudentEmail: string;\n constructor(private http: HttpClient) {\n }\n\n saveStudent(student: Student): Promise {\n return Parse.Cloud.run('saveStudent', { student }).then((result) => {\n return result;\n });\n }\n\n saveStudents(students: Student[]): Promise {\n return Parse.Cloud.run('saveStudents', { students }).then((result) => {\n return result;\n });\n }\n\n saveStudentConsent(studentConsent: StudentConsent): Promise {\n return Parse.Cloud.run('saveStudentConsent', { studentConsent }).then((result) => {\n return result;\n });\n }\n\n saveStudentMedicalDetails(medicalDetails: MedicalDetails): Promise {\n return Parse.Cloud.run('saveStudentMedicalDetails', { medicalDetails }).then((result) => {\n return result;\n });\n }\n\n getStudents(displayLimit: number, page: number): Promise {\n return Parse.Cloud.run('getStudents', { displayLimit, page }).then((result) => {\n this.students.next(result);\n });\n }\n\n getStudentById(id: string): Promise {\n return Parse.Cloud.run('getStudentById', { id });\n }\n\n getStudentByEmail(email: string): Promise {\n return Parse.Cloud.run('getStudentByEmail', { email });\n }\n\n getCalendarBusy(): Promise{\n const from = \"2023-01-01T00:00:00.000Z\";\n const to = \"2023-04-01T00:00:00.000Z\";\n return Parse.Cloud.run('getCalendarBusy', { from, to });\n }\n\n getCalendarEvents(): Promise{\n return Parse.Cloud.run('getCalendarEvents');\n }\n\n getStudentCount(): Promise{\n return Parse.Cloud.run('getStudentCount').then((result) => {\n this.studentCount.next(result);\n });;\n }\n\n createBooking(event: GoogleCalendarEvent): Promise{\n return Parse.Cloud.run('createBooking', { event });\n }\n\n updateBooking(event: GoogleCalendarEvent): Promise{\n return Parse.Cloud.run('updateBooking', { event });\n }\n\n deleteBooking(id: string): Promise{\n return Parse.Cloud.run('deleteBooking', { id });\n }\n\n searchStudent(criteria: StudentSearchCriteria): Promise{\n return Parse.Cloud.run('searchStudent', { criteria });\n }\n\n saveProfilePicture(studentId: string, image: any): Promise{\n return Parse.Cloud.run('saveStudentProfilePicture', { studentId, image });\n }\n\n getStudentFile(id: string, mimeType: string): Promise{\n return Parse.Cloud.run('getFileById', { id, mimeType })\n }\n\n getstudentFiles(fileId: string): Promise{\n return Parse.Cloud.run('getFilesById', { fileId })\n }\n\n getAlbumList(id: string): Promise{\n return Parse.Cloud.run('getAlbumList', { id })\n }\n\n getAlbumById(id: string): Promise{\n return Parse.Cloud.run('getAlbumById', { id })\n }\n\n createDriveFolder(studentId: string): Promise{\n return Parse.Cloud.run('createStudentDriveFolder', { studentId })\n }\n\n createPhotoAlbum(studentId: string): Promise{\n return Parse.Cloud.run('createPhotoAlbum', { studentId })\n }\n\n uploadFile(id: string, uploadedFile: any, description: string): Promise{\n return Parse.Cloud.run('uploadFile', { id, uploadedFile, description })\n }\n\n async uploadPhoto(id: string, uploadedFile: any, description: string): Promise{\n const authToken = await Parse.Cloud.run('getGToken', { });\n let body = uploadedFile.source;\n let newMediaItems = [];\n\n const reqHeaders = new HttpHeaders({\n Authorization: 'Bearer '+ authToken,\n 'Content-type': 'application/octet-stream',\n 'X-Goog-Upload-Content-Type': uploadedFile.type,\n 'X-Goog-Upload-File-Name': uploadedFile.name,\n 'X-Goog-Upload-Protocol': 'raw'\n })\n \n\n const batchCreateHeaders = new HttpHeaders({\n Authorization: 'Bearer '+ authToken,\n 'Content-type': 'application/json'\n })\n \n let uploadToken = await this.http.post(\n 'https://photoslibrary.googleapis.com/v1/uploads',\n body, {headers: reqHeaders, responseType: 'text'}).toPromise(); \n\n // uploadToken.tap(res => {\n newMediaItems.push(\n {\n description: uploadedFile.description,\n simpleMediaItem: {\n fileName: uploadedFile.name,\n uploadToken: uploadToken\n }\n });\n\n return this.http.post(\n 'https://photoslibrary.googleapis.com/v1/mediaItems:batchCreate',\n { albumId: id, newMediaItems }, {headers: batchCreateHeaders}).toPromise();\n\n // return Parse.Cloud.run('uploadPhoto', { id, uploadedFile })\n\n }\n\n saveDailyReport(dailyReport: DailyReport): Promise {\n return Parse.Cloud.run('saveStudentDailyReport', { dailyReport }).then((result) => {\n return result;\n });\n }\n\n getStudentDailyReport(studentID: string, fromDate: string, toDate: string, reportId?: string): Promise {\n return Parse.Cloud.run('getStudentDailyReport', { studentID, fromDate, toDate, reportId });\n }\n\n getBirthdays(date: string): Promise {\n return Parse.Cloud.run('getStudentBirthdays', { date }).then((result) => {\n this.studentBirthdays.next(result);\n });\n }\n \n}\n\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AdminAuthGuardService as AdminCanActivate } from './auth/admin-auth-guard.service';\nimport { ParentAuthGuardService as ParentCanActivate } from './auth/parent-auth-guard.service';\nimport { NewAppointmentComponent } from './new-appointment/new-appointment.component';\nimport { PdfWorkerComponent } from './pdf-worker/pdf-worker.component';\nconst routes: Routes = [\n // {\n // path: \"\",\n // loadChildren: () => import('./auth/auth.module').then(m => m.AuthModule)\n // },\n {\n path: \"auth\",\n loadChildren: () => import('./auth/auth.module').then(m => m.AuthModule)\n },\n {\n path: \"admin\",\n canActivate:[AdminCanActivate],\n loadChildren: () => import('./admin/admin.module').then(m => m.AdminModule)\n },\n {\n path: \"user\",\n canActivate:[ParentCanActivate],\n loadChildren: () => import('./user/user.module').then(m => m.UserModule)\n },\n // {\n // path: \"appointment\",\n // component: NewAppointmentComponent\n // },\n // {\n // path: \"pdf-worker\",\n // component: PdfWorkerComponent\n // },\n {\n path: \"\",\n loadChildren: () => import('./public-site/public-site.module').then(m => m.PublicSiteModule)\n }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { environment } from \"../environments/environment\";\nimport * as Parse from \"parse\";\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit {\n title = 'intellgroup';\n constructor() {\n (Parse as any).initialize(environment.PARSE_APP_ID, environment.PARSE_JS_KEY);\n (Parse as any).serverURL = environment.serverURL;\n (Parse as any).liveQueryServerURL = environment.liveQueryServerURL;\n }\n ngOnInit() {\n // const { SplashScreen } = Plugins\n // SplashScreen.hide();\n }\n}\n\n","","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { Parse } from \"parse\";\nimport { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { AuthModule } from './auth/auth.module';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { environment } from 'src/environments/environment';\nimport { MatTableModule } from \"@angular/material/table\";\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { NewAppointmentComponent } from './new-appointment/new-appointment.component';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport {MatDatepickerModule} from '@angular/material/datepicker';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport {MatChipsModule} from '@angular/material/chips';\nimport { MatSelectModule } from '@angular/material/select';\nimport { PdfWorkerComponent } from './pdf-worker/pdf-worker.component';\nimport { WebcamModule } from 'ngx-webcam';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { PublicSiteModule } from './public-site/public-site.module';\nimport { MatDialogConfig } from '@angular/material/dialog';\nimport { HttpClientModule } from '@angular/common/http';\nimport {MatBadgeModule} from '@angular/material/badge';\nParse.initialize(environment.PARSE_APP_ID, environment.PARSE_JS_KEY);\nParse.serverURL = environment.serverURL;\n\n@NgModule({\n declarations: [\n AppComponent,\n NewAppointmentComponent,\n PdfWorkerComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n ReactiveFormsModule,\n FormsModule,\n AppRoutingModule,\n FontAwesomeModule,\n AuthModule,\n MatTableModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatButtonModule,\n MatProgressSpinnerModule,\n MatStepperModule,\n MatInputModule,\n MatCardModule,\n MatProgressBarModule,\n MatExpansionModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatChipsModule,\n MatSelectModule,\n WebcamModule,\n MatRadioModule,\n PublicSiteModule,\n HttpClientModule,\n MatBadgeModule\n\n ],\n providers: [MatDialogConfig],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\nimport { AuthService } from './auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AdminAuthGuardService {\n constructor(private auth: AuthService, private router: Router) {}\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n let AuthState: any = this.auth.isAuthenticated();\n const userFetched = await this.auth.userFetched();\n if (AuthState && userFetched.get('role') === 'admin') {\n // logged in so return true\n return true;\n }\n\n // not logged in so redirect to login page with the return url and return false\n this.router.navigateByUrl('/login');\n return false;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AuthComponent } from './auth.component';\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\nimport { LoginComponent } from './login/login.component';\nimport { RegisterComponent } from './register/register.component';\n\nconst routes: Routes = [\n { redirectTo: 'login', pathMatch: 'full', path: '' },\n {\n path: '',\n component: AuthComponent,\n children: [\n { path: 'login', component: LoginComponent },\n { path: 'register', component: RegisterComponent },\n { path: 'forgot-password', component: ForgotPasswordComponent }\n ]\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class AuthRoutingModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AuthService } from './auth.service';\n\n@Component({\n selector: 'app-auth',\n templateUrl: './auth.component.html',\n styleUrls: ['./auth.component.scss']\n})\nexport class AuthComponent implements OnInit {\n isAdmin = false;\n currentUser = '';\n constructor(private authService: AuthService, private router: Router) { \n authService.$User.subscribe((res)=>{\n if(res) {\n this.currentUser = res.get('Name');\n this.isAdmin = res.get('role') === 'admin';\n }\n })\n }\n ngOnInit(): void {\n if(this.currentUser !== '') {\n if(this.isAdmin){\n this.router.navigate(['admin', 'appointments']);\n } else {\n this.router.navigate(['parent']);\n }\n }\n }\n\n newAppointment(): void{\n this.router.navigateByUrl('appointment');\n }\n\n docuMerge(): void{\n this.router.navigateByUrl('pdf-worker');\n }\n\n explore(): void{\n this.router.navigateByUrl('explore');\n }\n\n}\n","
\n
\n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthRoutingModule } from './auth-routing.module';\nimport { AuthComponent } from './auth.component';\nimport { LoginComponent } from './login/login.component';\nimport { RegisterComponent } from './register/register.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { SharedModule } from '../shared/shared.module';\nimport { PdfWorkerComponent } from '../pdf-worker/pdf-worker.component';\n\n@NgModule({\n declarations: [\n AuthComponent,\n LoginComponent,\n RegisterComponent,\n ForgotPasswordComponent\n\n ],\n imports: [CommonModule, FormsModule, ReactiveFormsModule, AuthRoutingModule, FontAwesomeModule, MatButtonModule, MatFormFieldModule, MatInputModule, MatIconModule, MatProgressBarModule, SharedModule]\n})\nexport class AuthModule {}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Parent } from 'backend/interfaces/parent.interface';\nimport { Student } from 'backend/interfaces/student.interface';\nimport * as Parse from 'parse';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n $User = new BehaviorSubject(null);\n checkingAuth: boolean = false;\n constructor(private router: Router) {\n if (Parse.User.current()) {\n this.checkingAuth = true;\n Parse.User.current()\n .fetch()\n .then((fetchedUser) => {\n return this.setUser(fetchedUser);\n })\n .then(() => {\n this.checkingAuth = false;\n })\n .catch(() => {\n this.checkingAuth = false;\n });\n }\n }\n\n getCheckoutId(amount: number) {\n return Parse.Cloud.run('tokenizeInitialPayment', { amount });\n }\n\n getPaymentStatus(checkoutId: string, userId: string) {\n return Parse.Cloud.run('getPaymentStatus', { checkoutId, userId });\n }\n\n async login(email: string, password: string) {\n sessionStorage.removeItem('clientID');\n return Parse.User.logIn(email, password)\n .then((user) => {\n return user.fetch();\n })\n .then((fetchedUser) => {\n this.setUser(fetchedUser);\n return fetchedUser;\n })\n .catch((err) => {\n this.setUser(null);\n throw err.message;\n });\n }\n getUser() {\n return this.$User.getValue();\n }\n\n setUser(user: Parse.User) {\n this.$User.next(user);\n }\n\n register(user: any) {\n return Parse.Cloud.run('register', user);\n }\n\n signup(parent: Parent, password: string): Promise {\n return Parse.Cloud.run('signup', { parent, password });\n }\n\n forgotPassword(email: string) {\n return Parse.User.requestPasswordReset(email);\n }\n\n signOut() {\n this.$User.next(null);\n Parse.User.logOut();\n sessionStorage.clear();\n this.router.navigateByUrl('login');\n }\n isAuthenticated() {\n return Parse.User.current();\n }\n userFetched() {\n if (this.$User && this.$User.getValue()) {\n return Promise.resolve(this.$User.getValue());\n }\n return Parse.User.current().fetch();\n }\n getUserRole() {\n return Parse.User.current().get('role');\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { faPhoneVolume } from '@fortawesome/free-solid-svg-icons';\nimport { AuthService } from 'src/app/auth/auth.service';\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.scss']\n})\nexport class ForgotPasswordComponent implements OnInit {\n email: string;\n code: string;\n new_password: string;\n loader: boolean;\n showSubmit: boolean = false;\n errorMessage: string;\n faPhoneVolume = faPhoneVolume;\n constructor(private authService: AuthService, private router: Router, private activatedroute: ActivatedRoute) {}\n\n ngOnInit(): void {\n localStorage.clear();\n const email = this.activatedroute.snapshot.queryParams.email;\n const code = this.activatedroute.snapshot.queryParams.code;\n if (email && code) {\n this.showSubmit = true;\n this.email = email;\n this.code = code;\n }\n }\n\n forgotPassword() {\n this.loader = true;\n this.showSubmit = true;\n this.authService\n .forgotPassword(this.email)\n .then(async (data) => {\n this.email = '';\n this.errorMessage = 'You will receive an email shortly';\n this.loader = false;\n })\n .catch((error) => {\n this.loader = false;\n this.errorMessage = error.message;\n });\n }\n\n goTo(route: string){\n this.router.navigate([route]);\n }\n}\n","
\n
\n
\n

Reset password

\n

\n We get it, stuff happens. Just enter your email address below\n and we'll send you a link to reset your password!\n

\n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n
Already have an account?
\n \n
\n
\n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { faEyeSlash } from '@fortawesome/free-solid-svg-icons';\nimport { faEye, faPhoneVolume } from '@fortawesome/free-solid-svg-icons';\nimport { AuthService } from '../auth.service';\n\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit {\n email: string;\n password: string;\n errorMessage: string;\n loading: boolean;\n passwordVisible: boolean = false;\n faPhoneVolume = faPhoneVolume;\n faEye = faEye;\n faEyeSlash = faEyeSlash;\n loginForm: UntypedFormGroup;\n constructor(\n private authService: AuthService,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n private fb: UntypedFormBuilder\n ) {}\n\n ngOnInit(): void {\n this.loading = false;\n this.loginForm = this.fb.group({\n email: [this.activatedRoute.snapshot.queryParams.email\n ? this.activatedRoute.snapshot.queryParams.email\n : '', [Validators.email, Validators.required]],\n password: ['', Validators.required]\n })\n // this.email = this.activatedRoute.snapshot.queryParams.email\n // ? this.activatedRoute.snapshot.queryParams.email\n // : '';\n }\n\n async login() {\n this.loading = true;\n const redirect = await this.activatedRoute.snapshot.queryParams.returnUrl;\n this.authService\n .login(this.loginForm.controls['email'].value.toLowerCase(), this.loginForm.controls['password'].value)\n .then((user) => {\n console.log(user);\n if (redirect) {\n this.router.navigateByUrl(redirect);\n } else {\n console.log(user.get('role'))\n if (user.get('role') && user.get('role') === 'admin') {\n this.router.navigate(['admin', 'dashboard']);\n } else {\n this.router.navigate(['user']);\n }\n }\n this.loading = false;\n })\n .catch((err) => {\n this.loading = false;\n this.errorMessage = err;\n });\n }\n\n togglePassword(show) {\n this.passwordVisible = show;\n }\n\n goTo(route: string){\n this.router.navigate([route]);\n }\n}\n","\n
\n
\n
\n
\n

Sign in

\n

\n Intell Group A diversified Health & Safety solutions provider focused on streamlining onboarding, enhancing\nsafety learning and managing HSE compliance for Corporates, Contractors and their employees.\n

\n\n
Need an account? \n
\n
\n
\n \n
\n \n Email\n \n \n \n Password\n \n \n \n
\n \n
\n
\n\n \n

{{errorMessage}}

\n \n\n \n \n
\n
\n
\n\n
\n
\n
Need help?
\n \n
\n
\n \n
\n
\n\n\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\nimport { AuthService } from './auth.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ParentAuthGuardService {\n constructor(private auth: AuthService, private router: Router, private _snackBar: MatSnackBar) {}\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n let AuthState: any = this.auth.isAuthenticated();\n const userFetched = await this.auth.userFetched();\n userFetched.get('role')\n if (AuthState && (userFetched.get('role') === 'course' || userFetched.get('role') === 'public')) {\n return true;\n } else {\n this.openSnackBar('Account awaiting approval. Please contact support.');\n }\n\n // not logged in so redirect to login page with the return url and return false\n this.router.navigateByUrl('/login');\n return false;\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { Parse } from 'parse';\nimport { faEyeSlash } from '@fortawesome/free-solid-svg-icons';\nimport { faEye, faPhoneVolume } from '@fortawesome/free-solid-svg-icons';\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport { Student } from 'backend/interfaces/student.interface';\nimport { AuthService } from '../auth.service';\nimport { Parent } from 'backend/interfaces/parent.interface';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n@Component({\n selector: 'app-register',\n templateUrl: './register.component.html',\n styleUrls: ['./register.component.scss']\n})\nexport class RegisterComponent implements OnInit {\n loginForm: UntypedFormGroup;\n loading = false;\n submitted = false;\n returnUrl: string;\n passwordVisible: boolean = false;\n faPhoneVolume = faPhoneVolume;\n faEye = faEye;\n faEyeSlash = faEyeSlash;\n constructor(\n private formBuilder: UntypedFormBuilder,\n private route: ActivatedRoute,\n private router: Router,\n private studentService: StudentService,\n private authService: AuthService,\n private _snackBar: MatSnackBar\n ) { }\n\n ngOnInit() {\n this.loginForm = this.formBuilder.group({\n password: ['', Validators.required],\n email: ['', Validators.required],\n mobile: ['', Validators.required],\n name: ['', Validators.required],\n surname: ['', Validators.required],\n id: ['', Validators.required]\n });\n\n // get return url from route parameters or default to '/'\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\n }\n\n // convenience getter for easy access to form fields\n get f() { \n return this.loginForm.controls; \n }\n\n clearButton() {\n this.loading = false;\n }\n\n async onSubmit(): Promise {\n this.loading = true;\n this.submitted = true;\n\n if (this.loginForm.invalid) {\n this.loading = false;\n return;\n }\n const parent: Parent = {\n Name: this.f.name.value,\n Surname: this.f.surname.value,\n Mobile: this.f.mobile.value,\n Email: this.f.email.value.toLowerCase(),\n ID: this.f.id.value\n }\n const password = this.f.password.value;\n // console.log(parent);\n this.authService.signup(parent, password).then(res => {\n this.openSnackBar('Success, please continue by signing in.')\n this.router.navigate(['login']);\n }).catch(err => alert(err));\n \n // let user = new Parse.User();\n // user.set(\"Name\", this.f.name.value);\n // user.set(\"Surname\", this.f.surname.value);\n // user.set(\"Mobile\", this.f.mobile.value);\n // user.set(\"username\", this.f.email.value);\n // user.set(\"password\", this.f.password.value);\n // user.set(\"email\", this.f.email.value);\n\n\n // try {\n // await user.signUp();\n // this.router.navigate(['/']);\n // } catch (error) {\n // // Show the error message somewhere and let the user try again.\n // alert(\"Error: \" + error.code + \" \" + error.message);\n // }\n }\n\n togglePassword(show) {\n this.passwordVisible = show;\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n\n goTo(route: string){\n this.router.navigate([route]);\n }\n}\n","
\n
\n
\n

Create an Account

\n\n

\n Please complete the form below to get started on your marketing journey.\n

\n
Already have an account? \n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
Already have an account?
\n
\n \n
\n
\n
\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { UntypedFormBuilder, Validators } from '@angular/forms';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { MatStepper, StepperOrientation } from '@angular/material/stepper';\nimport { BehaviorSubject, Observable, Subject, observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { DataService } from '../services/data.service';\nimport { Service } from 'backend/interfaces/service.interface';\nimport * as moment from 'moment';\nimport { Practitioner } from 'backend/interfaces/practitioner.interface';\nimport { Location } from 'backend/interfaces/location.interface';\nimport { faCalendar, faCalendarAlt, faMapMarker, faMapMarkerAlt, faNotesMedical, faUserAlt } from '@fortawesome/free-solid-svg-icons';\nimport { AppointmentService } from '../services/appointment.service';\nimport { Router } from '@angular/router';\n\nexport interface TimeSlot {\n time: string,\n selected: boolean\n}\n@Component({\n selector: 'app-new-appointment',\n templateUrl: './new-appointment.component.html',\n styleUrls: ['./new-appointment.component.scss']\n})\nexport class NewAppointmentComponent implements OnInit {\n @ViewChild('stepper') stepper: MatStepper;\n faNote = faNotesMedical;\n faCalendar = faCalendar;\n faCalendarAlt = faCalendarAlt;\n faMapMarker = faMapMarker;\n faMapMarkerAlt = faMapMarkerAlt;\n faUser = faUserAlt;\n loading = false;\n loadingPractitioners = false;\n services: Service[];\n locations: Location[];\n selectedLocation: string;\n selectedDate: Date;\n startAt = new Date('2023/09/11');\n minDate = new Date();\n maxDate = new Date(new Date().setMonth(new Date().getMonth() + 1));\n busyTimes: Date[];\n timeSlots: TimeSlot[] = [];\n year: any;\n DayAndDate: string;\n practitioners: Practitioner[] = [];\n practitioners$: BehaviorSubject = new BehaviorSubject([]);\n selectedPractitioner = 'Any Available';\n appointmentTypeForm = this._formBuilder.group({\n type: ['', Validators.required],\n duration: ['']\n });\n appointmentLocationForm = this._formBuilder.group({\n location: ['', Validators.required]\n });\n appointmentDateForm = this._formBuilder.group({\n date: ['', Validators.required]\n });\n myFilter = (d: Date | null): boolean => {\n const day = (d || new Date()).getDay();\n // Prevent Saturday and Sunday from being selected.\n return day !== 0 && day !== 6;\n }\n profileForm = this._formBuilder.group({\n Name: ['', Validators.required],\n Surname: ['', Validators.required],\n Mobile: ['', Validators.required],\n Email: ['', Validators.required],\n BookingForSomeoneElse: [''],\n AdditionalNotes: ['']\n });\n bookingAgentForm = this._formBuilder.group({\n Name: ['', Validators.required],\n Surname: ['', Validators.required],\n Mobile: ['', Validators.required],\n Email: ['', Validators.required],\n RelationToStudent: ['', Validators.required]\n });\n stepperOrientation: Observable;\n\n constructor(private router: Router, private _formBuilder: UntypedFormBuilder, breakpointObserver: BreakpointObserver, private dataService: DataService, private appointmentService: AppointmentService) {\n this.stepperOrientation = breakpointObserver.observe('(min-width: 800px)')\n .pipe(map(({ matches }) => matches ? 'horizontal' : 'vertical'));\n }\n\n ngOnInit(): void {\n this.timeSlots = [];\n this.dataService.getLocations();\n this.dataService.getServices(100, 0);\n this.dataService.getPractitioners();\n this.dataService.services$.subscribe(res => {\n this.services = res;\n });\n this.dataService.locations$.subscribe(res => {\n this.locations = res;\n });\n this.dataService.practitioners$.subscribe(res => {\n this.practitioners = res;\n });\n }\n\n setAppointmentType(title: string, duration: string) {\n this.appointmentTypeForm.controls['type'].setValue(title);\n this.appointmentTypeForm.controls['duration'].setValue(duration);\n this.stepper.next();\n }\n\n async setLocation(location: string): Promise {\n this.loadingPractitioners = true;\n this.selectedLocation = location;\n this.appointmentLocationForm.controls['location'].setValue(location);\n this.selectedPractitioner = 'Any Available';\n const practitionersAtLocation = this.practitioners.filter((obj) => {\n if(obj.locations){\n if(obj.locations.some(location => location.name === this.selectedLocation)){\n return obj;\n }\n }\n });\n this.practitioners$.next(practitionersAtLocation);\n this.loadingPractitioners = false;\n }\n\n setPractitioner(id: string): void {\n console.log(id)\n this.selectedPractitioner = id;\n // this.stepper.next();\n }\n\n setDate(date: string) {\n this.appointmentDateForm.controls['date'].setValue(date);\n this.stepper.next();\n }\n\n selectDate(event: any) {\n this.timeSlots = [];\n this.selectedDate = event;\n const dateString = event.toDateString();\n const dateValue = dateString.split(' ');\n this.year = dateValue[3];\n this.DayAndDate = dateValue[0] + ',' + ' ' + dateValue[1] + ' ' + dateValue[2];\n this.getAvailableTimes(this.selectedDate);\n }\n\n myDateFilter = (d: Date): boolean => {\n const day = d.getDay();\n const now = new Date();\n now.setHours(0,0,0,0);\n // Prevent Saturday and Sunday from being selected.\n return day !== 0 && day !== 7;\n }\n\n getAvailableTimes(_event) {\n const date = new Date(_event);\n const duration = parseInt(this.appointmentTypeForm.controls['duration'].value.split(' ')[0]);\n this.dataService.getAvailableTimes(duration, date.getDate(), date.getMonth(), date.getFullYear(), this.selectedLocation, this.selectedPractitioner).then(res => {\n res.forEach(slot => {\n this.timeSlots.push({time: slot, selected: false})\n });\n })\n }\n\n selectTimeSlot(timeSlot: TimeSlot): void {\n const time = moment(timeSlot.time);\n this.selectedDate = new Date(timeSlot.time);\n this.appointmentDateForm.controls['date'].setValue(timeSlot.time);\n this.stepper.next();\n }\n\n makeAppointment(): void {\n const appointment = {\n appointmentType: this.appointmentTypeForm.controls['type'].value,\n appointmentLocation: this.appointmentLocationForm.controls['location'].value,\n appointmentDate: this.appointmentDateForm.controls['date'].value,\n appointmentDuration: this.appointmentTypeForm.controls['duration'].value,\n studentName: this.profileForm.controls['Name'].value,\n studentSurname: this.profileForm.controls['Surname'].value,\n studentMobile: this.profileForm.controls['Mobile'].value,\n studentEmail: this.profileForm.controls['Email'].value,\n studentHasAgent: this.profileForm.controls['BookingForSomeoneElse'].value.toString(),\n additionalNotes: this.profileForm.controls['AdditionalNotes'].value.toString(),\n preferredPractitioner: this.selectedPractitioner,\n bookingAgentName: this.bookingAgentForm.controls['Name'].value,\n bookingAgentSurname: this.bookingAgentForm.controls['Surname'].value,\n bookingAgentMobile: this.bookingAgentForm.controls['Mobile'].value,\n bookingAgentEmail: this.bookingAgentForm.controls['Email'].value,\n bookingAgentRelationToStudent: this.bookingAgentForm.controls['RelationToStudent'].value,\n colorId: this.locations.find(l => l.name === this.selectedLocation).colorId\n }\n this.appointmentService.createAppointmentRequest(appointment).then(res => {\n this.stepper.next();\n }).catch(err => console.log(err));\n }\n\n getAppointmentsByLocation(): void{\n this.appointmentService.getAppointmentsByLocation('Centurion');\n }\n\n continueToSignIn(){\n this.router.navigateByUrl('auth');\n }\n\n goHome(){\n this.router.navigateByUrl('');\n }\n\n}","
\n
\n \n \n
\n \n

New Appointment

\n
\n
\n\n\n
\n \n \n

Please select a appointment type

\n
\n \n \n {{service.title}}\n {{service.duration}}\n \n \n

{{service.description}}

\n

{{service.note}}

\n {{service.price}}\n
\n
\n
\n
\n \n \n \n \n \n
\n
\n

Please select a location

\n \n
\n \n {{location.name}}\n \n \n

{{location.address}}

\n
\n
\n
\n
\n
\n

Do you have a preferred provider?

\n \n
\n \n Any Available\n \n
\n
\n\n \n \n
\n \n {{practitioner.name}} {{practitioner.surname}} \n \n
\n
\n
\n \n\n \n \n
\n
\n \n
\n
\n
\n
\n \n
\n \n
\n \n

Select a date

\n \n
\n \n

Select a time

\n \n
\n
\n \n
\n
\n 0\" class=\"mat-chip-list-stacked m-3\">\n \n {{slot.time | date: 'HH:mm':'UTC +2'}}\n \n \n \n
\n
\n
\n \n\n
\n
\n\n

Profile

\n
\n \n Name\n \n Name is Required\n \n \n Surname\n \n Surname is Required\n \n \n Mobile\n \n Mobile is Required\n \n \n Email\n \n Email is Required\n \n \n Additional Notes\n \n \n Are you making an appointment for someone else?\n
\n
\n
\n

Your Details

\n
\n \n Name\n \n Name is Required\n \n \n Surname\n \n Surname is Required\n \n \n Mobile\n \n Mobile is Required\n \n \n Email\n \n Email is Required\n \n \n Relationship with Student\n \n Relationship is Required\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n See you soon!\n
\n
\n \n \n Thank you\n See you soon!\n \n \n
\n
\n \n
\n
{{appointmentTypeForm.controls['type'].value}}
\n
\n
\n
\n \n
\n
{{appointmentLocationForm.controls['location'].value}}
\n
\n
\n
\n \n
\n
{{appointmentDateForm.controls['date'].value | date: 'dd MMMM yyyy, HH:mm'}}
\n
\n
\n
\n \n
\n
{{profileForm.controls['Name'].value}} {{profileForm.controls['Surname'].value}}
\n
\n \n
\n
\n
\n
\n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { PDFDocument } from 'pdf-lib';\nimport FileSaver from 'file-saver';\nimport { faPlus, faTrash, faUpload } from '@fortawesome/free-solid-svg-icons';\nimport { UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-pdf-worker',\n templateUrl: './pdf-worker.component.html',\n styleUrls: ['./pdf-worker.component.scss']\n})\nexport class PdfWorkerComponent implements OnInit {\n documents = [];\n faUpload = faUpload;\n faTrash = faTrash;\n faPlus = faPlus;\n documentsForm: UntypedFormGroup;\n constructor(private router: Router, private fb: UntypedFormBuilder) {}\n \n\nonFileSelected(event, index) {\n const file:File = event.target.files[0];\n if (file) {\n this.documentsFieldAsFormArray.controls[index].patchValue({fileName: file.name});\n this.documents.push({name: file.name, doc: file.arrayBuffer()});\n }\n}\n\n ngOnInit(): void {\n this.documentsForm = this.fb.group({\n documents: this.fb.array([])\n });\n \n }\n\n get documentsFieldAsFormArray() {\n return this.documentsForm.get('documents') as UntypedFormArray;\n }\n\n document(): any {\n return this.fb.group({\n document: [],\n fileName: ''\n });\n }\n\n addControl(): void {\n this.documentsFieldAsFormArray.push(this.document());\n }\n\n remove(i: number): void {\n this.documentsFieldAsFormArray.removeAt(i);\n this.documents.splice(i, 1);\n }\n\n async embedPdfPages(): Promise {\n const mergedPdf = await PDFDocument.create();\n for(let element of this.documents) {\n console.log(element);\n const temp = await element.doc.then(res => res);\n let document = await PDFDocument.load(temp);\n const copiedPages = await mergedPdf.copyPages(document, document.getPageIndices());\n copiedPages.forEach((page) => mergedPdf.addPage(page));\n };\n\n const pdfBytes = await mergedPdf.save();\n const blob = new Blob([pdfBytes], { type: 'application/pdf' });\n FileSaver.saveAs(blob, 'mergedResult')\n }\n\n uploadFile(id: number){\n const fileId = \"file\"+id;\n document.getElementById(fileId).click();\n }\n\n\n continueToSignIn(){\n this.router.navigateByUrl('auth');\n }\n\n goHome(){\n this.router.navigateByUrl('');\n }\n\n\n}\n","
\n
\n \n \n
\n \n

PDF Merger

\n
\n
\n\n\n
\n\n \n \n Add files to merge\n \n \n
\n
\n
\n
\n \n \n
\n {{ documents[i]?.name || \"No file uploaded yet.\" }}\n\n
\n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n
\n
\n\n
\n\n \n\n \n \n \n\n \n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-about',\n templateUrl: './about.component.html',\n styleUrls: ['./about.component.scss']\n})\nexport class AboutComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\n

About

\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-contact',\n templateUrl: './contact.component.html',\n styleUrls: ['./contact.component.scss']\n})\nexport class ContactComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\n  Contact Information\n

\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
address\n \n
phone number
email
facebook
instagram
\n
\n
\n
\n
\n  Contact us\n
\n
\n
\n
\n \n \n

\n
\n
\n
\n
\n \n \n

\n
\n
\n
\n
\n \n \n

\n
\n
\n
\n
\n \n \n

\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n\n\n
","\n
\n
\n \n
\n
\n\n\n
\n

Courses

\n
\n

No courses found, please contact us if you are looking for anything specific.

\n
0 && !loading\" class=\"row m-0 p-2 mr-2 flex-1\">\n
\n

\n {{a.Name}}\n

\n
\n
\n

\n {{a.Category.Name}}\n

\n

UnitStandard: {{a.UnitStandard}}

\n

{{a.Description}}

\n\n \n
\n
\n \n
\n
\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { LocationService } from 'src/app/admin/services/location.service';\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport { DataService } from 'src/app/services/data.service';\nimport { AlbumDialogComponent } from 'src/app/shared/album-dialog/album-dialog.component';\n\n@Component({\n selector: 'app-courses',\n templateUrl: './courses.component.html',\n styleUrls: ['./courses.component.scss']\n})\nexport class CoursesComponent implements OnInit {\n courseList;\n loading = false;\n constructor(private router: Router, private dataService: DataService, public dialog: MatDialog, private locationService: LocationService) { \n\n }\n\n async ngOnInit(): Promise {\n this.loading = true;\n this.dataService.courses$.subscribe(async res => {\n this.courseList = await res;\n })\n this.loading = false\n }\n\n async viewCourse(courseId): Promise{\n this.router.navigate(['/course', courseId]);\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { faBuilding, faCalendar, faCheckDouble, faChevronDown, faChevronLeft, faChevronRight, faInfo, faInfoCircle, faList, faPhotoVideo, faQuoteLeft } from '@fortawesome/free-solid-svg-icons';\nimport { CalendarEvent, CalendarEventAction, CalendarEventTimesChangedEvent, CalendarView } from 'angular-calendar';\nimport { DataService } from 'src/app/services/data.service';\nimport * as moment from 'moment';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss']\n})\nexport class HomeComponent implements OnInit {\n albumList = []\n loading = false;\n faNext = faChevronRight;\n faPrev = faChevronLeft;\n faDown = faChevronDown;\n faPhoto = faPhotoVideo;\n faInfo = faInfoCircle;\n faCalendar = faCalendar;\n faBuilding = faBuilding;\n faQuoteLeft = faQuoteLeft;\n faCheckList = faCheckDouble;\n CalendarView = CalendarView;\n categories = [];\n viewDate: Date = new Date();\n minTime = this.viewDate.getHours()-1;\n maxTime = this.viewDate.getHours()+3;\n events: CalendarEvent[] = [\n ];\n\n timelineEvents = [{\n id: 0,\n description: \"20 days ago\",\n timestamp: moment().subtract(20, 'days').toDate(),\n title: \"Milestone 1\"},\n {\n id: 1,\n description: \"30 days ago\",\n timestamp: moment().subtract(30, 'days').toDate(),\n title: \"Milestone 2\"},\n {\n id: 2,\n description: \"40 days ago\",\n timestamp: moment().subtract(40, 'days').toDate(),\n title: \"Milestone 3\"}];\n constructor(private dataService: DataService, private router: Router) {\n setInterval(() => {\n this.viewDate = new Date();\n }, 60000);\n }\n\n async ngOnInit(): Promise {\n this.loading = true;\n this.dataService.groups$.subscribe(res => {\n this.categories = res;\n })\n\n this.loading = false;\n }\n newAppointment(): void{\n this.router.navigateByUrl('appointment');\n }\n\n docuMerge(): void{\n this.router.navigateByUrl('pdf-worker');\n }\n\n goTo(route: string): void {\n this.router.navigate(['', route]);\n }\n \n}\n","\n
\n \n
\n\n
\n
\n
\n
\n \n

\n A diversified Health & Safety solutions provider focused on streamlining onboarding, enhancing\n safety learning and managing HSE compliance for Corporates, Contractors and their employees.\n\n

\n
\n \n phoneContact us\n
\n
\n
\n
\n\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PublicComponent } from './public.component';\nimport { HomeComponent } from './home/home.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { SharedModule, momentAdapterFactory } from '../shared/shared.module';\nimport { AdminRoutingModule } from './public-site.routing.module';\nimport { ViewCourseComponent } from './view-course/view-course.component';\nimport { AboutComponent } from './about/about.component';\nimport { ContactComponent } from './contact/contact.component';\nimport { CalendarModule, DateAdapter } from 'angular-calendar';\nimport { NgxTimelineModule } from '@frxjs/ngx-timeline';\nimport { CoursesComponent } from './courses/courses.component';\n\n\n\n@NgModule({\n declarations: [\n PublicComponent,\n HomeComponent,\n CoursesComponent,\n ViewCourseComponent,\n AboutComponent,\n ContactComponent\n ],\n imports: [CommonModule, FormsModule, ReactiveFormsModule, AdminRoutingModule, FontAwesomeModule, SharedModule, MatTableModule, MatCheckboxModule, MatSidenavModule, MatFormFieldModule, MatToolbarModule, MatIconModule, MatButtonModule, MatMenuModule, MatCardModule, MatProgressSpinnerModule, MatTabsModule, MatPaginatorModule, MatInputModule, MatTableModule, CalendarModule.forRoot({ provide: DateAdapter, useFactory: momentAdapterFactory }), NgxTimelineModule],\n})\nexport class PublicSiteModule { }\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { HomeComponent } from './home/home.component';\nimport { PublicComponent } from './public.component';\nimport { CoursesComponent } from './courses/courses.component';\nimport { ViewCourseComponent } from './view-course/view-course.component';\nimport { ContactComponent } from './contact/contact.component';\nimport { AboutComponent } from './about/about.component';\nimport { AccountComponent } from '../admin/account/account.component';\nimport { CourseProfileComponent } from '../shared/course-profile/course-profile.component';\nimport { GdriveComponent } from '../shared/gdrive/gdrive.component';\n\n\nconst routes: Routes = [\n { redirectTo: 'home', pathMatch: 'full', path: '' },\n {\n path: '',\n component: PublicComponent,\n children: [\n { path: 'home', component: HomeComponent },\n { path: 'courses', component: CoursesComponent },\n { path: 'about', component: AboutComponent },\n { path: 'contact', component: ContactComponent },\n { path: 'course', component: ViewCourseComponent },\n { path: 'course/:id', component: ViewCourseComponent}\n ]\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes), ],\n exports: [RouterModule]\n})\nexport class AdminRoutingModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DataService } from '../services/data.service';\n\n@Component({\n selector: 'app-public',\n templateUrl: './public.component.html',\n styleUrls: ['./public.component.scss']\n})\nexport class PublicComponent implements OnInit {\n\n constructor(private router: Router, private dataService: DataService) { }\n\n ngOnInit(): void {\n this.dataService.getGroups();\n this.dataService.getCourses(100, 0);\n }\n\n Login(): void{\n this.router.navigateByUrl('auth');\n }\n}\n","
\n\n \n
\n \n
\n
\n
\n \n \n \n \n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n
\n\n
\n
\n \n
\n
\n
\n \n \"\"\n
\n \n
\n\n
\n\n\n","import { Component, OnInit } from '@angular/core';\n\nimport { MatDialog } from '@angular/material/dialog';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { faCaretLeft, faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { CancelDialogComponent } from 'src/app/shared/cancel-dialog/cancel-dialog.component';\nimport { Location } from '../../../../backend/interfaces/location.interface';\nimport { LocationService } from 'src/app/admin/services/location.service';\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport { DataService } from 'src/app/services/data.service';\nimport { Course } from 'backend/interfaces/course.interface';\n@Component({\n selector: 'app-view-course',\n templateUrl: './view-course.component.html',\n styleUrls: ['./view-course.component.scss']\n})\nexport class ViewCourseComponent implements OnInit {\n loading = false;\n courseId;\n faTimes = faTimes;\n faBack = faCaretLeft;\n courseName: string;\n course: Course;\n constructor(private dataService: DataService, private studentService: StudentService, private locationService: LocationService, private router: Router, private ar: ActivatedRoute, public dialog: MatDialog) { \n if(this.ar.snapshot.params['id']){\n this.courseId = this.ar.snapshot.params['id'];\n }\n }\n\n async ngOnInit(): Promise {\n this.loading = true;\n await this.dataService.getCourseById(this.courseId).then(res => {\n this.courseName = res.Name;\n this.course = res;\n });\n this.\n loading = false;\n }\n\n enroll(){\n this.router.navigate(['auth','register']);\n }\n \n}\n","\n\n\n\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n

{{course.Name}}

\n

{{course.Description ? course.Description : ''}}

\n

{{course.UnitStandard ? 'Unit Standard: ' + course.UnitStandard : ''}}

\n
\n \n
\n \n \n \n \n
\n
\n
","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport * as Parse from 'parse';\nimport { GoogleCalendarEvent } from 'backend/interfaces/calendar.interface';\nimport { CalendarEvent } from 'angular-calendar';\nimport * as moment from 'moment';\n@Injectable({\n providedIn: 'root'\n})\nexport class AppointmentService {\n appointments = new BehaviorSubject(null)\n appointments$ = this.appointments.asObservable();\n appointment = new BehaviorSubject(null);\n appointment$ = this.appointment.asObservable();\n appointmentRequests = new BehaviorSubject(null)\n appointmentRequests$ = this.appointments.asObservable();\n constructor() { }\n\n setAppointment(appointment: CalendarEvent) {\n console.log(appointment)\n this.appointment.next(appointment);\n }\n\n createAppointment(event: GoogleCalendarEvent): Promise {\n return Parse.Cloud.run('createBooking', { event });\n }\n\n updateAppointment(event: any): Promise {\n return Parse.Cloud.run('updateBooking', { event });\n }\n\n acceptAppointmentRequest(event: GoogleCalendarEvent): Promise {\n return Parse.Cloud.run('acceptAppointmentRequest', { event });\n }\n\n\n deleteAppointment(id: string): Promise {\n return Parse.Cloud.run('deleteBooking', { id });\n }\n\n rejectAppointment(appointmentRequestId: string | number): Promise {\n return Parse.Cloud.run('rejectAppointmentRequest', { appointmentRequestId });\n }\n\n getCalendarBusy(): Promise {\n const from = \"2023-01-01T00:00:00.000Z\";\n const to = \"2023-04-01T00:00:00.000Z\";\n return Parse.Cloud.run('getCalendarBusy', { from, to });\n }\n\n getCalendarEvents(): Promise {\n return Parse.Cloud.run('getCalendarEvents');\n }\n\n getAppointment(appointmentId: string): Promise {\n return Parse.Cloud.run('getAppointment', { appointmentId: appointmentId });\n }\n\n getStudentAppointments(email: string): Promise {\n return Parse.Cloud.run('getStudentAppointments', { studentEmail: email });\n }\n\n createAppointmentRequest(appointment: any): Promise {\n return Parse.Cloud.run('createAppointmentRequest', { appointment });\n }\n\n getAppointmentRequests(): Promise {\n return Parse.Cloud.run('getAppointmentRequests').then(res => {\n let requests = [];\n res.forEach(e => {\n requests.push({\n id: e.appointmentRequestId,\n start: moment(e.appointmentDate).utcOffset('+0200').toDate(),\n end: moment(e.endTime).utcOffset('+0200').toDate(),\n title: e.appointmentType + ' - ' + e.studentName + (e.preferredPractitioner ? ' - ' + e.preferredPractitioner.name : ' - Any practitioner'),\n allDay: false,\n resizable: {\n beforeStart: true,\n afterEnd: true,\n },\n meta: { appointmentType: { summary: e.appointmentType, duration: e.appointmentDuration }, description: e.appointmentType, id: e.appointmentRequestId, studentEmail: e.studentEmail, studentName: e.studentName, appointmentLocation: e.appointmentLocation, preferredPractitioner: e.preferredPractitioner, additionalNotes: e.additionalNotes },\n draggable: true,\n cssClass: 'eventColor' + (e.colorId ? e.colorId : 1)\n })\n this.appointmentRequests.next(requests);\n });\n })\n }\n\n getAppointmentsByLocation(location: string): Promise {\n return Parse.Cloud.run('getAppointmentsByLocation', { location }).then((res) => {\n let events = [];\n res.forEach(e => {\n events.push({\n id: e.id,\n start: moment(e.appointmentDate).utcOffset('+0200').toDate(),\n end: moment(e.endTime).utcOffset('+0200').toDate(),\n title: e.summary + ' - ' + e.studentName + (e.preferredPractitioner ? ' - ' + e.preferredPractitioner.name : ' - Any practitioner'),\n allDay: false,\n resizable: {\n beforeStart: true,\n afterEnd: true,\n },\n meta: { appointmentType: { summary: e.summary, duration: e.duration }, description: e.description, id: e.id, studentEmail: e.studentEmail, studentName: e.studentName, studentSurname: e.studentSurname, appointmentLocation: e.appointmentLocation, preferredPractitioner: e.preferredPractitioner, additionalNotes: e.additionalNotes },\n draggable: true,\n cssClass: 'eventColor' + (e.colorId ? e.colorId : 1)\n })\n })\n this.appointments.next(events);\n });\n }\n\n getAppointmentsByEmail(email: string): Promise {\n return Parse.Cloud.run('getAppointmentsByEmail', { email });\n }\n\n sendReminderEmails(): Promise {\n return Parse.Cloud.run('sendReminderEmails');\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Practitioner } from 'backend/interfaces/practitioner.interface';\nimport { Location } from 'backend/interfaces/location.interface';\nimport { Service } from 'backend/interfaces/service.interface';\nimport * as Parse from 'parse';\nimport { BehaviorSubject } from 'rxjs';\nimport { Group } from 'backend/interfaces/group.interface';\nimport { Parent } from 'backend/interfaces/parent.interface';\nimport { Course } from 'backend/interfaces/course.interface';\nimport { Answer } from 'backend/interfaces/answer.interface';\nimport { LearnerSurvey } from 'backend/interfaces/learner-survey.interface';\n@Injectable({\n providedIn: 'root'\n})\nexport class DataService {\n services = new BehaviorSubject(null);\n services$ = this.services.asObservable();\n locations = new BehaviorSubject(null);\n locations$ = this.locations.asObservable();\n courses = new BehaviorSubject(null);\n courses$ = this.courses.asObservable();\n practitioners = new BehaviorSubject(null);\n practitioners$ = this.practitioners.asObservable();\n groups = new BehaviorSubject(null);\n groups$ = this.groups.asObservable();\n parent = new BehaviorSubject(null);\n parent$ = this.parent.asObservable();\n enrollments = new BehaviorSubject(null);\n enrollments$ = this.enrollments.asObservable();\n activatedDrive = new BehaviorSubject(null);\n activatedDrive$ = this.activatedDrive.asObservable();\n constructor() {\n // this.getServices();\n // this.getLocations();\n }\n\n getServices(displayLimit?: number, page?: number): Promise {\n displayLimit = 50;\n page = 0;\n return Parse.Cloud.run('getServices', { displayLimit, page }).then((result) => {\n this.services.next(result);\n });\n }\n\n getGroups(displayLimit?: number, page?: number): Promise {\n return Parse.Cloud.run('getGroups', { displayLimit, page }).then((result) => {\n this.groups.next(result);\n });\n }\n\n getCourses(displayLimit: number, page: number): Promise {\n return Parse.Cloud.run('getCourses', { displayLimit, page }).then((result) => {\n this.courses.next(result);\n });\n }\n\n getLocations(): Promise {\n return Parse.Cloud.run('getLocations').then((result) => {\n this.locations.next(result);\n });\n }\n\n getPractitioners(): Promise {\n return Parse.Cloud.run('getPractitioners').then((result) => {\n this.practitioners.next(result);\n });\n }\n\n getCalendarBusy(from: string, to: string): Promise{\n return Parse.Cloud.run('getCalendarBusy', { from, to });\n }\n\n getAvailableTimeSlots(day: number, month: number, year: number, duration: number): Promise{\n return Parse.Cloud.run('getAvailableTimeSlots', {day, month, year, duration})\n }\n\n getAvailableTimes(duration: number, day: number, month: number, year: number, location: string, preferredPractitioner: string): Promise{\n return Parse.Cloud.run('getAvailableTimes', {duration, day, month, year, location, preferredPractitioner})\n }\n\n getAlbums(id: string): Promise {\n return Parse.Cloud.run('getAlbumList', { id }).then((result) => {\n this.courses.next(result);\n });\n }\n\n saveUser(user: Parent):Promise{\n return Parse.Cloud.run('updateUserProfile', { user })\n }\n\n followGroup(group: Group): Promise {\n return Parse.Cloud.run('followGroup', { group }).then((result) => {\n return result;\n });\n }\n\n unfollowGroup(group: Group): Promise {\n return Parse.Cloud.run('unfollowGroup', { group }).then((result) => {\n return result;\n });\n }\n\n getCourseById(id: string): Promise { \n return Parse.Cloud.run('getCourseById', { id })\n }\n\n createUserDriveFolder(userId: string): Promise{\n return Parse.Cloud.run('createUserDriveFolder', { userId })\n }\n\n saveEnrollment(userId: string, key: string, answers: Answer[], status: string){\n return Parse.Cloud.run('saveEnrollment', { userId, key, answers, status })\n }\n\n saveAssessment(userId: string, key: string, answers: Answer[], status: string, section: string){\n return Parse.Cloud.run('saveAssessment', { userId, key, answers, status, section })\n }\n\n submitAssessment(userId: string, key: string, answers: Answer[], status: string, section: string){\n return Parse.Cloud.run('submitAssessment', { userId, key, answers, status, section })\n }\n\n saveLearnerSurvey(key: string, answers: LearnerSurvey){\n return Parse.Cloud.run('saveLearnerSurvey', { key, answers})\n }\n\n getEnrollmentsByUserId(id: string): Promise { \n return Parse.Cloud.run('getEnrollmentsByUserId', { id }).then(res => {\n this.enrollments.next(res);\n })\n }\n\n getUserDriveId(userId: string): Promise{\n return Parse.Cloud.run('getUserDriveId', { userId })\n }\n\n getcourseFiles(fileId: string): Promise{\n return Parse.Cloud.run('getFilesById', { fileId })\n }\n\n getUserFiles(fileId: string): Promise{\n return Parse.Cloud.run('getFilesById', { fileId })\n }\n\n uploadFile(id: string, uploadedFile: any, description: string): Promise{\n return Parse.Cloud.run('uploadFile', { id, uploadedFile, description })\n }\n\n uploadUserId(id: string, uploadedFile: any, description: string): Promise{\n return Parse.Cloud.run('uploadUserId', { id, uploadedFile, description })\n }\n\n getUserIdDoc(id: string): Promise{\n return Parse.Cloud.run('getUserIdDoc', { id })\n }\n\n getUserFile(id: string, mimeType: string): Promise{\n return Parse.Cloud.run('getFileById', { id, mimeType })\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { ParseClasses } from 'backend/enum/ParseClasses.enum';\nimport { AVNotification } from 'backend/interfaces/notification.interface';\nimport { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';\nimport * as Parse from \"parse\";\n@Injectable({\n providedIn: 'root'\n})\nexport class NotifyService {\n notifications = new BehaviorSubject(null);\n notifications$ = this.notifications.asObservable();\n subscription;\n notificationObjects;\n query = new Parse.Query(ParseClasses.NOTIFICATIONS);\n\n constructor() { \n }\n\n async subscribeToNotifications(){\n this.notifications.next(null);\n this.query.equalTo('userId', Parse.User.current().id);\n this.query.descending('createdAt'); \n this.query.limit(100);\n await this.query.find().then(notifications => {\n this.notificationObjects = new Set(notifications);\n this.notifications.next(this.notificationObjects);\n }).catch(error => {\n alert(`Failed to retrieving objects, with error code: ${error.message}`);\n });\n this.subscription = await this.query.subscribe();\n this.subscription.on('open', message => {\n console.log('trigger open')\n\n // this.messages.forEach(t => {\n // if(Parse.User.current().id === t.get('Recipient').id && t.get('read')===false){\n // console.log(t)\n // t.set('read', true);\n // t.save();\n // }\n // });\n });\n this.subscription.on('create', notification => {\n // this.notificationObjects.forEach(t => {\n // if(Parse.User.current().id === t.userId && t.get('read')===false){\n // console.log(t)\n // t.set('read', true);\n // t.save();\n // }\n // });\n this.notificationObjects.add(notification);\n this.notifications.next(this.notificationObjects);\n console.log('trigger create')\n });\n this.subscription.on('update', message => {\n console.log(message)\n });\n this.subscription.on('leave', message => {\n console.log('trigger leave')\n });\n this.subscription.on('delete', message => {\n // this.messages.forEach(t => {\n // if (t.id === message.id) {\n // this.messages.delete(t);\n // }\n // });\n console.log('trigger delete')\n });\n }\n\n saveNotification(notification: AVNotification): Promise {\n return Parse.Cloud.run('saveNotification', { notification }).then((result) => {\n return result;\n });\n }\n}\n","import { Component, Inject, Input, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { faFilePdf, faImage } from '@fortawesome/free-solid-svg-icons';\nimport { ParentService } from 'src/app/admin/services/parent.service';\n\ninterface DialogData {\n parentId: string;\n files: any[];\n albumId: string;\n}\n@Component({\n selector: 'app-album-dialog',\n templateUrl: './album-dialog.component.html',\n styleUrls: ['./album-dialog.component.scss']\n})\nexport class AlbumDialogComponent implements OnInit {\n faImage = faImage;\n faFilePdf = faFilePdf;\n selectedFile: {type: string, src: string};\n showcase = false;\n loading = false;\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData, private parentService: ParentService) { }\n uploadedImage = {name: '', type: '', source: null};\n ngOnInit(): void {\n console.log(this.data);\n }\n close(): void {\n this.dialogRef.close();\n }\n\n uploadPhotos(){\n console.log(this.uploadedImage);\n let description = '';\n this.parentService.uploadPhoto(this.data.albumId, this.uploadedImage, description).then(res => {\n console.log(res)\n });\n }\n\ngetFile(fileId: string, mimeType: string): Promise{\n this.showcase = true;\n this.loading = true;\n document.getElementById('showcaseImage').setAttribute(\"src\", '');\n document.getElementById('showcaseFile').setAttribute(\"src\", '');\n return this.parentService.getParentFile(fileId, mimeType).then(res => {\n if(mimeType.includes('image')){\n document.getElementById('showcaseImage').setAttribute(\"src\", res);\n }else{\n document.getElementById('showcaseFile').setAttribute(\"src\", res);\n }\n this.selectedFile = {\n type: mimeType.includes('image') ? 'image' : 'file',\n src: res\n }\n this.loading = false;\n return res;\n }).catch(err => console.log(err))\n\n}\n \n async onFileSelected(event): Promise{\n let reader = new FileReader();\n if (event.target.files && event.target.files.length) {\n const file: File = event.target.files[0];\n reader.onload = () => {\n this.uploadedImage = {\n source: reader.result,\n type: file.type,\n name: file.name\n }\n };\n reader.readAsDataURL(file)\n }\n }\n}\n","
\n

Patient Files

\n \n
\n
0\">\n\n \n
\n
\n
\n
\n \n \n {{file.name}}\n
\n {{file.modifiedTime}}\n
\n \n
\n \n
\n
\n
\n\n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n
\n\n
\n
\n
\n \n
","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { MatSlider, MatSliderChange } from '@angular/material/slider';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Router } from '@angular/router';\nimport { faMicrophone, faMicrophoneAlt, faTrash } from '@fortawesome/free-solid-svg-icons';\nimport { CalendarEvent } from 'angular-calendar';\nimport { GoogleCalendarEvent } from 'backend/interfaces/calendar.interface';\nimport * as moment from 'moment';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { LocationService } from 'src/app/admin/services/location.service';\nimport { SidenavActions, SideNavService } from 'src/app/admin/services/side-nav.service';\nimport { AppointmentService } from 'src/app/services/appointment.service';\nimport { VoiceRecognitionService } from 'src/app/services/voice-recognition.service';\nimport { Location } from '../../../../backend/interfaces/location.interface';\nimport { DataService } from 'src/app/services/data.service';\nimport { Practitioner } from 'backend/interfaces/practitioner.interface';\nimport { Service } from 'backend/interfaces/service.interface';\nimport { MatSelectChange } from '@angular/material/select';\nimport { TimeSlot } from 'src/app/new-appointment/new-appointment.component';\nimport { DeleteDialogComponent } from '../delete-dialog/delete-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\n@Component({\n selector: 'app-appointment-form',\n templateUrl: './appointment-form.component.html',\n styleUrls: ['./appointment-form.component.scss']\n})\nexport class AppointmentFormComponent implements OnInit {\n appointmentForm: UntypedFormGroup;\n locations: Location[] = [];\n practitioners: Practitioner[] = [];\n services: Service[];\n timeSlots: TimeSlot[] = [];\n loadingPractitioners = false;\n selectedDate: Date;\n startAt = new Date('2023/09/11');\n minDate = new Date();\n maxDate = new Date(new Date().setMonth(new Date().getMonth() + 1));\n year: any;\n DayAndDate: string;\n selectedLocation: string;\n practitioners$: BehaviorSubject = new BehaviorSubject([]);\n selectedPractitioner;\n newAppointmentForm = this.fb.group({\n appointmentType: ['', Validators.required],\n appointmentLocation: ['', Validators.required],\n appointmentDate: ['', Validators.required],\n appointmentStart: ['', Validators.required],\n appointmentDuration: ['60 min'],\n studentName: ['', Validators.required],\n studentSurname: ['', Validators.required],\n studentMobile: ['', Validators.required],\n studentEmail: ['', Validators.required],\n additionalNotes: [''],\n preferredPractitioner: ['Any Available'],\n });\n loading = false;\n sidenavActions = SidenavActions;\n @Input() appointment: CalendarEvent;\n @Input() appointmentAction?: SidenavActions;\n faTrash = faTrash;\n @Output('openAppointment') openAppointment: EventEmitter = new EventEmitter(null);\n constructor(public dialog: MatDialog, private fb: UntypedFormBuilder, public sideNavService: SideNavService, private appointmentService: AppointmentService, private router: Router, private _snackBar: MatSnackBar, private locationService: LocationService, private dataService: DataService) { \n\n }\n async ngOnInit(): Promise {\n\n this.appointment = null;\n this.dataService.services$.subscribe(res => {\n this.services = res;\n });\n\n this.dataService.locations$.subscribe(res => {\n this.locations = res;\n });\n this.dataService.practitioners$.subscribe(res => {\n this.practitioners = res;\n });\n\n this.appointmentService.appointment$.subscribe(appointment => {\n let duration = 60;\n this.selectedPractitioner = 'Any Available';\n if(appointment)\n {\n console.log(appointment);\n this.appointment = appointment;\n if(appointment.meta?.duration){\n duration = appointment.meta.duration;\n appointment.end = moment(new Date(appointment.start)).add(duration, 'minutes').toDate();\n }else{\n duration = moment(appointment.end).diff(appointment.start, 'minutes');\n }\n if(appointment.meta?.preferredPractitioner){\n this.selectedPractitioner = appointment.meta.preferredPractitioner.name + ' ' + appointment.meta.preferredPractitioner.surname;\n }\n this.selectedLocation = appointment.meta?.appointmentLocation;\n } else {\n this.selectedLocation = this.locations[0].name;\n }\n // console.log(appointment)\n this.appointmentForm = this.fb.group(\n {\n summary: [appointment ? appointment.meta?.appointmentType?.summary : '', Validators.required],\n location: [appointment ? appointment.meta?.appointmentLocation : ''],\n date: [appointment ? new Date(appointment.start) : '', Validators.required],\n start: [{value: appointment ? new Date(appointment.start).toLocaleTimeString() : '', disabled: true}, Validators.required],\n studentName: [{value: appointment ? appointment.meta?.studentName : '', disabled: true}],\n studentSurname: [{value: appointment ? appointment.meta?.studentSurname : '', disabled: true}],\n attendeeEmail: [appointment ? appointment.meta?.studentEmail : '', Validators.required],\n notes: [appointment ? appointment.meta?.additionalNotes : '']\n });\n this.selectedDate = appointment.start;\n this.newAppointmentForm.controls['appointmentLocation'].setValue(this.selectedLocation);\n this.newAppointmentForm.controls['appointmentDate'].setValue(appointment ? new Date(appointment.start) : new Date());\n this.newAppointmentForm.controls['appointmentType'].setValue(this.services.find(s => s.title === appointment.meta?.appointmentType?.summary));\n this.newAppointmentForm.controls['appointmentDuration'].setValue(this.services[0].duration);\n if(this.selectedLocation && this.selectedDate){\n this.getAvailableTimes(this.selectedDate);\n }\n }, error => {\n console.log(error);\n })\n }\n\n saveBooking(): void {\n if(this.appointment.meta.id)\n {\n this.updateAppointment();\n return;\n }\n this.loading = true;\n this.appointment.start = this.mapDateTime(this.appointmentForm.controls['date'].value, this.appointmentForm.controls['start'].value);\n this.appointment.end = this.mapDateTime(this.appointmentForm.controls['date'].value, this.appointmentForm.controls['end'].value);\n \n const appointment: GoogleCalendarEvent = {\n summary: this.appointmentForm.controls['summary'].value,\n location: this.appointmentForm.controls['location'].value,\n description: this.appointmentForm.controls['description'].value,\n start: {\n dateTime: moment(this.appointment.start).toISOString(),\n timeZone: 'Africa/Johannesburg',\n },\n end: {\n dateTime: moment(this.appointment.end).toISOString(),\n timeZone: 'Africa/Johannesburg',\n },\n attendees: [\n {email: this.appointmentForm.controls['attendeeEmail'].value}\n ],\n reminders: {\n useDefault: false,\n overrides: [\n {method: 'email', 'minutes': 24 * 60},\n {method: 'popup', 'minutes': 3 * 60},\n ],\n }\n };\n this.appointmentService.createAppointment(appointment).then(()=> {\n this.openSnackBar('Appointment successfully created');\n this.sideNavService.close();\n this.router.navigateByUrl('/', {skipLocationChange: true}).then(()=>\n this.router.navigate(['admin', 'appointments']));\n this.appointment = null;\n this.selectedPractitioner = null;\n this.selectedLocation = null;\n this.selectedDate = null;\n\n this.loading = false;\n }).catch((err)=> {\n this.openSnackBar(err);\n this.loading = false;\n });\n }\n\n async rejectAppointmentRequest(): Promise{\n this.loading = true;\n const appointment = {\n appointmentType: this.appointmentForm.controls['summary'].value,\n appointmentLocation: this.appointmentForm.controls['location'].value,\n appointmentDate: this.appointmentForm.controls['date'].value.toString(),\n studentEmail: this.appointmentForm.controls['attendeeEmail'].value,\n additionalNotes: this.appointmentForm.controls['notes'].value,\n colorId: this.locations.find(l => l.name === this.selectedLocation).colorId,\n id: this.appointment.id,\n appointmentDuration: this.services.find(s => s.title === this.appointmentForm.controls['summary'].value).duration,\n accepted: false\n }\n this.appointmentService.rejectAppointment(appointment.id).then(()=> {\n this.openSnackBar('Appointment successfully updated');\n this.sideNavService.close();\n this.router.navigateByUrl('/', {skipLocationChange: true}).then(()=>\n this.router.navigate(['admin', 'appointments']));\n this.appointment = null;\n this.loading = false;\n }).catch((err)=> {\n this.openSnackBar(err);\n this.loading = false;\n });\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n\n async updateAppointment(): Promise{\n this.loading = true;\n const appointment = {\n appointmentType: this.appointmentForm.controls['summary'].value,\n appointmentLocation: this.appointmentForm.controls['location'].value,\n appointmentDate: this.appointmentForm.controls['date'].value.toString(),\n studentEmail: this.appointmentForm.controls['attendeeEmail'].value,\n studentName: this.appointmentForm.controls['studentName'].value,\n studentSurname: this.appointmentForm.controls['studentSurname'].value,\n additionalNotes: this.appointmentForm.controls['notes'].value,\n colorId: this.locations.find(l => l.name === this.selectedLocation).colorId,\n id: this.appointment.id,\n appointmentDuration: this.services.find(s => s.title === this.appointmentForm.controls['summary'].value).duration,\n }\n this.appointmentService.updateAppointment(appointment).then(()=> {\n this.openSnackBar('Appointment successfully updated');\n this.sideNavService.close();\n this.router.navigateByUrl('/', {skipLocationChange: true}).then(()=>\n this.router.navigate(['admin', 'appointments']));\n this.appointment = null;\n this.loading = false;\n }).catch((err)=> {\n this.openSnackBar(err);\n this.loading = false;\n });\n }\n\n async acceptAppointmentRequest(): Promise{\n this.loading = true;\n const appointment = {\n appointmentType: this.appointmentForm.controls['summary'].value,\n appointmentLocation: this.appointmentForm.controls['location'].value,\n appointmentDate: this.appointmentForm.controls['date'].value.toString(),\n studentEmail: this.appointmentForm.controls['attendeeEmail'].value,\n additionalNotes: this.appointmentForm.controls['notes'].value,\n colorId: this.locations.find(l => l.name === this.selectedLocation).colorId,\n id: this.appointment.id,\n appointmentDuration: this.services.find(s => s.title === this.appointmentForm.controls['summary'].value).duration,\n accepted: true\n }\n this.appointmentService.updateAppointment(appointment).then(()=> {\n this.openSnackBar('Appointment successfully updated');\n this.sideNavService.close();\n this.router.navigateByUrl('/', {skipLocationChange: true}).then(()=>\n this.router.navigate(['admin', 'appointments']));\n this.appointment = null;\n this.loading = false;\n }).catch((err)=> {\n this.openSnackBar(err);\n this.loading = false;\n });\n }\n\n openDeleteDialog(): void {\n const dialogRef = this.dialog.open(DeleteDialogComponent, {\n data: {title: 'Delete', question: 'Are you sure you want to delete this item?'}\n });\n \n dialogRef.afterClosed().subscribe(result => {\n if(result) {\n if(result){\n this.deleteBooking();\n }else{\n this.cancel();\n }\n } else {\n this.dialog.closeAll();\n }\n });\n }\n\n deleteBooking(): void{\n this.loading = true;\n this.appointmentService.deleteAppointment(this.appointment.meta.id).then(()=> {\n this.openSnackBar('Appointment successfully deleted');\n this.sideNavService.close();\n this.router.navigateByUrl('/', {skipLocationChange: true}).then(()=>\n this.router.navigate(['admin', 'appointments']));\n this.loading = false;\n }).catch((err)=> {\n this.openSnackBar(err);\n this.loading = false;\n });\n }\n\n\n cancel(){\n this.appointment = null;\n this.router.navigate(['admin', 'appointments']);\n }\n\n openAppointmentDetail(): void {\n this.openAppointment.emit(this.appointment.id);\n }\n\n\n labelFn(value: number): string {\n return `${value} minutes`;\n }\n\n mapDateTime(dateString: string, timeString: string): any{\n const newDate = moment(dateString);\n let newDateTime = moment(timeString, 'HH:mm:ss');\n newDateTime.set('date', newDate.get('date'));\n newDateTime.set('month', newDate.get('month'));\n newDateTime.set('year', newDate.get('year'));\n return newDateTime;\n }\n\n async setLocation(event: MatSelectChange): Promise {\n this.loadingPractitioners = true;\n this.selectedLocation = event.value;\n this.newAppointmentForm.controls['appointmentLocation'].setValue(event.value);\n this.selectedPractitioner = 'Any Available';\n const practitionersAtLocation = this.practitioners.filter((obj) => {\n if(obj.locations){\n if(obj.locations.some(location => location.name === this.selectedLocation)){\n return obj;\n }\n }\n });\n this.practitioners$.next(practitionersAtLocation);\n if(this.selectedDate){\n this.getAvailableTimes(this.selectedDate);\n }\n this.loadingPractitioners = false;\n }\n\n\n setPractitioner(event: MatSelectChange): void {\n this.selectedPractitioner = event.value;\n // this.stepper.next();\n }\n\n myDateFilter = (d: Date | null): boolean => {\n const day = (d || new Date()).getDay();\n const now = moment().subtract(1, 'days').toDate();\n now.setHours(0,0,0,0);\n // Prevent Saturday and Sunday from being selected.\n // return day !== 0 && day !== 7 && d > now;\n return d > now;\n }\n setDate(date: string) {\n this.newAppointmentForm.controls['appointmentDate'].setValue(date);\n }\n\n selectDate(event: any) {\n if(this.selectedLocation){\n this.timeSlots = [];\n const hourFromPreviousSelectedDate = this.selectedDate.getHours();\n const minutesFromPreviousSelectedDate = this.selectedDate.getMinutes();\n this.selectedDate = event.value;\n let newDateSelectedWithTimeFromPreviouslySelected = new Date(this.selectedDate.setHours(hourFromPreviousSelectedDate));\n newDateSelectedWithTimeFromPreviouslySelected = new Date(newDateSelectedWithTimeFromPreviouslySelected.setMinutes(minutesFromPreviousSelectedDate));\n if(this.selectedLocation){\n this.getAvailableTimes(this.selectedDate);\n }\n }\n }\n\n async getAvailableTimes(_event) {\n this.timeSlots = [];\n const date = new Date(_event);\n const duration = parseInt(this.newAppointmentForm.controls['appointmentDuration'].value.split(' ')[0]);\n await this.dataService.getAvailableTimes(duration, date.getDate(), date.getMonth(), date.getFullYear(), this.selectedLocation, this.selectedPractitioner).then(async res => {\n await res.forEach(slot => {\n this.timeSlots.push({time: slot, selected: false})\n });\n })\n }\n\n setAppointmentType(_event): void {\n console.log(_event)\n const appointmentType = this.services.find(s => s.title === _event.value);\n this.newAppointmentForm.controls['appointmentDuration'].setValue(appointmentType ? appointmentType.duration : '60 min');\n if(this.selectedLocation && this.selectedDate){\n this.getAvailableTimes(this.selectedDate);\n }\n }\n\n makeAppointment(): void {\n this.loading = true;\n const appointment = {\n appointmentType: this.newAppointmentForm.controls['appointmentType'].value,\n appointmentLocation: this.newAppointmentForm.controls['appointmentLocation'].value,\n appointmentDate: this.newAppointmentForm.controls['appointmentDate'].value.toString(),\n appointmentDuration: this.newAppointmentForm.controls['appointmentDuration'].value,\n studentName: this.newAppointmentForm.controls['studentName'].value,\n studentSurname: this.newAppointmentForm.controls['studentSurname'].value,\n studentMobile: this.newAppointmentForm.controls['studentMobile'].value,\n studentEmail: this.newAppointmentForm.controls['studentEmail'].value,\n additionalNotes: this.newAppointmentForm.controls['additionalNotes'].value.toString(),\n preferredPractitioner: this.selectedPractitioner,\n colorId: this.locations.find(l => l.name === this.selectedLocation).colorId\n }\n this.appointmentService.createAppointmentRequest(appointment).then(res => {\n this.openSnackBar('Appointment successfully created');\n this.sideNavService.close();\n this.router.navigateByUrl('/', {skipLocationChange: true}).then(()=>\n this.router.navigate(['admin', 'appointments']));\n this.appointment = null;\n this.loading = false;\n }).catch(err => console.log(err));\n }\n\n selectTimeSlot(timeSlot: string): void {\n const time = moment(timeSlot);\n this.selectedDate = time.toDate();\n this.newAppointmentForm.controls['appointmentDate'].setValue(this.selectedDate);\n this.newAppointmentForm.controls['appointmentStart'].setValue(timeSlot);\n this.appointmentForm.controls['date'].setValue(this.selectedDate);\n this.appointmentForm.controls['start'].setValue(this.selectedDate);\n }\n\n setTimeFromDropdown(event: MatSelectChange){\n if(event.value){\n this.selectTimeSlot(event.value);\n }\n }\n\n}\n","\n \n \n\n
\n
\n \n Type\n \n None\n \n
\n {{service.title}} \n {{service.duration}}\n
\n
\n
\n
\n \n Location\n \n None\n \n {{location.name}}\n \n \n \n \n Practitioner\n \n Any Available\n \n {{practitioner.name}} {{practitioner.surname}}\n \n \n \n \n Date\n \n MM/DD/YYYY\n \n \n \n \n 0\">\n \n \n Time\n \n Select a time slot\n \n {{slot.time | date: 'HH:mm'}}\n \n \n \n \n \n Name\n \n Name is Required\n \n \n Surname\n \n Surname is Required\n \n \n Mobile\n \n Mobile is Required\n \n \n Email\n \n Email is Required\n \n \n Additional Notes\n \n \n
\n
\n \n
\n
\n
\n\n
\n \n Type\n \n \n
\n {{service.title}} \n {{service.duration}}\n
\n
\n
\n
\n \n Location\n \n None\n \n {{location.name}}\n \n \n \n \n \n Date\n \n MM/DD/YYYY\n \n \n \n \n Time\n \n Time is Required\n \n \n Available timeslots\n \n Select a time slot\n \n {{slot.time | date: 'HH:mm'}}\n \n \n \n \n Name\n \n Name is Required\n \n \n Surname\n \n Surname is Required\n \n \n Student Email\n \n Student Email is Required\n \n
\n \n Notes\n \n \n
\n
\n

Preferred practitioner:
{{selectedPractitioner}}

\n
\n
\n\n
\n \n \n \n\n
\n \n \n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\ninterface DialogData {\n summary: string;\n studentId: string\n result: boolean;\n appointments: string;\n accepted: boolean;\n}\n@Component({\n selector: 'app-appointments-dialog',\n templateUrl: './appointments-dialog.component.html',\n styleUrls: ['./appointments-dialog.component.scss']\n})\nexport class AppointmentsDialogComponent implements OnInit {\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData) { }\n\n ngOnInit(): void {\n }\n close(): void {\n this.dialogRef.close();\n }\n}\n","
\n

Appointments

\n
\n \n
\n
\n
\n

{{appointment.startTime ? (appointment.startTime | date:'medium') : (appointment.appointmentDate | date:'dd MMM yy, HH:mm')}} - {{appointment.summary}}\n

\n

{{appointment.preferredPractitioner? ' - ' + appointment.preferredPractitioner.name + ' ' + appointment.preferredPractitioner.surname : ' - Any practitioner'}}

\n

Rejected

\n

Accepted

\n

Pending review

\n
\n
\n
\n
\n \n
","import { AfterViewInit, Component, ElementRef, Inject, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { faCamera, faUpload, faUser } from '@fortawesome/free-solid-svg-icons';\nimport { WebcamImage } from 'ngx-webcam';\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport { PractitionerService } from 'src/app/admin/services/practitioner.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Parent } from 'backend/interfaces/parent.interface';\nimport { CourseService } from 'src/app/admin/services/course.service';\n\ninterface DialogData {\n title: string;\n result: boolean;\n}\n\n@Component({\n selector: 'app-asset-upload-dialog',\n templateUrl: './asset-upload-dialog.component.html',\n styleUrls: ['./asset-upload-dialog.component.scss']\n})\nexport class AssetUploadDialogComponent implements OnInit {\n\n title;\n question;\n webcamImage: WebcamImage = null;\n uploadedImage: {name: string, source: string | ArrayBuffer, type?: string};\n showCamera = false;\n faCamera = faCamera;\n faUpload = faUpload;\n faUser = faUser;\n saving = false;\n recognitionImage: {name: string, source: string | ArrayBuffer, type?: string};\n parent: Parent;\n chartData = 10;\n @ViewChild('webcamImageDisplay') webcamImageDisplay: ElementRef;\n @ViewChild('fileInput') fileInput: ElementRef;\n @ViewChild('dataInput') dataInput: ElementRef;\n // @ViewChild('recognitionFileInput') recognitionFileInput: ElementRef;\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData, private courseService: CourseService, private _snackBar: MatSnackBar) { }\n\n ngOnInit(): void {\n this.title = this.data.title;\n // this.courseService.activatedCourse$.subscribe(res => this.parent= res);\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n showThumb(result: {image: WebcamImage, detection: any}): void {\n this.webcamImage = result.image;\n if(this.webcamImageDisplay)\n this.webcamImageDisplay.nativeElement.src = result.image.imageAsDataUrl;\n this.recognitionImage = {\n source: result.image.imageAsBase64,\n name: this.parent.Name +'_'+this.parent.Surname,\n type: 'image/jpeg',\n }\n this.uploadedImage = {\n source: result.image.imageAsDataUrl,\n name: this.parent.Name +'_'+this.parent.Surname,\n type: 'image/jpeg',\n }\n this.toggleCamera();\n }\n\n async onFileSelected(event): Promise{\n\n let reader = new FileReader();\n\n this.webcamImage = null;\n if (event.target.files && event.target.files.length) {\n const file: File = event.target.files[0];\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n if (file.type.includes('image')) {\n this.webcamImageDisplay.nativeElement.src = reader.result;\n this.uploadedImage = {\n source: reader.result as any,\n name: file.name,\n type: file.type,\n }\n }\n };\n }\n }\n\n toggleCamera(){\n this.showCamera = !this.showCamera;\n }\n\n uploadFile(){\n this.fileInput.nativeElement.value = null;\n this.fileInput.nativeElement.click();\n }\n\n\n async saveProfilePicture(): Promise{\n const imageToUpload = this.uploadedImage;\n this.saving = true;\n this.courseService.uploadFile('1glguzAjhR7LzckleW_O5hjWdgrjAHJpn', imageToUpload, '').then(res => {\n this.dialogRef.close(res);\n this.openSnackBar(\"Asset successfuly saved.\");\n this.saving = false;\n }).catch(err => {\n console.log(err);\n });\n }\n\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n \n}\n","
\n

{{ title }}

\n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n \n
\n

Click to upload

\n \n
\n
\n
\n \n \n
\n \n {{saving ? 'Saving' : 'Upload'}}\n \n
\n ","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { CalendarEvent, CalendarEventAction, CalendarEventTimesChangedEvent, CalendarView } from 'angular-calendar';\nimport { GoogleCalendarEvent } from 'backend/interfaces/calendar.interface';\nimport * as moment from 'moment';\nimport { Subject } from 'rxjs';\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport { SidenavActions, SideNavService } from 'src/app/admin/services/side-nav.service';\nimport { faChevronLeft, faChevronRight } from '@fortawesome/free-solid-svg-icons';\nimport { AppointmentService } from 'src/app/services/appointment.service';\nimport { DataService } from 'src/app/services/data.service';\nimport { Location } from '../../../../backend/interfaces/location.interface';\nimport { MatSelectChange } from '@angular/material/select';\n@Component({\n selector: 'app-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss']\n})\nexport class CalendarComponent implements OnInit {\n @ViewChild('modalContent', { static: true }) modalContent: TemplateRef;\n @ViewChild('bookingsModal', { static: true }) bookingsModal: TemplateRef;\n @Output('updateParentLoader') updateParentLoader: EventEmitter = new EventEmitter(null);\n @Output('openSideNav') openSideNav: EventEmitter = new EventEmitter(null);\n @Input() location;\n @Input() email;\n @Input() loading;\n locations: Location[] = [];\n faChevronLeft = faChevronLeft;\n faChevronRight = faChevronRight;\n view: CalendarView = CalendarView.Week;\n CalendarView = CalendarView;\n\n viewDate: Date = new Date();\n\n refresh = new Subject();\n\n events: CalendarEvent[] = [\n ];\n selectedLocation: string = 'All';\n event: CalendarEvent;\n newBookingForm: UntypedFormGroup;\n activeDayIsOpen: boolean = true;\n constructor(private modal: MatDialog, private appointmentService: AppointmentService, private fb: UntypedFormBuilder, public sideNavService: SideNavService, private dataService: DataService) { }\n\n async ngOnInit(): Promise {\n this.loading = true;\n this.dataService.locations$.subscribe(res => {\n this.locations = res;\n });\n\n // if(this.email){\n // this.getEventsByEmail(this.email);\n // } else {\n // this.getEventsByLocation(this.selectedLocation);\n // }\n this.appointmentService.appointments$.subscribe((res: any[]) => {\n this.events = res;\n this.loading = false;\n this.updateParentLoader.emit(false);\n })\n }\n\n dayClicked({ date, events }: { date: Date; events: CalendarEvent[] }): void {\n if (moment(date).isSame(this.viewDate, 'month')) {\n if (\n (moment(this.viewDate).isSame(date, 'day') && this.activeDayIsOpen === true) ||\n events.length === 0\n ) {\n this.activeDayIsOpen = false;\n } else {\n this.activeDayIsOpen = true;\n }\n this.viewDate = date;\n }\n }\n\n eventTimesChanged({\n event,\n newStart,\n newEnd,\n }: CalendarEventTimesChangedEvent): void {\n this.events = this.events.map((iEvent) => {\n if (iEvent === event) {\n return {\n ...event,\n start: newStart,\n end: newEnd,\n };\n }\n return iEvent;\n });\n event.start = newStart;\n event.end = newEnd;\n this.handleEvent(event);\n }\n\n handleEvent(event: CalendarEvent): void {\n if(event.meta?.appointmentType){\n this.viewAppointment(event);\n }else{\n this.createAppointment(event);\n }\n }\n\n deleteEvent(eventToDelete: CalendarEvent) {\n this.events = this.events.filter((event) => event !== eventToDelete);\n }\n\n setView(view: CalendarView) {\n this.view = view;\n }\n\n closeOpenMonthViewDay() {\n this.activeDayIsOpen = false;\n }\n\n createAppointment(e: any): void {\n this.newBookingForm = this.fb.group(\n {\n summary: '',\n description: '',\n start: e.date,\n end: moment(e.date).add(1, 'hours').toDate(),\n meta: {},\n });\n this.openSideNav.emit(this.newBookingForm.value);\n }\n\n viewAppointment(e: CalendarEvent): void {\n this.openSideNav.emit(e);\n }\n\n\n async setLocation(event: MatSelectChange): Promise {\n this.loading = true;\n this.updateParentLoader.emit(true);\n this.selectedLocation = event.value;\n if(this.email){\n this.getEventsByEmail(this.email);\n } else {\n this.getEventsByLocation(this.selectedLocation);\n }\n }\n\n\n getEventsByLocation(location: string): void {\n this.events = [];\n const loc = (location === 'All' ? null : this.selectedLocation);\n this.appointmentService.getAppointmentsByLocation(loc).then(res => {\n res.forEach(e => {\n this.events.push({\n id: e.id,\n start: moment(e.appointmentDate).utcOffset('+0200').toDate(),\n end: moment(e.endTime).utcOffset('+0200').toDate(),\n title: e.summary +' - '+ e.studentName + (e.preferredPractitioner? ' - ' + e.preferredPractitioner.name : ' - Any practitioner'),\n allDay: false,\n resizable: {\n beforeStart: true,\n afterEnd: true,\n },\n meta: {appointmentType: {summary: e.summary, duration: e.duration},description: e.description, id: e.id, studentEmail: e.studentEmail, studentName: e.studentName, appointmentLocation: e.appointmentLocation, preferredPractitioner: e.preferredPractitioner, additionalNotes: e.additionalNotes},\n draggable: true,\n cssClass: 'eventColor'+(e.colorId ? e.colorId : 1) \n })\n })\n this.loading = false;\n this.updateParentLoader.emit(false);\n })\n }\n\n getEventsByEmail(email: string): void {\n this.events = [];\n this.appointmentService.getAppointmentsByEmail(email).then(res => {\n console.log(res)\n res.forEach(e => {\n\n this.events.push({\n id: e.id,\n start: moment(e.appointmentDate).utcOffset('+0200').toDate(),\n end: moment(e.endTime).utcOffset('+0200').toDate(),\n title: e.summary +' - '+ e.appointmentLocation + (e.preferredPractitioner? ' - ' + e.preferredPractitioner.name + ' ' + e.preferredPractitioner.surname : ' - Any practitioner'),\n allDay: false,\n resizable: {\n beforeStart: true,\n afterEnd: true,\n },\n meta: {appointmentType: e.summary,description: e.description, id: e.id, studentEmail: e.studentEmail, appointmentLocation: e.appointmentLocation, preferredPractitioner: e.preferredPractitioner, additionalNotes: e.additionalNotes},\n draggable: true,\n cssClass: 'eventColor'+(e.colorId ? e.colorId : 1) \n })\n })\n this.loading = false;\n this.updateParentLoader.emit(false);\n })\n }\n\n sendReminderEmails(): void{\n this.appointmentService.sendReminderEmails();\n }\n}\n","\n
\n
\n \n Location\n \n All Locations\n \n {{location.name}}\n \n \n \n \n
\n
\n
\n
\n \n M\n
\n \n W\n
\n \n D\n
\n
\n \n
\n

{{ viewDate | calendarDate:(view + 'ViewTitle'):'en' }}

\n
\n
\n
\n \n \n
\n \n Today\n
\n \n \n \n \n \n \n\n\n
\n
\n \n \n \n \n \n \n \n
\n
\n","import { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\ninterface DialogData {\n title: string;\n question: string;\n result: boolean;\n}\n\n@Component({\n selector: 'app-cancel-dialog',\n templateUrl: './cancel-dialog.component.html',\n styleUrls: ['./cancel-dialog.component.scss']\n})\nexport class CancelDialogComponent implements OnInit {\n title;\n question;\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData) { }\n\n ngOnInit(): void {\n this.title = this.data.title;\n this.question = this.data.question;\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n}\n","

{{title}}

\n
\n {{question}}\n
\n
\n \n \n
","import { Component, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, UntypedFormGroup, Validators } from '@angular/forms';\nimport { faAngry, faPlus, faSadTear, faSmile, faSmileBeam, faTrash } from '@fortawesome/free-solid-svg-icons';\nimport { DailyReport, Student } from 'backend/interfaces/student.interface';\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport * as moment from 'moment';\n@Component({\n selector: 'app-check-in',\n templateUrl: './check-in.component.html',\n styleUrls: ['./check-in.component.scss']\n})\nexport class CheckInComponent implements OnInit {\n loading = false;\n student: Student;\n faPlus = faPlus;\n faTrash = faTrash;\n faNeutral = faAngry;\n faSad = faSadTear;\n faHappy = faSmile;\n date = new Date();\n diaperChangesArray = [];\n medicationArray = [];\n reportId;\n checkInForm = this.fb.group({\n CheckInMood: [''],\n CheckInNotes: [''],\n CheckIn: ['']\n })\n constructor(private fb: FormBuilder, private studentService: StudentService) { }\n\n async ngOnInit() {\n this.loading = true;\n this.studentService.activatedStudent$.subscribe(async s => {\n return this.student = s;\n });\n await this.studentService.getStudentDailyReport(this.student.ID, this.date.toDateString(), this.date.toDateString()).then(res => {\n this.reportId = res.ReportId;\n this.patchReportForm(res);\n })\n this.loading = false\n }\n\n saveReport(){\n this.loading = true;\n this.studentService.saveDailyReport({\n ReportId: this.reportId,\n Date: this.date.toString(),\n StudentID: this.student.ID,\n CheckInNotes: this.checkInForm.controls['CheckInNotes'].value,\n CheckInMood: this.checkInForm.controls['CheckInMood'].value,\n CheckIn: this.checkInForm.controls['CheckIn'].value\n }).then(async res => {\n await this.patchReportForm(res);\n this.loading = false;\n\n });\n }\n\n setMood(CheckInMood: string){\n this.checkInForm.patchValue({CheckInMood});\n }\n\n setPresence(CheckIn: string){\n this.checkInForm.patchValue({CheckIn});\n }\n\n async patchReportForm(reportObject: DailyReport){\n this.loading = true;\n await this.checkInForm.patchValue({\n CheckInMood: reportObject.CheckInMood,\n CheckInNotes: reportObject.CheckInNotes,\n CheckIn: reportObject.CheckIn,\n });\n console.log(this.checkInForm)\n this.loading = false;\n}\n\nasync selectDate(event: any) {\n this.loading = true;\n this.date = event.value;\n await this.studentService.getStudentDailyReport(this.student.ID, this.date.toDateString(), this.date.toDateString()).then(res => {\n if(res.ReportId){\n this.reportId = res.ReportId;\n this.patchReportForm(res);\n }else{\n this.checkInForm.reset();\n }\n })\n this.loading = false;\n }\n}","\n
\n \n
\n\n\n\n
\n
\n \n Date\n \n MM/DD/YYYY\n \n \n \n
\n
\n
\n \n\n
\n
\n
\n \n
Present
\n \n
Absent
\n \n
Late
\n \n
\n
\n
\n
\n
\n \n

How's {{student.Name}} doing today?

\n
\n
\n
\n \n
\n \n
\n \n
\n \n
\n
\n
\n
\n
\n

Check in notes

\n \n Notes\n \n \n
\n\n\n \n \n Save\n \n \n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Question } from 'backend/interfaces/question.interface';\n\n@Component({\n selector: 'app-course-question',\n templateUrl: './course-question.component.html',\n styleUrls: ['./course-question.component.scss']\n})\nexport class CourseQuestionComponent implements OnInit {\n @Input('question') question: Question = {\n id: '',\n title: '',\n duration: '',\n answer: '',\n answerType: '',\n points: '',\n note: '',\n body: ''\n };\n @Output('updateTestForm') updateTestForm: EventEmitter = new EventEmitter;\n questionForm: FormGroup;\n answerType = 'input';\n answerTypes = [\n {\n icon: 'drag_handle',\n text: 'Short text',\n type: 'input'\n },\n {\n icon: 'reorder',\n text: 'Long text',\n type: 'textArea'\n }\n ]\n constructor(private fb: FormBuilder) { }\n\n ngOnInit(): void {\n this.questionForm = this.fb.group({\n title: [this.question.title],\n duration: [this.question.duration],\n answer: [this.question.answer],\n answerType: [this.question.answerType],\n points: [this.question.points],\n note: [this.question.note],\n body: [this.question.body]\n });\n\n this.questionForm.valueChanges.subscribe(res => {\n this.updateTestForm.emit(res)\n })\n }\n\n}\n","

{{question.title}}

\n
\n \n \n Title\n \n \n \n \n \n Body\n \n \n \n \n \n Duration\n \n \n \n \n \n Points\n \n \n \n \n \n Note\n \n \n \n \n Answer Type\n \n \n {{type.text}}\n \n \n \n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { Group } from 'backend/interfaces/group.interface';\nimport { Router } from '@angular/router';\nimport { faBinoculars, faBuilding, faInfo, faUsers } from '@fortawesome/free-solid-svg-icons';\n\n@Component({\n selector: 'app-flip-card',\n templateUrl: './flip-card.component.html',\n styleUrls: ['./flip-card.component.scss'],\n animations: [\n trigger('flipState', [\n state('active', style({\n transform: 'rotateY(179deg)'\n })),\n state('inactive', style({\n transform: 'rotateY(0)'\n })),\n transition('active => inactive', animate('500ms ease-out')),\n transition('inactive => active', animate('500ms ease-in'))\n ])\n ]\n})\nexport class FlipCardComponent implements OnInit {\n @Input('category') category;\n @Output() emitFollow = new EventEmitter();\n faInfo = faInfo;\n faBuilding = faBuilding;\n faBinoculors = faBinoculars;\n faUsers = faUsers;\n constructor(private router: Router) { }\n\n ngOnInit() {\n }\n\n flip: string = 'inactive';\n\n toggleFlip() {\n this.flip = (this.flip == 'inactive') ? 'active' : 'inactive';\n }\n\n goTo(category: Group){\n this.router.navigate(['user','categories', category.id])\n }\n\n follow(category: Group){\n this.emitFollow.emit(category);\n }\n}\n","\n\n\n
\n
\n
\n
\n \n

\n {{ category.name }}\n

\n
\n \n 0\"> {{category.followers.length}} Follower 1\">s\n {{category.courses ? category.courses.length : 0}} Course 1\">es\n \n
\n \n \n \n
\n
\n \n\n \n
\n
\n
\n
\n
\n

\n {{ category.name }}\n

\n

{{ category.description }}

\n \n
\n
\n
\n \n
","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, UntypedFormGroup, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatStepper, StepperOrientation } from '@angular/material/stepper';\nimport { faPlus, faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { Course } from 'backend/interfaces/course.interface';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { CourseService } from 'src/app/admin/services/course.service';\nimport { AuthService } from 'src/app/auth/auth.service';\nimport { DataService } from 'src/app/services/data.service';\nimport {STEPPER_GLOBAL_OPTIONS} from '@angular/cdk/stepper';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as moment from \"moment\";\nimport { SubmisionCompleteDialogComponent } from '../submision-complete-dialog/submision-complete-dialog.component';\nimport { Router } from '@angular/router';\n@Component({\n selector: 'app-course-answers',\n templateUrl: './course-answers.component.html',\n styleUrls: ['./course-answers.component.scss'],\n providers: [\n {\n provide: STEPPER_GLOBAL_OPTIONS,\n useValue: {displayDefaultIndicatorType: false, showError: true},\n },\n ],\n})\nexport class CourseAnswersComponent implements OnInit {\n answerTypes = [\n {\n icon: 'drag_handle',\n text: 'Short text',\n type: 'input'\n },\n {\n icon: 'reorder',\n text: 'Long text',\n type: 'textArea'\n },\n {\n icon: 'radio',\n text: 'TrueFalse',\n type: 'TrueFalse'\n },\n {\n icon: 'select',\n text: 'Select',\n type: 'Select'\n },\n {\n icon: 'table',\n text: 'Table',\n type: 'Table'\n }\n ]\n @Input('course') course: Course | any;\n @Input('section') section: string;\n faPlus = faPlus;\n faRemove = faTimes;\n saving = false;\n loading = false;\n @ViewChild('stepper') private stepper: MatStepper;\n profileForm: UntypedFormGroup;\n stepperOrientation: Observable;\n constructor(private authService: AuthService, private dataService: DataService, private fb: FormBuilder, private _snackBar: MatSnackBar, private breakpointObserver: BreakpointObserver, readonly dialog: MatDialog, private router: Router) {\n this.stepperOrientation = breakpointObserver.observe('(min-width: 800px)')\n .pipe(map(({matches}) => matches ? 'horizontal' : 'vertical'))}\n answersForm: FormGroup;\n answers = [];\n userIdNumber;\n expired;\n\n async ngOnInit(): Promise{\n this.loading = true;\n this.authService.$User.subscribe((res) => {\n this.userIdNumber = res?.get('ID');\n })\n if(this.course.Order){\n this.expired = moment().isAfter(new Date(this.course.Order.get('ExpiryDate')))\n }\n if(this.course.Status === 'enrolled'){\n if(this.section === 'formative'){\n this.answers = await this.course.Course.get('FormativeQuestions');\n }else{\n this.answers = await this.course.Course.get('SummativeQuestions');\n }\n if(this.answers){\n this.answers = await this.answers.map(element => {\n if(element.answerType === 'List'){\n let list = [];\n for(let i = 0; i < element.listCount; i++) {\n list.push('')\n }\n return {\n answerType: element.answerType,\n body: element.body,\n duration: element.duration,\n note: element.note,\n points: element.points,\n title: element.title,\n answer: element.answer,\n listCount: element.listCount,\n listLabelType: element.listLabelType,\n imageId: element.imageId,\n listItems: this.fb.array(element.listItems ? element.listItems : list),\n }\n }else{\n return {\n answerType: element.answerType,\n body: element.body,\n duration: element.duration,\n note: element.note,\n points: element.points,\n title: element.title,\n answer: element.answer,\n imageId: element.imageId,\n options: this.fb.array(element.options ? element.options : [''])\n }\n }\n })}\n }else{\n if(this.section === 'formative'){\n this.answers = await this.course.FormativeAnswers;\n }else{\n this.answers = await this.course.SummativeAnswers;\n }\n if(this.answers){\n this.answers = this.answers.map(element => {\n if(element.answerType === 'List'){\n let list = [];\n for(let i = 0; i < element.listCount; i++) {\n list.push('')\n }\n return {\n answerType: element.answerType,\n body: element.body,\n duration: element.duration,\n note: element.note,\n points: element.points,\n title: element.title,\n answer: element.answer,\n listCount: element.listCount,\n listLabelType: element.listLabelType,\n imageId: element.imageId,\n listItems: this.fb.array(element.listItems ? element.listItems : list),\n }\n }else{\n return {\n answerType: element.answerType,\n body: element.body,\n duration: element.duration,\n note: element.note,\n points: element.points,\n title: element.title,\n answer: element.answer,\n imageId: element.imageId,\n options: this.fb.array(element.options ? element.options : [''])\n }\n }\n \n })}\n }\n\n this.answersForm = this.fb.group({\n answers: this.fb.array([])\n });\n if(this.answers){\n await this.answers.forEach(element => {\n this.answersFieldAsFormArray.push(this.fb.group(element));\n });\n }\n this.loading = false;\n }\n\n get answersFieldAsFormArray(): FormArray {\n return this.answersForm.get('answers') as FormArray;\n }\n\n answer(): any {\n return this.fb.group({\n title: '',\n body: '',\n note: '',\n answerType: '',\n duration: '',\n points: '',\n answer: ['', Validators.required]\n });\n }\n\n async save(): Promise{\n this.saving = true;\n this.loading = true;\n this.dataService.saveAssessment(this.userIdNumber, this.course.id, this.answersForm.value.answers, 'saved', this.section).then(async res => {\n this.openSnackBar('Answers Saved.');\n this.dataService.getEnrollmentsByUserId(this.userIdNumber);\n this.saving = false;\n this.loading = false;\n }).catch(err => {\n this.openSnackBar(err)\n this.loading = false;\n });\n }\n\n\n async submit(): Promise{\n this.saving = true;\n this.loading = true;\n this.dataService.submitAssessment(this.userIdNumber, this.course.id, this.answersForm.value.answers, 'submitted', this.section).then(async res => {\n await this.dataService.getEnrollmentsByUserId(this.userIdNumber);\n this.saving = false;\n this.loading = false;\n this.openSubmissionCompleteDialog();\n }).catch(err => {\n this.openSnackBar(err)\n this.loading = false;\n }); \n }\n\n updateQuestion(question: any, i: number){\n // let formArr: FormArray = this.questionsForm.controls['questions'];\n // console.log(formArr.controls[i]);\n console.log(question);\n }\n\n updateAnswerListItem(e: any, answerId: number, itemId: number){\n // console.log(e.target.value)\n // this.answersForm.controls['answers'].get(answerId.toString()).get('listItems').value[itemId] = e.target.value;\n // console.log(this.answersForm.controls['answers'])\n const answrs = this.answersForm.get('answers') as FormArray;\n const answr = answrs.at(answerId) as FormGroup;\n const list = answr.controls['listItems'] as FormArray;\n list.at(itemId).setValue(e.target.value);\n // list.at(itemId).patchValue(e.target.value);\n// console.log(this.answersForm.controls['answers'].get(answerId.toString()).get('listItems').value)\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n\n answerListArray(answerId: number): FormArray{\n const answrs = this.answersForm.get('answers') as FormArray;\n return answrs.at(answerId).get('itemList') as FormArray\n }\n\n getAphabetLetter(index: number){\n const alpha = [ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',\n 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',\n 'Y', 'Z' ]\n return alpha[index]\n }\n\n async openSubmissionCompleteDialog(){\n console.log(this.course)\n const dialogRef = this.dialog.open(SubmisionCompleteDialogComponent, {\n data: {title: this.course.Course.get('Name'), test: ''}\n });\n \n dialogRef.afterClosed().subscribe(result => {\n if(result){\n this.router.navigate(['user', 'dashboard']);\n } else {\n this.dialog.closeAll();\n }\n });\n }\n\n}\n","\n\n\n\n
\n
\n \n
\n
\n
\n
\n \n
\n \n \n
\n
\n \n \n \n Q{{i+1}}\n\n \n
\n Question {{ i + 1 }} {{answersFieldAsFormArray ? 'of '+ answersFieldAsFormArray.controls.length : ''}}\n \n Points: {{control.controls['points'].value}}\n \n
\n
\n \n \n

{{control.controls['title'].value}}

\n
\n \n

{{control.controls['body'].value}}

\n
\n \n {{control.controls['duration'].value}}\n \n
\n
\n
\n \n
\n \n Answer\n \n \n True\n False\n \n \n {{option}}\n \n \n
\n
\n

{{getAphabetLetter(j)}}

\n

{{j+1}}

\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n \n
\n
\n

Expired: {{course.Order.get('ExpiryDate') | date}}

\n
\n
\n\n\n
\n\n\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {MatStepper, StepperOrientation} from '@angular/material/stepper';\nimport {map} from 'rxjs/operators';\nimport { Router } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport * as moment from \"moment\";\nimport { Course, CourseConsent } from 'backend/interfaces/course.interface';\n\nimport { AuthService } from 'src/app/auth/auth.service';\nimport { GroupService } from 'src/app/admin/services/group.service';\n\n\nimport { Group } from 'backend/interfaces/group.interface';\nimport { CourseStatus } from 'backend/enum/CourseStatus.enum';\nimport { CourseService } from 'src/app/admin/services/course.service';\n@Component({\n selector: 'app-course-profile',\n templateUrl: './course-profile.component.html',\n styleUrls: ['./course-profile.component.scss']\n})\nexport class CourseProfileComponent implements OnInit {\n @Input() profile: Course;\n currentUser;\n categories: Group[] = []\n saving = false;\n @Output() emitProfile: EventEmitter = new EventEmitter();\n @Output() emitMedical = new EventEmitter();\n @ViewChild('stepper') private stepper: MatStepper;\n constructor(private fb: UntypedFormBuilder, private breakpointObserver: BreakpointObserver, private courseService: CourseService, private router: Router, private _snackBar: MatSnackBar, private authService: AuthService, private groupService: GroupService) {\n this.stepperOrientation = breakpointObserver.observe('(min-width: 800px)')\n .pipe(map(({matches}) => matches ? 'horizontal' : 'vertical'));\n\n this.authService.$User.subscribe((res)=>{\n if(res){\n this.currentUser = res;\n }\n })\n }\n profileForm: UntypedFormGroup;\n medicalForm: UntypedFormGroup;\n thirdFormGroup = this.fb.group({\n thirdCtrl: ['', Validators.required]\n });\n stepperOrientation: Observable;\n async ngOnInit(): Promise {\n this.groupService.groups$.subscribe(res => {\n if (res) {\n this.categories = res;\n }\n });\n this.courseService.activatedCourse$.subscribe(async res => {\n if(res){\n this.profile = res;\n this.profile.id = res.id;\n }else{\n this.stepper?.reset();\n this.profile = {\n id: '',\n Name: '',\n RegistrationNumber: '',\n Category: this.categories[0],\n Pricing: '',\n Description: '',\n PublicLink: '',\n UnitStandard: '',\n RegistrationDate: '',\n CloseDate: '',\n Status: CourseStatus.CREATED,\n Slides: '',\n };\n }\n });\n\n this.profileForm = this.fb.group({\n Name: this.profile ? this.profile.Name : '',\n Category: [this.profile.Category ? this.categories.find(c => c.id === this.profile.Category.id) : null, Validators.required],\n RegistrationNumber: this.profile ? this.profile.RegistrationNumber : '',\n Pricing: this.profile ? this.profile.Pricing : '',\n Description: this.profile ? this.profile.Description : '',\n PublicLink: this.profile ? this.profile.PublicLink : '',\n UnitStandard: this.profile ? this.profile.UnitStandard : '',\n RegistrationDate: this.profile ? this.profile.RegistrationDate : '',\n CloseDate: this.profile ? this.profile.CloseDate : '',\n Slides: this.profile ? this.profile.Slides : '',\n Status: this.profile ? this.profile.Status.length !== 0 ? this.profile.Status : CourseStatus.CREATED : CourseStatus.CREATED,\n });\n\n }\n async saveProfile(){\n console.log(this.profileForm.value)\n if(this.profileForm.dirty){\n this.saving = true;\n this.courseService\n .saveCourse({...this.profileForm.value, id: this.profile.id})\n .then((res) => {\n this.courseService.newCourseEmail = undefined;\n this.openSnackBar('Course saved');\n this.stepper.next();\n this.courseService.getCourses(10,0);\n this.courseService.getCourseCount();\n this.courseService.activatedCourse.next(res);\n this.saving = false\n })\n .catch((err) => {\n this.openSnackBar(err);\n this.saving = false;\n });\n this.profileForm.markAsPristine();\n } else {\n this.stepper.next();\n }\n }\n getErrorMessage() {\n if (this.profileForm.controls['Name'].hasError('required')) {\n return 'You must enter a value';\n }\n \n return this.profileForm.controls['Name'].hasError('required') ? 'Not a valid name' : '';\n }\n\n async saveCourseConsent(event: {student: CourseConsent, signature: string}){\n this.saving = true;\n this.courseService\n .saveCourseConsent(event.student)\n .then(() => {\n this.openSnackBar('Consent saved');\n this.emitProfile.emit(event.student);\n this.saving = false;\n })\n .catch((err) => {\n this.openSnackBar(err);\n this.saving = false;\n });\n }\n\n\n back(){\n this.stepper.previous();\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n}\n\n\n\n\n","\n
\n
\n \n
\n
\n \n \n \n \n
\n
\n
\n \n Course name\n \n Name is Required\n \n \n Registration Number\n \n Registration Number is Required\n \n \n Registration Date\n \n Registration Date is Required\n \n \n Close Date\n \n Close Date is Required\n \n \n \n Category\n \n \n {{ category.name }}\n \n Category is Required\n \n \n Slides Link\n \n \n
\n
\n \n Pricing\n \n Pricing is Required\n \n \n PublicLink\n \n PublicLink is Required\n \n \n Description\n \n Description is Required\n \n \n UnitStandard\n \n UnitStandard Required\n \n
\n
\n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
","import { Component, Input, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { MatInput } from '@angular/material/input';\nimport { MatSelectChange } from '@angular/material/select';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { faBan, faBars, faImage, faPlus, faTimes, faTrash } from '@fortawesome/free-solid-svg-icons';\nimport { Course } from 'backend/interfaces/course.interface';\nimport { CourseService } from 'src/app/admin/services/course.service';\nimport { AssetUploadDialogComponent } from '../asset-upload-dialog/asset-upload-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\n\n@Component({\n selector: 'app-course-questions',\n templateUrl: './course-questions.component.html',\n styleUrls: ['./course-questions.component.scss']\n})\nexport class CourseQuestionsComponent implements OnInit {\n answerTypes = [\n {\n icon: 'drag_handle',\n text: 'Short text',\n type: 'input'\n },\n {\n icon: 'reorder',\n text: 'Long text',\n type: 'textArea'\n },\n {\n icon: 'radio',\n text: 'TrueFalse',\n type: 'TrueFalse'\n },\n {\n icon: 'select',\n text: 'Select',\n type: 'Select'\n },\n {\n icon: 'list',\n text: 'List',\n type: 'List'\n },\n {\n icon: 'table',\n text: 'Table',\n type: 'Table'\n }\n ]\n @Input('course') course: Course;\n @Input('section') section: string;\n faPlus = faPlus;\n faBars = faBars;\n faRemove = faTimes;\n faImage = faImage;\n saving = false;\n faTrash = faTrash\n constructor(private courseService: CourseService, private fb: FormBuilder, private _snackBar: MatSnackBar, public dialog: MatDialog) { }\n questionsForm: FormGroup;\n questions = [];\n loading = false;\n table =[];\n\n async ngOnInit() {\n this.loading = true;\n this.questionsForm = this.fb.group({\n questions: this.fb.array([])\n });\n if (this.course.id) {\n this.courseService.getCourseQuestions(this.course.id, this.section).then(async res => {\n if (res) {\n this.questions = await res;\n this.questions.forEach((element, index) => {\n\n let TwoDArray;\n if(element.answerType === 'Table'){\n TwoDArray=this.fb.array(\n element.table.map(x=>this.fb.array(\n x.map(y=>new FormControl(y))))\n )\n }\n console.log(TwoDArray)\n this.questionsFieldAsFormArray?.push(this.fb.group({\n answerType: element.answerType,\n body: element.body,\n duration: element.duration,\n note: element.note,\n points: element.points,\n title: element.title,\n options: this.fb.array(element.options ? element.options : []),\n listCount: element.listCount,\n listLabelType: element.listLabelType,\n imageId: element.imageId,\n table: TwoDArray ? TwoDArray : undefined,\n tableRows: element.tableRows,\n tableColumns: element.tableColumns\n }));\n });\n };\n });\n }\n this.loading = false;\n }\n async addQuestion(): Promise {\n this.questionsFieldAsFormArray.push(this.question());\n const qId = \"q\" + (this.questionsFieldAsFormArray?.length - 1);\n }\n\n async addOption(questionId: number): Promise {\n let questions = this.questionsForm.controls['questions'];\n if(questions.get(questionId.toString()).get('options').value){\n questions.get(questionId.toString()).get('options').value.push('');\n }else{\n questions.get(questionId.toString()).get('options').setValue([''])\n }\n }\n\n remove(i: number): void {\n this.questionsFieldAsFormArray.removeAt(i);\n this.questions.splice(i, 1);\n }\n\n get questionsFieldAsFormArray(): FormArray {\n return this.questionsForm.get('questions') as FormArray;\n }\n\n getQuestion(questionId: number): any {\n return this.questionsForm.controls['questions'].get(questionId.toString());\n }\n\n getOptionsFieldAsFormArray(questionId: number): FormArray {\n return this.questionsForm.controls['questions'].get(questionId.toString())?.get('options') as FormArray;\n }\n\n updateQuestionOptions(e: any, questionId: number, optionId: number){\n this.questionsForm.controls['questions'].get(questionId.toString()).get('options').value[optionId] = e.target.value;\n }\n\n removeQuestionOptions(questionId: number, optionId: number){\n this.questionsForm.controls['questions'].get(questionId.toString()).get('options').value.splice(optionId, 1);\n }\n\n question(): any {\n return this.fb.group({\n title: '',\n body: '',\n note: '',\n answerType: '',\n duration: '',\n points: '',\n options: [],\n listCount: '',\n listLabelType: '',\n imageId: '',\n table: [],\n tableRows: 1,\n tableColumns: 1\n });\n }\n\n option(): any {\n return this.fb.group({\n optionBody: '',\n });\n }\n\n async save(): Promise {\n this.saving = true;\n this.courseService.saveCourseQuestions(this.course.id, this.questionsForm.value.questions, this.section).then(async res => {\n this.openSnackBar('Questions Saved.')\n this.saving = false;\n }).catch(err => {\n this.openSnackBar(err)\n });\n }\n\n updateQuestion(question: any, i: number) {\n\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n\n async setQuestionType(questionId: number, questionType: MatSelectChange): Promise {\n if (questionType.value === 'Select') {\n // this.questionsForm.controls['questions'].get(questionId.toString()).get('options').value.push('')\n }\n }\n\n openAssetUploadDialog(questionId: string): void {\n const dialogRef = this.dialog.open(AssetUploadDialogComponent, {\n data: {title: 'Upload Media'},\n width: '60%'\n });\n \n dialogRef.afterClosed().subscribe(result => {\n if(result){\n this.questionsForm.controls['questions'].get(questionId.toString()).get('imageId').setValue(result.data.id);\n console.log(this.questionsForm.value);\n } else {\n this.dialog.closeAll();\n }\n });\n }\n\n removeImage(questionId: string): void {\n this.questionsForm.controls['questions'].get(questionId.toString()).get('imageId').setValue('');\n }\n\n setTable(questionId: number){\n const previousTableValue = this.table;\n const rows = this.questionsFieldAsFormArray.value[questionId].tableRows;\n const cols = this.questionsFieldAsFormArray.value[questionId].tableColumns;\n this.table = [];\n for(let i = 0;i, questionId) {\n moveItemInArray(this.questionsForm.controls['questions'].get(questionId.toString()).get('table').value, event.previousIndex, event.currentIndex);\n }\n}\n","\n
\n
\n \n
\n
\n

{{ course.Name }}

\n\n\n\n
\n
\n
\n \n
\n Question {{ i + 1 }} \n \n
\n \n
\n \n \n Title\n \n \n \n \n \n Body\n \n \n \n \n \n Duration\n \n \n \n \n \n Points\n \n \n \n \n \n Note\n \n \n \n \n Answer Type\n \n \n {{type.text}}\n \n \n \n
\n
\n \n \n Option {{j+1}}\n \n \n \n \n
\n \n
\n
\n \n \n Number of list items\n \n \n\n\n No label\n Numbers\n Letters\n\n
\n\n
\n
\n \n \n Rows\n \n \n\n\n \n Columns\n \n \n\n\n \n\n
\n\n\n\n \n \n \n \n \n \n \n \n
\n \n \n \n 1\">\n \n
\n \n \n \n
\n
\n
\n \n
\n \n
\n
\n \n
\n
\n\n
\n
\n
\n \n \n \n \n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, UntypedFormGroup, Validators } from '@angular/forms';\nimport { faAngry, faCheck, faCheckCircle, faCheckSquare, faClock, faNotesMedical, faPlus, faSadTear, faSmile, faSmileBeam, faSquareFull, faTimes, faTimesCircle, faTrash } from '@fortawesome/free-solid-svg-icons';\nimport { DailyReport, Student } from 'backend/interfaces/student.interface';\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport * as moment from 'moment';\nimport { AuthService } from 'src/app/auth/auth.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n@Component({\n selector: 'app-daily-report',\n templateUrl: './daily-report.component.html',\n styleUrls: ['./daily-report.component.scss']\n})\nexport class DailyReportComponent implements OnInit {\n loading = false;\n student: Student;\n faPlus = faPlus;\n faTrash = faTrash;\n faNeutral = faAngry;\n faSad = faSadTear;\n faHappy = faSmile;\n faTrue = faCheckCircle;\n faFalse = faTimesCircle;\n faTime = faClock;\n faMed = faNotesMedical;\n date: Date;\n diaperChangesArray = [];\n medicationArray = [];\n reportId;\n isAdmin = false;\n dailyReport: DailyReport;\n dailyReportForm: FormGroup;\n \n constructor(private fb: FormBuilder, private studentService: StudentService, private authService: AuthService, private _snackBar: MatSnackBar) {\n this.authService.$User.subscribe((res) => {\n this.isAdmin = res?.get('role') === 'admin';\n })\n }\n\n async ngOnInit() {\n this.date = new Date();\n this.loading = true;\n this.dailyReport = null;\n this.studentService.activatedStudent$.subscribe(async s => {\n return this.student = s;\n });\n await this.studentService.getStudentDailyReport(this.student.ID, this.date.toDateString(), this.date.toDateString()).then(res => {\n this.reportId = res.ReportId;\n this.dailyReport = res;\n this.diaperChangesArray = res.DiaperChanges;\n this.medicationArray = res.Medication;\n this.dailyReportForm = this.fb.group({\n eatBreakfast: this.fb.group({\n eat: [res.EatBreakfast ? res.EatBreakfast.eat : ''],\n note: [res.EatBreakfast ? res.EatBreakfast.note : '']\n }),\n eatSnack1: this.fb.group({\n eat: [res.EatSnack1 ? res.EatSnack1.eat : ''],\n note: [res.EatSnack1 ? res.EatSnack1.note : '']\n }),\n eatLunch: this.fb.group({\n eat: [res.EatLunch ? res.EatLunch.eat : ''],\n note: [res.EatLunch ? res.EatLunch.note : '']\n }),\n eatSnack2: this.fb.group({\n eat: [res.EatSnack2 ? res.EatSnack2.eat : ''],\n note: [res.EatSnack2 ? res.EatSnack2.note : '']\n }),\n drinkBottle1: this.fb.group({\n drink: [res.DrinkBottle1 ? res.DrinkBottle1.drink : ''],\n qty: [res.DrinkBottle1 ? res.DrinkBottle1.qty : ''],\n time: [res.DrinkBottle1 ? res.DrinkBottle1.time : '']\n }),\n drinkBottle2: this.fb.group({\n drink: [res.DrinkBottle2 ? res.DrinkBottle2.drink : ''],\n qty: [res.DrinkBottle2 ? res.DrinkBottle2.qty : ''],\n time: [res.DrinkBottle2 ? res.DrinkBottle2.time : '']\n }),\n drinkBottle3: this.fb.group({\n drink: [res.DrinkBottle3 ? res.DrinkBottle3.drink : ''],\n qty: [res.DrinkBottle3 ? res.DrinkBottle3.qty : ''],\n time: [res.DrinkBottle3 ? res.DrinkBottle3.time : '']\n }),\n sleep1: this.fb.group({\n sleep: [res.Sleep1 ? res.Sleep1.sleep : ''],\n from: [res.Sleep1 ? res.Sleep1.from : ''],\n to: [res.Sleep1 ? res.Sleep1.to : '']\n }),\n sleep2: this.fb.group({\n sleep: [res.Sleep2 ? res.Sleep2.sleep : ''],\n from: [res.Sleep2 ? res.Sleep2.from : ''],\n to: [res.Sleep2 ? res.Sleep2.to : '']\n }),\n sleep3: this.fb.group({\n sleep: [res.Sleep3 ? res.Sleep3.sleep : ''],\n from: [res.Sleep3 ? res.Sleep3.from : ''],\n to: [res.Sleep3 ? res.Sleep3.to : '']\n }),\n diaperChanges: this.diaperChangesArray ? this.fb.array(this.diaperChangesArray?.map(r => this.fb.group(r))) : this.fb.array([]),\n medication: this.medicationArray ? this.fb.array(this.medicationArray?.map(r => this.fb.group(r))) : this.fb.array([]),\n mood: [res.Mood ? res.Mood : ''],\n notes: [res.Notes ? res.Notes : '']\n })\n })\n this.loading = false\n }\n\n saveReport(){\n this.studentService.saveDailyReport({\n ReportId: this.reportId,\n Date: this.date.toString(),\n StudentID: this.student.ID,\n Notes: this.dailyReportForm.controls['notes'].value,\n EatBreakfast: this.dailyReportForm.controls['eatBreakfast'].value,\n EatSnack1: this.dailyReportForm.controls['eatSnack1'].value,\n EatLunch: this.dailyReportForm.controls['eatLunch'].value,\n EatSnack2: this.dailyReportForm.controls['eatSnack2'].value,\n DrinkBottle1: this.dailyReportForm.controls['drinkBottle1'].value,\n DrinkBottle2: this.dailyReportForm.controls['drinkBottle2'].value,\n DrinkBottle3: this.dailyReportForm.controls['drinkBottle3'].value,\n Sleep1: this.dailyReportForm.controls['sleep1'].value,\n Sleep2: this.dailyReportForm.controls['sleep2'].value,\n Sleep3: this.dailyReportForm.controls['sleep3'].value,\n Mood: this.dailyReportForm.controls['mood'].value,\n DiaperChanges: this.dailyReportForm.controls['diaperChanges'].value,\n Medication: this.dailyReportForm.controls['medication'].value\n }).then(res => {\n this.patchReportForm(res);\n this.openSnackBar('Report Saved!');\n });\n }\n\n get diaperChanges() {\n return this.dailyReportForm.controls[\"diaperChanges\"] as FormArray;\n }\n\n get medication() {\n return this.dailyReportForm.controls[\"medication\"] as FormArray;\n }\n\n addDiaperChange() {\n const diaperChangeForm = this.fb.group({\n time: ['', Validators.required],\n diaper: ['', Validators.required],\n });\n \n this.diaperChanges.push(diaperChangeForm);\n }\n\n removeDiaperChange(diaperIndex: number) {\n this.diaperChanges.removeAt(diaperIndex);\n }\n\n addMedication() {\n const medicationForm = this.fb.group({\n time: ['', Validators.required], \n qty: ['', Validators.required],\n medication: ['', Validators.required],\n });\n \n this.medication.push(medicationForm);\n }\n\n removeMedication(medIndex: number) {\n this.medication.removeAt(medIndex);\n }\n\n setMood(mood: string){\n this.dailyReportForm.patchValue({mood});\n }\n\n async patchReportForm(res: DailyReport){\n this.loading = true;\n this.dailyReportForm = null;\n this.dailyReportForm = this.fb.group({\n eatBreakfast: this.fb.group({\n eat: [res.EatBreakfast ? res.EatBreakfast.eat : ''],\n note: [res.EatBreakfast ? res.EatBreakfast.note : '']\n }),\n eatSnack1: this.fb.group({\n eat: [res.EatSnack1 ? res.EatSnack1.eat : ''],\n note: [res.EatSnack1 ? res.EatSnack1.note : '']\n }),\n eatLunch: this.fb.group({\n eat: [res.EatLunch ? res.EatLunch.eat : ''],\n note: [res.EatLunch ? res.EatLunch.note : '']\n }),\n eatSnack2: this.fb.group({\n eat: [res.EatSnack2 ? res.EatSnack2.eat : ''],\n note: [res.EatSnack2 ? res.EatSnack2.note : '']\n }),\n drinkBottle1: this.fb.group({\n drink: [res.DrinkBottle1 ? res.DrinkBottle1.drink : ''],\n qty: [res.DrinkBottle1 ? res.DrinkBottle1.qty : ''],\n time: [res.DrinkBottle1 ? res.DrinkBottle1.time : '']\n }),\n drinkBottle2: this.fb.group({\n drink: [res.DrinkBottle2 ? res.DrinkBottle2.drink : ''],\n qty: [res.DrinkBottle2 ? res.DrinkBottle2.qty : ''],\n time: [res.DrinkBottle2 ? res.DrinkBottle2.time : '']\n }),\n drinkBottle3: this.fb.group({\n drink: [res.DrinkBottle3 ? res.DrinkBottle3.drink : ''],\n qty: [res.DrinkBottle3 ? res.DrinkBottle3.qty : ''],\n time: [res.DrinkBottle3 ? res.DrinkBottle3.time : '']\n }),\n sleep1: this.fb.group({\n sleep: [res.Sleep1 ? res.Sleep1.sleep : ''],\n from: [res.Sleep1 ? res.Sleep1.from : ''],\n to: [res.Sleep1 ? res.Sleep1.to : '']\n }),\n sleep2: this.fb.group({\n sleep: [res.Sleep2 ? res.Sleep2.sleep : ''],\n from: [res.Sleep2 ? res.Sleep2.from : ''],\n to: [res.Sleep2 ? res.Sleep2.to : '']\n }),\n sleep3: this.fb.group({\n sleep: [res.Sleep3 ? res.Sleep3.sleep : ''],\n from: [res.Sleep3 ? res.Sleep3.from : ''],\n to: [res.Sleep3 ? res.Sleep3.to : '']\n }),\n diaperChanges: res.DiaperChanges ? this.fb.array(res.DiaperChanges?.map(r => this.fb.group(r))) : this.fb.array([]),\n medication: res.Medication ? this.fb.array(res.Medication?.map(r => this.fb.group(r))) : this.fb.array([]),\n mood: [res.Mood ? res.Mood : ''],\n notes: [res.Notes ? res.Notes : '']\n });\n this.loading = false;\n}\n\nasync selectDate(event: any) {\n this.loading = true;\n this.date = event.value;\n await this.studentService.getStudentDailyReport(this.student.ID, this.date.toDateString(), this.date.toDateString()).then(res => {\n if(res.ReportId){\n this.reportId = res.ReportId;\n this.dailyReport = res;\n this.patchReportForm(res);\n }else{\n this.dailyReportForm.reset();\n }\n })\n this.loading = false;\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n}","\n
\n \n
\n\n\n\n
\n
\n \n Date\n \n MM/DD/YYYY\n \n \n \n
\n
\n
\n \n

Did {{ student.Name }} eat?

\n
\n
\n Breakfast\n
\n \n \n Yes\n \n \n No\n \n \n \n Note\n \n\n \n
\n
\n
\n
\n
\n Snack 1\n
\n \n \n Yes\n \n \n No\n \n \n \n Note\n \n \n
\n
\n
\n
\n
\n Lunch\n
\n \n \n Yes\n \n \n No\n \n \n \n Note\n \n\n\n \n
\n
\n
\n
\n
\n Snack 2\n
\n \n \n Yes\n \n \n No\n \n \n \n Note\n \n \n
\n
\n
\n
\n
\n \n

Did {{ student.Name }} drink?

\n
\n
\n Bottle 1\n
\n \n \n Yes\n \n \n No\n \n \n \n \n \n \n \n\n \n \n \n
\n
\n
\n
\n
\n Bottle 2\n
\n \n \n Yes\n \n \n No\n \n \n \n \n \n \n \n\n \n \n \n
\n
\n
\n
\n
\n Bottle 3\n
\n \n \n Yes\n \n \n No\n \n \n \n \n \n \n \n\n \n \n \n
\n
\n
\n
\n
\n \n

Did {{ student.Name }} sleep?

\n
\n
\n Sleep 1\n
\n \n \n Yes\n \n \n No\n \n \n \n From\n \n \n \n To\n \n \n
\n
\n
\n
\n
\n Sleep 2\n
\n \n \n Yes\n \n \n No\n \n \n \n From\n \n \n \n To\n \n \n
\n
\n
\n
\n
\n Sleep 3\n
\n \n \n Yes\n \n \n No\n \n \n \n From\n \n \n \n To\n \n \n
\n
\n
\n
\n
\n \n \n

Medication

\n \n
\n \n Medication\n \n\n \n \n \n \n \n \n \n \n \n \n\n \n
\n
\n \n
\n
\n
\n \n \n

Diaper changes

\n\n \n
\n \n Time\n \n \n \n \n C\n \n \n W\n \n \n D\n \n \n \n
\n
\n \n\n
\n\n
\n \n

{{student.Name}}'s Mood

\n
\n
\n
\n \n
\n \n
\n \n
\n \n
\n
\n
\n
\n
\n

Additional notes

\n \n Notes\n \n \n
\n
\n\n \n \n Save\n \n \n
\n\n \n
\n
\n \n

Did {{ student.Name }} eat?

\n
\n

Breakfast

\n \n
\n
\n

Snack 1

\n \n
\n
\n

Lunch

\n \n
\n
\n

Snack 2

\n \n
\n
\n
\n
\n \n

Did {{ student.Name }} drink?

\n
\n

Bottle 1

\n \n
\n
\n

Bottle 2

\n \n
\n
\n

Bottle 3

\n \n
\n
\n
\n
\n \n

Did {{ student.Name }} sleep?

\n
\n

Sleep 1

\n \n
\n
\n

Sleep 2

\n \n
\n
\n

Sleep 3

\n \n
\n
\n
\n
\n \n

Medication

\n \n
\n

{{m.qty ? m.qty + 'ml' : ''}} {{m.medication}} {{m.time ? '@ ' + m.time : ''}}

\n
\n
\n
\n
\n
\n \n

Diaper changes

\n
\n
\n
\n
\n
\n","import { DataService } from 'src/app/services/data.service';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-delete-confirmation',\n templateUrl: './delete-confirmation.component.html',\n styleUrls: ['./delete-confirmation.component.scss']\n})\nexport class DeleteConfirmationComponent implements OnInit {\n constructor(\n public dialogRef: MatDialogRef,\n private data: DataService,\n @Inject(MAT_DIALOG_DATA)\n public _data: any\n ) {}\n\n delete() {\n // this.data.deleteContract(this._data.ID);\n this.dialogRef.close(this._data.ID);\n }\n\n cancel() {\n this.dialogRef.close();\n }\n\n ngOnInit(): void {}\n}\n","
\n
\n
\n

Confirm you want to delete?

\n

Ref: {{ this._data.Name }}

\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n","import { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\ninterface DialogData {\n title: string;\n question: string;\n result: boolean;\n}\n\n@Component({\n selector: 'app-delete-dialog',\n templateUrl: './delete-dialog.component.html',\n styleUrls: ['./delete-dialog.component.scss']\n})\nexport class DeleteDialogComponent implements OnInit {\n title;\n question;\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData) { }\n\n ngOnInit(): void {\n this.title = this.data.title;\n this.question = this.data.question;\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n}\n","

{{title}}

\n
\n {{question}}\n
\n
\n \n \n
","import { Component, Inject, Input, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { faFilePdf, faImage } from '@fortawesome/free-solid-svg-icons';\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport * as Parse from 'parse';\ninterface DialogData {\n name: string;\n mimeType: string;\n file: string;\n fileId: string;\n}\n@Component({\n selector: 'app-file-viewer-dialog',\n templateUrl: './file-viewer-dialog.component.html',\n styleUrls: ['./file-viewer-dialog.component.scss']\n})\nexport class FileViewerDialogComponent implements OnInit {\n faImage = faImage;\n faFilePdf = faFilePdf;\n selectedFile: {type: string, src: string};\n showcase = false;\n loading = false;\n isFile = true;\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData, private studentService: StudentService, private _snackBar: MatSnackBar) { }\n // uploadedFile = {name: '', type: '', source: null};\n async ngOnInit(): Promise {\n // if(this.data.mimeType.includes('image')){\n // this.isFile = false;\n // document.getElementById('showcaseImage').setAttribute(\"src\", this.data.file);\n // document.getElementById('showcaseFile').setAttribute(\"style\", \"display: none\")\n // }else{\n // const authToken = await Parse.Cloud.run('getGToken', { });\n \n // return this.http.post(\n // 'https://photoslibrary.googleapis.com/v1/mediaItems:batchCreate',\n // { albumId: id, newMediaItems }, {headers: batchCreateHeaders}).toPromise();\n // const options = {\n // url: 'https://www.googleapis.com/drive/v3/files/'+this.data.fileId,\n // headers: {Authorization: 'Bearer '+ authToken}\n // };\n // const response: HttpResponse = await CapacitorHttp.get(options);\n var dataBlob = this.b64toBlob(this.data.file, this.data.mimeType);\n\n\n this.isFile = true;\n document.getElementById('showcaseFile').setAttribute(\"src\", URL.createObjectURL(dataBlob));\n document.getElementById('showcaseImage').setAttribute(\"style\", \"display: none\")\n } \n // if(this.data.type === 'photos'){\n // this.studentService.getAlbumById(this.data.albumId).then(res => {\n // this.data.files = res.mediaItems;\n // });\n // }\n // }\n close(): void {\n this.dialogRef.close();\n }\n\n// uploadFile(){\n// let description = '';\n// this.studentService.uploadFile(this.data.albumId, this.uploadedFile, description).then(res => {\n// console.log(res)\n// });\n// }\n\n// uploadPhoto(){\n// let description = '';\n// this.loading = true;\n// this.studentService.uploadPhoto(this.data.albumId, this.uploadedFile, description).then(res => {\n// this.openSnackBar(res.newMediaItemResults[0].status.message);\n// this.close();\n// }).catch(err => err);\n// }\n\n// getFile(fileId: string, mimeType: string): Promise{\n// this.showcase = true;\n// this.loading = true;\n// document.getElementById('showcaseImage').setAttribute(\"src\", '');\n// document.getElementById('showcaseFile').setAttribute(\"src\", '');\n// return this.studentService.getStudentFile(fileId, mimeType).then(res => {\n// if(mimeType.includes('image')){\n// document.getElementById('showcaseImage').setAttribute(\"src\", res);\n// }else{\n// document.getElementById('showcaseFile').setAttribute(\"src\", res);\n// }\n// this.selectedFile = {\n// type: mimeType.includes('image') ? 'image' : 'file',\n// src: res\n// }\n// this.loading = false;\n// return res;\n// }).catch(err => console.log(err))\n\n// }\n \n// async onFileSelected(event): Promise{\n// let reader = new FileReader();\n// if (event.target.files && event.target.files.length) {\n// const file: File = event.target.files[0];\n// reader.onload = () => {\n// this.uploadedFile = {\n// source: reader.result,\n// type: file.type,\n// name: file.name\n// }\n// };\n// reader.readAsDataURL(file)\n// }\n// }\n\n// async onPhotoSelected(event): Promise{\n// let reader = new FileReader();\n// if (event.target.files && event.target.files.length) {\n// const file: File = event.target.files[0];\n// reader.readAsArrayBuffer(file);\n// console.log(file);\n// reader.onload = (e) => {\n// this.uploadedFile = {\n// source: reader.result,\n// type: file.type,\n// name: file.name\n// }\n// };\n// // this.uploadedFile.source = new Int8Array(this.uploadedFile.source as ArrayBuffer);\n// }\n// }\n\n\n// openSnackBar(message: string) {\n// this._snackBar.open(message, 'OK', {\n// duration: 3000\n// });\n// }\n\nb64toBlob(b64Data, contentType) {\n contentType = contentType || '';\n var sliceSize = 512;\n \n //decode base64 data\n var byteCharacters = atob(b64Data);\n var byteArrays = [];\n \n for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n var slice = byteCharacters.slice(offset, offset + sliceSize);\n \n var byteNumbers = new Array(slice.length);\n for (var i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n \n var byteArray = new Uint8Array(byteNumbers);\n \n byteArrays.push(byteArray);\n }\n \n var blob = new Blob(byteArrays, {type: contentType});\n return blob;\n }\n}\n","\n\n
\n

{{data.name}}

\n \n
\n
\n \n \n \n \n\n \n \n\n\n
\n \n \n","import { DialogRef } from '@angular/cdk/dialog';\nimport { Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { faFile, faFilePdf, faImage, faTimes, faUser } from '@fortawesome/free-solid-svg-icons';\nimport { FileViewerDialogComponent } from '../file-viewer-dialog/file-viewer-dialog.component';\nimport { Router } from '@angular/router';\nimport { CourseService } from 'src/app/admin/services/course.service';\nimport { Course } from 'backend/interfaces/course.interface';\nimport { DeleteConfirmationComponent } from '../delete-confirmation/delete-confirmation.component';\nimport { AuthService } from 'src/app/auth/auth.service';\nimport { Parent } from 'backend/interfaces/parent.interface';\nimport { DataService } from 'src/app/services/data.service';\n@Component({\n selector: 'app-gdrive',\n templateUrl: './gdrive.component.html',\n styleUrls: ['./gdrive.component.scss']\n})\nexport class GdriveComponent implements OnInit {\n\n constructor(private courseService: CourseService, private _snackBar: MatSnackBar, readonly dialog: MatDialog, private router: Router, private authService: AuthService, private dataService: DataService) { }\n @Input('context') context: string;\n loading = false;\n course: Course;\n user: Parent;\n files;\n selectedFile: {type: string, src: string};\n uploadedFile = {name: '', type: '', source: null};\n faImage = faImage;\n faFile = faFile;\n faTrash = faTimes;\n faUser = faUser;\n isAdmin = false;\n async ngOnInit(): Promise {\n this.loading = true;\n this.isAdmin = this.authService.getUserRole() === 'admin';\n if(this.context==='user'){\n this.authService.$User.subscribe(async (s) => {\n if (s) {\n this.dataService.getUserDriveId(s.id).then(async res => {\n this.user = { ...s, DriveId: res };\n\n await this.courseService.getcourseFiles(this.user.DriveId).then(res => {\n this.files = res;\n }).catch(err => console.log('err: ', err));\n\n });\n }\n });\n }\n if(this.context==='course' || !this.context){\n this.courseService.activatedCourse$.subscribe(async s => {\n this.course = s;\n });\n await this.courseService.getcourseFiles(this.course.DriveId).then(res => {\n this.files = res;\n }).catch(err => console.log('err: ', err));\n }\n this.loading = false\n }\n\n createDriveFolder(){\n this.loading = true;\n this.courseService.createDriveFolder(this.course.id).then(async result => {\n this.course.DriveId = result.DriveId;\n this.router.navigateByUrl('/', {skipLocationChange: true}).then(()=>\n this.router.navigate(['admin', 'course', this.course.id, 'files']));\n this.loading = false;\n });\n }\n\n createUserDriveFolder(){\n this.loading = true;\n this.dataService.createUserDriveFolder(this.user.id).then(async result => {\n this.user.DriveId = result.DriveId;\n this.router.navigateByUrl('/', {skipLocationChange: true}).then(()=>\n this.router.navigate([this.isAdmin ? 'admin' : 'user', 'profile']));\n this.loading = false;\n });\n }\n\n async uploadFile(){\n let description = '';\n this.loading = true;\n this.courseService.uploadFile(this.course.DriveId, this.uploadedFile, description).then(async res => {\n this.openSnackBar('Upload Successful!');\n await this.courseService.getcourseFiles(this.course.DriveId).then(res => {\n if(res.includes(\"not found\"))\n {\n console.log(res)\n }else{\n this.files = res;\n }\n })\n this.loading = false;\n });\n }\n\n\n async uploadUserFile(){\n let description = '';\n this.loading = true;\n this.dataService.uploadFile(this.user.DriveId, this.uploadedFile, description).then(async res => {\n this.openSnackBar('Upload Successful!');\n await this.dataService.getUserFiles(this.user.DriveId).then(res => {\n if(res.includes(\"not found\"))\n {\n console.log(res)\n }else{\n this.files = res;\n }\n })\n this.loading = false;\n });\n }\n\n\nasync getFile(fileId: string, mimeType: string, fileName: string){\n this.loading = true;\n // document.getElementById('showcaseImage').setAttribute(\"src\", '');\n // document.getElementById('showcaseFile').setAttribute(\"src\", '');\n return this.courseService.getCourseFile(fileId, mimeType).then(res => {\n // if(mimeType.includes('image')){\n // document.getElementById('showcaseImage').setAttribute(\"src\", res);\n // }else{\n this.viewDriveFolder(fileName, mimeType, res, fileId)\n // document.getElementById('showcaseFile').setAttribute(\"src\", res);\n // }\n this.selectedFile = {\n type: mimeType.includes('image') ? 'image' : 'file',\n src: res\n }\n this.loading = false;\n return res;\n }).catch(err => console.log(err))\n\n}\n\nasync getUserFile(fileId: string, mimeType: string, fileName: string){\n this.loading = true;\n // document.getElementById('showcaseImage').setAttribute(\"src\", '');\n // document.getElementById('showcaseFile').setAttribute(\"src\", '');\n return this.dataService.getUserFile(fileId, mimeType).then(res => {\n // if(mimeType.includes('image')){\n // document.getElementById('showcaseImage').setAttribute(\"src\", res);\n // }else{\n this.viewDriveFolder(fileName, mimeType, res, fileId)\n // document.getElementById('showcaseFile').setAttribute(\"src\", res);\n // }\n this.selectedFile = {\n type: mimeType.includes('image') ? 'image' : 'file',\n src: res\n }\n this.loading = false;\n return res;\n }).catch(err => console.log(err))\n\n}\n \n async onFileSelected(event): Promise{\n let reader = new FileReader();\n if (event.target.files && event.target.files.length) {\n const file: File = event.target.files[0];\n reader.onload = () => {\n this.uploadedFile = {\n source: reader.result,\n type: file.type,\n name: file.name\n }\n };\n reader.readAsDataURL(file)\n }\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n async viewDriveFolder(name, mimeType, file, fileId){\n // if(mimeType.includes('image')){\n const dialogRef = this.dialog.open(FileViewerDialogComponent, {\n data: {name, mimeType, file, fileId},\n width: '90%',\n maxWidth: '100vw',\n height: '90%',\n });\n \n dialogRef.afterClosed().subscribe(result => {\n if(result){\n console.log(result);\n } else {\n this.dialog.closeAll();\n }\n });\n }\n b64toBlob(b64Data, contentType) {\n contentType = contentType || '';\n var sliceSize = 512;\n \n //decode base64 data\n var byteCharacters = atob(b64Data);\n var byteArrays = [];\n \n for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n var slice = byteCharacters.slice(offset, offset + sliceSize);\n \n var byteNumbers = new Array(slice.length);\n for (var i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n \n var byteArray = new Uint8Array(byteNumbers);\n \n byteArrays.push(byteArray);\n }\n \n var blob = new Blob(byteArrays, {type: contentType});\n return blob;\n }\n\n removeFile(id: string, name: string){\n const dialogRef = this.dialog.open(DeleteConfirmationComponent, {\n data: {ID: id, Name: name}\n });\n \n dialogRef.afterClosed().subscribe(result => {\n if(result){\n this.courseService.removeFile(id).then(res => {\n this.files = this.files.filter((f: any) => {\n console.log(f.id, ':', id)\n if(f.id !== id){\n return f\n }\n });\n this.openSnackBar('File removed successfuly');\n }) \n } else {\n this.dialog.closeAll();\n }\n });\n }\n \n}\n","\n
\n \n
\n\n
\n
\n

No files found

\n
0\">\n \n
0\" class=\"flex-1 align-items-center scrollable mr-2\">\n
\n
\n {{file.name}}\n
\n \n
\n
\n \n\n \n
\n\n
\n \n\n
\n \n
\n
\n

No files found

\n
\n
\n

Your Files

\n \n \n
\n \n
\n
\n

No files found

\n
0\">\n \n
0\" class=\"flex-1 align-items-center scrollable\">\n
\n \n
\n {{file.name}}\n
\n \n
\n
\n
\n\n
\n
\n\n","import { AfterContentChecked, AfterViewChecked, AfterViewInit, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, UntypedFormGroup, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { faPlus, faTrash, faUpload, faUser } from '@fortawesome/free-solid-svg-icons';\nimport { Group } from 'backend/interfaces/group.interface';\nimport { MealPlan } from 'backend/interfaces/meal-plan.interface';\nimport { Student } from 'backend/interfaces/student.interface';\nimport { GroupService } from 'src/app/admin/services/group.service';\nimport { MealPlanService } from 'src/app/admin/services/meal-plan.service';\nimport { DeleteDialogComponent } from '../delete-dialog/delete-dialog.component';\nimport { PractitionerService } from 'src/app/admin/services/practitioner.service';\nimport { Practitioner } from 'backend/interfaces/practitioner.interface';\n\nexport enum Allergies {\n MILK = 'Milk',\n WHEAT = 'Wheat',\n EGG = 'Egg'\n\n}\n@Component({\n selector: 'app-group',\n templateUrl: './group.component.html',\n styleUrls: ['./group.component.scss']\n})\nexport class GroupComponent implements OnInit {\n loading = false;\n faPlus = faPlus;\n faUser = faUser;\n faTrash = faTrash;\n faUpload = faUpload;\n @Input('group') group: Group = {\n id: '',\n name: '',\n description: '',\n logo: {name: '', source: ''}\n };\n logo = './../../../assets/icon.png';\n groupForm: FormGroup;\n mealPlans: MealPlan[];\n students: Student[];\n teachers: Practitioner[];\n uploadedImage: {name: string, source: string | ArrayBuffer};\n @ViewChild('fileInput') fileInput: ElementRef;\n\n @ViewChild('imagePreview', { read: ElementRef }) imagePreview: ElementRef;\n constructor(private practitionerService: PractitionerService, private fb: FormBuilder, private groupService: GroupService, private _snackBar: MatSnackBar, private ar: ActivatedRoute, private router: Router, private mealPlanService: MealPlanService, private dialog: MatDialog){\n\n }\n\n\n async ngOnInit() {\n this.loading = true;\n\n if(this.ar.snapshot.params['id']){\n const groupId = this.ar.snapshot.params['id'];\n }\n\n this.groupForm = this.fb.group({\n name: [this.group?.name ? this.group.name : '', Validators.required],\n description: [this.group?.description ? this.group.description : '', Validators.required],\n logo: ''\n })\n this.loading = false;\n if(this.group?.logo.source){\n this.logo = this.group.logo.source;\n }\n }\n\n\n uploadFile(){\n this.fileInput.nativeElement.value = null;\n this.fileInput.nativeElement.click();\n }\n\n async saveGroup(){\n this.loading = true;\n let updatedGroup;\n if(this.group.id){\n updatedGroup = {...this.groupForm.value, id: this.group.id};\n }else{\n updatedGroup = this.groupForm.value;\n }\n if(this.uploadedImage?.name){\n updatedGroup.logo = this.uploadedImage\n }\n this.fileInput.nativeElement.value = null;\n this.groupForm.controls['logo'].setValue('');\n\n await this.groupService.saveGroup(updatedGroup).then(res => {\n if(res){\n this.logo = res.logo.source;\n }\n this.router.navigate(['admin', 'category', res.id]);\n \n this.loading = false;\n })\n this.groupService.getGroups();\n this.groupService.getGroupCount();\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n\n \n async onFileSelected(event): Promise{\n let reader = new FileReader();\n if (event.target.files && event.target.files.length) {\n const file: File = event.target.files[0];\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n if (file.type.includes('image')) {\n this.imagePreview.nativeElement.src = reader.result;\n this.uploadedImage = {\n source: reader.result as any,\n name: file.name\n }\n }\n };\n }\n }\n\n\n openDeleteDialog(): void {\n const dialogRef = this.dialog.open(DeleteDialogComponent, {\n data: {title: 'Delete', question: 'Are you sure you want to delete this item?'}\n });\n \n dialogRef.afterClosed().subscribe(result => {\n if(result) {\n if(result){\n this.deleteGroup();\n }else{\n this.dialog.closeAll();\n }\n } else {\n this.dialog.closeAll();\n }\n });\n }\n\n async deleteGroup(){\n this.loading = true;\n this.groupService.deleteGroup(this.group.id).then(res => {\n this.groupService.getGroups();\n this.groupService.getGroupCount();\n this.router.navigate(['admin', 'categories']);\n this.loading = false;\n });\n }\n\n openStudent(id: string){\n this.router.navigate(['admin', 'student', id]);\n this.loading = false;\n }\n\n openTeacher(id: string){\n this.router.navigate(['admin', 'teacher', id]);\n this.loading = false;\n }\n}\n","\n\n
\n
\n
\n
\n \n
\n \n
\n
\n \n
\n \n \n \n
\n\n \n \n \n\n \n Description\n \n \n\n \n \n Delete\n \n \n \n \n
\n
\n \n\n
\n \n\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { STEPPER_GLOBAL_OPTIONS, StepperOrientation } from '@angular/cdk/stepper';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { faFrown, faSadTear, faSmile } from '@fortawesome/free-solid-svg-icons';\nimport { LearnerSurvey } from 'backend/interfaces/learner-survey.interface';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { DataService } from 'src/app/services/data.service';\n\n@Component({\n selector: 'app-learner-survey',\n templateUrl: './learner-survey.component.html',\n styleUrls: ['./learner-survey.component.scss'],\n providers: [\n {\n provide: STEPPER_GLOBAL_OPTIONS,\n useValue: {displayDefaultIndicatorType: false, showError: true},\n },\n ],\n})\nexport class LearnerSurveyComponent implements OnInit {\n facilitiesForm: FormGroup;\n trainingMaterialForm: FormGroup;\n facilitatorForm: FormGroup;\n trainingAidsForm: FormGroup;\n learningActivitiesForm: FormGroup;\n courseTimingForm: FormGroup;\n ratingForm: FormGroup;\n faSmile = faSmile;\n faFrown = faFrown;\n faSad = faSadTear;\n @Input('enrollment') enrollment: any;\n stepperOrientation: Observable;\n constructor(private fb: FormBuilder, private breakpointObserver: BreakpointObserver, private dataService: DataService) {\n this.stepperOrientation = breakpointObserver.observe('(min-width: 800px)')\n .pipe(map(({matches}) => matches ? 'horizontal' : 'vertical'))}\n\n ngOnInit(): void {\n this.facilitiesForm = this.fb.group({\n ventilation: ['', Validators.required],\n seating: ['', Validators.required],\n tables: ['', Validators.required],\n lighting: ['', Validators.required],\n accessibility: ['', Validators.required],\n parking: ['', Validators.required],\n acoustics: ['', Validators.required],\n toilets: ['', Validators.required]\n });\n this.trainingMaterialForm = this.fb.group({\n quality: ['', Validators.required],\n condition: ['', Validators.required],\n easeOfUse: ['', Validators.required],\n relevanceOfTraining: ['', Validators.required],\n sufficientSubjectMatter: ['', Validators.required],\n portable: ['', Validators.required]\n });\n this.facilitatorForm = this.fb.group({\n appearance: ['', Validators.required],\n clarityOfExplanation: ['', Validators.required],\n enthusiasm: ['', Validators.required],\n helpfulness: ['', Validators.required],\n knowledgeOfSubjectMatter: ['', Validators.required],\n preparation: ['', Validators.required]\n });\n this.trainingAidsForm = this.fb.group({\n relevance: ['', Validators.required],\n visibility: ['', Validators.required],\n clarifyingQualities: ['', Validators.required],\n quality: ['', Validators.required],\n availableWhenRequired: ['', Validators.required],\n accessToLearners: ['', Validators.required]\n });\n this.learningActivitiesForm = this.fb.group({\n relevance: ['', Validators.required],\n easyToPerform: ['', Validators.required],\n clarifyingQualities: ['', Validators.required],\n sufficientContent: ['', Validators.required],\n timeToCompleteSufficient: ['', Validators.required],\n levelOfComplication: ['', Validators.required]\n });\n this.courseTimingForm = this.fb.group({\n dailyTimes: ['', Validators.required],\n lengthOfCourse: ['', Validators.required],\n dayOfWeek: ['', Validators.required],\n duringTheMonth: ['', Validators.required],\n duringTheYear: ['', Validators.required]\n });\n this.ratingForm = this.fb.group({\n comments: [''],\n suggestions: [''],\n rating: ['', Validators.required]\n });\n }\n\n submit(): void{\n const result: LearnerSurvey = {\n facilities: this.facilitiesForm.value,\n trainingMaterial: this.trainingMaterialForm.value,\n facilitator: this.facilitatorForm.value,\n trainingAids: this.trainingAidsForm.value,\n learningActivities: this.learningActivitiesForm.value,\n courseTiming: this.courseTimingForm.value,\n comments: this.ratingForm.controls['comments'].value,\n suggestions: this.ratingForm.controls['suggestions'].value,\n overallRating: this.ratingForm.controls['rating'].value,\n } \n console.log(result)\n this.dataService.saveLearnerSurvey(this.enrollment.id, result);\n\n }\n\n}\n","

Learner Survey

\n\n \n \n Facilities\n
\n
\n \n Ventilation/Temperature\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Seating\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Tables / Desks\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Lighting\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Accessibility (Location in Premises / suburb)\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Parking\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Acoustics (Can facilitator be heard?)\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Toilets\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n
\n \n \n
\n \n \n \n Training Material\n
\n
\n \n Quality\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Condition\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Ease of Use\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Relevance of Training\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Sufficient subject matter\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Portable (Can I use it in the workplace?)\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n
\n \n \n
\n \n \n \n Facilitator\n
\n
\n \n Appearance\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Clarity of explanation\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Enthusiasm\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Helpfulness\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Knowledge of subject matter\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Preparation\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n
\n \n \n
\n \n \n \n Training Aids\n
\n
\n \n Relevance\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Visibility\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Clarifying Qualities (Does it make the meaning clear?)\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Quality / Condition\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Available when Required\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Access to Learners\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n
\n \n \n
\n \n \n \n Learning Activities\n
\n
\n \n Relevance\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Easy to perform\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Clarifying qualities (Does it make the meaning clear?)\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Sufficient content\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Time to complete sufficient\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Level of complication\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n
\n \n \n
\n \n \n \n Course Timing\n
\n
\n \n Daily times (Start, teas, lunch, finish)\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Length of course\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n Day of week (Mon, Tues, Wed, Thurs, Fri, Sat, Sun)\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n During the month (Beginning, Middle, End)\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n \n During the year (Beginning, Middle, End)\n \n GOOD\n \n \n FAIR\n \n \n POOR\n \n \n
\n
\n
\n \n \n
\n \n \n \n Rating\n
\n \n Comments\n \n \n \n Suggestions / Improvements\n \n \n
\n

Overall Course Rating (1=poor, 10=Good)

\n \n \n 1\n \n \n 2\n \n \n 3\n \n \n 4\n \n \n 5\n \n \n 6\n \n \n 7\n \n \n 8\n \n \n 9\n \n \n 10\n \n \n
\n
\n
\n \n \n
\n \n\n","import { Component, OnInit } from '@angular/core';\nimport { faEnvelope, faHome, faPhone } from '@fortawesome/free-solid-svg-icons';\n\n@Component({\n selector: 'app-letterhead',\n templateUrl: './letterhead.component.html',\n styleUrls: ['./letterhead.component.scss']\n})\nexport class LetterheadComponent implements OnInit {\n faPhone = faPhone;\n faHome = faHome;\n faEnvelope = faEnvelope;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n \n
\n \n

placeholder practitioner name

\n

placeholder practice number

\n
\n \n
\n placeholder for phone number\n
\n
\n placeholder for email\n
\n
\n placeholder for address\n
\n \n ","import { DialogRef } from '@angular/cdk/dialog';\nimport { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { faFile, faFilePdf, faImage, faUser } from '@fortawesome/free-solid-svg-icons';\nimport { Student } from 'backend/interfaces/student.interface';\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport { FileViewerDialogComponent } from '../file-viewer-dialog/file-viewer-dialog.component';\n@Component({\n selector: 'app-letters',\n templateUrl: './letters.component.html',\n styleUrls: ['./letters.component.scss']\n})\nexport class LettersComponent implements OnInit {\n\n constructor(private studentService: StudentService, private _snackBar: MatSnackBar, readonly dialog: MatDialog) { }\n\n loading = false;\n student: Student;\n files;\n selectedFile: {type: string, src: string};\n uploadedFile = {name: '', type: '', source: null};\n faImage = faImage;\n faFile = faFile;\n faUser = faUser\n async ngOnInit() {\n this.loading = true;\n this.studentService.activatedStudent$.subscribe(async s => {\n return this.student = s;\n });\n this.studentService.activatedDrive$.subscribe(async d => {\n this.files = d\n })\n this.loading = false\n }\n\n createDriveFolder(){\n this.loading = true;\n this.studentService.createDriveFolder(this.student.ID).then(async result => {\n this.student.DriveId = result.DriveId;\n this.loading = false;\n });\n }\n\n async uploadFile(){\n let description = '';\n this.loading = true;\n this.studentService.uploadFile(this.student.DriveId, this.uploadedFile, description).then(async res => {\n this.openSnackBar('Upload Successful!');\n await this.studentService.getstudentFiles(this.student.DriveId).then(res => {\n if(res.includes(\"not found\"))\n {\n console.log(res)\n }else{\n this.files = res;\n }\n })\n this.loading = false;\n });\n }\n\n\nasync getFile(fileId: string, mimeType: string, fileName: string){\n this.loading = true;\n // document.getElementById('showcaseImage').setAttribute(\"src\", '');\n // document.getElementById('showcaseFile').setAttribute(\"src\", '');\n return this.studentService.getStudentFile(fileId, mimeType).then(res => {\n // if(mimeType.includes('image')){\n // document.getElementById('showcaseImage').setAttribute(\"src\", res);\n // }else{\n this.viewDriveFolder(fileName, mimeType, res, fileId)\n // document.getElementById('showcaseFile').setAttribute(\"src\", res);\n // }\n this.selectedFile = {\n type: mimeType.includes('image') ? 'image' : 'file',\n src: res\n }\n this.loading = false;\n return res;\n }).catch(err => console.log(err))\n\n}\n \n async onFileSelected(event): Promise{\n let reader = new FileReader();\n if (event.target.files && event.target.files.length) {\n const file: File = event.target.files[0];\n reader.onload = () => {\n this.uploadedFile = {\n source: reader.result,\n type: file.type,\n name: file.name\n }\n };\n reader.readAsDataURL(file)\n }\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n async viewDriveFolder(name, mimeType, file, fileId){\n // if(mimeType.includes('image')){\n const dialogRef = this.dialog.open(FileViewerDialogComponent, {\n data: {name, mimeType, file, fileId},\n width: '90%',\n maxWidth: '100vw',\n height: '90%',\n });\n \n dialogRef.afterClosed().subscribe(result => {\n if(result){\n console.log(result);\n } else {\n this.dialog.closeAll();\n }\n });\n // }else{\n // var contentType = mimeType;\n // // var dataBlob = this.b64toBlob(file, contentType);\n // // Browser.open({url: URL.createObjectURL(dataBlob)});\n // const authToken = await Parse.Cloud.run('getGToken', { });\n \n // // return this.http.post(\n // // 'https://photoslibrary.googleapis.com/v1/mediaItems:batchCreate',\n // // { albumId: id, newMediaItems }, {headers: batchCreateHeaders}).toPromise();\n // const options = {\n // url: 'https://www.googleapis.com/drive/v3/files/'+fileId,\n // headers: {Authorization: 'Bearer '+ authToken}\n // };\n \n // const response: HttpResponse = await CapacitorHttp.get(options);\n // const fileOpenerOptions: FileOpenerOptions = {\n // filePath: response.url,\n // contentType: contentType,\n // }\n\n // await FileOpener.open(fileOpenerOptions)\n // .then(() => {\n // console.log('file is open')\n // // if (!file?.url) return\n\n // // try {\n // // this._downloadAndOpenFiles(file)\n // // } catch (error) {\n\n // Browser.open({ url: file.path })\n // // }\n // })\n // .catch((error) => {\n // console.error(error)\n // })\n\n }\n b64toBlob(b64Data, contentType) {\n contentType = contentType || '';\n var sliceSize = 512;\n \n //decode base64 data\n var byteCharacters = atob(b64Data);\n var byteArrays = [];\n \n for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n var slice = byteCharacters.slice(offset, offset + sliceSize);\n \n var byteNumbers = new Array(slice.length);\n for (var i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n \n var byteArray = new Uint8Array(byteNumbers);\n \n byteArrays.push(byteArray);\n }\n \n var blob = new Blob(byteArrays, {type: contentType});\n return blob;\n }\n \n}\n","\n
\n \n
\n\n
\n
\n

No files found

\n
0\">\n \n
0\" class=\"flex-1 align-items-center scrollable border-primary p-2 mr-2\">\n
\n {{file.name}}\n
\n
\n \n\n \n
\n\n
\n\n
\n \n
\n\n
\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { LocationService } from 'src/app/admin/services/location.service';\nimport { Location } from 'backend/interfaces/location.interface';\nimport { faTrash } from '@fortawesome/free-solid-svg-icons';\n@Component({\n selector: 'app-location',\n templateUrl: './location.component.html',\n styleUrls: ['./location.component.scss']\n})\nexport class LocationComponent implements OnInit {\n saving = false;\n faTrash = faTrash;\n @Input() location: Location = {name: '', address: '', coordinates: ''};\n @Output() emitLocation: EventEmitter = new EventEmitter();\n @Output() closeLocation: EventEmitter = new EventEmitter();\n locationForm: UntypedFormGroup;\n constructor(private fb: UntypedFormBuilder, private locationService: LocationService, private _snackBar: MatSnackBar) { }\n\n ngOnInit(): void {\n this.locationForm = this.fb.group({\n name: [this.location ? this.location.name : '', Validators.required],\n address: [this.location ? this.location.address : '', Validators.required],\n coordinates: [this.location ? this.location.coordinates : ''],\n colorId: [this.location ? this.location.colorId : 1]\n })\n }\n\n async saveLocation(){\n if(this.locationForm.dirty){\n this.saving = true;\n let updatedLocation;\n if(this.location){\n updatedLocation = {...this.locationForm.value, id: this.location.id}\n }else{\n updatedLocation = { ...this.locationForm.value }\n }\n \n this.locationService\n .saveLocation(updatedLocation)\n .then((res) => {\n this.saving = false;\n this.openSnackBar('Location saved');\n this.locationService.getLocations(10, 0);\n this.locationService.getLocationCount();\n this.locationForm.markAsPristine();\n this.closeLocation.emit();\n })\n .catch((err) => {\n this.openSnackBar(err);\n this.saving = false;\n });\n }else{\n this.closeLocation.emit();\n }\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n\n deleteLocation(){\n this.saving = true;\n this.locationService.deleteLocation(this.location.id).then(res => {\n this.saving = false;\n this.openSnackBar('Location deleted');\n this.locationService.getLocations(10, 0);\n this.locationService.getLocationCount();\n this.closeLocation.emit();\n }).catch(err => {\n this.openSnackBar(err);\n })\n }\n}\n","\n
\n
\n \n
\n
\n\n \n \n Location Details\n \n \n
\n
\n \n
\n \n Name\n \n \n \n Address\n \n \n \n Coordinates\n \n \n \n Color\n \n \n
\n
\n \n \n \n \n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, UntypedFormGroup, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { faEllipsisH, faPlus, faTrash } from '@fortawesome/free-solid-svg-icons';\nimport { MealPlan } from 'backend/interfaces/meal-plan.interface';\nimport { Meal } from 'backend/interfaces/meal.interface';\nimport { MealPlanService } from 'src/app/admin/services/meal-plan.service';\nimport { MealService } from 'src/app/admin/services/meal.service';\nimport {\n CdkDragDrop,\n moveItemInArray,\n transferArrayItem,\n CdkDrag,\n CdkDropList,\n} from '@angular/cdk/drag-drop';\nimport { AuthService } from 'src/app/auth/auth.service';\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DeleteDialogComponent } from '../delete-dialog/delete-dialog.component';\nexport enum Allergies {\n MILK = 'Milk',\n WHEAT = 'Wheat',\n EGG = 'Egg'\n\n}\n@Component({\n selector: 'app-meal-plan',\n templateUrl: './meal-plan.component.html',\n styleUrls: ['./meal-plan.component.scss']\n})\nexport class MealPlanComponent implements OnInit {\n\n loading = false;\n faPlus = faPlus;\n faTrash = faTrash;\n faLoader = faEllipsisH;\n @Input('context') context = 'view';\n\n mealPlan: MealPlan = {\n id: '',\n title: \"\",\n group: \"\",\n fromDate: null,\n toDate: null,\n monday: [],\n tuesday: [],\n wednesday: [],\n thursday: [],\n friday: []\n };\n mealsObservable = this.mealService.meals;\n m = [];\n isAdmin = false;\n mealPlanId = '';\n mealPlanForm = this.fb.group({\n title: this.mealPlan?.title ? this.mealPlan.title : '',\n group: this.mealPlan?.group ? this.mealPlan.group : '',\n fromDate: this.mealPlan?.fromDate ? this.mealPlan.fromDate : null,\n toDate: this.mealPlan?.toDate ? this.mealPlan.toDate : null\n })\n constructor(private authService: AuthService, private fb: FormBuilder, private mealPlanService: MealPlanService, private mealService: MealService, private _snackBar: MatSnackBar, private ar: ActivatedRoute, private router: Router, private studentService: StudentService, private dialog: MatDialog) {\n this.authService.$User.subscribe((res) => {\n this.isAdmin = res?.get('role') === 'admin';\n })\n }\n\n\n async ngOnInit() {\n this.loading = true;\n \n if (this.ar.snapshot.params['id']) {\n this.context = 'edit';\n }\n this.mealPlanService.activatedMealPlan$.subscribe(async res => {\n if (res) {\n this.mealPlan.monday = [];\n this.mealPlan.tuesday = [];\n this.mealPlan.wednesday = [];\n this.mealPlan.thursday = [];\n this.mealPlan.friday = [];\n this.mealPlan.title = res.title;\n this.mealPlan.id = res.id;\n this.mealPlan.fromDate = res.fromDate;\n this.mealPlan.toDate = res.toDate;\n this.mealPlan.group = res.group;\n this.mealService.meals$.subscribe(ms => {\n res.monday?.forEach(meal => ms?.find(target => {\n if (target.id === meal) {\n this.mealPlan.monday.push(target);\n }\n }));\n res.tuesday?.forEach(meal => ms?.find(target => {\n if (target.id === meal) {\n this.mealPlan.tuesday.push(target);\n }\n }));\n res.wednesday?.forEach(meal => ms?.find(target => {\n if (target.id === meal) {\n this.mealPlan.wednesday.push(target);\n }\n }));\n res.thursday?.forEach(meal => ms?.find(target => {\n if (target.id === meal) {\n this.mealPlan.thursday.push(target);\n }\n }));\n res.friday?.forEach(meal => ms?.find(target => {\n if (target.id === meal) {\n this.mealPlan.friday.push(target);\n }\n }));\n });\n await this.mealPlanForm.patchValue({\n title: this.mealPlan?.title ? this.mealPlan.title : '',\n group: this.mealPlan?.group ? this.mealPlan.group : '',\n fromDate: this.mealPlan?.fromDate ? this.mealPlan.fromDate : null,\n toDate: this.mealPlan?.toDate ? this.mealPlan.toDate : null\n })\n }\n });\n this.loading = false;\n }\n\n get monday() {\n return this.mealPlanForm.controls[\"monday\"] as FormArray;\n }\n\n get tuesday() {\n return this.mealPlanForm.controls[\"tuesday\"] as FormArray;\n }\n\n get wednesday() {\n return this.mealPlanForm.controls[\"wednesday\"] as FormArray;\n }\n\n get thursday() {\n return this.mealPlanForm.controls[\"thursday\"] as FormArray;\n }\n\n get friday() {\n return this.mealPlanForm.controls[\"friday\"] as FormArray;\n }\n\n\n addMeal(dayMeals: FormArray) {\n const mealForm = this.fb.group({\n title: [''],\n photo: ['']\n });\n dayMeals.push(mealForm);\n }\n removeMeal(mealIndex: number, dayMeals: Meal[]) {\n dayMeals.splice(mealIndex, 1);\n }\n\n async saveMealPlan() {\n this.loading = true;\n let updatedMealPlan;\n if (this.mealPlan.id) {\n updatedMealPlan = {\n ...this.mealPlanForm.value,\n id: this.mealPlan.id,\n monday: this.mealPlan.monday.map(m => m.id),\n tuesday: this.mealPlan.tuesday.map(m => m.id),\n wednesday: this.mealPlan.wednesday.map(m => m.id),\n thursday: this.mealPlan.thursday.map(m => m.id),\n friday: this.mealPlan.friday.map(m => m.id)\n };\n } else {\n updatedMealPlan = {\n ...this.mealPlanForm.value,\n monday: this.mealPlan.monday.map(m => m.id),\n tuesday: this.mealPlan.tuesday.map(m => m.id),\n wednesday: this.mealPlan.wednesday.map(m => m.id),\n thursday: this.mealPlan.thursday.map(m => m.id),\n friday: this.mealPlan.friday.map(m => m.id)\n };\n }\n this.mealPlanService.saveMealPlan(updatedMealPlan).then(res => {\n this.mealPlanService.getMealPlans();\n this.mealPlanService.activatedMealPlan.next(null);\n this.router.navigate(['admin', 'meal-plans']);\n this.loading = false;\n })\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n\n async deleteMealPlan() {\n this.loading = true;\n this.mealPlanService.deleteMealPlan(this.mealPlan.id).then(res => {\n this.mealPlanService.getMealPlans(10, 0).then(res => {\n this.router.navigate(['admin', 'meal-plans']);\n this.loading = false;\n })\n });\n }\n\n openDeleteDialog(): void {\n const dialogRef = this.dialog.open(DeleteDialogComponent, {\n data: { title: 'Delete', question: 'Are you sure you want to delete this item?' }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n if (result) {\n this.deleteMealPlan();\n } else {\n this.dialog.closeAll();\n }\n } else {\n this.dialog.closeAll();\n }\n });\n }\n\n\n mondayMeals = [];\n tuesdayMeals = [];\n wednesdayMeals = [];\n thursdayMeals = [];\n fridayMeals = [];\n\n\n drop(event: CdkDragDrop) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n const data = {\n title: '',\n id: ''\n }\n\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex,\n );\n }\n }\n\n}","\n
\n \n
\n\n
\n
\n

Monday

\n
\n \n
\n \n \n \n
\n \n \n
\n

{{ item.title }}

\n \n \n\n
\n

Tuesday

\n
\n \n
\n \n \n \n
\n \n \n \n

{{ item.title }}

\n \n \n\n
\n

Wednesday

\n
\n \n
\n \n \n \n
\n \n \n \n

{{ item.title }}

\n \n \n\n
\n

Thursday

\n
\n \n
\n \n \n \n
\n \n \n \n

{{ item.title }}

\n \n \n\n
\n

Friday

\n
\n \n
\n \n \n \n
\n \n \n \n

{{ item.title }}

\n \n \n\n
\n \n
\n
\n\n
\n \n Title\n \n \n \n \n \n From\n \n MM/DD/YYYY\n \n \n \n \n To\n \n MM/DD/YYYY\n \n \n \n
\n\n
\n
\n

Monday

\n \n
\n \n \n \n
\n \n \n
\n

{{ item.title }}

\n
\n \n
\n \n
\n
\n

Tuesday

\n \n
\n \n \n \n
\n \n \n
\n

{{ item.title }}

\n
\n \n \n \n \n
\n

Wednesday

\n \n
\n \n \n \n
\n \n \n
\n

{{ item.title }}

\n \n \n \n \n \n
\n

Thursday

\n \n
\n \n \n \n
\n \n \n
\n

{{ item.title }}

\n \n \n \n \n \n
\n

Friday

\n \n
\n \n \n \n
\n \n \n
\n

{{ item.title }}

\n \n \n \n \n \n \n\n \n \n\n
\n

\n Drag the meals below to the day you plan to serve them.\n

\n \n \n \n
\n \n \n \n
\n \n \n
\n

{{ meal.title }}

\n \n \n \n \n \n \n\n \n \n Delete\n \n \n \n \n \n\n","import { AfterContentChecked, AfterViewChecked, AfterViewInit, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, UntypedFormGroup, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { faPlus, faTrash, faUpload } from '@fortawesome/free-solid-svg-icons';\nimport { Meal } from 'backend/interfaces/meal.interface';\nimport { MealService } from 'src/app/admin/services/meal.service';\n\nexport enum Allergies {\n MILK = 'Milk',\n WHEAT = 'Wheat',\n EGG = 'Egg'\n\n}\n@Component({\n selector: 'app-meal',\n templateUrl: './meal.component.html',\n styleUrls: ['./meal.component.scss']\n})\nexport class MealComponent implements OnInit {\n loading = false;\n faPlus = faPlus;\n faTrash = faTrash;\n faUpload = faUpload;\n photo = './../../../assets/placeholder_food.png';\n meal: Meal = {\n id: '',\n title: '',\n ingredients: [{title: ''}],\n instructions: '',\n photo: {name: '', source: ''}\n };\n mealForm: FormGroup;\n uploadedImage: {name: string, source: string | ArrayBuffer};\n @ViewChild('fileInput') fileInput: ElementRef;\n\n @ViewChild('imagePreview', { read: ElementRef }) imagePreview: ElementRef;\n constructor(private fb: FormBuilder, private mealService: MealService, private _snackBar: MatSnackBar, private ar: ActivatedRoute, private router: Router){\n\n }\n\n\n async ngOnInit() {\n this.loading = true;\n if(this.ar.snapshot.params['id']){\n const mealId = this.ar.snapshot.params['id'];\n await this.mealService.getMealById(mealId).then(res => {\n this.meal = res;\n });\n }\n\n this.mealForm = this.fb.group({\n title: this.meal?.title ? this.meal.title : '',\n ingredients: this.meal?.ingredients ? this.fb.array(this.meal.ingredients.map(r => this.fb.group(r))) : this.fb.array([]),\n instructions: this.meal?.instructions ? this.meal.instructions : '',\n photo: ''\n })\n this.loading = false;\n if(this.meal.photo.source){\n this.photo = this.meal.photo.source;\n }\n }\n\n get ingredients() {\n return this.mealForm.controls[\"ingredients\"] as FormArray;\n }\n \n\n addIngredient(ingredients: FormArray) {\n const ingredientForm = this.fb.group({\n title: ['']\n });\n this.ingredients.push(ingredientForm);\n }\n removeIngredient(index: number) {\n this.ingredients.removeAt(index);\n }\n\n uploadFile(){\n this.fileInput.nativeElement.value = null;\n this.fileInput.nativeElement.click();\n }\n\n async saveMeal(){\n this.loading = true;\n let updatedMeal;\n if(this.meal.id){\n updatedMeal = {...this.mealForm.value, id: this.meal.id};\n }else{\n updatedMeal = this.mealForm.value;\n }\n if(this.uploadedImage?.name){\n updatedMeal.photo = this.uploadedImage\n }\n this.fileInput.nativeElement.value = null;\n this.mealForm.controls['photo'].setValue('');\n this.mealService.saveMeal(updatedMeal).then(res => {\n if(res){\n this.photo = res.photo.source;\n }\n this.mealService.getMeals();\n this.router.navigate(['admin', 'meal', res.id])\n this.loading = false;\n })\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n\n async deleteMeal(){\n this.loading = true;\n this.mealService.deleteMeal(this.meal.id).then(res => {\n this.mealService.getMeals(10, 0).then(res => {\n this.router.navigate(['admin', 'meals']);\n this.loading = false;\n })\n });\n }\n\n async onFileSelected(event): Promise{\n let reader = new FileReader();\n if (event.target.files && event.target.files.length) {\n const file: File = event.target.files[0];\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n if (file.type.includes('image')) {\n this.imagePreview.nativeElement.src = reader.result;\n this.uploadedImage = {\n source: reader.result as any,\n name: file.name\n }\n }\n };\n }\n }\n}\n","\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \"image\"\n \n
\n
\n \n Title\n \n \n
\n\n
\n
\n \n

Ingredients

\n \n \n \n Title\n \n \n\n \n
\n \n \n \n
\n
\n

Instructions

\n\n \n Instructions\n \n \n\n
\n \n\n \n \n \n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { AVNotification } from 'backend/interfaces/notification.interface';\nimport { AuthService } from 'src/app/auth/auth.service';\nimport { NotifyService } from 'src/app/services/notify.service';\nimport * as Parse from \"parse\";\n@Component({\n selector: 'app-notifications',\n templateUrl: './notifications.component.html',\n styleUrls: ['./notifications.component.scss']\n})\nexport class NotificationsComponent implements OnInit {\n currentUser: Parse.User;\n notifications: any;\n constructor(private authService: AuthService, private notifyService: NotifyService) { \n this.authService.$User.subscribe(u => this.currentUser = u);\n }\n\n ngOnInit(): void {\n this.notifyService.notifications$.subscribe(n => {\n this.notifications = n;\n })\n }\n\n saveNotification(){\n const notification: AVNotification = {\n title: 'test',\n detail: 'detail of test notification',\n userId: this.currentUser.id\n }\n this.notifyService.saveNotification(notification)\n }\n\n}\n","\n
\n
\n

Notifications

\n
\n
\n
\n

\n {{n.get('title')}}\n

\n

\n {{n.get('detail')}}\n

\n

\n {{n.get('updatedAt') | date: 'dd-MMM-yy, hh:mm'}}\n

\n
\n
\n
\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { FormArray, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { PractitionerService } from 'src/app/admin/services/practitioner.service';\nimport { Practitioner } from 'backend/interfaces/practitioner.interface';\nimport { Location } from 'backend/interfaces/location.interface';\nimport { faMapMarker, faMarker, faPlus, faSearch, faUser } from '@fortawesome/free-solid-svg-icons';\nimport { SideNavService, SidenavActions } from 'src/app/admin/services/side-nav.service';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { LocationService } from 'src/app/admin/services/location.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { ProfilePictureDialogComponent } from '../profile-picture-dialog/profile-picture-dialog.component';\nimport { GroupService } from 'src/app/admin/services/group.service';\n@Component({\n selector: 'app-practitioner',\n templateUrl: './practitioner.component.html',\n styleUrls: ['./practitioner.component.scss']\n})\nexport class PractitionerComponent implements OnInit {\n saving = false;\n loading = false;\n faSearch = faSearch;\n faUser = faUser;\n faPlus = faPlus;\n faMapMarker = faMapMarker;\n sideNavActions = SidenavActions;\n addLocation = false;\n sideNavAction;\n locationsArray: Location[] = [];\n locations = [];\n @ViewChild('drawer') drawer: MatSidenav;\n @ViewChild('addDrawer') addDrawer: MatSidenav;\n @ViewChild('dialogTemplate') dialogTemplate: TemplateRef;\n @Input() practitioner: Practitioner = {name: '', surname: '', locations: [], group: ''};\n @Output() emitPractitioner: EventEmitter = new EventEmitter();\n @Output() closePractitioner: EventEmitter = new EventEmitter();\n practitionerForm: UntypedFormGroup;\n groups = [];\n constructor(private groupService: GroupService, private fb: UntypedFormBuilder, private practitionerService: PractitionerService, private _snackBar: MatSnackBar, private locationService: LocationService, private dialog: MatDialog) { }\n async ngOnInit(): Promise {\n this.groupService.groups$.subscribe(res => this.groups = res);\n this.loading = true;\n this.locationService.getLocations();\n this.locationService.locations$.subscribe(res => {\n this.locations = res;\n })\n this.sideNavAction = null;\n this.locationsArray = (this.practitioner && this.practitioner.locations) ? this.practitioner.locations : [];\n this.practitionerForm = this.fb.group({\n name: [this.practitioner ? this.practitioner.name : '', Validators.required],\n surname: [this.practitioner ? this.practitioner.surname : '', Validators.required],\n idNumber: [this.practitioner.idNumber, Validators.required, Validators.length > 6],\n occupation: [this.practitioner.occupation, Validators.required],\n title: [this.practitioner.title, Validators.required],\n gender: [this.practitioner.gender, Validators.required],\n address: [this.practitioner.address, Validators.required],\n mobile: [this.practitioner.mobile, Validators.required],\n email: [this.practitioner.email, Validators.required],\n group: [this.practitioner.group ? this.groups.find(g => g.id === this.practitioner.group) : '', Validators.required]\n });\n this.loading = false;\n }\n async savePractitioner(){\n this.saving = true;\n const saveObject = {\n locations: this.locationsArray,\n name: this.practitionerForm.controls['name'].value,\n surname: this.practitionerForm.controls['surname'].value,\n idNumber: this.practitionerForm.controls['idNumber'].value,\n occupation: this.practitionerForm.controls['occupation'].value,\n title: this.practitionerForm.controls['title'].value,\n gender: this.practitionerForm.controls['gender'].value,\n address: this.practitionerForm.controls['address'].value,\n mobile: this.practitionerForm.controls['mobile'].value,\n email: this.practitionerForm.controls['email'].value,\n group: this.practitionerForm.controls['group'].value.id,\n }\n this.practitionerService\n .savePractitioner(saveObject)\n .then((res) => {\n this.saving = false;\n this.openSnackBar('Practitioner saved');\n this.practitionerService.getPractitioners(10, 0);\n this.practitionerService.getPractitionerCount();\n this.closePractitioner.emit();\n })\n .catch((err) => {\n this.openSnackBar(err);\n this.saving = false;\n });\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n\n openDrawer(action: SidenavActions): void {\n this.sideNavAction = action;\n this.drawer.open()\n }\n\n addLocationToPractitioner(location: Location, index: number){\n this.locationsArray.push(location);\n this.locations.splice(index, 1);\n }\n\n openDialog(config?: MatDialogConfig) {\n return this.dialog.open(this.dialogTemplate, config);\n }\n\n openProfilePictureDialog(src?: any): void {\n const dialogRef = this.dialog.open(ProfilePictureDialogComponent, {\n data: {title: 'Upload Picture', practitionerId: this.practitioner.idNumber, currentPicture: src ? src : ''},\n width: '60%'\n });\n \n dialogRef.afterClosed().subscribe(result => {\n if(result){\n // console.log(result);\n } else {\n this.dialog.closeAll();\n }\n });\n }\n\n}\n","\n\n\n
\n
\n \n
\n
\n \n \n \n \n
\n
\n \n
\n\n\n
\n \n
\n
\n \n
\n\n\n
\n
\n
\n \n Name\n \n Name is Required\n \n \n Surname\n \n Surname is Required\n \n \n ID Number\n \n ID number is Required\n \n \n Occupation\n \n Occupation is Required\n \n \n Title\n \n Title is Required\n \n \n Gender\n \n Gender is Required\n \n
\n
\n \n Address\n \n Address is Required\n \n \n Mobile\n \n Mobile is Required\n \n \n Email\n \n Email is Required\n \n \n Class\n \n {{ group.name }}\n \n \n
\n
\n
{{location.name}}
\n
\n \n
\n
\n
\n \n \n \n
\n\n\n\n\n\n\n\n \n
\n
\n
\n\n \n

Select Locations to add

\n \n \n\n
\n
{{location.name}}
\n \n
\n\n
\n \n \n \n
","import { AfterViewInit, Component, ElementRef, Inject, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { faCamera, faUpload, faUser } from '@fortawesome/free-solid-svg-icons';\nimport { WebcamImage } from 'ngx-webcam';\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport { PractitionerService } from 'src/app/admin/services/practitioner.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Parent } from 'backend/interfaces/parent.interface';\nimport { CourseService } from 'src/app/admin/services/course.service';\n\ninterface DialogData {\n title: string;\n studentId?: string;\n parentId?: string\n result: boolean;\n currentPicture: string;\n practitionerId?: string;\n}\n\ninterface Detection {\n angry: number;\n disgusted: number;\n fearful: number;\n happy: number;\n neutral: number;\n sad: number;\n surprised:number;\n}\n@Component({\n selector: 'app-profile-picture-dialog',\n templateUrl: './profile-picture-dialog.component.html',\n styleUrls: ['./profile-picture-dialog.component.scss']\n})\nexport class ProfilePictureDialogComponent implements OnInit, AfterViewInit {\n\n title;\n question;\n webcamImage: WebcamImage = null;\n uploadedImage: {name: string, source: string | ArrayBuffer, type?: string};\n showCamera = false;\n faCamera = faCamera;\n faUpload = faUpload;\n faUser = faUser;\n detectionStream: Detection = {\n angry: 0,\n disgusted: 0,\n fearful: 0,\n happy: 0,\n neutral: 0,\n sad: 0,\n surprised:0 \n };\n saving = false;\n recognitionImage: {name: string, source: string | ArrayBuffer, type?: string};\n parent: Parent;\n chartData = 10;\n @ViewChild('webcamImageDisplay') webcamImageDisplay: ElementRef;\n @ViewChild('fileInput') fileInput: ElementRef;\n @ViewChild('dataInput') dataInput: ElementRef;\n // @ViewChild('recognitionFileInput') recognitionFileInput: ElementRef;\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData, private studentService: StudentService, private practitionerService: PractitionerService, private courseService: CourseService, private _snackBar: MatSnackBar) { }\n\n ngOnInit(): void {\n this.title = this.data.title;\n // this.courseService.activatedCourse$.subscribe(res => this.parent= res);\n }\n\n ngAfterViewInit(){\n this.webcamImageDisplay.nativeElement.src = this.data.currentPicture\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n showThumb(result: {image: WebcamImage, detection: any}): void {\n\n // for (const key in result.detection.expressions)\n // {\n // const value = parseFloat(result.detection.expressions[key]).toPrecision(2);\n // if(key !== 'asSortedArray')\n // this.detectionStream.push({key, val: value});\n // }\n this.webcamImage = result.image;\n if(this.webcamImageDisplay)\n this.webcamImageDisplay.nativeElement.src = result.image.imageAsDataUrl;\n this.recognitionImage = {\n source: result.image.imageAsBase64,\n name: this.parent.Name +'_'+this.parent.Surname,\n type: 'image/jpeg',\n }\n this.uploadedImage = {\n source: result.image.imageAsDataUrl,\n name: this.parent.Name +'_'+this.parent.Surname,\n type: 'image/jpeg',\n }\n this.toggleCamera();\n }\n\n async onFileSelected(event): Promise{\n\n let reader = new FileReader();\n\n this.webcamImage = null;\n if (event.target.files && event.target.files.length) {\n const file: File = event.target.files[0];\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n if (file.type.includes('image')) {\n this.webcamImageDisplay.nativeElement.src = reader.result;\n this.uploadedImage = {\n source: reader.result as any,\n name: file.name,\n type: file.type,\n }\n }\n };\n }\n }\n\n toggleCamera(){\n this.showCamera = !this.showCamera;\n }\n\n uploadFile(){\n this.fileInput.nativeElement.value = null;\n this.fileInput.nativeElement.click();\n }\n\n // uploadRecognitionFile(){\n // this.recognitionFileInput.nativeElement.value = null;\n // this.recognitionFileInput.nativeElement.click();\n // }\n\n async saveProfilePicture(): Promise{\n const imageToUpload = this.uploadedImage;\n this.saving = true;\n // if(this.data.practitionerId){\n // this.practitionerService.savePractitionerProfilePicture(this.data.practitionerId, imageToUpload).then(res => {\n // this.dialogRef.close(this.webcamImageDisplay.nativeElement.src);\n // this.openSnackBar(\"Photo successfuly added.\");\n // }).catch(err => {\n // console.log(err);\n // });\n // }else if(this.data.parentId){\n this.courseService.saveProfilePicture(this.data.parentId, imageToUpload).then(res => {\n this.dialogRef.close(this.webcamImageDisplay.nativeElement.src);\n this.openSnackBar(\"Photo successfuly added.\");\n this.saving = false;\n }).catch(err => {\n console.log(err);\n });\n // }else{\n // this.studentService.saveProfilePicture(this.data.studentId, imageToUpload).then(res => {\n // this.dialogRef.close(this.webcamImageDisplay.nativeElement.src);\n // this.openSnackBar(\"Photo successfuly added.\");\n // }).catch(err => {\n // console.log(err);\n // });\n // }\n }\n\n\n // async uploadToBucket(): Promise{\n // this.courseService.uploadPictureToBucket(this.uploadedImage, this.parent.Name, 'dfaces', this.parent.ID).then(async res => {\n // this.openSnackBar(res.toString());\n // }).catch(err => {\n // console.log(err);\n // });\n // }\n\n // async recognise(): Promise{\n\n // // let reader = new FileReader();\n\n // // this.webcamImage = null;\n // // if (event.target.files && event.target.files.length) {\n // // const file: File = event.target.files[0];\n // // reader.readAsDataURL(file);\n // // reader.onload = () => {\n // // if (file.type.includes('image')) {\n // // this.webcamImageDisplay.nativeElement.src = reader.result;\n // // this.uploadedImage = {\n // // source: reader.result as any,\n // // name: file.name,\n // // type: file.type,\n // // }\n\n // this.parentService.uploadPictureToBucket(this.uploadedImage, this.uploadedImage.name, 'drecognitionrequests').then(async res => {\n // this.openSnackBar(res.toString());\n // this.parentService.authenticate(this.uploadedImage).then(async res => {\n // this.openSnackBar(res.Message + '! ' + res.firstName + ' ' + res.lastName);\n // }).catch(err => {\n // console.log(err);\n // });\n // }).catch(err => {\n // console.log(err);\n // });\n // // }\n // // };\n // // }\n // }\n\n // async recognise(): Promise{\n // await this.parentService.uploadPictureToBucket(this.uploadedImage, this.uploadedImage.name, 'drecognitionrequests','').then(async res => {\n // this.openSnackBar('Identifying person...');\n // this.parentService.authenticate(this.uploadedImage).then(async res => {\n // this.openSnackBar(res.Message + '! Recognised as ' + res.firstName + ' ' + res.lastName);\n // this.dialogRef.close();\n // }).catch(err => {\n // console.log(err);\n // });\n // }).catch(err => {\n // console.log(err);\n // });\n // }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n\n updateChartData(event: Detection){\n // console.log({...event})\n this.detectionStream = {...event};\n // for (const key in event.detection.expressions)\n // {\n // const value = parseFloat(event.detection.expressions[key]).toPrecision(2);\n // if(key !== 'asSortedArray')\n // this.detectionStream.push({key, val: value});\n // }\n this.chartData = event.happy;\n }\n \n}\n","
\n

{{ title }}

\n
\n \n
\n\n
\n
\n \n
\n
\n
\n \n \n \n\n
\n \n \n
\n \n
\n
\n
\n \n \n
\n \n {{saving ? 'Saving' : 'Save'}}\n \n \n
\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { Parent, ParentConsent } from 'backend/interfaces/parent.interface';\nimport { Observable } from 'rxjs';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {MatStepper, StepperOrientation} from '@angular/material/stepper';\nimport {map} from 'rxjs/operators';\nimport { ParentService } from 'src/app/admin/services/parent.service';\nimport { Router } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { DataService } from 'src/app/services/data.service';\nimport { AuthService } from 'src/app/auth/auth.service';\nimport { faFile } from '@fortawesome/free-solid-svg-icons';\nimport { MatDialog } from '@angular/material/dialog';\nimport { FileViewerDialogComponent } from '../file-viewer-dialog/file-viewer-dialog.component';\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.scss']\n})\nexport class ProfileComponent implements OnInit {\n @Input() profile: Parent = {\n Name: '',\n Surname: '',\n ID: '',\n Occupation: '',\n Title: '',\n Gender: '',\n Address: '',\n Mobile: '',\n Email: this.parentService.newParentEmail ? this.parentService.newParentEmail : '',\n HealthProblems: '',\n Notes: '',\n MedicalAidName: '',\n MedicalAidNumber: '',\n MedicalAidMainMember: '',\n isMainContact: false,\n PartnerID: '',\n };\n user;\n faFile = faFile;\n selectedFile: {type: string, src: string};\n uploadedFile = {name: '', type: '', source: null};\n uploadedID = {name: '', type: '', source: null};\n saving = false;\n files = [];\n @Output() emitProfile: EventEmitter = new EventEmitter();\n @Output() emitMedical = new EventEmitter();\n @ViewChild('stepper') private stepper: MatStepper;\n constructor(private dataService: DataService, private fb: UntypedFormBuilder, private breakpointObserver: BreakpointObserver, private parentService: ParentService, private router: Router, private _snackBar: MatSnackBar, private authService: AuthService, readonly dialog: MatDialog) {\n this.stepperOrientation = breakpointObserver.observe('(min-width: 800px)')\n .pipe(map(({matches}) => matches ? 'horizontal' : 'vertical'));\n }\n profileForm: UntypedFormGroup;\n // medicalForm: UntypedFormGroup;\n thirdFormGroup = this.fb.group({\n thirdCtrl: ['', Validators.required]\n });\n stepperOrientation: Observable;\n async ngOnInit(): Promise {\n this.authService.$User.subscribe(async (res)=>{\n if(res){\n this.user = res;\n this.dataService.getUserIdDoc(res.get('IdDocument')).then(res => {\n this.uploadedID.name = res.data.name;\n this.uploadedID.type = res.data.mimeType\n })\n this.profile = {\n Name: res.get('Name'),\n Surname: res.get('Surname'),\n ID: res.get('ID'),\n Occupation: '',\n Title: '',\n Gender: '',\n Address: '',\n Mobile: res.get('Mobile'),\n Email: res.get('email'),\n HealthProblems: '',\n Notes: '',\n MedicalAidName: '',\n MedicalAidNumber: '',\n MedicalAidMainMember: '',\n isMainContact: false,\n PartnerID: '',\n }\n\n // this.dataService.getUserFiles(this.user?.get('DriveId')).then(res => {\n // this.files = res;\n // })\n }\n });\n this.profileForm = this.fb.group({\n Name: [this.profile.Name, Validators.required],\n Surname: [this.profile.Surname, Validators.required],\n ID: [this.profile.ID, Validators.required, Validators.length > 6],\n Address: [this.profile.Address, Validators.required],\n Mobile: [this.profile.Mobile, Validators.required],\n Email: [this.profile.Email, Validators.required]})\n }\n async saveProfile(){\n if(this.profileForm.dirty){\n this.saving = true;\n this.dataService.saveUser({...this.profileForm.value})\n .then((res) => {\n this.parentService.newParentEmail = undefined;\n this.openSnackBar('Parent saved');\n this.parentService.getParentCount();\n this.saving = false\n })\n .catch((err) => {\n this.openSnackBar(err);\n this.saving = false;\n });\n this.profileForm.markAsPristine();\n this.profile.ID = this.profileForm.controls['ID'].value;\n }\n }\n \n getErrorMessage() {\n if (this.profileForm.controls['Name'].hasError('required')) {\n return 'You must enter a value';\n }\n \n return this.profileForm.controls['Name'].hasError('required') ? 'Not a valid name' : '';\n }\n\n async saveParentConsent(event: {student: ParentConsent, signature: string}){\n this.saving = true;\n this.parentService\n .saveParentConsent(event.student)\n .then(() => {\n this.openSnackBar('Consent saved');\n this.emitProfile.emit(event.student);\n this.saving = false;\n })\n .catch((err) => {\n this.openSnackBar(err);\n this.saving = false;\n });\n }\n\n\n back(){\n this.stepper.previous();\n }\n\n async uploadId(){\n let description = '';\n this.saving = true;\n this.dataService.uploadUserId(this.user.get('DriveId'), this.uploadedFile, description).then(async res => {\n this.openSnackBar('Upload Successful!');\n this.saving = false;\n });\n }\n\n async onFileSelected(event): Promise{\n let reader = new FileReader();\n if (event.target.files && event.target.files.length) {\n const file: File = event.target.files[0];\n reader.onload = () => {\n this.uploadedFile = {\n source: reader.result,\n type: file.type,\n name: 'ID_'+this.user.get('ID')\n }\n };\n reader.readAsDataURL(file)\n }\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n\n async getFile(fileId: string, mimeType: string, fileName: string){\n this.saving = true;\n // document.getElementById('showcaseImage').setAttribute(\"src\", '');\n // document.getElementById('showcaseFile').setAttribute(\"src\", '');\n return this.dataService.getUserFile(fileId, mimeType).then(res => {\n // if(mimeType.includes('image')){\n // document.getElementById('showcaseImage').setAttribute(\"src\", res);\n // }else{\n this.viewDriveFolder(fileName, mimeType, res, fileId)\n // document.getElementById('showcaseFile').setAttribute(\"src\", res);\n // }\n this.selectedFile = {\n type: mimeType.includes('image') ? 'image' : 'file',\n src: res\n }\n this.saving = false;\n return res;\n }).catch(err => console.log(err))\n \n }\n\n async viewDriveFolder(name, mimeType, file, fileId){\n\n const dialogRef = this.dialog.open(FileViewerDialogComponent, {\n data: {name, mimeType, file, fileId},\n width: '90%',\n maxWidth: '100vw',\n height: '90%',\n });\n \n dialogRef.afterClosed().subscribe(result => {\n if(result){\n // console.log(result);\n } else {\n this.dialog.closeAll();\n }\n });\n }\n\n async viewUserIdDoc(){\n this.saving = true;\n this.dataService.getUserFile(this.user.get('IdDocument'), '').then(res => {\n this.viewDriveFolder(this.uploadedID.name, this.uploadedID.type, res, res.id)\n this.selectedFile = {\n type: 'image/png',\n src: res\n }\n this.saving = false;\n return res;\n }).catch(err => console.log(err))\n \n }\n}\n\n\n\n","\n
\n
\n
\n \n
\n
\n \n \n

Your Details

\n
\n
\n
\n \n Name\n \n Name is Required\n \n \n Surname\n \n Surname is Required\n \n \n ID\n \n ID is Required\n \n \n
\n
\n \n Address\n \n Address is Required\n \n \n Mobile\n \n Mobile is Required\n \n \n Email\n \n Email is Required\n \n
\n
\n \n \n \n
\n
\n
\n\n
\n \n
\n \n
\n
\n

ID Document

\n

Please complete your profile by uploading a copy of your ID.

\n \n
\n {{uploadedID?.name}}\n
\n
\n
\n
\n \n
\n

No files found

\n
\n
\n \n
\n \n
"," import { Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { faSearch } from '@fortawesome/free-solid-svg-icons';\nimport { CourseSearchCriteria } from 'backend/interfaces/course.interface';\nimport { CourseService } from 'src/app/admin/services/course.service';\nimport { SideNavService } from 'src/app/admin/services/side-nav.service';\n\n@Component({\n selector: 'app-search-course',\n templateUrl: './search-course.component.html',\n styleUrls: ['./search-course.component.scss']\n})\nexport class SearchCourseComponent implements OnInit {\n loading = false;\n searchParentForm: UntypedFormGroup;\n noResults = false;\n faSearch = faSearch;\n searchPhrase: CourseSearchCriteria;\n constructor(private fb: UntypedFormBuilder, private courseService: CourseService, private sideNavService: SideNavService, private router: Router) { }\n\n ngOnInit(): void {\n this.searchParentForm = this.fb.group(\n {\n name: ['']\n });\n this.courseService.courseSearch$.subscribe(r => {\n this.searchPhrase = r;\n this.searchParentForm.patchValue({...r})\n })\n }\n\n search(){\n this.noResults = false;\n this.loading = true;\n this.courseService.searchCourse(this.searchParentForm.value).then(res => {\n if(res.courses.length > 0){\n this.courseService.courseSearch.next(this.searchParentForm.value);\n this.courseService.courses.next(res.parents);\n this.courseService.courseCount.next(res.count);\n this.router.navigate(['admin','courses']);\n this.sideNavService.close();\n } else {\n this.noResults = true;\n }\n this.loading = false;\n })\n }\n\n async clearSearch(){\n this.courseService.courseSearch.next({name: ''});\n this.loading = true;\n await this.courseService.getCourseCount();\n await this.courseService.getCourses(10, 0);\n this.loading = false;\n }\n}\n","\n\n\n
\n
\n
\n \n name\n \n \n \n
\n
\n
\n {{noResults ? 'No Results Found' : ''}}\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { GroupService } from 'src/app/admin/services/group.service';\nimport { SideNavService } from 'src/app/admin/services/side-nav.service';\n\n@Component({\n selector: 'app-search-group',\n templateUrl: './search-group.component.html',\n styleUrls: ['./search-group.component.scss']\n})\nexport class SearchGroupComponent implements OnInit {\n\n loading = false;\n searchGroupForm: UntypedFormGroup;\n noResults = false;\n constructor(private fb: UntypedFormBuilder, private groupService: GroupService, private sideNavService: SideNavService, private router: Router) { }\n\n ngOnInit(): void {\n this.searchGroupForm = this.fb.group(\n {\n name: ['']\n });\n }\n search(){\n this.noResults = false;\n this.loading = true;\n this.groupService.searchGroup(this.searchGroupForm.value).then(res => {\n if(res.length > 0){\n this.groupService.groups.next(res);\n this.router.navigate(['admin','categories']);\n this.sideNavService.close();\n } else {\n this.noResults = true;\n }\n this.loading = false;\n })\n }\n}\n","\n\n\n
\n
\n
\n \n Name\n \n \n
\n
\n
\n {{noResults ? 'No Results Found' : ''}}\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { LocationService } from 'src/app/admin/services/location.service';\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport { SideNavService } from 'src/app/admin/services/side-nav.service';\n\n\n@Component({\n selector: 'app-search-location',\n templateUrl: './search-location.component.html',\n styleUrls: ['./search-location.component.scss']\n})\nexport class SearchLocationComponent implements OnInit {\n\n loading = false;\n searchLocationForm: UntypedFormGroup;\n noResults = false;\n constructor(private fb: UntypedFormBuilder, private locationService: LocationService, private sideNavService: SideNavService) { }\n\n ngOnInit(): void {\n this.searchLocationForm = this.fb.group(\n {\n name: [''],\n address: [''],\n coordinates: ['']\n });\n }\n search(){\n this.noResults = false;\n this.loading = true;\n this.locationService.searchLocation(this.searchLocationForm.value).then(res => {\n if(res.length > 0){\n this.locationService.locations.next(res);\n this.sideNavService.close();\n } else {\n this.noResults = true;\n }\n this.loading = false;\n })\n }\n}\n","\n\n\n
\n
\n
\n \n Name\n \n \n \n Address\n \n \n \n Coordinates\n \n \n
\n
\n
\n {{noResults ? 'No Results Found' : ''}}\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { MealPlanService } from 'src/app/admin/services/meal-plan.service';\nimport { SideNavService } from 'src/app/admin/services/side-nav.service';\n\n\n@Component({\n selector: 'app-search-meal-plan',\n templateUrl: './search-meal-plan.component.html',\n styleUrls: ['./search-meal-plan.component.scss']\n})\nexport class SearchMealPlanComponent implements OnInit {\n\n loading = false;\n searchMealPlanForm: UntypedFormGroup;\n noResults = false;\n constructor(private fb: UntypedFormBuilder, private mealPlanService: MealPlanService, private sideNavService: SideNavService) { }\n\n ngOnInit(): void {\n this.searchMealPlanForm = this.fb.group(\n {\n title: [''],\n group: ['']\n });\n }\n search(){\n this.noResults = false;\n this.loading = true;\n this.mealPlanService.searchMealPlan(this.searchMealPlanForm.value).then(res => {\n if(res.length > 0){\n this.mealPlanService.mealPlans.next(res);\n this.sideNavService.close();\n } else {\n this.noResults = true;\n }\n this.loading = false;\n })\n }\n}\n","\n\n\n
\n
\n
\n \n Title\n \n \n \n Group\n \n \n
\n
\n
\n {{noResults ? 'No Results Found' : ''}}\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { MealService } from 'src/app/admin/services/meal.service';\nimport { SideNavService } from 'src/app/admin/services/side-nav.service';\n\n\n@Component({\n selector: 'app-search-meal',\n templateUrl: './search-meal.component.html',\n styleUrls: ['./search-meal.component.scss']\n})\nexport class SearchMealComponent implements OnInit {\n\n loading = false;\n searchMealForm: UntypedFormGroup;\n noResults = false;\n constructor(private fb: UntypedFormBuilder, private mealService: MealService, private sideNavService: SideNavService) { }\n\n ngOnInit(): void {\n this.searchMealForm = this.fb.group(\n {\n name: ['']\n });\n }\n search(){\n this.noResults = false;\n this.loading = true;\n this.mealService.searchMeal(this.searchMealForm.value).then(res => {\n if(res.length > 0){\n this.mealService.meals.next(res);\n this.sideNavService.close();\n } else {\n this.noResults = true;\n }\n this.loading = false;\n })\n }\n}\n","\n\n\n
\n
\n
\n \n Name\n \n \n
\n
\n
\n {{noResults ? 'No Results Found' : ''}}\n
\n \n
\n
\n"," import { Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { faSearch } from '@fortawesome/free-solid-svg-icons';\nimport { ParentSearchCriteria } from 'backend/interfaces/parent.interface';\nimport { ParentService } from 'src/app/admin/services/parent.service';\nimport { SideNavService } from 'src/app/admin/services/side-nav.service';\n\n@Component({\n selector: 'app-search-parent',\n templateUrl: './search-parent.component.html',\n styleUrls: ['./search-parent.component.scss']\n})\nexport class SearchParentComponent implements OnInit {\n loading = false;\n searchParentForm: UntypedFormGroup;\n noResults = false;\n faSearch = faSearch;\n searchPhrase: ParentSearchCriteria;\n constructor(private fb: UntypedFormBuilder, private parentService: ParentService, private sideNavService: SideNavService, private router: Router) { }\n\n ngOnInit(): void {\n this.searchParentForm = this.fb.group(\n {\n name: [''],\n surname: [''],\n mobile: [''],\n email: ['']\n });\n this.parentService.parentsSearch$.subscribe(r => {\n this.searchPhrase = r;\n this.searchParentForm.patchValue({...r})\n })\n }\n\n search(){\n this.noResults = false;\n this.loading = true;\n this.parentService.searchParent(this.searchParentForm.value).then(res => {\n if(res.parents.length > 0){\n this.parentService.parentSearch.next(this.searchParentForm.value);\n this.parentService.parents.next(res.parents);\n this.parentService.parentCount.next(res.count);\n this.router.navigate(['admin','parents']);\n this.sideNavService.close();\n } else {\n this.noResults = true;\n }\n this.loading = false;\n })\n }\n\n async clearSearch(){\n this.parentService.parentSearch.next({name: '', mobile: '', email: ''});\n this.loading = true;\n await this.parentService.getParentCount();\n await this.parentService.getParents(10, 0);\n this.loading = false;\n }\n}\n","\n\n\n
\n
\n
\n \n name\n \n \n \n surname\n \n \n \n mobile\n \n \n \n email\n \n \n \n
\n
\n
\n {{noResults ? 'No Results Found' : ''}}\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\n\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport { PractitionerService } from 'src/app/admin/services/practitioner.service';\nimport { SideNavService } from 'src/app/admin/services/side-nav.service';\n\n\n@Component({\n selector: 'app-search-practitioner',\n templateUrl: './search-practitioner.component.html',\n styleUrls: ['./search-practitioner.component.scss']\n})\nexport class SearchPractitionerComponent implements OnInit {\n\n loading = false;\n searchPractitionerForm: UntypedFormGroup;\n noResults = false;\n constructor(private fb: UntypedFormBuilder, private PractitionerService: PractitionerService, private sideNavService: SideNavService) { }\n\n ngOnInit(): void {\n this.searchPractitionerForm = this.fb.group(\n {\n name: [''],\n surname: ['']\n });\n }\n search(){\n this.noResults = false;\n this.loading = true;\n this.PractitionerService.searchPractitioner(this.searchPractitionerForm.value).then(res => {\n if(res.length > 0){\n this.PractitionerService.practitioners.next(res);\n this.sideNavService.close();\n } else {\n this.noResults = true;\n }\n this.loading = false;\n })\n }\n}\n","\n\n\n
\n
\n
\n \n Name\n \n \n \n Surname\n \n \n
\n
\n
\n {{noResults ? 'No Results Found' : ''}}\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { LocationService } from 'src/app/admin/services/location.service';\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport { ServicesService } from 'src/app/admin/services/services.service';\nimport { SideNavService } from 'src/app/admin/services/side-nav.service';\n\n\n@Component({\n selector: 'app-search-service',\n templateUrl: './search-service.component.html',\n styleUrls: ['./search-service.component.scss']\n})\nexport class SearchServiceComponent implements OnInit {\n\n loading = false;\n searchServiceForm: UntypedFormGroup;\n noResults = false;\n constructor(private fb: UntypedFormBuilder, private servicesService: ServicesService, private sideNavService: SideNavService) { }\n\n ngOnInit(): void {\n this.searchServiceForm = this.fb.group(\n {\n title: [''],\n duration: [''],\n price: ['']\n });\n console.log(this.searchServiceForm)\n }\n search(){\n this.noResults = false;\n this.loading = true;\n this.servicesService.searchService(this.searchServiceForm.value).then(res => {\n if(res.length > 0){\n this.servicesService.services.next(res);\n this.sideNavService.close();\n } else {\n this.noResults = true;\n }\n this.loading = false;\n })\n }\n}\n","\n\n\n
\n
\n
\n \n Title\n \n \n \n Duration\n \n \n \n Price\n \n \n
\n
\n
\n {{noResults ? 'No Results Found' : ''}}\n
\n \n
\n
\n"," import { Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { StudentService } from 'src/app/admin/services/student.service';\nimport { SideNavService } from 'src/app/admin/services/side-nav.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { faSearch } from '@fortawesome/free-solid-svg-icons';\nimport { StudentSearchCriteria } from 'backend/interfaces/student.interface';\n\n@Component({\n selector: 'app-search-student',\n templateUrl: './search-student.component.html',\n styleUrls: ['./search-student.component.scss']\n})\nexport class SearchStudentComponent implements OnInit {\n loading = false;\n searchStudentForm: UntypedFormGroup;\n noResults = false;\n faSearch = faSearch;\n searchPhrase: StudentSearchCriteria;\n constructor(private fb: UntypedFormBuilder, private studentService: StudentService, private sideNavService: SideNavService, private router: Router, private ar: ActivatedRoute) { }\n\n ngOnInit(): void {\n this.searchStudentForm = this.fb.group(\n {\n name: [''],\n surname: ['']\n });\n this.studentService.studentsSearch$.subscribe(r => {\n this.searchPhrase = r;\n this.searchStudentForm.patchValue({...r})\n })\n \n }\n search(){\n this.noResults = false;\n this.loading = true;\n this.studentService.searchStudent(this.searchStudentForm.value).then(async res => {\n if(res.students.length > 0){\n this.studentService.studentSearch.next(this.searchStudentForm.value);\n this.studentService.students.next(res.students);\n this.studentService.studentCount.next(res.count);\n this.router.navigate(['admin','students']);\n this.sideNavService.close();\n } else {\n this.noResults = true;\n }\n this.loading = false;\n })\n }\n\n async clearSearch(){\n this.studentService.studentSearch.next({name: '', surname: ''});\n this.loading = true;\n await this.studentService.getStudentCount();\n await this.studentService.getStudents(10, 0);\n this.loading = false;\n }\n}\n","\n\n\n
\n
\n
\n \n name\n \n \n \n surname\n \n \n \n
\n
\n
\n {{noResults ? 'No Results Found' : ''}}\n
\n \n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { LocationService } from 'src/app/admin/services/location.service';\nimport { Location } from 'backend/interfaces/location.interface';\nimport { Service } from 'backend/interfaces/service.interface';\nimport { ServicesService } from 'src/app/admin/services/services.service';\nimport { faTrash } from '@fortawesome/free-solid-svg-icons';\n@Component({\n selector: 'app-service',\n templateUrl: './service.component.html',\n styleUrls: ['./service.component.scss']\n})\nexport class ServiceComponent implements OnInit {\n saving = false;\n faTrash = faTrash;\n @Input() service: Service = {title: '', description: '', duration: '', note: '', id: '', price: ''};\n @Output() emitService: EventEmitter = new EventEmitter();\n @Output() closeService: EventEmitter = new EventEmitter();\n serviceForm: UntypedFormGroup;\n constructor(private fb: UntypedFormBuilder, private servicesService: ServicesService, private _snackBar: MatSnackBar) { }\n\n ngOnInit(): void {\n // console.log(this.service)\n this.serviceForm = this.fb.group({\n title: [this.service ? this.service.title : '', Validators.required],\n description: [this.service ? this.service.description : '', Validators.required],\n duration: [this.service ? this.service.duration : ''],\n note: [this.service ? this.service.note : ''],\n id: [this.service ? this.service.id : ''],\n price: [this.service ? this.service.price : '']\n\n })\n }\n\n async saveService(){\n if(this.serviceForm.dirty){\n this.saving = true;\n this.servicesService\n .saveService(this.serviceForm.value)\n .then((res) => {\n this.saving = false;\n this.openSnackBar('Service saved');\n this.servicesService.getServices(10, 0);\n this.servicesService.getServicesCount();\n this.closeService.emit();\n })\n .catch((err) => {\n this.openSnackBar(err);\n this.saving = false;\n });\n this.serviceForm.markAsPristine();\n this.service.title = this.serviceForm.controls['title'].value;\n }else{\n this.closeService.emit();\n }\n }\n\n openSnackBar(message: string) {\n this._snackBar.open(message, 'OK', {\n duration: 3000\n });\n }\n\n deleteService(){\n this.saving = true;\n this.servicesService.deleteService(this.service.id).then(res => {\n this.saving = false;\n this.openSnackBar('Service deleted');\n this.servicesService.getServices(10, 0);\n this.servicesService.getServicesCount();\n this.closeService.emit();\n }).catch(err => {\n this.openSnackBar(err);\n })\n }\n}\n","\n
\n
\n \n
\n
\n\n \n \n Service Details\n \n \n
\n
\n \n
\n \n Title\n \n \n \n Description\n \n \n \n Duration\n \n \n \n Price\n \n \n
\n
\n \n \n \n \n
\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { StudentConsentFormComponent } from './student-consent-form/student-consent-form.component';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport {MatCardModule} from '@angular/material/card';\nimport { SignaturePadComponent } from './signature-pad/signature-pad.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { ProfileComponent } from './profile/profile.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { LetterheadComponent } from './letterhead/letterhead.component';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport {MatExpansionModule} from '@angular/material/expansion';\nimport {MatRadioModule} from '@angular/material/radio';\nimport { CalendarModule, DateAdapter } from 'angular-calendar';\nimport { adapterFactory } from 'angular-calendar/date-adapters/moment';\nimport * as moment from 'moment';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\nimport { AppointmentFormComponent } from './appointment-form/appointment-form.component';\nimport { CancelDialogComponent } from './cancel-dialog/cancel-dialog.component';\nimport { CalendarComponent } from './calendar/calendar.component';\nimport {MatDatepickerModule} from '@angular/material/datepicker';\nimport { MatNativeDateModule, MAT_DATE_LOCALE } from '@angular/material/core';\nimport {MatSliderModule} from '@angular/material/slider';\nimport { ProfilePictureDialogComponent } from './profile-picture-dialog/profile-picture-dialog.component';\nimport { WebcamModule } from 'ngx-webcam';\nimport { AppointmentsDialogComponent } from './appointments-dialog/appointments-dialog.component';\nimport { SearchLocationComponent } from './search-location/search-location.component';\nimport { LocationComponent } from './location/location.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { PractitionerComponent } from './practitioner/practitioner.component';\nimport { SearchPractitionerComponent } from './search-practitioner/search-practitioner.component';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { AlbumDialogComponent } from './album-dialog/album-dialog.component';\nimport {MatDividerModule} from '@angular/material/divider';\nimport { ServiceComponent } from './service/service.component';\nimport { SearchServiceComponent } from './search-service/search-service.component';\nimport { SearchStudentComponent } from './search-student/search-student.component';\nimport { SearchParentComponent } from './search-parent/search-parent.component';\nimport { DailyReportComponent } from './daily-report/daily-report.component';\nimport { LettersComponent } from './letters/letters.component';\nimport { MealPlanComponent } from './meal-plan/meal-plan.component';\nimport { CheckInComponent } from './check-in/check-in.component';\nimport { SearchMealPlanComponent } from './search-meal-plan/search-meal-plan.component';\nimport { MealComponent } from './meal/meal.component';\nimport { SearchMealComponent } from './search-meal/search-meal.component';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { GroupComponent } from './group/group.component';\nimport { SearchGroupComponent } from './search-group/search-group.component';\nimport { DeleteDialogComponent } from './delete-dialog/delete-dialog.component';\nimport { LightgalleryModule } from 'lightgallery/angular/13';\nimport { FileViewerDialogComponent } from './file-viewer-dialog/file-viewer-dialog.component';\nimport { GdriveComponent } from './gdrive/gdrive.component';\nimport { NotificationsComponent } from './notifications/notifications.component';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { FlipCardComponent } from './components/flip-card/flip-card.component';\nimport { CourseProfileComponent } from './course-profile/course-profile.component';\nimport { SearchCourseComponent } from './search-course/search-course.component';\nimport { CourseQuestionComponent } from './components/course-question/course-question.component';\nimport { CourseQuestionsComponent } from './course-questions/course-questions.component';\nimport { CourseAnswersComponent } from './course-answers/course-answers.component';\nimport { AssetUploadDialogComponent } from './asset-upload-dialog/asset-upload-dialog.component';\nimport { LearnerSurveyComponent } from './learner-survey/learner-survey.component';\nimport { SubmisionCompleteDialogComponent } from './submision-complete-dialog/submision-complete-dialog.component';\n\n\nexport function momentAdapterFactory() {\n return adapterFactory(moment);\n};\n\n@NgModule({\n providers: [\n {provide: MAT_DATE_LOCALE, useValue: 'en-GB'},\n HttpClientModule\n ],\n declarations: [\n StudentConsentFormComponent,\n SignaturePadComponent,\n ProfileComponent,\n LetterheadComponent,\n CancelDialogComponent,\n CalendarComponent,\n AppointmentFormComponent,\n AppointmentsDialogComponent,\n SearchLocationComponent,\n LocationComponent,\n PractitionerComponent,\n SearchPractitionerComponent,\n AlbumDialogComponent,\n ServiceComponent,\n SearchServiceComponent,\n SearchStudentComponent,\n SearchParentComponent,\n DailyReportComponent,\n LettersComponent,\n MealPlanComponent,\n CheckInComponent,\n SearchMealPlanComponent,\n MealComponent,\n SearchMealComponent,\n GroupComponent,\n SearchGroupComponent,\n DeleteDialogComponent,\n FileViewerDialogComponent,\n GdriveComponent,\n NotificationsComponent,\n FlipCardComponent,\n CourseProfileComponent,\n SearchCourseComponent,\n CourseQuestionComponent,\n CourseQuestionsComponent,\n CourseAnswersComponent,\n AssetUploadDialogComponent,\n LearnerSurveyComponent,\n SubmisionCompleteDialogComponent\n ],\n imports: [\n CommonModule, FormsModule, ReactiveFormsModule, MatCheckboxModule, FontAwesomeModule, MatCardModule, MatDialogModule, MatFormFieldModule, MatInputModule, MatButtonModule, MatToolbarModule, MatProgressSpinnerModule, MatStepperModule, MatExpansionModule, MatRadioModule,\n CalendarModule.forRoot({ provide: DateAdapter, useFactory: momentAdapterFactory }), MatSnackBarModule, MatProgressBarModule, MatDatepickerModule, MatNativeDateModule, MatSliderModule, WebcamModule, HttpClientModule, MatSidenavModule, MatSelectModule, MatChipsModule, MatDividerModule, DragDropModule, MatSelectModule, LightgalleryModule,MatBadgeModule\n ],\n exports: [\n StudentConsentFormComponent,\n ProfileComponent,\n CalendarComponent,\n AppointmentFormComponent,\n SearchStudentComponent,\n SearchLocationComponent,\n SearchPractitionerComponent,\n LocationComponent,\n PractitionerComponent,\n ServiceComponent,\n SearchServiceComponent,\n SearchParentComponent,\n DailyReportComponent,\n LettersComponent,\n MealPlanComponent,\n CheckInComponent,\n SearchMealPlanComponent,\n MealComponent,\n SearchMealComponent,\n GroupComponent,\n SearchGroupComponent,\n NotificationsComponent,\n FlipCardComponent,\n CourseProfileComponent,\n SearchCourseComponent,\n CourseAnswersComponent,\n GdriveComponent,\n LearnerSurveyComponent\n ]\n})\nexport class SharedModule { }\n\n","import { AfterViewInit, Component, ElementRef, Inject, ViewChild } from '@angular/core';\nimport SignaturePad from 'signature_pad';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\n\ninterface DialogData {\n name: string;\n surname: string;\n}\n@Component({\n selector: 'app-signature-pad',\n templateUrl: './signature-pad.component.html',\n styleUrls: ['./signature-pad.component.scss']\n})\nexport class SignaturePadComponent implements AfterViewInit {\n signPad: any;\n signed = false;\n @ViewChild('signPadCanvas', {static: false}) signaturePadElement: ElementRef;\n @ViewChild('container', {static: false}) container: ElementRef;\n signImage: any;\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,) { }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.signaturePadElement.nativeElement.setAttribute('height', (this.container.nativeElement.offsetHeight+'px'));\n this.signaturePadElement.nativeElement.setAttribute('width', ((this.container.nativeElement.offsetWidth-24)+'px'));\n }, 200);\n \n this.signPad = new SignaturePad(this.signaturePadElement.nativeElement);\n }\n \n startSignPadDrawing(event: Event) {\n // console.log(event);\n }\n \n movedFinger(event: Event) {\n }\n\n undoSign() {\n const data = this.signPad.toData();\n if (data) {\n data.pop(); \n this.signPad.fromData(data);\n }\n }\n\n clearSignPad() {\n this.signPad.clear();\n this.signed = false;\n }\n redoSignPad() {\n this.signPad.clear();\n this.signed = false;\n this.signPad = new SignaturePad(this.signaturePadElement.nativeElement);\n }\n\n async saveSignPad() {\n if(this.signPad.toData().length > 0) {\n this.trimCanvas();\n const base64ImageData = this.signPad.toDataURL();\n this.signImage = base64ImageData;\n this.dialogRef.close({ data: this.signImage });\n }\n }\n cancel(){\n this.signed = false;\n this.clearSignPad();\n this.dialogRef.close();\n }\n\n trimCanvas(threshold = 0) {\n const canvasElement = this.signaturePadElement.nativeElement;\n const ctx = canvasElement.getContext('2d'),\n w = canvasElement.width, h = canvasElement.height,\n imageData = ctx.getImageData(0, 0, w, h),\n tlCorner = { x:w+1, y:h+1 },\n brCorner = { x:-1, y:-1 };\n\n for (let y = 0; y < h; y++) {\n for (let x = 0; x < w; x++) {\n if (imageData.data[((y * w + x) * 4) + 3] > threshold) {\n tlCorner.x = Math.min(x, tlCorner.x);\n tlCorner.y = Math.min(y, tlCorner.y);\n brCorner.x = Math.max(x, brCorner.x);\n brCorner.y = Math.max(y, brCorner.y);\n }\n }\n }\n\n const cut = ctx.getImageData(tlCorner.x, tlCorner.y, brCorner.x - tlCorner.x, brCorner.y - tlCorner.y);\n\n canvasElement.width = brCorner.x - tlCorner.x;\n canvasElement.height = brCorner.y - tlCorner.y;\n\n ctx.putImageData(cut, 0, 0);\n\n return {width:canvasElement.width, height:canvasElement.height, x:tlCorner.x, y:tlCorner.y};\n}\n}\n","\n

Please Sign on the line below

\n \n \n \n
\n {{data.name}} {{data.surname}}\n \n
\n \n \n \n
\n
\n \n
\n
\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { faDownload, faEnvelope, faHome, faPhone } from '@fortawesome/free-solid-svg-icons';\nimport { Student } from 'backend/interfaces/student.interface';\nimport {MatDialog, MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport { SignaturePadComponent } from '../signature-pad/signature-pad.component';\nimport pdfMake from \"pdfmake/build/pdfmake\";\nimport pdfFonts from \"pdfmake/build/vfs_fonts\";\nimport { FileUpload } from 'backend/interfaces/file-upload';\npdfMake.vfs = pdfFonts.pdfMake.vfs;\n \n@Component({\n selector: 'app-student-consent-form',\n templateUrl: './student-consent-form.component.html',\n styleUrls: ['./student-consent-form.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class StudentConsentFormComponent implements OnInit, AfterViewInit {\n consentForm: UntypedFormGroup;\n faPhone = faPhone;\n faHome = faHome;\n faDownload = faDownload;\n faEnvelope = faEnvelope;\n signature: any;\n signed = false;\n pdf: FileUpload;\n saving = false;\n\n @ViewChild('signatureElement', {static: false}) signatureElement: ElementRef;\n @ViewChild('TreatmentConsent', {static: false}) TreatmentConsent: ElementRef;\n @Input() student?: Student;\n @Output() emitStudent = new EventEmitter();\n @Output() emitBack = new EventEmitter();\n panelOpenState = false;\n company = {\n name: 'intellgroup',\n practitioner: 'Name Surname',\n prNo: '',\n address: {\n number: '',\n street: '',\n suburb: '',\n city: '',\n code: ''\n },\n contactNumber: '',\n email: ''\n }\n constructor(private fb: UntypedFormBuilder, public dialog: MatDialog) { }\n\nasync ngOnInit(): Promise {\n this.consentForm = this.fb.group({\n InformedFinancialConsent: [this.student.InformedFinancialConsent, Validators.required],\n InformedDataConsent: [this.student.InformedDataConsent, Validators.required],\n Document: [this.student.Document ? this.student.Document: {source: '', name: ''}, Validators.required]});\n}\n\ntreatmentConsent = [\n \"the undersigned, hereby request and consent to...\",\n \"\"\n];\nfinancialConsent = [\n \"the undersigned, hereby accept full financial responsibility for this account. I confirm that all details provided are all true and correct. I am aware of the costs of the treatment.\",\n]\n\ncancelationNote = \"Appointments not cancelled within 4 hours of the due time will be Charged in full tariff. This practice is contracted out of Medical Aid. You are to please settle your account directly with this office and then submit your receipted invoice to your Medical Aid for reimbursement.\";\n\nngAfterViewInit(): void {\n}\n\nasync saveStudentConsent(){\n this.saving = true;\n await this.generatePDF();\n setTimeout(() => {\n this.emitStudent.emit({'student': {\n ID: this.student.ID,\n InformedFinancialConsent: this.consentForm.controls['InformedFinancialConsent'].value,\n InformedDataConsent: this.consentForm.controls['InformedDataConsent'].value,\n Document: this.consentForm.controls['Document'].value\n }, 'signature': this.signature});\n this.saving = false;\n }, 4000);\n}\n\nopenDialog(): void {\n const dialogRef = this.dialog.open(SignaturePadComponent, {\n data: {name: this.student.Name, surname: this.student.Surname},\n width: '80%',\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if(result){\n this.signature = result.data;\n this.signatureElement.nativeElement.setAttribute('src', this.signature);\n this.signed = true;\n } else {\n this.signed = false;\n }\n });\n}\n\ngetErrorMessage() {\n if (this.consentForm.controls['Name'].hasError('required')) {\n return 'You must enter a value';\n }\n\n return this.consentForm.controls['Name'].hasError('required') ? 'Not a valid name' : '';\n}\n\n\n async generatePDF(action?: string): Promise {\n const personNameAndSurname = this.student.Name + ' ' + this.student.Surname;\n let docDefinition = {\n content: [\n {\n columns: [\n [\n {\n margin: [-40, -40, -40, 0],\n width: 595,\n image: await this.getBase64ImageFromURL('../../../assets/letterhead.png')\n }\n ]\n ]\n },\n {\n margin: [0,10,0,5],\n columns: [\n {\n text: 'Client Details',\n fontSize: 10,\n bold: true,\n },\n {\n text: 'Medical Aid',\n fontSize: 10,\n bold: true,\n }\n ]\n },\n {\n columns: [\n {\n // Student Particulars\n fontSize: 10,\n stack: [\n {\n columns: [\n {\n text: 'Name: ', margin: [0,1], width: '25%'\n },\n {\n text: this.student.Name, margin: [0,1], width: 'auto'\n }\n ]\n },\n {\n columns: [\n {\n text: 'Surname: ', margin: [0,1], width: '25%'\n },\n {\n text: this.student.Surname, margin: [0,1], width: 'auto'\n }\n ]\n },\n {\n columns: [\n {\n text: 'ID Number: ', margin: [0,1], width: '25%'\n },\n {\n text: this.student.ID, margin: [0,1], width: 'auto'\n }\n ]\n },\n {\n columns: [\n {\n text: 'Mobile: ', margin: [0,1], width: '25%'\n },\n {\n text: this.student.Mobile, margin: [0,1], width: 'auto'\n }\n ]\n },\n {\n columns: [\n {\n text: 'Email: ', margin: [0,1], width: '25%'\n },\n {\n text: this.student.Email, margin: [0,1], width: 'auto'\n }\n ]\n },\n {\n columns: [\n {\n text: 'Address: ', margin: [0,1], width: '25%'\n },\n {\n text: this.student.Address, margin: [0,1], width: 'auto'\n }\n ]\n },\n ],\n },\n {\n // Medical Aid Particulars\n fontSize: 10,\n stack: [\n {\n columns: [\n {\n text: 'Main Member: ', margin: [0,1], width: '50%'\n },\n {\n text: this.student.MedicalAidMainMember, margin: [0,1], width: 'auto'\n }\n ]\n },\n {\n columns: [\n {\n text: 'Medical Aid Number: ', margin: [0,1], width: '50%'\n },\n {\n text: this.student.MedicalAidNumber, margin: [0,1], width: 'auto'\n }\n ]\n },\n {\n columns: [\n {\n text: 'Medical Aid Name: ', margin: [0,1], width: '50%'\n },\n {\n text: this.student.MedicalAidName, margin: [0,1], width: 'auto'\n }\n ]\n },\n {\n columns: [\n {\n text: 'Notes: ', margin: [0,1], width: '50%'\n },\n {\n text: this.student.Notes, margin: [0,1], width: 'auto'\n }\n ]\n },\n {\n columns: [\n {\n text: 'HealthProblems: ', margin: [0,1], width: '50%'\n },\n {\n text: this.student.HealthProblems, margin: [0,1], width: 'auto'\n }\n ]\n }\n ],\n }\n ]},\n {\n text: 'Informed Consent',\n fontSize: 10,\n margin: [0, 10, 0, 0],\n bold: true\n },\n {\n\n stack: [\n {\n text: 'I, '+ personNameAndSurname + ', ' + this.treatmentConsent[0], margin: [0,5]\n },\n {\n text: this.treatmentConsent[1], \n margin: [0,5]\n },\n {\n text: this.treatmentConsent[2], \n margin: [0,5]\n }\n ],\n fontSize: 10\n\n },\n {\n text: 'Informed Consent to the Financial Responsibility of My Account',\n fontSize: 10,\n margin: [0, 10, 0, 0],\n bold: true\n },\n {\n\n stack: [\n {\n text: 'I, '+ personNameAndSurname + ', ' + this.financialConsent[0], margin: [0,5]\n },\n {\n text: this.financialConsent[1], \n margin: [0,5]\n },\n {\n text: this.financialConsent[2], \n margin: [0,5]\n }\n ],\n fontSize: 10\n\n },\n { \n image: this.signature,\n fit: [80,80],\n style: 'sectionHeader'\n },\n {\n text: \"Students Signature (Parent/Guardian of student should the student be younger than 18)\"\n }\n ],\n styles: {\n sectionHeader: {\n bold: true,\n decoration: 'underline',\n fontSize: 14,\n margin: [0,15,0,15] \n }\n }\n };\n const pdfDocGenerator = pdfMake.createPdf(docDefinition);\n await pdfDocGenerator.getBase64((data) => {\n const pdf = {\n name: this.student.ID+'_studentConsent'+'.pdf',\n source: data\n };\n setTimeout(() => {\n this.consentForm.controls['Document'].setValue(pdf);\n }, 500);\n })\n // if(action==='view'){\n // pdfDocGenerator.open(); \n // }\n }\n\n\n getBase64ImageFromURL(url) {\n return new Promise((resolve, reject) => {\n var img = new Image();\n img.setAttribute(\"crossOrigin\", \"anonymous\");\n\n img.onload = () => {\n var canvas = document.createElement(\"canvas\");\n canvas.width = img.width;\n canvas.height = img.height;\n\n var ctx = canvas.getContext(\"2d\");\n ctx.drawImage(img, 0, 0);\n\n var dataURL = canvas.toDataURL(\"image/png\");\n\n resolve(dataURL);\n };\n\n img.onerror = error => {\n reject(error);\n };\n\n img.src = url;\n });\n }\n\n back(){\n this.emitBack.emit(true);\n }\n download() {\n const linkSource = this.student.Document;\n const downloadLink = document.createElement('a');\n downloadLink.href = linkSource.source;\n downloadLink.target = '_blank';\n downloadLink.download = linkSource.name;\n downloadLink.click();\n }\n}","\n
\n \n
\n\n\n
\n \n \n Contract Summary\n Informed Consent\n \n \n
\n
\n

\n I,\n {{ student.Name }} {{ student.Surname }},\n {{ p }}\n

\n
\n
\n

Do you consent?

\n \n \n Yes\n \n \n No\n \n \n In order for you to be treatment we need your consent.\n
\n
\n
\n
\n \n \n Financial Responsibility of My Account\n Informed Consent\n \n \n
\n
\n

\n I,\n {{ student.Name }} {{ student.Surname }},\n {{ p }}\n

\n
\n
\n

\n Do you consent to the Financial responsibility involved?\n

\n \n \n Yes\n \n \n No\n \n \n In order for you to be treatment we need your consent.\n
\n
\n
\n
\n\n \n \n
\n
\n

Signature

\n
\n
\n \n \n Sign\n \n
\n
\n
\n
\n

\n Please ensure that you read and consent to the above\n

\n \n \n \n
\n \n Download Saved Consent\n \n
\n \n \n \n
\n\n","import { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { faCheck } from '@fortawesome/free-solid-svg-icons';\n\ninterface DialogData {\n title: string;\n test: string;\n}\n\n@Component({\n selector: 'app-submision-complete-dialog',\n templateUrl: './submision-complete-dialog.component.html',\n styleUrls: ['./submision-complete-dialog.component.scss']\n})\nexport class SubmisionCompleteDialogComponent implements OnInit {\n title;\n test;\n faCheck = faCheck\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData) { }\n\n ngOnInit(): void {\n // console.log(this.data)\n this.title = this.data.title;\n this.test = this.data.test;\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n}\n","

\n

Thank you

\n

You have successfully submitted your answers.

\n
\n Course: {{title}}\n
\n
\n \n
","export const environment = {\n production: false,\n PARSE_APP_ID: 'OtcvFafI6g2L01w8OlYqmoQZJsNzryY70Go1GI0z',\n PARSE_JS_KEY: '4fIqxqwSD3cZI5BVBfpNBg1KRdBAWosU3TfdgjwP',\n serverURL: 'https://parseapi.back4app.com',\n // serverURL: 'http://localhost:1337/parse',\n liveQueryServerURL: 'wss://intellgroup.b4a.io',\n assetsFolderId: '1glguzAjhR7LzckleW_O5hjWdgrjAHJpn'\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-ps\": 46235,\n\t\"./ar-ps.js\": 46235,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 62451,\n\t\"./cs.js\": 62451,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku-kmr\": 19619,\n\t\"./ku-kmr.js\": 19619,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 75569,\n\t\"./nl-be.js\": 75569,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["Parse","BehaviorSubject","HttpHeaders","CourseService","constructor","http","courses","asObservable","orders","activatedOrder","courseSearch","enrollments","activatedEnrollment","activatedCourse","courseCount","saveCourse","course","Cloud","run","then","result","saveCourseConsent","courseConsent","getCourses","displayLimit","page","next","getOrders","getOrderById","id","res","getEnrollmentById","getCourseById","getStudentsByCourseId","mainContact","getEnrollmentsByUserId","getEnrollmentsByOrderKey","getCourseByEmail","email","getCalendarBusy","from","to","getCalendarEvents","getCourseCount","getCourseQuestions","courseId","section","createBooking","event","updateBooking","deleteBooking","deleteCourse","deleteOrder","searchCourse","criteria","getCourseRequests","status","courseRequests","saveProfilePicture","image","getCourseFile","mimeType","getcourseFiles","fileId","saveCourseQuestions","questions","getAlbumList","getAlbumById","createDriveFolder","createAccount","createPhotoAlbum","uploadFile","uploadedFile","description","uploadPhoto","authToken","body","source","newMediaItems","reqHeaders","Authorization","type","name","batchCreateHeaders","uploadToken","post","headers","responseType","toPromise","push","simpleMediaItem","fileName","albumId","generateKey","quantity","customerRef","expiryDate","removeFile","i0","factory","providedIn","moment","ParentService","parents","parentSearch","activatedParent","parentBirthdays","parentCount","saveParent","parent","saveParents","saveParentConsent","parentConsent","saveParentMedicalDetails","medicalDetails","getParents","getParentById","getStudentsByParentId","getParentByEmail","getParentCount","getParentBirthdays","date","Date","filter","r","DOB","searchParent","parentId","uploadPictureToBucket","bucket","recogniseFace","put","response","authenticate","Message","catch","err","file","requestUrl","URLSearchParams","objectKey","get","data","console","log","getParentFile","getparentFiles","StudentService","students","studentBirthdays","studentSearch","activatedStudent","activatedPhotoAlbum","activatedDrive","studentCount","saveStudent","student","saveStudents","saveStudentConsent","studentConsent","saveStudentMedicalDetails","getStudents","getStudentById","getStudentByEmail","getStudentCount","searchStudent","studentId","getStudentFile","getstudentFiles","saveDailyReport","dailyReport","getStudentDailyReport","studentID","fromDate","toDate","reportId","getBirthdays","AdminAuthGuardService","auth","router","canActivate","route","state","AuthState","isAuthenticated","userFetched","navigateByUrl","AuthService","User","current","checkingAuth","fetch","fetchedUser","setUser","getCheckoutId","amount","getPaymentStatus","checkoutId","userId","login","password","sessionStorage","removeItem","logIn","user","message","getUser","$User","getValue","register","signup","forgotPassword","requestPasswordReset","signOut","logOut","clear","Promise","resolve","getUserRole","faPhoneVolume","ForgotPasswordComponent","authService","activatedroute","ngOnInit","localStorage","snapshot","queryParams","code","showSubmit","loader","errorMessage","error","goTo","navigate","selectors","decls","vars","consts","template","ctx","Validators","faEyeSlash","faEye","LoginComponent","activatedRoute","fb","loading","loginForm","group","required","redirect","returnUrl","controls","value","toLowerCase","togglePassword","show","passwordVisible","ParentAuthGuardService","_snackBar","openSnackBar","open","duration","RegisterComponent","formBuilder","studentService","mobile","surname","f","clearButton","onSubmit","submitted","invalid","Name","Surname","Mobile","Email","ID","alert","Observable","map","faCalendar","faCalendarAlt","faMapMarker","faMapMarkerAlt","faNotesMedical","faUserAlt","_r34","NewAppointmentComponent","_formBuilder","breakpointObserver","dataService","appointmentService","setMonth","getMonth","location","d","day","getDay","BookingForSomeoneElse","AdditionalNotes","RelationToStudent","now","setHours","stepperOrientation","observe","pipe","matches","timeSlots","getLocations","getServices","getPractitioners","services$","subscribe","services","locations$","locations","practitioners$","practitioners","setAppointmentType","title","appointmentTypeForm","setValue","stepper","setLocation","loadingPractitioners","selectedLocation","appointmentLocationForm","selectedPractitioner","practitionersAtLocation","obj","some","setPractitioner","setDate","appointmentDateForm","selectDate","selectedDate","dateString","toDateString","dateValue","split","year","DayAndDate","getAvailableTimes","_event","parseInt","getDate","getFullYear","forEach","slot","time","selected","selectTimeSlot","timeSlot","makeAppointment","appointment","appointmentType","appointmentLocation","appointmentDate","appointmentDuration","studentName","profileForm","studentSurname","studentMobile","studentEmail","studentHasAgent","toString","additionalNotes","preferredPractitioner","bookingAgentName","bookingAgentForm","bookingAgentSurname","bookingAgentMobile","bookingAgentEmail","bookingAgentRelationToStudent","colorId","find","l","createAppointmentRequest","getAppointmentsByLocation","continueToSignIn","goHome","viewQuery","PDFDocument","FileSaver","faPlus","faTrash","faUpload","PdfWorkerComponent","onFileSelected","index","target","files","documentsFieldAsFormArray","patchValue","documents","doc","arrayBuffer","documentsForm","array","document","addControl","remove","i","removeAt","splice","embedPdfPages","mergedPdf","create","element","temp","load","copiedPages","copyPages","getPageIndices","addPage","pdfBytes","save","blob","Blob","saveAs","getElementById","click","CoursesComponent","dialog","locationService","courses$","courseList","viewCourse","faBuilding","faCheckDouble","faChevronDown","faChevronLeft","faChevronRight","faInfoCircle","faPhotoVideo","faQuoteLeft","CalendarEvent","CalendarView","HomeComponent","viewDate","getHours","timestamp","subtract","setInterval","groups$","categories","newAppointment","docuMerge","faCaretLeft","faTimes","ViewCourseComponent","ar","params","courseName","enroll","ParseClasses","NotifyService","notifications","Query","NOTIFICATIONS","subscribeToNotifications","query","equalTo","descending","limit","notificationObjects","Set","subscription","on","notification","add","saveNotification","MAT_DIALOG_DATA","faFilePdf","faImage","AlbumDialogComponent","dialogRef","parentService","close","uploadPhotos","uploadedImage","getFile","showcase","setAttribute","includes","selectedFile","src","reader","FileReader","length","onload","readAsDataURL","EventEmitter","SidenavActions","DeleteDialogComponent","ctx_r0","_r5","ctx_r1","_r29","AppointmentFormComponent","sideNavService","appointmentStart","appointment$","meta","end","start","diff","appointmentForm","summary","toLocaleTimeString","disabled","attendeeEmail","notes","newAppointmentForm","s","saveBooking","updateAppointment","mapDateTime","dateTime","toISOString","timeZone","attendees","reminders","useDefault","overrides","method","createAppointment","skipLocationChange","rejectAppointmentRequest","accepted","rejectAppointment","acceptAppointmentRequest","openDeleteDialog","question","afterClosed","cancel","closeAll","deleteAppointment","openAppointmentDetail","openAppointment","emit","labelFn","timeString","newDate","newDateTime","set","hourFromPreviousSelectedDate","minutesFromPreviousSelectedDate","getMinutes","newDateSelectedWithTimeFromPreviouslySelected","setMinutes","setTimeFromDropdown","inputs","appointmentAction","outputs","ElementRef","faCamera","faUser","AssetUploadDialogComponent","courseService","onNoClick","showThumb","webcamImage","webcamImageDisplay","nativeElement","imageAsDataUrl","recognitionImage","imageAsBase64","toggleCamera","showCamera","fileInput","imageToUpload","saving","TemplateRef","CalendarEventTimesChangedEvent","Subject","SideNavService","ctx_r3","ctx_r4","ctx_r5","CalendarComponent","modal","Week","appointments$","events","updateParentLoader","dayClicked","isSame","activeDayIsOpen","eventTimesChanged","newStart","newEnd","iEvent","handleEvent","viewAppointment","deleteEvent","eventToDelete","setView","view","closeOpenMonthViewDay","e","newBookingForm","openSideNav","getEventsByEmail","getEventsByLocation","loc","utcOffset","endTime","allDay","resizable","beforeStart","afterEnd","draggable","cssClass","getAppointmentsByEmail","sendReminderEmails","FormBuilder","faAngry","faSadTear","faSmile","CheckInComponent","CheckInMood","CheckInNotes","CheckIn","activatedStudent$","ReportId","patchReportForm","saveReport","StudentID","checkInForm","setMood","setPresence","reportObject","reset","STEPPER_GLOBAL_OPTIONS","SubmisionCompleteDialogComponent","control_r6","CourseAnswersComponent","icon","text","userIdNumber","Order","expired","isAfter","Status","answers","Course","answerType","list","listCount","note","points","answer","listLabelType","imageId","listItems","options","FormativeAnswers","SummativeAnswers","answersForm","answersFieldAsFormArray","saveAssessment","submit","submitAssessment","openSubmissionCompleteDialog","updateQuestion","updateAnswerListItem","answerId","itemId","answrs","answr","at","answerListArray","getAphabetLetter","alpha","test","provide","useValue","displayDefaultIndicatorType","showError","CourseStatus","ctx_r2","CourseProfileComponent","groupService","thirdCtrl","currentUser","activatedCourse$","profile","RegistrationNumber","Category","Pricing","Description","PublicLink","UnitStandard","RegistrationDate","CloseDate","CREATED","Slides","c","saveProfile","dirty","newCourseEmail","undefined","markAsPristine","getErrorMessage","hasError","emitProfile","back","previous","FormControl","faBars","moveItemInArray","ctx_r26","CourseQuestionsComponent","questionsForm","TwoDArray","table","x","y","questionsFieldAsFormArray","tableRows","tableColumns","addQuestion","qId","addOption","questionId","getQuestion","getOptionsFieldAsFormArray","updateQuestionOptions","optionId","removeQuestionOptions","option","optionBody","setQuestionType","questionType","openAssetUploadDialog","width","removeImage","setTable","previousTableValue","rows","cols","j","xcoord","ycoord","setTableCell","row","col","addRow","numRows","numCols","newRow","addColumn","removeColumn","pop","removeRow","rowId","drop","previousIndex","currentIndex","FormArray","FormGroup","faCheckCircle","faClock","faTimesCircle","DailyReportComponent","isAdmin","diaperChangesArray","DiaperChanges","medicationArray","Medication","dailyReportForm","eatBreakfast","eat","EatBreakfast","eatSnack1","EatSnack1","eatLunch","EatLunch","eatSnack2","EatSnack2","drinkBottle1","drink","DrinkBottle1","qty","drinkBottle2","DrinkBottle2","drinkBottle3","DrinkBottle3","sleep1","sleep","Sleep1","sleep2","Sleep2","sleep3","Sleep3","diaperChanges","medication","mood","Mood","Notes","addDiaperChange","diaperChangeForm","diaper","removeDiaperChange","diaperIndex","addMedication","medicationForm","removeMedication","medIndex","FileViewerDialogComponent","dataBlob","b64toBlob","isFile","URL","createObjectURL","b64Data","contentType","sliceSize","byteCharacters","atob","byteArrays","offset","slice","byteNumbers","Array","charCodeAt","byteArray","Uint8Array","MatDialog","faFile","DeleteConfirmationComponent","GdriveComponent","context","getUserDriveId","DriveId","createUserDriveFolder","uploadUserFile","getUserFiles","viewDriveFolder","getUserFile","maxWidth","height","Allergies","GroupComponent","practitionerService","mealPlanService","logo","groupId","groupForm","saveGroup","updatedGroup","getGroups","getGroupCount","imagePreview","deleteGroup","openStudent","openTeacher","faFrown","ctx_r6","ctx_r7","LearnerSurveyComponent","facilitiesForm","ventilation","seating","tables","lighting","accessibility","parking","acoustics","toilets","trainingMaterialForm","quality","condition","easeOfUse","relevanceOfTraining","sufficientSubjectMatter","portable","facilitatorForm","appearance","clarityOfExplanation","enthusiasm","helpfulness","knowledgeOfSubjectMatter","preparation","trainingAidsForm","relevance","visibility","clarifyingQualities","availableWhenRequired","accessToLearners","learningActivitiesForm","easyToPerform","sufficientContent","timeToCompleteSufficient","levelOfComplication","courseTimingForm","dailyTimes","lengthOfCourse","dayOfWeek","duringTheMonth","duringTheYear","ratingForm","comments","suggestions","rating","facilities","trainingMaterial","facilitator","trainingAids","learningActivities","courseTiming","overallRating","saveLearnerSurvey","enrollment","features","LettersComponent","activatedDrive$","LocationComponent","address","coordinates","locationForm","saveLocation","updatedLocation","getLocationCount","closeLocation","deleteLocation","emitLocation","faEllipsisH","CdkDragDrop","transferArrayItem","MealPlanComponent","mealService","monday","tuesday","wednesday","thursday","friday","meals","mealPlan","activatedMealPlan$","meals$","ms","meal","mealPlanForm","addMeal","dayMeals","mealForm","photo","removeMeal","mealIndex","saveMealPlan","updatedMealPlan","m","getMealPlans","activatedMealPlan","deleteMealPlan","previousContainer","container","MealComponent","ingredients","instructions","mealId","getMealById","addIngredient","ingredientForm","removeIngredient","saveMeal","updatedMeal","getMeals","deleteMeal","UntypedFormBuilder","UntypedFormGroup","faSearch","ProfilePictureDialogComponent","PractitionerComponent","groups","sideNavAction","locationsArray","practitioner","practitionerForm","idNumber","occupation","gender","g","savePractitioner","saveObject","getPractitionerCount","closePractitioner","openDrawer","action","drawer","addLocationToPractitioner","openDialog","config","dialogTemplate","openProfilePictureDialog","practitionerId","currentPicture","angry","disgusted","fearful","happy","neutral","sad","surprised","ngAfterViewInit","updateChartData","detectionStream","chartData","ProfileComponent","Occupation","Title","Gender","Address","newParentEmail","HealthProblems","MedicalAidName","MedicalAidNumber","MedicalAidMainMember","isMainContact","PartnerID","getUserIdDoc","uploadedID","saveUser","uploadId","uploadUserId","viewUserIdDoc","SearchCourseComponent","searchParentForm","courseSearch$","searchPhrase","search","noResults","count","clearSearch","SearchParentComponent","parentsSearch$","SearchStudentComponent","searchStudentForm","studentsSearch$","ServiceComponent","servicesService","price","serviceForm","service","saveService","getServicesCount","closeService","deleteService","emitService","SignaturePad","SignaturePadComponent","setTimeout","signaturePadElement","offsetHeight","offsetWidth","signPad","startSignPadDrawing","movedFinger","undoSign","toData","fromData","clearSignPad","signed","redoSignPad","saveSignPad","trimCanvas","base64ImageData","toDataURL","signImage","threshold","canvasElement","getContext","w","h","imageData","getImageData","tlCorner","brCorner","Math","min","max","cut","putImageData","faDownload","faEnvelope","faHome","faPhone","pdfMake","pdfFonts","vfs","StudentConsentFormComponent","prNo","number","street","suburb","city","contactNumber","consentForm","InformedFinancialConsent","InformedDataConsent","Document","generatePDF","emitStudent","signature","signatureElement","personNameAndSurname","docDefinition","content","columns","margin","getBase64ImageFromURL","fontSize","bold","stack","treatmentConsent","financialConsent","fit","style","styles","sectionHeader","decoration","pdfDocGenerator","createPdf","getBase64","pdf","url","reject","img","Image","canvas","createElement","drawImage","dataURL","onerror","emitBack","download","linkSource","downloadLink","href"],"sourceRoot":"webpack:///","x_google_ignoreList":[135]}