{"version":3,"sources":["./src/app/modules/auth/establishment/establishment.component.ts","./src/app/services/beds.service.ts","./src/app/models/enums/create-audit-settings-type-enum.ts","./src/app/modules/admin/create-user/create-user.component.html","./src/app/modules/workflow/workflow.component.scss","./src/app/modules/workflow/workflow.component.html","./src/app/pipes/workflow-status.pipe.ts","./src/app/modules/create-audit/create-audit.component.scss","./src/app/modules/create-audit/create-audit.component.html","./src/app/modules/admin/create-group/create-group.component.ts","./src/app/services/audit-service.ts","./src/environments/environment.ts","./src/app/modules/admin/create-infection/create-infection.component.ts","./src/app/config/env.config.ts","./src/app/services/user-data.service.ts","./src/app/pipes/workflow-status-color.pipe.ts","./src/app/pipes/node-status.pipe.ts","./src/app/modules/shared/shared.module.ts","./src/app/modules/adt-login/adt-login.component.scss","./src/app/modules/admin/create-group/create-group.component.scss","./src/app/pipes/workflow-warning-icon.pipe.ts","./src/app/pipes/workflow-step-text.pipe.ts","./src/assets/images/hospital-logo.ts","./src/app/pipes/audit-status-icon-pipe.ts","./src/app/pipes/node-type.pipe.ts","./src/app/pipes/workflow-step-icon.pipe.ts","./src/app/modules/workflow/workflow.component.ts","./src/app/modules/admin/create-infection/create-infection.component.html","./src/app/services/infection-service.ts","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/pipes/audit-inspection-type-icon-pipe.ts","./src/app/modules/create-audit/create-audit.component.ts","./src/app/app.component.ts","./src/app/pipes/task-status-color.pipe.ts","./src/app/modules/auth/establishment/establishment.component.html","./src/app/pipes/node-status-color.pipe.ts","./src/app/guards/auth.guard.ts","./src/app/app.component.html","./src/app/pipes/safe.pipe.ts","./src/app/app.module.ts","./src/app/services/sse.service.ts","./src/app/modules/admin/delete-infection/delete-infection.component.html","./src/app/pipes/workflow-status-icon.pipe.ts","./src/app/modules/admin/create-user/create-user.component.ts","./src/app/modules/admin/create-user/create-user.component.scss","./src/app/modules/adt-login/adt-login.component.ts","./src/app/guards/token.interceptor.ts","./src/app/modules/admin/delete-infection/delete-infection.component.ts","./src/app/services/auth.service.ts","./src/app/services/workflows.service.ts","./src/app/services/storage.service.ts","./src/app/services/group-data.service.ts","./src/app/services/tasks.service.ts","./src/app/modules/adt-login/adt-login.component.html","./src/app/models/enums/token-status-enum.ts","./src/app/services/mq.service.ts","./src/app/services/audit-reporting.service.ts","./src/app/modules/admin/create-group/create-group.component.html","./src/app/pipes/task-status-icon.pipe.ts","./src/app/modules/auth/establishment/establishment.component.scss","./src/app/app-routing.module.ts","./src/app/pipes/task-status.pipe.ts","./src/app/modules/admin/create-infection/create-infection.component.scss","./src/app/pipes/workflow-warning-color.pipe.ts","./src/app/app.component.scss","./src/app/modules/admin/delete-infection/delete-infection.component.scss","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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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","file":"main.js","sourcesContent":["// ANGULAR\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\nimport { Component, OnInit } from '@angular/core';\n\n// PRIME NG\nimport {DynamicDialogConfig, DynamicDialogRef} from \"primeng/dynamicdialog\";\n\n// ACTIUM\nimport {Establishment} from \"../../../models/establishment\";\nimport {AuthService} from \"../../../services/auth.service\";\n\n@Component({\n selector: 'app-establishment',\n templateUrl: './establishment.component.html',\n styleUrls: ['./establishment.component.scss']\n})\nexport class EstablishmentComponent implements OnInit {\n\n public establishmentForm: FormGroup;\n public establishments: Establishment[] = [];\n public selectedEstablishment: Establishment = {\n id: 0,\n name: ''\n };\n\n constructor(private ref: DynamicDialogRef,\n private config: DynamicDialogConfig,\n private formBuilder: FormBuilder,\n private authService: AuthService)\n {\n this.establishmentForm = this.formBuilder.group({\n establishment: [this.selectedEstablishment, Validators.required]\n });\n }\n\n ngOnInit(): void {\n this.establishments = this.config.data.establishments;\n }\n\n public handleEstablishmentSelection(){\n const currentUser = this.authService.currentUser;\n currentUser.establishmentId = this.selectedEstablishment.id;\n this.authService.currentUser = currentUser;\n\n this.ref.close(true);\n }\n}\n","// ANGULAR\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// ACTIUM\r\nimport { Config } from '../config/env.config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BedsService {\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n public listBeds(){\r\n \t\t return this.httpClient.get(`${Config.apiUrl}/actbed`); // ?orderby=b.currentworkflowid\r\n }\r\n\r\n public getBed(id: number){\r\n\t\t return this.httpClient.get(`${Config.apiUrl}/actbed/${id}`);\r\n }\r\n\r\n public listPriorities(){\r\n return this.httpClient.get(`${Config.apiUrl}/actutil/priorities`);\r\n }\r\n\r\n public listInfections(){\r\n return this.httpClient.get(`${Config.apiUrl}/actinfection/infections`); // WAS: (`${Config.apiUrl}/actutil/infections`)\r\n }\r\n\r\n public updateBed(bed: any) {\r\n return this.httpClient.patch(`${Config.apiUrl}/actbed`, bed);\r\n }\r\n\r\n public updateBeds(beds: any) {\r\n return this.httpClient.patch(`${Config.apiUrl}/actbed/batch`, beds);\r\n }\r\n\r\n public getAllUnits() {\r\n return this.httpClient.get(`${Config.apiUrl}/actbed/getallunits`);\r\n }\r\n}\r\n","export enum CreateAuditSettingsType {\n Template,\n Date,\n Inspector,\n PredefinedSpace,\n Space,\n Level,\n Unit,\n Building,\n Establishment\n}\n","export default \"\\n \\n \\n \\n
\\n \\n
{{ \\\"modules.userEditInfo.firstName\\\" | translate }}
\\n \\n
{{ \\\"modules.userEditInfo.lastName\\\" | translate }}
\\n \\n
{{ \\\"modules.userEditInfo.username\\\" | translate }}
\\n \\n
\\n
\\n
{{ \\\"modules.userEditInfo.email\\\" | translate }}
\\n
\\n
\\n \\n
\\n \\n {{\\n \\\"general.warnings.email-format\\\" | translate\\n }}\\n
\\n
\\n\\n
\\n
\\n
\\n {{\\n (!user?.id\\n ? \\\"modules.userEditInfo.password\\\"\\n : \\\"modules.userEditInfo.newPassword\\\"\\n ) | translate\\n }}\\n
\\n
\\n
\\n \\n
\\n \\n {{\\n \\\"general.warnings.password-match\\\" | translate\\n }}\\n
\\n \\n
\\n
\\n
\\n {{\\n (!user?.id\\n ? \\\"modules.userEditInfo.confirmPassword\\\"\\n : \\\"modules.userEditInfo.confirmNewPassword\\\"\\n ) | translate\\n }}\\n
\\n
\\n
\\n \\n
\\n \\n {{\\n \\\"general.warnings.password-match\\\" | translate\\n }}\\n
\\n \\n
\\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n {{ group.gName }}\\n
\\n
\\n
\\n \\n
\\n \\n
\\n \\n
\\n
\\n \\n
\\n\";","export default \".status-badge {\\n border-radius: 2px;\\n padding: 0.25em 0.5em;\\n text-transform: uppercase;\\n font-size: 14px;\\n margin-bottom: 1em;\\n}\\n\\n.workflow-detail {\\n font-family: \\\"Open Sans\\\", \\\"Helvetica Neue\\\", sans-serif;\\n}\\n\\n.workflow-detail-title {\\n font-size: 14px;\\n font-weight: bold;\\n}\\n\\n.workflow-status {\\n margin: 1rem;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFx3b3JrZmxvdy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSx5QkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtBQUNKOztBQUVBO0VBQ0ksc0RBQUE7QUFDSjs7QUFFQTtFQUNJLGVBQUE7RUFDQSxpQkFBQTtBQUNKOztBQUVBO0VBQ0ksWUFBQTtBQUNKIiwiZmlsZSI6IndvcmtmbG93LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnN0YXR1cy1iYWRnZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIHBhZGRpbmc6IC4yNWVtIC41ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ud29ya2Zsb3ctZGV0YWlsIHtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xufVxuXG4ud29ya2Zsb3ctZGV0YWlsLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi53b3JrZmxvdy1zdGF0dXMge1xuICAgIG1hcmdpbjogMXJlbTtcbn0iXX0= */\";","export default \" 0)\\\">\\n 0\\\"\\n header=\\\"{{'modules.workflows.room' | translate}} {{workflow.bed.actSpace.doorNumber}}\\\">\\n \\n
\\n \\n {{'general.node-statuses-number.' + workflow.status | translate}}\\n \\n
\\n \\n
\\n
\\n \\n {{'modules.workflows.created-at' | translate}}:\\n \\n {{workflow.createdAt | date:\\\"yyyy/MM/dd HH:mm:ss\\\"}}\\n
\\n
\\n \\n {{'modules.workflows.started-at' | translate}}:\\n \\n \\n {{workflow.startedAt | date:\\\"yyyy/MM/dd HH:mm:ss\\\"}}\\n \\n
\\n
\\n \\n {{'modules.workflows.finished-at' | translate}}:\\n \\n \\n {{workflow.finishedAt | date:\\\"yyyy/MM/dd HH:mm:ss\\\"}}\\n \\n
\\n
\\n \\n {{'modules.workflows.required-assignees' | translate}}:\\n \\n {{workflow.definition.requiredAssignees}}\\n
\\n
\\n \\n {{'modules.workflows.assignees' | translate}}:\\n \\n \\n {{assignee}}\\n  \\n \\n
\\n
\\n \\n {{'modules.workflows.current-node' | translate}}:\\n \\n \\n {{workflow.definition.currentNode.label}}\\n \\n
\\n
\\n \\n {{'modules.workflows.planned-time' | translate}}:\\n \\n {{workflow.plannedStartTime | date:\\\"yyyy/MM/dd HH:mm:ss\\\"}}\\n
\\n
\\n
\\n \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n {{'modules.workflows.name' | translate}}\\n {{'modules.workflows.type' | translate}}\\n {{'modules.workflows.status' | translate}}\\n {{'modules.workflows.available-actions' | translate}}\\n {{'modules.workflows.action-taken' | translate}}\\n \\n \\n \\n \\n \\n {{node.label}}\\n {{node.nodeType | nodeType}}\\n \\n {{'general.node-statuses-number.' + node.nodeStatus | translate}}\\n \\n \\n {{action.label}}\\n  \\n \\n \\n {{node.actionTakenLabel}}\\n \\n \\n \\n \\n \\n \\n \\n 0\\\"\\n #dt\\n [value]=\\\"tasks\\\"\\n dataKey=\\\"id\\\"\\n styleClass=\\\"ui-table-tasks\\\"\\n [rowHover]=\\\"true\\\"\\n [paginator]=\\\"true\\\"\\n [rows]=\\\"20\\\"\\n [showCurrentPageReport]=\\\"false\\\"\\n [filterDelay]=\\\"0\\\">\\n \\n \\n \\n {{'modules.tasks.name' | translate}}\\n {{'modules.tasks.status' | translate}}\\n {{'modules.tasks.started-at' | translate}}\\n {{'modules.tasks.finished-at' | translate}}\\n {{'modules.tasks.assignee' | translate}}\\n {{'modules.tasks.actions' | translate}}\\n {{'modules.tasks.action-taken' | translate}}\\n {{'modules.tasks.photo' | translate}}\\n \\n \\n \\n \\n \\n {{task.label}}\\n \\n \\n {{getTaskStatus(task.taskStatus)}}\\n \\n \\n {{task.startTime | date:\\\"yyyy/MM/dd HH:mm:ss\\\"}}\\n \\n \\n {{task.endTime | date:\\\"yyyy/MM/dd HH:mm:ss\\\"}}\\n \\n \\n {{task.assignee}}\\n \\n \\n
\\n \\n \\n  \\n  \\n \\n \\n  \\n  \\n
\\n \\n {{task.actionTakenLabel}}\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n\\n \\n \\n \\n Augmenter les préposés requis\\n \\n \\n\\n
\\n \\n \\n \\n \\n \\n \\n {{option.label}}\\n \\n \\n \\n \\n \\n \\n \\n \\n\";","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'workflowStatus'\r\n})\r\nexport class WorkflowStatusPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n var ret = \"\";\r\n switch(value) {\r\n case 0:\r\n ret = \"Created\"\r\n break;\r\n case 1:\r\n ret = \"Initializing\"\r\n break;\r\n case 2:\r\n ret = \"Running\"\r\n break;\r\n case 3:\r\n ret = \"Paused\"\r\n break;\r\n case 4:\r\n ret = \"Pending\"\r\n break;\r\n case 5:\r\n ret = \"Completed\"\r\n break;\r\n case 6:\r\n ret = \"Cancelled\"\r\n break;\r\n default:\r\n break;\r\n }\r\n return ret;\r\n }\r\n\r\n}\r\n","export default \".createAuditButtons {\\n padding: 1%;\\n}\\n\\n.module-title {\\n margin-left: 1rem;\\n margin-top: 1rem;\\n font-size: 1.5rem;\\n font-family: \\\"Open Sans\\\", \\\"Helvetica Neue\\\", sans-serif;\\n}\\n\\n.audit-detail-title {\\n font-size: 14px;\\n font-weight: bold;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFxjcmVhdGUtYXVkaXQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFBO0FBQ0o7O0FBRUE7RUFDSSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxzREFBQTtBQUNKOztBQUVBO0VBQ0ksZUFBQTtFQUNBLGlCQUFBO0FBQ0oiLCJmaWxlIjoiY3JlYXRlLWF1ZGl0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNyZWF0ZUF1ZGl0QnV0dG9ucyB7XG4gICAgcGFkZGluZzogMSU7XG59XG5cbi5tb2R1bGUtdGl0bGUge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyBcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5hdWRpdC1kZXRhaWwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn0iXX0= */\";","export default \"\\n \\n \\n\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n\\n \\n
\\n
0\\\"\\n [formGroup]=\\\"auditForm\\\"\\n (ngSubmit)=\\\"submitCreateOrEditAudit()\\\">\\n\\n \\n
{{'modules.audit.planned-time' | translate}}
\\n \\n \\n\\n
{{'modules.audit.inspector' | translate}}
\\n \\n \\n\\n
{{'modules.audit.establishment' | translate}}
\\n \\n \\n\\n
\\n
{{'modules.audit.building' | translate}}
\\n \\n \\n
\\n\\n \\n\\n \\n
\\n
{{'modules.audit.unit' | translate}}
\\n \\n \\n
\\n\\n \\n\\n
\\n
{{'modules.audit.space' | translate}}
\\n \\n \\n
\\n\\n\\n \\n
{{'modules.audit.workflow-dependent' | translate}}
\\n \\n \\n\\n \\n
\\n \\n \\n
\\n \\n
\\n
\\n\\n \\n \\n
\\n {{'modules.audit.audit-id' | translate}}: \\n {{this.primaryAudit.auditId}}\\n
\\n
\\n {{'modules.audit.room' | translate}}: \\n {{this.primaryAudit.space.doorNumber}}\\n
\\n \\n
\\n {{'modules.audit.planned-time' | translate}}: \\n {{this.primaryAudit.plannedTime | date:\\\"yyyy/MM/dd hh:mm:ss\\\"}}\\n
\\n
\\n {{'modules.audit.inspector' | translate}}: \\n {{this.primaryAudit.inspector}}\\n
\\n
\\n {{'modules.audit.inspection-type' | translate}}: \\n {{this.auditTypeString}}\\n
\\n\\n \\n \\n
\\n
\\n {{'modules.audit.current-status' | translate}}: \\n EN ATTENTE\\n MARQUAGE\\n INSPECTER\\n COMPLÉTÉ\\n
\\n
\\n {{'modules.audit.next-step' | translate}}: \\n {{this.nextAction}}\\n
\\n
\\n\\n \\n
\\n
\\n {{'modules.audit.current-status' | translate}}: \\n EN ATTENTE\\n MARQUAGE\\n INSPECTER\\n COMPLÉTÉ\\n
\\n
\\n {{'modules.audit.next-step' | translate}}: \\n {{this.nextAction}}\\n
\\n
\\n\\n \\n
\\n
\\n \\n Suivant\\n \\n
\\n\\n \\n
\\n
\\n \\n {{'modules.audit.cancel-audit' | translate}}\\n \\n
\\n
\\n\\n \\n \\n \\n
\\n
0\\\"\\n [formGroup]=\\\"correctiveActionForm\\\"\\n (ngSubmit)=\\\"handleAssignCAAudit()\\\">\\n\\n \\n
{{'modules.audit.planned-time' | translate}}
\\n \\n \\n\\n \\n
{{'modules.audit.inspector' | translate}}
\\n \\n \\n\\n \\n
\\n \\n \\n
\\n \\n
\\n
\\n
\";","// ANGULAR\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\n\n// OTHER\nimport { DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { DynamicDialogConfig } from 'primeng/dynamicdialog';\nimport { ActCreateGroupRequest } from 'src/app/models/requests/create-group-request';\nimport { forkJoin, Observable } from 'rxjs';\n\n// ACTIUM\nimport { Group } from 'src/app/models/group';\nimport { ActUpdateGroupRequest } from 'src/app/models/requests/update-group-request';\nimport { GroupDataService } from '../../../services/group-data.service';\nimport { User } from '../../../models/user';\nimport { UserGroup } from '../../../models/usergroup';\nimport { UserDataService } from '../../../services/user-data.service';\nimport { Role } from '../../../models/role';\nimport { GroupRole } from '../../../models/grouprole';\n\n@Component({\n selector: 'app-create-group',\n templateUrl: './create-group.component.html',\n styleUrls: ['./create-group.component.scss']\n})\nexport class CreateGroupComponent implements OnInit {\n\n public dynamicGroupHeader: string = '';\n public mode: string = '';\n public group: Group = null;\n public accordianActiveState: boolean[] = [true, false, false];\n public groupInformationForm: FormGroup = null;\n\n // USER ASSOC PICKLIST REQUIRED ARRAYS\n public availableUsers: User[] = [];\n public pickListGroupAssociatedUsers: User[] = [];\n public allUsers: User[] = [];\n public allUserGroupByGroup: UserGroup[] = [];\n public finalUserGroupsToUpdate: UserGroup[] = [];\n\n // ROLE ASSOC PICKLIST REQUIRED ARRAYS\n public availableRoles: Role[] = [];\n public pickListGroupAssociatedRoles: Role[] = [];\n public allRoles: Role[] = [];\n public allGroupRolesByGroup: GroupRole[];\n public finalGroupRolesToUpdate: GroupRole[];\n\n constructor(public ref: DynamicDialogRef,\n private formBuilder: FormBuilder,\n private config: DynamicDialogConfig,\n private groupService: GroupDataService,\n private userService: UserDataService) {\n this.groupInformationForm = formBuilder.group({\n groupName: new FormControl('', [Validators.required])\n });\n }\n\n ngOnInit(): void {\n this.group = this.config.data.group;\n switch (this.group) {\n case null:\n this.mode = 'create';\n break;\n default:\n this.mode = 'edit';\n this.dynamicGroupHeader = ': ' + this.group.gName;\n this.populateGroupInformationForm(this.group);\n this.populateUserAssocPickList();\n this.populateRoleAssocPicklist();\n break;\n }\n }\n\n // ***** GROUP FORM RELATED FUNCTIONS *****\n\n populateGroupInformationForm(group: Group): void {\n this.groupInformationForm.patchValue({\n groupName: group.gName\n });\n }\n\n submitGroupInformationForm(): void {\n if (this.mode === 'create') { this.groupService.addNewGroup(this.handleCreateGroupRequest())\n .subscribe((createdGroup: Group) => {\n this.group = createdGroup;\n this.populateUserAssocPickList();\n this.populateRoleAssocPicklist();\n }); }\n if (this.mode === 'edit') {\n this.groupService.updateGroup1(this.handleUpdateGroupRequest())\n .subscribe((updatedGroup: Group) => {\n this.group = updatedGroup;\n this.dynamicGroupHeader = ': ' + this.group.gName;\n }); }\n this.accordianActiveState = [false, true, false];\n }\n\n handleUpdateGroupRequest(): ActUpdateGroupRequest {\n const formData = this.groupInformationForm.value;\n const updateGroupRequest: ActUpdateGroupRequest = {\n gName: formData.groupName,\n gId: this.group.gId\n };\n return updateGroupRequest;\n }\n\n handleCreateGroupRequest(): ActCreateGroupRequest {\n const formData = this.groupInformationForm.value;\n const createdGroupRequest: ActCreateGroupRequest = {\n gName: formData.groupName\n };\n return createdGroupRequest;\n }\n\n deleteGroup(): void {\n this.groupService.deleteGroup(this.group.gId).subscribe((res: boolean) => {\n this.ref.close();\n });\n }\n\n // ***** END OF GROUP FORM RELATED FUNCTIONS *****\n\n // ***** USER ASSOC PICKLIST RELATED FUNCTIONS *****\n\n submitUserAssocPicklist(): void {\n this.populateFinalUserGroupsToUpdate();\n this.groupService.updateUserGroupRelation(this.finalUserGroupsToUpdate, this.group.gId).subscribe((res: any) => {\n this.accordianActiveState = [false, false, true];\n });\n }\n\n private populateUserAssocPickList = () => {\n forkJoin(\n [\n this.populateAllUsers(),\n this.populateAllUserGroup()\n ]\n )\n .subscribe(([users, userGroups]) => {\n this.allUsers = users;\n this.allUserGroupByGroup = userGroups;\n this.populateAvailableUsers();\n this.populatePickListGroupAssociatedUsers();\n });\n }\n\n private populateAllUsers(): Observable {\n return this.userService.populateUserTable();\n }\n\n private populateAllUserGroup(): Observable {\n return this.groupService.getAllUserGroupsById(this.group.gId);\n }\n\n private populateAvailableUsers = () => {\n this.availableUsers = this.allUsers\n .filter(i1 => !this.allUserGroupByGroup\n .some(i2 => i1.id === i2.id));\n }\n\n private populatePickListGroupAssociatedUsers = () => {\n this.pickListGroupAssociatedUsers = this.allUsers\n .filter(i1 => this.allUserGroupByGroup\n .some(i2 => i1.id === i2.id));\n }\n\n private populateFinalUserGroupsToUpdate = () => {\n this.finalUserGroupsToUpdate = this.pickListGroupAssociatedUsers\n .map(({id}) => ({id, gId: this.group.gId}));\n }\n\n // ***** END OF USER ASSOC RELATED FUNCTIONS *****\n\n // ***** ROLE ASSOC RELATED FUNCTIONS *****\n\n submitRoleAssocPicklist(): void {\n this.populateFinalGroupRolesToUpdate();\n this.groupService.updateGroupRoleRelation(this.finalGroupRolesToUpdate, this.group.gId)\n .subscribe((res: any) => { this.ref.close(); });\n }\n\n private populateRoleAssocPicklist(): void {\n forkJoin(\n [\n this.populateAllRoles(),\n this.populateAllGroupRole()\n ]\n )\n .subscribe(([x, y]) => {\n this.allRoles = x;\n this.allGroupRolesByGroup = y;\n console.log(this.allGroupRolesByGroup);\n this.populateAvailableRoles();\n this.populatePickListGroupAssociatedRoles();\n });\n }\n\n private populateAllRoles(): Observable {\n return this.groupService.getAllRoles();\n }\n\n private populateAllGroupRole(): Observable {\n return this.groupService.getAllGroupRolesById(this.group.gId);\n }\n\n private populateAvailableRoles = () => {\n this.availableRoles = this.allRoles\n .filter(i1 => !this.allGroupRolesByGroup\n .some(i2 => i1.rId === i2.rId));\n }\n\n private populatePickListGroupAssociatedRoles = () => {\n this.pickListGroupAssociatedRoles = this.allRoles\n .filter(i1 => this.allGroupRolesByGroup\n .some(i2 => i1.rId === i2.rId));\n }\n\n private populateFinalGroupRolesToUpdate = () => {\n this.finalGroupRolesToUpdate = this.pickListGroupAssociatedRoles\n .map(({rId}) => ({rId, gId: this.group.gId}));\n }\n\n // ***** END OF ROLE ASSOC RELATED FUNCTIONS *****\n}\n","// ANGULAR\nimport { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\n// OTHER\nimport { Observable } from 'rxjs';\n\n// ACTIUM\nimport { Config } from '../config/env.config';\nimport { ActUpdateAuditRequest } from '../models/requests/update-audit-request';\nimport { ActCreateAuditRequest } from '../models';\nimport { ActAssignCorrectiveActionRequest } from '../models/requests/assign-corrective-action-request';\n\n@Injectable()\nexport class AuditService {\n\n constructor(private httpClient: HttpClient) { }\n\n // ***** HTTP CALLS REGARDING AUDITS *****\n\n getAllAudits(): Observable {\n return this.httpClient.get(`${Config.apiUrl}/audit/allaudits`);\n }\n\n submitCreateAuditRequest(request: ActCreateAuditRequest): Observable {\n return this.httpClient.post(`${Config.apiUrl}/audit`, request);\n }\n\n submitAssignCorrectiveActionsRequest(request: ActAssignCorrectiveActionRequest): Observable {\n return this.httpClient.post(`${Config.apiUrl}/audit/correctiveaction`, request);\n }\n\n submitUpdateAuditRequest(request: ActUpdateAuditRequest): Observable {\n return this.httpClient.post(`${Config.apiUrl}/audit/update`, request);\n }\n\n getAllAuditSummaries(): Observable {\n return this.httpClient.get(`${Config.apiUrl}/auditreporting`);\n }\n\n getAllUnfinishedAuditSummaries(): Observable {\n return this.httpClient.get(`${Config.apiUrl}/auditreporting/unfinished`);\n }\n\n getSpecificAudit(auditId: number): Observable {\n return this.httpClient.get(`${Config.apiUrl}/audit/specificAudit/${auditId}`);\n }\n\n /*\n Temp. call to get all users. This will ultimately need to be filtered to only display\n Audit users.\n TODO: Write SQL.\n */\n getAllAuditors(): Observable {\n return this.httpClient.get(`${Config.apiUrl}/actuser`);\n }\n\n /*\n Not exactly clear where the list of room types should come from as there are only two...\n PrimeNG is very particular about not accepting an array of string for the dropdown, there\n must be an array of object.\n */\n getAllRoomTypes(): string[] {\n const roomTypes: any[] = [{label: 'Salle de bain', value: 'Salle de bain'}, {label: 'Chambre', value: 'Chambre'}];\n return roomTypes;\n }\n\n /*\n This has no place here but in preparing for the demo I have to get something off the ground quickly.\n */\n getMobileBasicData(): Observable {\n return this.httpClient.get(`${Config.apiUrl}/basicdata`);\n }\n\n /*\n Likewise, this is mostly done for demo purposes and needs to be reconsidered.\n */\n advanceAuditStatus(auditId: number): Observable {\n return this.httpClient.get(`${Config.apiUrl}/audit/advance/${auditId}`);\n }\n\n cancelAudit(auditId: number): Observable {\n return this.httpClient.get(`${Config.apiUrl}/audit/cancel/${auditId}`);\n }\n\n // ***** END OF HTTP CALLS REGARDING AUDITS *****\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n \r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","// ANGULAR\nimport { Component, OnInit } from '@angular/core';\n\n// OTHER\nimport { DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { DynamicDialogConfig } from 'primeng/dynamicdialog';\n\n// ACTIUM\nimport { Infection } from 'src/app/models/infection';\nimport { ActInfectionStyle } from './infection-style';\nimport { InfectionDataService } from '../../../services/infection-service';\n\n@Component({\n selector: 'app-create-infection',\n templateUrl: './create-infection.component.html',\n styleUrls: ['./create-infection.component.scss']\n})\nexport class CreateInfectionComponent implements OnInit {\n\n public infection: Infection;\n public infectionStyle: ActInfectionStyle = {\n // color: '#' + this.config.data.color,\n color: '',\n backgroundColor: ''\n };\n\n base64Image: string | ArrayBuffer | null = null;\n\n constructor(private ref: DynamicDialogRef,\n private config: DynamicDialogConfig,\n private infectionService: InfectionDataService) { }\n\n ngOnInit(): void {\n this.infection = this.config.data.infection;\n this.infectionStyle.backgroundColor = '#' + this.infection.bgColor;\n this.infectionStyle.color = '#' + this.infection.color;\n\n\n }\n\n changeBgColor(event: any): void {\n this.infectionStyle.backgroundColor = event.value;\n }\n\n changeTextColor(event: any): void {\n this.infectionStyle.color = event.value;\n }\n\n\n updateInfection(): void {\n this.infection.color = this.infectionStyle.color.substring(1);\n this.infection.bgColor = this.infectionStyle.backgroundColor.substring(1);\n this.infectionService.updateInfection(this.infection, this.infection.id).subscribe((res: boolean) => {\n this.ref.close();\n });\n }\n\n addInfection(): void {\n this.infection.color = this.infectionStyle.color.substring(1);\n this.infection.bgColor = this.infectionStyle.backgroundColor.substring(1);\n this.infection.name = \"other\";\n this.infection.id = 0;\n\n if(this.infection.imgPrecautions == null){\n this.infection.imgPrecautions = ''\n }\n\n this.infectionService.addNewInfection(this.infection).subscribe((res: boolean) => {\n this.ref.close();\n });\n }\n\n\n onFileSelected(event: Event): void {\n const fileInput = event.target as HTMLInputElement;\n if (fileInput.files && fileInput.files.length > 0) {\n const file = fileInput.files[0];\n this.convertToBase64(file);\n }\n \n }\n \n convertToBase64(file: File): void {\n const reader = new FileReader();\n reader.onload = () => {\n // this.base64Image = reader.result;\n this.infection.imgPrecautions = reader.result;\n };\n reader.readAsDataURL(file);\n }\n\n}\n","import { InjectableRxStompConfig } from '@stomp/ng2-stompjs';\r\n\r\nexport const Config = {\r\n // production: false,\r\n serverUrl: 'http://localhost:5000',\r\n SanUrl: 'http://localhost:81/defaultadmin',\r\n apiUrl: 'http://localhost:5000/api',\r\n\r\n // serverUrl: 'http://localhost:82/5001',\r\n // apiUrl: 'http://localhost:82/api/api/api',\r\n\r\n // serverUrl: 'https://iucpq-adt.actiumtec.com',\r\n // apiUrl: 'https://iucpq-adt.actiumtec.com/api/api/api',\r\n \r\n tokenType: 'Bearer',\r\n sseUrl: 'http://localhost:82/sse-notifications',\r\n reportUrl: 'https://localhost:5003',\r\n};\r\n\r\nexport const AdtRxStompConfig: InjectableRxStompConfig = {\r\n // Which server?\r\n brokerURL: 'ws://154.70.207.179:15674/ws',\r\n //brokerURL: 'wss://dev-adt.actiumtechnologie.com:15673/ws',\r\n\r\n // Headers\r\n // Typical keys: login, passcode, host\r\n // we must provide non-generic to avoid \"login failed - access_refused (user must access over loopback)\"\"\r\n // don't forget to change for deployment en prod\r\n connectHeaders: {\r\n login: 'svbdev',\r\n passcode: '**svbdev**2025**',\r\n //'passcode': 'G4nd4lf_59',\r\n 'client-id': 'plus-angular',\r\n },\r\n\r\n // How often to heartbeat?\r\n // Interval in milliseconds, set to 0 to disable\r\n heartbeatIncoming: 0, // Typical value 0 - disabled\r\n heartbeatOutgoing: 0, // Typical value 20000 - every 20 seconds\r\n\r\n // Wait in milliseconds before attempting auto reconnect\r\n // Set to 0 to disable\r\n // Typical value 5000 (5 seconds)\r\n reconnectDelay: 200,\r\n\r\n // Will log diagnostics on console\r\n // It can be quite verbose, not recommended in production\r\n // Skip this key to stop logging to console\r\n debug: (msg: string): void => {\r\n //console.log(new Date(), msg);\r\n },\r\n};\r\n","// ANGULAR\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// OTHER\r\nimport { Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n// ACTIUM\r\nimport { User } from '../models/user';\r\nimport { Config } from '../config/env.config';\r\nimport { Group } from '../models/group';\r\nimport { UserGroup } from '../models/usergroup';\r\nimport { Infection } from '../models/infection';\r\nimport { Reason } from '../models/reasons';\r\nimport { ActUpdateUserRequest } from '../models/requests/update-user-request';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserDataService {\r\n\r\n constructor(private httpClient: HttpClient) {\r\n }\r\n\r\n // PUBLIC METHODS\r\n // NOTE: Changing all Configuration.groupApiURL/whatever to Config.apiUrl/actgroup/whatever. Err... not exactly...\r\n // POSSIBLE BREAKING CHANGE.\r\n public populateUserTable = () => {\r\n return this.httpClient.get(`${Config.apiUrl}/actuser`); // TODO: Test integration with JM ActUserService (`${Configuration.userApiURL}/getallusers`)\r\n }\r\n\r\n public getAllGroups(): Observable {\r\n return this.httpClient.get(`${Config.apiUrl}/actuser/getallgroups`);\r\n }\r\n\r\n public getAllUserGroupsById(id): Observable {\r\n return this.httpClient.get(`${Config.apiUrl}/actuser/getallusergroups/${id}`);\r\n }\r\n\r\n public updateUserGroupRelation(data, id): Observable {\r\n return this.httpClient.post(`${Config.apiUrl}/actuser/updateusergroups/${id}`, data as UserGroup);\r\n }\r\n\r\n public getSpecificUserById(id): Observable {\r\n return this.httpClient.get(`${Config.apiUrl}/actuser/getspecificuser/${id}`); // TODO: Test integration with JM ActUserService getspecificuser/\r\n }\r\n\r\n public addNewUser(user): Observable {\r\n console.log(user);\r\n return this.httpClient.post(`${Config.apiUrl}/actuser`, user as User); // WAS: (`${Config.apiUrl}/actuser/addnewuser`, user as User)\r\n }\r\n\r\n public updateUser(request: ActUpdateUserRequest): Observable {\r\n return this.httpClient.patch(`${Config.apiUrl}/actuser`, request);\r\n }\r\n\r\n public deleteUser(id): Observable {\r\n return this.httpClient.delete(`${Config.apiUrl}/actuser/deleteuser/${id}`);\r\n }\r\n\r\n public getAllUsers(): Observable {\r\n return this.httpClient.get(`${Config.apiUrl}/actuser`);\r\n }\r\n\r\n public getEstablishments(id: number): Observable {\r\n return this.httpClient.get(`${Config.apiUrl}/actuser/establishment/${id}`)\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'workflowStatusColor'\r\n})\r\nexport class WorkflowStatusColorPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n var ret = \"\";\r\n switch(value) {\r\n case 0:\r\n ret = \"AntiqueWhite\" //created\r\n break;\r\n case 1:\r\n ret = \"BlanchedAlmond\" //Initializing\r\n break;\r\n case 2:\r\n ret = \"PaleGreen\" //Running\r\n break;\r\n case 3:\r\n ret = \"Chocolate\" //paused\r\n break;\r\n case 4:\r\n ret = \"Coral\" //pending\r\n break;\r\n case 5:\r\n ret = \"LimeGreen\" //completed\r\n break;\r\n case 6:\r\n ret = \"DarkGrey\" //cancelled\r\n break;\r\n default:\r\n break;\r\n }\r\n return ret;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'nodeStatus'\r\n})\r\nexport class NodeStatusPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n var ret = \"\";\r\n switch(value) {\r\n case 0:\r\n ret = \"Created\"\r\n break;\r\n case 1:\r\n ret = \"Initializing\"\r\n break;\r\n case 2:\r\n ret = \"Running\"\r\n break;\r\n case 3:\r\n ret = \"Paused\"\r\n break;\r\n case 4:\r\n ret = \"Pending\"\r\n break;\r\n case 5:\r\n ret = \"Completed\"\r\n break;\r\n case 6:\r\n ret = \"Cancelled\"\r\n break;\r\n default:\r\n break;\r\n }\r\n return ret;\r\n }\r\n\r\n}\r\n","// ANGULAR\r\nimport { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n// PRIME NG\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { BadgeModule } from 'primeng/badge';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { CardModule } from 'primeng/card';\r\nimport { ChartModule } from 'primeng/chart';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { DataViewModule } from 'primeng/dataview';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { DynamicDialogModule } from 'primeng/dynamicdialog';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { LightboxModule } from 'primeng/lightbox';\r\nimport { MenubarModule } from 'primeng/menubar';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\r\nimport { TableModule } from 'primeng/table';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { TreeTableModule } from 'primeng/treetable';\r\nimport { ColorPickerModule } from 'primeng/colorpicker';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { FullCalendarModule } from 'primeng/fullcalendar';\r\nimport { SliderModule } from 'primeng/slider';\r\nimport { ContextMenuModule } from 'primeng/contextmenu';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { ProgressBarModule } from 'primeng/progressbar';\r\nimport { PickListModule } from 'primeng/picklist';\r\n\r\n// NGX GRAPH\r\n// import { NgxGraphModule } from '@swimlane/ngx-graph';\r\nimport { GojsAngularModule } from 'gojs-angular';\r\n\r\n// PIPES\r\nimport { WorkflowStatusPipe } from 'src/app/pipes/workflow-status.pipe';\r\nimport { NodeStatusColorPipe } from 'src/app/pipes/node-status-color.pipe';\r\nimport { NodeStatusPipe } from 'src/app/pipes/node-status.pipe';\r\nimport { NodeTypePipe } from 'src/app/pipes/node-type.pipe';\r\nimport { TaskStatusPipe } from 'src/app/pipes/task-status.pipe';\r\nimport { TaskStatusColorPipe } from 'src/app/pipes/task-status-color.pipe';\r\nimport { WorkflowStatusColorPipe } from 'src/app/pipes/workflow-status-color.pipe';\r\nimport { WorkflowStatusIconPipe } from 'src/app/pipes/workflow-status-icon.pipe';\r\nimport { WorkflowWarningColorPipe } from 'src/app/pipes/workflow-warning-color.pipe';\r\nimport { WorkflowWarningIconPipe } from 'src/app/pipes/workflow-warning-icon.pipe';\r\nimport { WorkflowStepIconPipe } from 'src/app/pipes/workflow-step-icon.pipe';\r\nimport { WorkflowStepTextPipe } from 'src/app/pipes/workflow-step-text.pipe';\r\nimport { SafePipe } from 'src/app/pipes/safe.pipe';\r\nimport { TaskStatusIconPipe } from '../../pipes/task-status-icon.pipe';\r\nimport { AuditInspectionTypeIconPipe } from \"../../pipes/audit-inspection-type-icon-pipe\";\r\nimport { AuditStatusIconPipe } from \"../../pipes/audit-status-icon-pipe\";\r\n\r\n// SERVICES\r\nimport { WorkflowsService } from 'src/app/services/workflows.service';\r\nimport { MessageService } from 'primeng/api';\r\nimport { DialogService } from 'primeng/dynamicdialog';\r\n\r\n// SHARED COMPONENTS - OVERLAY PANELS\r\nimport { CreateAuditComponent } from '../create-audit/create-audit.component';\r\nimport { AdtLoginComponent } from '../adt-login/adt-login.component';\r\nimport { WorkflowComponent } from '../workflow/workflow.component';\r\nimport { CreateInfectionComponent } from '../admin/create-infection/create-infection.component';\r\nimport { DeleteInfectionComponent } from '../admin/delete-infection/delete-infection.component';\r\nimport { CreateUserComponent } from '../admin/create-user/create-user.component';\r\nimport { CreateGroupComponent } from '../admin/create-group/create-group.component';\r\nimport { EstablishmentComponent } from \"../auth/establishment/establishment.component\";\r\n\r\n// OTHER\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport {AuditReportingService} from \"../../services/audit-reporting.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n\r\n // PRIME NG\r\n AccordionModule,\r\n BadgeModule,\r\n ButtonModule,\r\n CalendarModule,\r\n CardModule,\r\n ChartModule,\r\n CheckboxModule,\r\n DataViewModule,\r\n DropdownModule,\r\n DynamicDialogModule,\r\n InputTextModule,\r\n LightboxModule,\r\n MenubarModule,\r\n MultiSelectModule,\r\n OverlayPanelModule,\r\n PanelModule,\r\n ProgressSpinnerModule,\r\n TableModule,\r\n TabViewModule,\r\n ToastModule,\r\n TooltipModule,\r\n TreeTableModule,\r\n ColorPickerModule,\r\n ConfirmDialogModule,\r\n FullCalendarModule,\r\n SliderModule,\r\n ContextMenuModule,\r\n DialogModule,\r\n ProgressBarModule,\r\n PickListModule,\r\n\r\n // Ngx Graph\r\n // NgxGraphModule,\r\n GojsAngularModule,\r\n\r\n // OTHER\r\n TranslateModule.forChild()\r\n ],\r\n declarations: [\r\n // SHARED COMPONENTS\r\n CreateAuditComponent,\r\n AdtLoginComponent,\r\n WorkflowComponent,\r\n CreateInfectionComponent,\r\n DeleteInfectionComponent,\r\n CreateUserComponent,\r\n CreateGroupComponent,\r\n EstablishmentComponent,\r\n\r\n // PIPES\r\n WorkflowStatusPipe,\r\n NodeStatusColorPipe,\r\n NodeStatusPipe,\r\n NodeTypePipe,\r\n TaskStatusPipe,\r\n TaskStatusColorPipe,\r\n WorkflowStatusColorPipe,\r\n WorkflowStatusIconPipe,\r\n WorkflowWarningColorPipe,\r\n WorkflowWarningIconPipe,\r\n WorkflowStepIconPipe,\r\n WorkflowStepTextPipe,\r\n SafePipe,\r\n TaskStatusIconPipe,\r\n AuditInspectionTypeIconPipe,\r\n AuditStatusIconPipe\r\n // DatePipe\r\n ],\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n\r\n // PRIME NG\r\n AccordionModule,\r\n BadgeModule,\r\n ButtonModule,\r\n CalendarModule,\r\n CardModule,\r\n ChartModule,\r\n CheckboxModule,\r\n DataViewModule,\r\n DropdownModule,\r\n DynamicDialogModule,\r\n InputTextModule,\r\n LightboxModule,\r\n MenubarModule,\r\n MultiSelectModule,\r\n OverlayPanelModule,\r\n PanelModule,\r\n ProgressSpinnerModule,\r\n TableModule,\r\n TabViewModule,\r\n ToastModule,\r\n TooltipModule,\r\n TreeTableModule,\r\n ConfirmDialogModule,\r\n FullCalendarModule,\r\n PickListModule,\r\n\r\n // NGX GRAPH\r\n // NgxGraphModule,\r\n GojsAngularModule,\r\n\r\n // PIPES\r\n WorkflowStatusPipe,\r\n NodeStatusColorPipe,\r\n NodeStatusPipe,\r\n NodeTypePipe,\r\n TaskStatusPipe,\r\n TaskStatusColorPipe,\r\n WorkflowStatusColorPipe,\r\n WorkflowStatusIconPipe,\r\n WorkflowWarningColorPipe,\r\n WorkflowWarningIconPipe,\r\n WorkflowStepIconPipe,\r\n WorkflowStepTextPipe,\r\n TaskStatusIconPipe,\r\n AuditInspectionTypeIconPipe,\r\n AuditStatusIconPipe,\r\n SafePipe,\r\n ],\r\n providers: [\r\n WorkflowsService,\r\n AuditReportingService,\r\n MessageService,\r\n NodeStatusColorPipe,\r\n DialogService\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ],\r\n entryComponents: [\r\n CreateAuditComponent,\r\n AdtLoginComponent,\r\n WorkflowComponent,\r\n CreateInfectionComponent,\r\n CreateUserComponent,\r\n CreateGroupComponent,\r\n EstablishmentComponent\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJhZHQtbG9naW4uY29tcG9uZW50LnNjc3MifQ== */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJjcmVhdGUtZ3JvdXAuY29tcG9uZW50LnNjc3MifQ== */\";","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'workflowWarningIcon'\r\n})\r\nexport class WorkflowWarningIconPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n var ret = \"\";\r\n switch(value) {\r\n case 0:\r\n ret = \"\" \r\n break;\r\n case 1:\r\n ret = \"adt-icon icon-exclamation-triangle\"\r\n break;\r\n case 2:\r\n ret = \"adt-icon icon-exclamation-triangle\" \r\n break;\r\n case 3:\r\n ret = \"adt-icon icon-exclamation-circle\"\r\n break;\r\n default:\r\n break;\r\n }\r\n return ret;\r\n }\r\n\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'workflowStepText'\r\n})\r\nexport class WorkflowStepTextPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n var ret = \"\";\r\n switch(value) {\r\n case null:\r\n ret = \"created\" //created\r\n break;\r\n case \"assignment\":\r\n ret = \"Assigné\" //started\r\n break;\r\n case \"acceptance\":\r\n ret = \"Déplacement\" //assigned, waiting for answer\r\n break;\r\n case \"move\":\r\n ret = \"Déplacement\" //in transit\r\n break;\r\n case \"clean\":\r\n ret = \"Nettoyage\" //doing the job\r\n break;\r\n case \"standby\":\r\n ret = \"En Attente\" //on standby\r\n break;\r\n case \"end\":\r\n ret = \"\" //completed\r\n break;\r\n default:\r\n break;\r\n }\r\n return ret;\r\n }\r\n\r\n}","export const hospitalLogo = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM0AAABWCAYAAABsHRLpAAAgAElEQVR4Ae3dCbhvU/kHcErzKJpUUppHhaIUEikhjZTmVJpE0WioSCqhIsOVmcoUmRvM1zwLocSVMSTzuP7PZ9++57/OPvuM96p7zt3v8/x+e6+917TXXu96x/XueUoP/Qj0IzCuEZhnXLn7zP0I9CNQeqTpJ0E/AuMcgR5pxjlgffZ+BIZFmgceeKCcc8455ZBDDilHHnlkueSSS2braN1///2zpb677rqrXHHFFWXGjBnjqs/ztWGvvfYq6623Xtlhhx3atyaUPuWUU5r6vva1r5V77713QnX0hea8EehEmt///vdl0UUXLfPMM8+g39e//vVZeoJ//etf5SMf+Uh51rOeVW666aZZqiuFf/WrXzV9fMMb3pBLIx4tAG95y1vKRz/60UH5Tj755PLwhz+8vP3tby833njjoHsTSXg+z/miF72oWXwmUkdfZs4cgSFIc9JJJ5VHPOIRzURcbrnlys4771yswJ/97GeLlRPccccd5dRTTy0mmpU+cMMNNzSr/p133lmuv/76cuGFFw6ssK4ddNBBTb3Pf/7zyy233FJQm9tuu23g/M9//nO58sorm+ruu+++cvbZZ5fjjz++3HzzzWliyFFf1HX33XcX1CNU58EHHywXX3xxufrqqwfKyLfqqqs2ffje975X/v3vfw/cmz59etluu+06Kerll19ezjvvvKLO22+/faA9/Venelw/88wzm7FR6d/+9rfys5/9rBx33HFNvwYa6k8m/QgMQZplllmmmVQml0nSht1337086UlPavKgRAsttFAxqcDSSy/dXH//+9/frNruv+pVryr33HNPecc73jFQJhTMhH7e857XXH/rW9/aHNddd91y4oknluc85zkD+R/zmMeUo48+ut2VJv3GN76xyYfimNjqfsELXlBe85rXDJSHDNi3tJvjO9/5zmbSv+1tbxt074tf/GJTN8q4wgorDNx785vfXF7ykpc06YMPPrhhW9X18pe/vDzzmc9sruvDV77ylYHnd/91r3tdsWj0MDVGYBDSWDHnnXfe5uX/8Y9/HPKEZJyHPexhzQT5y1/+Uvbff/8mr0mCMjz60Y9u0i9+8YuLyZ/JefrppxfIFpZvrbXWKj//+c8bNih5XvnKV5bPfOYz5bDDDisLLrhg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';","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'auditStatusIcon'\n})\nexport class AuditStatusIconPipe implements PipeTransform {\n/*\nFrom audit.ts:\n\nexport enum AuditStatus {\n waiting,\n design,\n drawing,\n inspection\n}\n */\n transform(value: any, ...args: any[]): any {\n switch(value) {\n case 0:\n return \"adt-icon icon-pause\"\n case 1:\n return \"adt-icon icon-pen\"\n case 2:\n return \"adt-icon icon-pen\"\n case 3: \n return \"adt-icon icon-play\"\n default:\n break;\n }\n }\n\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'nodeType'\r\n})\r\nexport class NodeTypePipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n var ret = \"\";\r\n switch(value) {\r\n case 0:\r\n ret = \"Début\"\r\n break;\r\n case 1:\r\n ret = \"Utilisateur\"\r\n break;\r\n case 2:\r\n ret = \"Système\"\r\n break;\r\n case 3:\r\n ret = \"Fin\"\r\n break;\r\n default:\r\n break;\r\n }\r\n return ret;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'workflowStepIcon'\r\n})\r\nexport class WorkflowStepIconPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n var ret = \"\";\r\n switch(value) {\r\n case null:\r\n ret = \"adt-icon icon-star\" //created\r\n break;\r\n case \"assignment\":\r\n ret = \"adt-icon icon-arrow-circle-right\" //started\r\n break;\r\n case \"acceptance\":\r\n ret = \"adt-icon icon-hourglass-half\" //assigned, waiting for answer\r\n break;\r\n case \"move\":\r\n ret = \"adt-icon icon-shoe-prints\" //in transit\r\n break;\r\n case \"clean\":\r\n ret = \"adt-icon icon-broom\" //doing the job\r\n break;\r\n case \"end\":\r\n ret = \"adt-icon icon-certificate\" //completed\r\n break;\r\n default:\r\n break;\r\n }\r\n return ret;\r\n }\r\n\r\n}","// ANGULAR\nimport { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\n// OTHER\nimport { Table } from 'primeng/table/table';\nimport { OverlayPanel } from 'primeng/overlaypanel/public_api';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subscription } from 'rxjs';\nimport { DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { DynamicDialogConfig } from 'primeng/dynamicdialog';\n\n// ACTIUM\nimport { WorkflowsService } from 'src/app/services/workflows.service';\nimport { TasksService } from 'src/app/services/tasks.service';\nimport { MqService } from 'src/app/services/mq.service';\n\n@Component({\n selector: 'app-workflow',\n templateUrl: './workflow.component.html',\n styleUrls: ['./workflow.component.scss']\n})\n\nexport class WorkflowComponent implements OnInit {\n private mqMessageSubscription: Subscription;\n public workflow: any = {};\n public tasks = [];\n public task;\n public assignee;\n public statuses: any[];\n public workflowId: number;\n public workflowLoaded: boolean = false;\n public assignees: any[] = [];\n public accordionActiveState: boolean[] = [false, false, false];\n\n @ViewChild('dt', { static: false }) table: Table;\n @ViewChild('opassignee', { static: false }) opAssignee: OverlayPanel;\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private translate: TranslateService,\n private workflowsService : WorkflowsService,\n private tasksService: TasksService,\n private mqService: MqService,\n private ref: DynamicDialogRef,\n private config: DynamicDialogConfig,\n\n ) { }\n\n ngOnInit(): void {\n this.workflowId = this.config.data.workflowId;\n this.populateInitialData();\n this.mqMessageSubscription = this.mqService.currentMessage.subscribe((message: any) => {\n this.onMqMessage(message);\n });\n }\n\n ngOnDestroy() {\n this.mqMessageSubscription.unsubscribe();\n }\n\n private populateInitialData(): void {\n this.getWorkflow();\n this.listTasks();\n this.listTaskStatuses();\n }\n\n private getWorkflow(): void {\n this.workflowsService.getWorkflow(this.workflowId).subscribe((data: any) => {\n this.workflow = data;\n });\n }\n\n private listTasks(): void {\n this.tasksService.listTasks(this.workflowId, null, null).subscribe((data: any) => {\n this.tasks = data;\n });\n }\n\n onMqMessage(message: any) {\n if(message.msgType == 0) { //workflow message\n if(this.workflowId == message.WorkflowInstanceId) {\n this.workflowsService.getWorkflow(this.workflowId).subscribe((data: any) => {\n this.workflow = data;\n });\n }\n }\n if(message.msgType == 1) { //task message\n this.tasksService.getTask(message.id).subscribe((data: any) => {\n let task = data;\n let idx = this.tasks.findIndex(obj => {\n return obj.id === message.id;\n });\n if(idx != null && idx != undefined && idx >= 0) {\n this.tasks.splice(idx, 1, task);\n this.tasks = [...this.tasks];\n }\n if(idx < 0) {\n this.tasks.push(task);\n this.tasks = [...this.tasks];\n }\n });\n }\n }\n\n refreshData(){\n this.getWorkflow();\n this.listTasks();\n }\n\n listTaskStatuses() {\n this.workflowsService.listStatuses(\"task\").subscribe((data: any[]) => {\n this.statuses = data;\n });\n }\n\n getTaskStatus(status) {\n let label = this.statuses.find(obj => {\n return obj.value === status;\n });\n return label.label;\n }\n\n onStatusChange(event) {\n if(event.value != null && event.value != undefined) {\n this.table.filter(event.value.value, 'taskStatus', 'equals');\n }\n else {\n this.table.filter(-1, 'taskStatus', 'gt');\n }\n }\n\n cancelTask(event, task: any) {\n this.tasksService.cancelTask(task).subscribe((data: any) => {\n this.refreshData();\n });\n }\n\n // ***** ASSIGNMENT *****\n\n reassignTask(event, task: any, location: any) {\n this.listAvailableAssignees();\n this.opAssignee.hide();\n this.task = task;\n this.opAssignee.show(event, event.currentTarget);\n }\n\n listAvailableAssignees() {\n this.tasksService.listAvailableAssignees(this.workflow.bed.actSpace.id).subscribe((data: any[]) => {\n let aAssignees = [];\n data.forEach((a) => {\n let declined = this.workflow.definition.declinedAssignees.findIndex(obj => {\n return obj === a.username;\n });\n let abandoned = this.workflow.definition.abandonedAssignees.findIndex(obj => {\n return obj === a.username;\n });\n let label = \"\";\n if(declined >= 0) {\n label += \"(D) \";\n }\n if(abandoned >= 0) {\n label += \"(A) \";\n }\n let assignee = {\n id: a.id,\n name: a.username,\n label: label + a.username\n }\n aAssignees.push(assignee);\n });\n this.assignees = [...aAssignees];\n });\n }\n\n onAssigneeChange(event) { this.assignee = event.value; }\n\n onAssigneeOk() {\n if(this.assignee != null && this.assignee != undefined) {\n this.opAssignee.hide();\n this.tasksService.reassignTask(this.task, this.assignee).subscribe((data: any) => {\n this.refreshData();\n });\n }\n }\n\n public addAdditionalWorkers(e: Event) {\n this.workflowsService.increaseRequiredAssignees(this.workflowId).subscribe((res) => {\n this.accordionActiveState[2] = false;\n });\n }\n\n // ***** END OF ASSIGNMENT *****\n\n isWorkflowFinished(workflow: any): boolean {\n if (workflow.status === 5 || workflow.status === 6) { return true; };\n }\n}\n","export default \"\\n
\\n \\n {{infection.label}}\\n \\n
\\n\\n
\\n\\n
\\n
\\n

{{'modules.infectionsTable.infectionLabel' | translate}}

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

{{'modules.infectionsTable.avgTime' | translate}}

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

{{'modules.infectionsTable.bgColor' | translate}}

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

{{'modules.infectionsTable.txtColor' | translate}}

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

{{'modules.infectionsTable.imgPrecautions' | translate}}

\\n \\n \\n
\\n \\\"{{'modules.infectionsTable.imgPrecautions'\\n
\\n
\\n\\n
0\\\">\\n \\n
\\n\\n
\\n \\n
\";","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { Config } from '../config/env.config';\r\nimport { Infection } from '../models/infection';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfectionDataService {\r\n constructor(private httpClient: HttpClient) {\r\n }\r\n // PUBLIC METHODS\r\n public getAllInfections = () => {\r\n return this.httpClient.get(`${Config.apiUrl}/actinfection/infections`);\r\n }\r\n public getSpecificInfection(id): Observable {\r\n return this.httpClient.get(`${Config.apiUrl}/actinfection/singleinfection/${id}`);\r\n }\r\n public updateInfection(infection, id): Observable {\r\n\r\n return this.httpClient.post(`${Config.apiUrl}/actinfection/updateinfection/${id}`, infection as Infection);\r\n }\r\n public addNewInfection(infection): Observable {\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n });\r\n const body = JSON.stringify(infection);\r\n return this.httpClient.post(`${Config.apiUrl}/actinfection/addinfection`, body, {headers});\r\n }\r\n public deleteInfection(id): Observable {\r\n return this.httpClient.delete(`${Config.apiUrl}/actinfection/deleteinfection/${id}`);\r\n }\r\n}\r\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\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 = \"RnhZ\";","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'auditInspectionTypeIcon'\n})\nexport class AuditInspectionTypeIconPipe implements PipeTransform {\n\n transform(value: any, ...args: any[]): any {\n switch (value) {\n case 1:\n return 'adt-icon icon-flashlight';\n case 2:\n return 'adt-icon icon-eye';\n case 3:\n return 'adt-icon icon-vial';\n default:\n break;\n }\n }\n\n}\n","// ANGULAR\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\n\n// OTHER\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { ConfirmationService } from 'primeng/api';\n\n// ACTIUM\nimport { ActAudit, ActCreateAuditRequest, AuthUser } from 'src/app/models';\nimport { ActUpdateAuditRequest } from '../../models/requests/update-audit-request';\nimport { AuditService } from 'src/app/services/audit-service';\nimport { BedsService } from 'src/app/services/beds.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { ActAdvanceAuditStatusResponse } from '../../models/responses/advance-audit-status-response';\nimport { ActAdvanceAuditResponse } from '../../models/responses/advance-audit-response';\nimport { BasicDataResponse } from \"../../models/responses/basic-data-response\";\nimport { Establishment } from \"../../models/establishment\";\nimport { Building } from \"../../models/building\";\nimport { Level } from \"../../models/level\";\nimport { Unit } from \"../../models/unit\";\nimport { PredefinedSpace } from \"../../models/predefined-space\";\nimport { Space } from \"../../models/space\";\nimport { CreateAuditSettingsType } from \"../../models/enums/create-audit-settings-type-enum\";\nimport { UsernameDropdown } from \"../../models/audit/username-dropdown\";\nimport { ActCreateAuditResponse } from \"../../models/responses/create-audit-response\";\nimport { ActAssignCorrectiveActionRequest } from 'src/app/models/requests/assign-corrective-action-request';\n\n@Component({ \n selector: 'app-create-audit',\n templateUrl: './create-audit.component.html',\n styleUrls: ['./create-audit.component.scss']\n})\nexport class CreateAuditComponent implements OnInit {\n\n public defaultDate: Date;\n public auditForm: FormGroup;\n public correctiveActionForm: FormGroup;\n public workflowDependent: boolean = false;\n public auditMode: string = '';\n public primaryAudit: any = {space: {doorNumber: ''}};\n private currentUser: AuthUser = null;\n public currentStatus: string = '';\n public nextAction: string = '';\n public auditTypeString: string = '';\n\n // BASIC DATA\n public establishments: Establishment[] = [];\n public buildings: Building[] = [];\n public levels: Level[] = [];\n public predefinedSpaces: PredefinedSpace[] = [];\n public spaces: Space[] = [];\n public units: Unit[] = [];\n public basicData: BasicDataResponse = null;\n\n // FORM OPTIONS ARRAYS\n public formEstablishments: Establishment[] = [];\n public formBuildings: Building[] = [];\n public formLevels: Level[] = [];\n public formSpaces: Space[] = [];\n public formUnits: Unit[] = [];\n public formUsernames: UsernameDropdown[] = [];\n public correctiveActionsFormUsernames: UsernameDropdown[] = [];\n\n // CORRECTIVE ACTIONS\n public correctiveActionInspector: string = '';\n\n constructor(private ref: DynamicDialogRef,\n private config: DynamicDialogConfig,\n private formBuilder: FormBuilder,\n private auditService: AuditService,\n private bedService: BedsService,\n private authService: AuthService,\n private confirmationService: ConfirmationService)\n {\n this.auditForm = formBuilder.group({\n templateName: [''],\n inspectionType: [''],\n plannedTime: [''],\n inspector: [''],\n predefinedSpace: [''],\n space: [''],\n level: [''],\n unit: [''],\n building: [''],\n establishment: [''],\n workflowDependent: ['']\n });\n this.correctiveActionForm = formBuilder.group({\n plannedTime: [''],\n inspector: ['']\n });\n }\n\n ngOnInit(): void {\n this.populateBasicData();\n }\n\n private populateBasicData(): void {\n this.auditService.getMobileBasicData().subscribe((basicData: BasicDataResponse) => {\n this.basicData = basicData;\n this.pageLoadWithData();\n }); \n }\n\n private pageLoadWithData(): void {\n (this.config.data.auditId === 0) ? this.auditMode = 'create' : this.auditMode = 'edit';\n if (this.auditMode === 'edit') { this.getSpecificAuditAndPopulateForm(this.config.data.auditId); }\n if (this.auditMode === 'create') { this.auditForm.patchValue({ plannedTime: this.config.data.auditDate }); }\n }\n\n private getSpecificAuditAndPopulateForm(auditId: number): void {\n this.auditService.getSpecificAudit(auditId)\n .subscribe((audit: ActAudit) => {\n console.log(audit);\n \n this.primaryAudit = audit;\n this.populateEditAuditForm(audit);\n this.populateAuditStatusData();\n });\n }\n\n // TODO: Must reconsider how this works - not well done at all.\n populateAuditStatusData(): void {\n // Set auditTypeString\n switch (this.primaryAudit.inspectionType) {\n case 1:\n this.auditTypeString = 'MARQUAGE';\n break;\n case 2:\n this.auditTypeString = 'VISUELLE';\n break;\n case 3:\n this.auditTypeString = 'ATP';\n break;\n case 4:\n this.auditTypeString = 'TRAVAIL';\n break;\n default:\n break;\n }\n\n // Set audit status\n (this.primaryAudit.inspected)\n ? this.currentStatus = 'COMPLÉTÉ'\n : this.currentStatus = this.primaryAudit.status.toString();\n\n // Set next available action - STUPID WAY TO HANDLE THIS\n if (this.currentStatus === '0' && this.primaryAudit.inspected === false) {\n if (this.primaryAudit.inspectionType === 2) { this.nextAction = 'INSPECTER'; }\n if (this.primaryAudit.inspectionType !== 2) {\n (this.primaryAudit.marked)\n ? this.nextAction = 'INSPECTER'\n : this.nextAction = 'MARQUAGE';\n }\n }\n }\n\n populateEditAuditForm(audit: ActAudit): void {\n // Set options for corrective actions form.\n if (audit.status === 8) {\n this.correctiveActionForm.controls['plannedTime'].setValue(new Date());\n this.correctiveActionsFormUsernames = [];\n this.basicData.userStrings.forEach((user) => this.correctiveActionsFormUsernames.push({ \n label: user, \n value: user \n }))\n }\n\n // Populate form arrays for patching.\n this.establishments.push(audit.establishment);\n this.formBuildings.push(audit.building);\n this.formLevels.push(audit.level);\n this.formSpaces.push(audit.space);\n this.formUnits.push(audit.space.unit);\n this.formUsernames.push({ label:audit.inspector, value: audit.inspector });\n this.workflowDependent = audit.workflowDependent;\n this.auditForm.patchValue({\n plannedTime: new Date(audit.plannedTime),\n inspector: this.formUsernames[0],\n establishment: this.establishments[0],\n building: this.formBuildings[0],\n level: this.formLevels[0],\n space: this.formSpaces[0],\n unit: this.formUnits[0],\n workflowDependent: audit.workflowDependent\n });\n }\n\n public handleChooseAuditType(auditType: number): void {\n this.primaryAudit.inspectionType = auditType;\n\n // Now that we have the audit type we can perform the first filtering async.\n this.populateFormData();\n }\n\n private populateFormData(): void {\n console.log('calling populateFormData');\n\n this.formUsernames = [];\n this.basicData.userStrings.forEach((user) => this.formUsernames.push({ label: user, value: user }))\n this.currentUser = this.authService.currentUser;\n\n this.defaultDate = new Date();\n console.log(this.defaultDate);\n\n this.auditForm.controls['plannedTime'].setValue(this.defaultDate);\n\n // Clear form in case any selections have been made.\n this.auditForm.controls['building'].setValue('');\n this.auditForm.controls['unit'].setValue('');\n this.auditForm.controls['level'].setValue('');\n this.auditForm.controls['space'].setValue('');\n\n console.log(this.basicData);\n\n switch (this.primaryAudit.inspectionType) {\n case 1:\n // Fall through to 3 as MARKING(1) AND ATP(3) are treated the same.\n case 3:\n const availablePredefinedSpaceIds = this.filterAvailablePredefinedSpaces();\n this.filterFromPredefinedSpaces(availablePredefinedSpaceIds);\n\n break;\n case 4:\n // Fall through to 2 as VISUAL(2) AND WORK(4) are treated the same.\n case 2:\n this.establishments = this.basicData.establishments;\n this.buildings = this.basicData.buildings;\n this.levels = this.basicData.levels;\n this.units = this.basicData.units;\n this.predefinedSpaces = this.basicData.predefinedSpaces;\n this.spaces = this.basicData.spaces;\n\n break;\n }\n }\n\n private filterAvailablePredefinedSpaces(): number[] {\n const availableSpaceIds: number[] = this.basicData.backgroundImages.map((img: any) => img.predefinedSpaceId);\n this.predefinedSpaces = this.basicData.predefinedSpaces.filter((predefinedSpace) => availableSpaceIds.includes(predefinedSpace.id));\n\n return availableSpaceIds;\n }\n\n private filterFromPredefinedSpaces(predefinedSpacesAvailable: number[],\n ignoreSpaceType: boolean = false): void {\n\n this.spaces = this.basicData.spaces.filter((space) => predefinedSpacesAvailable.includes(space.predefinedSpaceId));\n this.formSpaces = this.spaces;\n\n const unitIds = new Set();\n this.spaces.forEach((space) => unitIds.add(space.unit.id));\n this.units = this.basicData.units.filter((unit) => unitIds.has(unit.id));\n\n const levelIds = new Set();\n this.spaces.forEach((space) => levelIds.add(space.levelId));\n this.levels = this.basicData.levels.filter((level) => levelIds.has(level.id));\n\n const buildingIds = new Set();\n this.levels.forEach((level) => buildingIds.add(level.buildingId));\n this.buildings = this.basicData.buildings.filter((building) => buildingIds.has(building.id));\n\n const establishmentIds = new Set();\n this.buildings.forEach((building) => establishmentIds.add(building.establishmentId));\n this.establishments = this.basicData.establishments.filter((establishment) => establishmentIds.has(establishment.id));\n }\n\n public returnCreateAuditEnum(type: string): CreateAuditSettingsType { return CreateAuditSettingsType[type]; }\n\n /*\n This is the equivalent of closing the modal in Audit mobile.\n Update ensures that selections are cleared and options filters subsequent choices.\n */\n public handleSelectionChange(event: any, type: CreateAuditSettingsType): void {\n const formValue = this.auditForm.value;\n\n switch (type) {\n case CreateAuditSettingsType.Establishment :\n // Handle update\n if (formValue.building !== '') {\n this.auditForm.value.building = '';\n if (formValue.level !== '')\n this.auditForm.value.level = '';\n if (formValue.unit !== '')\n this.auditForm.value.unit = '';\n }\n if (formValue.space !== '')\n this.auditForm.value.space = '';\n // Handle options\n this.formBuildings = this.buildings.filter((building) =>\n building.establishmentId === formValue.establishment.id);\n break;\n case CreateAuditSettingsType.Building :\n // Handle update\n if (formValue.level !== '')\n this.auditForm.value.level = '';\n if (formValue.space !== '')\n this.auditForm.value.space = '';\n if (formValue.unit !== '')\n this.auditForm.value.unit = '';\n // Handle options\n this.formLevels = this.levels.filter((level) => level.buildingId == formValue.building.id);\n this.formUnits = this.units.filter((unit) => unit.buildingId == formValue.building.id);\n break;\n case CreateAuditSettingsType.Level :\n // Handle update\n if (formValue.space !== '')\n this.auditForm.value.space = '';\n // Handle options\n this.formSpaces = this.spaces.filter((space) => space.levelId === formValue.level.id);\n break;\n case CreateAuditSettingsType.Unit :\n // Handle update\n if (formValue.space !== '')\n this.auditForm.value.space = '';\n // Handle options\n // this.formSpaces = this.spaces.filter((space) => space. === formValue.level.id);\n this.formSpaces = this.spaces.filter((space) => space.unit.id == formValue.unit.id);\n break;\n }\n }\n\n submitCreateOrEditAudit(): void {\n switch (this.auditMode) {\n case 'create':\n this.handleCreateAuditRequest();\n break;\n case 'edit':\n this.handleEditAuditRequest();\n break;\n default:\n break;\n }\n }\n\n handleCreateAuditRequest(): void {\n const formData = this.auditForm.value;\n\n const request: ActCreateAuditRequest = {\n auditor: this.authService.currentUser.username,\n building: formData.building,\n establishment: formData.establishment,\n inspectionLocation: '',\n inspectionType: this.primaryAudit.inspectionType,\n inspector: formData.inspector.value,\n level: formData.level,\n plannedTime: new Date(formData.plannedTime),\n space: formData.space,\n templateName: '',\n workflowDependent: this.workflowDependent,\n unit: formData.unit\n }\n\n /*\n Close dialog regardless of response. If no audit is returned, display error message.\n If the response is a success and workflowDependent is false we immediately request a\n call to advance audit status in order to classify the audit as an active task. This\n mimics the functionality of the mobile app.\n */\n this.auditService.submitCreateAuditRequest(request)\n .subscribe((response: ActCreateAuditResponse) => {\n // If the response audit is null there is an error message and the action is incomplete.\n if (response.audit === null) {\n this.confirmationService.confirm({\n message: response.errorMessage,\n accept: () => { this.ref.close(); }\n });\n } else { this.handleSuccessfulCreation(response.audit); }\n this.ref.close();\n });\n }\n\n private handleSuccessfulCreation(audit: ActAudit): void {\n if (!audit.workflowDependent) { this.auditService.advanceAuditStatus(audit.auditId)\n .subscribe((advanceAuditResponse: ActAdvanceAuditResponse) => {\n // Like above, if the response audit is null there is an error message and the action is incomplete.\n if (advanceAuditResponse.audit === null) { this.confirmationService.confirm({\n message: advanceAuditResponse.errorMessage,\n accept: () => { this.ref.close(); }\n }); } }); }\n }\n\n handleEditAuditRequest(): void {\n const auditToEdit: ActAudit = this.attributeBasicInformation(this.primaryAudit);\n const editAuditRequest: ActUpdateAuditRequest = { auditId: this.primaryAudit.auditId, audit: auditToEdit };\n this.auditService.submitUpdateAuditRequest(editAuditRequest).subscribe((res: any) => { this.ref.close(); });\n }\n\n attributeBasicInformation(audit: ActAudit): ActAudit {\n const formData = this.auditForm.value;\n audit.auditId = this.primaryAudit.auditId;\n audit.name = formData.inspectionType.name;\n audit.inspectionType = this.primaryAudit.inspectionType;\n audit.sectorId = formData.sectorId;\n audit.name = formData.templateName;\n audit.roomId = formData.roomId;\n audit.plannedTime = formData.plannedTime;\n audit.auditor = this.primaryAudit.auditor;\n audit.inspector = formData.inspector;\n audit.workflowDependent = formData.workflowDependent;\n if (audit.inspectionType === 1) {audit.inspectionLocation = formData.inspectionLocation; }\n return audit;\n }\n\n /*\n Attempts to advance audit status manually (not controlled by completing/starting workflows.\n Will prompt the user with an error message if response.audit is null.\n Closes the dialog regardless of response.\n */\n public advanceAuditStatus(): void {\n this.auditService.advanceAuditStatus(this.primaryAudit.auditId)\n .subscribe((response: ActAdvanceAuditStatusResponse) => {\n if (response.audit == null) {\n this.ref.close();\n this.confirmationService.confirm({\n message: response.errorMessage,\n // Is this call to close redundant? Check above as well.\n accept: () => { this.ref.close(); }\n });\n } else { this.ref.close(); }\n });\n }\n\n public async cancelAudit(): Promise {\n await this.auditService.cancelAudit(this.primaryAudit.auditId).toPromise().then((res: boolean) => {\n if (res) { this.ref.close(); }\n });\n }\n\n public handleAssignCAAudit(): void {\n const formData = this.correctiveActionForm.value;\n var request: ActAssignCorrectiveActionRequest = {\n auditId: this.primaryAudit.auditId,\n inspector: formData.inspector.value,\n plannedTime: new Date(formData.plannedTime)\n };\n\n console.log(request);\n\n this.auditService.submitAssignCorrectiveActionsRequest(request).subscribe((res: any) => {\n console.log(res);\n this.ref.close();\n })\n }\n}","// ANGULAR\r\nimport { Component, ChangeDetectionStrategy, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n// OTHER\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport {InjectableRxStompConfig, RxStompService} from '@stomp/ng2-stompjs';\r\nimport { Message, StompHeaders } from '@stomp/stompjs';\r\nimport { Subscription } from 'rxjs';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\n// ACTIUM\r\nimport { AuthService } from './services/auth.service';\r\nimport { MqService } from './services/mq.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.Default\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n\r\n public title: string = 'actium-plus';\r\n\r\n // TRANSLATION\r\n public items: MenuItem[] = [];\r\n public lblHome: string;\r\n public lblWorkflows: string;\r\n public lblInstances: string;\r\n public lblWorkflowDetails: string;\r\n public lblRoutes: string;\r\n public lblBeds: string;\r\n public lblTasks: string;\r\n public lblReports: string;\r\n public lblHelp: string;\r\n public lblLegend: string;\r\n public lblAbout: string;\r\n public lblAdmin: string;\r\n public lblViewUsers: string;\r\n public lblAddUsers: string;\r\n public lblViewGroups: string;\r\n public lblAddGroups: string;\r\n public lblViewInfections: string;\r\n public lblAddInfections: string;\r\n public lblViewReasons: string;\r\n public lblAddReasons: string;\r\n public lblExcel: string;\r\n public lblSan: string;\r\n public lblAuditCalendar: string = '';\r\n public lblTableInfections: string = '';\r\n public lblAuditTable: string = '';\r\n\r\n // AUTH INFORMATION\r\n public authenticated: boolean = false;\r\n private isADTUser: boolean = false;\r\n private isAUDUser: boolean = false;\r\n private authSubscription: Subscription;\r\n\r\n // RABBIT MQ\r\n public message: string = '';\r\n public receivedMessages: string[] = [];\r\n private topicSubscription: Subscription;\r\n private binding = '/exchange/ActiumADT/Actium.*';\r\n private subscriptionHeaders: StompHeaders;\r\n private mqMessageSubscription: Subscription;\r\n\r\n constructor(\r\n private router: Router,\r\n private translate: TranslateService,\r\n private rxStompService: RxStompService,\r\n private authService: AuthService,\r\n private mqService: MqService,\r\n private stompConfig: InjectableRxStompConfig\r\n ) {\r\n translate.addLangs(['fr', 'en']);\r\n translate.setDefaultLang('fr');\r\n translate.use('fr');\r\n this.subscriptionHeaders = {\r\n 'id': 'angular',\r\n 'x-queue-name': `angular-${this.getUniqueId(2)}`\r\n };\r\n this.mqMessageSubscription = this.mqService.currentMessage.subscribe((message: any) => { this.handleMqMessage(message); });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.handleTranslation();\r\n this.handleAuthSubscriptions();\r\n this.rxStompService.configure(this.stompConfig);\r\n this.topicSubscription = this.rxStompService.watch(this.binding, this.subscriptionHeaders).subscribe((message: Message) => {\r\n this.receivedMessages.push(message.body);\r\n const messageObject = JSON.parse(message.body);\r\n this.mqService.dispatchMessage(messageObject);\r\n });\r\n }\r\n\r\n /*\r\n @JM\r\n Is it important to unsubscribe from observables? My first instinct would be that it would be\r\n handles by something like a garbage collector. Does that even exist in JS? Of course it does...\r\n but can it handle observables? If I must unsubscribe manually, I will follow your pattern and\r\n create a this.audUserSubscription, for example.\r\n */\r\n ngOnDestroy(): void {\r\n this.authSubscription.unsubscribe();\r\n this.topicSubscription.unsubscribe();\r\n }\r\n\r\n // ***** FUNCTIONS REGARDING AUTH STATUS AND LOGIN/ LOGOUT *****\r\n\r\n /*\r\n OBSERVABLES. DO. NOT. HAVE. INITIAL. VALUES.\r\n Subscribing to these observables ensure that when things change, the appropriate\r\n values are updated. This does not ensure that when the page is loaded this is true.\r\n We must set this.authenticated \"manually\".\r\n */\r\n handleAuthSubscriptions(): void {\r\n this.authService.isAuthObservable.subscribe((res: boolean) => {\r\n this.authenticated = res;\r\n if (res) this.setItems();\r\n });\r\n\r\n this.authService.isAUDUserObservable.subscribe((res: boolean) => { this.isAUDUser = res; });\r\n this.authService.isADTUserObservable.subscribe((res: boolean) => { this.isADTUser = res; });\r\n this.authenticated = this.authService.isAuthenticated;\r\n if (this.authenticated) {\r\n this.determineApplicationUser();\r\n this.setItems();\r\n }\r\n }\r\n\r\n determineApplicationUser(): boolean {\r\n this.isADTUser = (this.authService.isADTUser);\r\n this.isAUDUser = (this.authService.isAUDUser);\r\n return true;\r\n }\r\n\r\n logout(): void {\r\n this.authService.logout().subscribe((res: boolean) => {\r\n this.setItems();\r\n this.router.navigateByUrl('/auth');\r\n });\r\n }\r\n\r\n private handleMqMessage(rabbitMqMessage: any): void {\r\n if (rabbitMqMessage.msgType === 6) { this.handleForceLogout(rabbitMqMessage); }\r\n }\r\n\r\n private handleForceLogout(rabbitMqMessage: any): void {\r\n try {\r\n if (this.authService.isAuthenticated) {\r\n const currentUser = this.authService.currentUser;\r\n if (rabbitMqMessage.Username === currentUser.username) { this.logout(); }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n // ***** END OF FUNCTIONS REGARDING AUTH STATUS AND LOGIN/ LOGOUT *****\r\n\r\n // ***** TRANSLATION AND MENU *****\r\n\r\n handleTranslation(): void {\r\n this.translate.get(['app.menu.home', 'app.menu.workflows', 'app.menu.instances', 'app.menu.workflow-detail',\r\n 'app.menu.routes', 'app.menu.beds', 'app.menu.tasks', 'app.menu.reports', 'app.menu.help', 'app.menu.legend',\r\n 'app.menu.about-us', 'app.menu.admin', 'app.menu.viewUsers', 'app.menu.addUsers', 'app.menu.viewGroups',\r\n 'app.menu.addGroups', 'app.menu.viewInfections', 'app.menu.addInfections', 'app.menu.viewReasons',\r\n 'app.menu.addReasons', 'app.menu.excel', 'app.menu', 'app.menu.auditCalendar','app.menu.tableInfections', 'app.menu.auditTable', 'app.menu.san'])\r\n .subscribe((translations: string[]) => {\r\n this.lblHome = translations['app.menu.home'];\r\n this.lblWorkflows = translations['app.menu.workflows'];\r\n this.lblInstances = translations['app.menu.instances'];\r\n this.lblWorkflowDetails = translations['app.menu.workflow-detail'];\r\n this.lblRoutes = translations['app.menu.routes'];\r\n this.lblBeds = translations['app.menu.beds'];\r\n this.lblTasks = translations['app.menu.tasks'];\r\n this.lblReports = translations['app.menu.reports'];\r\n this.lblHelp = translations['app.menu.help'];\r\n this.lblLegend = translations['app.menu.legend'];\r\n this.lblAbout = translations['app.menu.about-us'];\r\n this.lblAdmin = translations['app.menu.admin'];\r\n this.lblViewUsers = translations['app.menu.viewUsers'];\r\n this.lblAddUsers = translations['app.menu.addUsers'];\r\n this.lblViewGroups = translations['app.menu.viewGroups'];\r\n this.lblAddGroups = translations['app.menu.addGroups'];\r\n this.lblViewInfections = translations['app.menu.viewInfections'];\r\n this.lblAddInfections = translations['app.menu.addInfections'];\r\n this.lblViewReasons = translations['app.menu.viewReasons'];\r\n this.lblAddReasons = translations['app.menu.addReasons'];\r\n this.lblExcel = translations['app.menu.excel']; \r\n this.lblSan = translations['app.menu.san']; \r\n // this.lblAuditCalendar = translations['app.menu.auditCalendar'];\r\n this.lblTableInfections = translations['app.menu.tableInfections'];\r\n this.lblAuditTable = translations['app.menu.auditTable'];\r\n\r\n this.setItems();\r\n });\r\n }\r\n\r\n setItems(): void {\r\n this.items = [];\r\n this.items = [\r\n {\r\n label: this.lblHome,\r\n visible: this.authenticated,\r\n icon: 'adt-icon icon-home',\r\n routerLink: '/'\r\n },\r\n {\r\n label: this.lblWorkflows,\r\n visible: this.authenticated && this.isADTUser,\r\n icon: 'adt-icon icon-project-diagram',\r\n routerLink: '/instances'\r\n },\r\n {\r\n label: this.lblRoutes,\r\n visible: this.authenticated && this.isADTUser,\r\n icon: 'adt-icon icon-route',\r\n routerLink: '/routes'\r\n },\r\n {\r\n label: this.lblBeds,\r\n visible: this.authenticated && this.isADTUser,\r\n icon: 'adt-icon icon-bed',\r\n routerLink: '/beds/grid'\r\n },\r\n {\r\n label: this.lblTasks,\r\n visible: this.authenticated && this.isADTUser,\r\n icon: 'adt-icon icon-tasks',\r\n routerLink: '/tasks'\r\n },\r\n {\r\n label: this.lblReports,\r\n visible: this.authenticated && (this.isADTUser || this.isAUDUser),\r\n icon: 'adt-icon icon-chart-line',\r\n routerLink: '/reports'\r\n },\r\n // {\r\n // label: this.lblAuditCalendar,\r\n // visible: this.authenticated && this.isAUDUser,\r\n // icon: 'adt-icon icon-calendar',\r\n // routerLink: '/calendar'\r\n // },\r\n {\r\n label: this.lblTableInfections,\r\n visible: this.authenticated && this.isAUDUser,\r\n icon: 'adt-icon icon-tasks',\r\n routerLink: '/infections-table'\r\n },\r\n {\r\n label: this.lblAuditTable,\r\n visible: this.authenticated && this.isAUDUser,\r\n icon: 'adt-icon icon-tasks',\r\n routerLink: '/audit-table'\r\n },\r\n {\r\n label: this.lblAdmin,\r\n visible: this.authenticated && (this.isADTUser || this.isAUDUser),\r\n icon: 'pi pi-user-plus',\r\n items: [\r\n { label: this.lblViewUsers, routerLink: '/admin/user-table' },\r\n { label: this.lblViewGroups, routerLink: '/admin/group-table' },\r\n { label: this.lblViewInfections, routerLink: './admin/infections-table' },\r\n { label: 'Interne', routerLink: './admin/internal' },\r\n { visible: false, label: this.lblExcel, routerLink: '/admin/excel-upload' }\r\n ]\r\n },\r\n {\r\n label: this.lblSan,\r\n visible: this.authenticated,\r\n icon: 'adt-icon icon-home',\r\n routerLink: '/san'\r\n },\r\n {\r\n label: this.lblHelp,\r\n visible: this.authenticated,\r\n icon: 'adt-icon icon-question-circle',\r\n routerLink: '/help'\r\n }\r\n ];\r\n }\r\n\r\n // ***** END OF TRANSLATION AND MENU *****\r\n\r\n // ***** HELPER FUNCTIONS *****\r\n\r\n getUniqueId(parts: number): string {\r\n const stringArr = [];\r\n for (let i = 0; i < parts; i++) {\r\n // tslint:disable-next-line:no-bitwise\r\n const S4 = (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\r\n stringArr.push(S4);\r\n }\r\n return stringArr.join('-');\r\n }\r\n\r\n // ***** END OF HELPER FUNCTIONS *****\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'taskStatusColor'\r\n})\r\nexport class TaskStatusColorPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n var ret = \"\";\r\n switch(value) {\r\n case 0:\r\n ret = \"PaleGreen\" //running\r\n break;\r\n case 1:\r\n ret = \"Coral\" //paused\r\n break;\r\n case 2:\r\n ret = \"Gainsboro\" //cancelled\r\n break;\r\n case 3:\r\n ret = \"SlateBlue\" //reassigned\r\n break;\r\n case 4:\r\n ret = \"LimeGreen\" //completed\r\n break;\r\n default:\r\n break;\r\n }\r\n return ret;\r\n }\r\n\r\n}\r\n","export default \"
\\n
\\n \\n \\n

\\n \\n \\n \\n \\n
\\n
\\n\\n\\n\\n\\n\\n\\n\";","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'nodeStatusColor'\r\n})\r\nexport class NodeStatusColorPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n var ret = \"\";\r\n switch(value) {\r\n case 0:\r\n ret = \"AntiqueWhite\" //created\r\n break;\r\n case 1:\r\n ret = \"BlanchedAlmond\" //Initializing\r\n break;\r\n case 2:\r\n ret = \"PaleGreen\" //Running\r\n break;\r\n case 3:\r\n ret = \"Chocolate\" //paused\r\n break;\r\n case 4:\r\n ret = \"Coral\" //pending\r\n break;\r\n case 5:\r\n ret = \"LimeGreen\" //completed\r\n break;\r\n case 6:\r\n ret = \"DarkGrey\" //cancelled\r\n break;\r\n default:\r\n break;\r\n }\r\n return ret;\r\n }\r\n\r\n}\r\n","// ANGULAR\nimport { Injectable } from '@angular/core';\nimport {\n CanActivate,\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n UrlTree,\n Router,\n} from '@angular/router';\n\n// OTHER\nimport { Observable } from 'rxjs';\n\n// ACTIUM\nimport { AuthService } from '../services/auth.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n constructor(private router: Router, private authService: AuthService) {}\n\n async canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Promise {\n try {\n await this.authService.ping().toPromise();\n return true;\n } catch (err) {}\n\n try {\n await this.authService.refresh().toPromise();\n return true;\n } catch (err) {}\n\n this.router.navigate(['/auth']);\n return false;\n }\n}\n","export default \"
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\";","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safe'\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n\r\n constructor(protected sanitizer: DomSanitizer) {}\r\n \r\n public transform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n switch (type) {\r\n\t\t\tcase 'html': return this.sanitizer.bypassSecurityTrustHtml(value);\r\n\t\t\tcase 'style': return this.sanitizer.bypassSecurityTrustStyle(value);\r\n\t\t\tcase 'script': return this.sanitizer.bypassSecurityTrustScript(value);\r\n\t\t\tcase 'url': return this.sanitizer.bypassSecurityTrustUrl(value);\r\n\t\t\tcase 'resourceUrl': return this.sanitizer.bypassSecurityTrustResourceUrl(value);\r\n\t\t\tdefault: throw new Error(`Invalid safe type specified: ${type}`);\r\n\t\t}\r\n }\r\n}","// ANGULAR\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgModule } from '@angular/core';\r\nimport { HttpClientModule, HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { registerLocaleData, DatePipe } from '@angular/common';\r\nimport localeFrCa from '@angular/common/locales/fr-CA';\r\n\r\n// OTHER\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { InjectableRxStompConfig, RxStompService, rxStompServiceFactory } from '@stomp/ng2-stompjs';//svb\r\n\r\nregisterLocaleData(localeFrCa, 'fr_CA');\r\nexport const createTranslationLoader = (httpClient: HttpClient) => {\r\n return new TranslateHttpLoader(httpClient as any, 'assets/i18n/', '.json');\r\n};\r\n\r\n// ACTIUM\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { AdtRxStompConfig } from './config/env.config';//svb\r\nimport { AuthService } from './services/auth.service';\r\nimport { MqService } from './services/mq.service';\r\nimport { SseService } from './services/sse.service';\r\nimport { StorageService } from './services/storage.service';\r\nimport { TokenInterceptor } from './guards/token.interceptor';\r\nimport { SharedModule } from './modules/shared/shared.module';\r\nimport { AuditService } from './services/audit-service';\r\nimport { AuditReportingService } from \"./services/audit-reporting.service\";\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n SharedModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: (createTranslationLoader),\r\n deps: [HttpClient]\r\n }\r\n })\r\n ],\r\n entryComponents: [],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: TokenInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: InjectableRxStompConfig,\r\n useValue: AdtRxStompConfig\r\n },\r\n {\r\n provide: RxStompService,\r\n useFactory: rxStompServiceFactory,\r\n deps: [InjectableRxStompConfig]\r\n },//svb\r\n AuthService,\r\n MqService,\r\n SseService,\r\n StorageService,\r\n ConfirmationService,\r\n AuditService,\r\n AuditReportingService,\r\n DatePipe\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Config } from '../config/env.config';\n\n@Injectable()\nexport class SseService {\n\n private source;\n private messageSource = new BehaviorSubject({});\n currentMessage = this.messageSource.asObservable();\n\n constructor() { \n //console.log(\"sse.Service constructor\");\n var _this = this;\n this.source = new EventSource(`${Config.sseUrl}?userName=jmdavid&groupName=admin&appName=adt`);\n this.source.onopen = function (e: any) {\n console.log(e);\n };\n this.source.onmessage = function (event: any) {\n //console.log(\"onmessage\", event.data);\n _this.dispatchMessage(`onmessage: ${event.data}`);\n };\n this.source.addEventListener('task', function(event: any) {\n //console.log(\"task\", event.data);\n _this.dispatchMessage(`task: ${event.data}`);\n });\n this.source.addEventListener('bed', function(event: any) {\n //console.log(\"bed\", event.data);\n _this.dispatchMessage(`bed: ${event.data}`);\n });\n }\n\n dispatchMessage(message: any) {\n this.messageSource.next(message)\n }\n}","export default \"\\n\\n
\\n

{{'general.warnings.delete-alert' | translate}} {{infection.label}} ?

\\n
\\n\\n
\\n \\n \\n
\\n\";","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'workflowStatusIcon'\r\n})\r\nexport class WorkflowStatusIconPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n var ret = \"\";\r\n switch(value) {\r\n case 0:\r\n ret = \"adt-icon icon-stop\" //created\r\n break;\r\n case 1:\r\n ret = \"adt-icon icon-eject\" //Initializing\r\n break;\r\n case 2:\r\n ret = \"adt-icon icon-play\" //Running\r\n break;\r\n case 3:\r\n ret = \"adt-icon icon-pause\" //paused\r\n break;\r\n case 4:\r\n ret = \"adt-icon icon-to-start\" //pending\r\n break;\r\n case 5:\r\n ret = \"adt-icon icon-to-end\" //completed\r\n break;\r\n case 6:\r\n ret = \"adt-icon icon-ban\" //cancelled\r\n break;\r\n default:\r\n break;\r\n }\r\n return ret;\r\n }\r\n}","// ANGULAR\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { forkJoin, Observable } from 'rxjs';\n\n// OTHER\nimport { DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { DynamicDialogConfig } from 'primeng/dynamicdialog';\nimport { TranslateService } from '@ngx-translate/core';\n\n// ACTIUM\nimport { User } from '../../../models/user';\nimport { UserDataService } from '../../../services/user-data.service';\nimport { Group } from '../../../models/group';\nimport { UserGroup } from 'src/app/models/usergroup';\nimport { ActCreateUserRequest } from '../../../models/requests/create-user-request';\nimport { ActUpdateUserRequest } from 'src/app/models/requests/update-user-request';\nimport { SharedModule } from '../../shared/shared.module';\n\n@Component({\n selector: 'app-create-user',\n templateUrl: './create-user.component.html',\n styleUrls: ['./create-user.component.scss']\n})\nexport class CreateUserComponent implements OnInit {\n\n // TRANSLATION\n public lblEdit: string = '';\n public dynamicInformationHeader: string = '';\n\n public mode: string = '';\n public userInformationForm: FormGroup;\n public user: User = null;\n public accordianActiveState: boolean[] = [true, false];\n public selectedConfirmPassword: string = '';\n public togglePassword: boolean = false;\n\n // PICKLIST REQUIRED ARRAYS\n public availableGroups: Group[] = [];\n public pickListUserAssociatedGroups: Group[] = [];\n public allGroups: Group[] = [];\n public allUserGroupByUser: UserGroup[] = [];\n public finalUserGroupsToUpdate: UserGroup[] = [];\n\n private emailRegex: string = '[a-z0-9!#$%&\\'*+/=?^_`{|}~-]+(?:\\\\.[a-z0-9!#$%&\\'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?';\n\n constructor(\n public userDataService: UserDataService,\n public router: Router,\n private formBuilder: FormBuilder,\n public ref: DynamicDialogRef,\n private config: DynamicDialogConfig,\n private translate: TranslateService) {\n }\n\n /*\n Must refactor the switch, complete waste of space for what could be a simple ternary... It does work though\n */\n ngOnInit(): void {\n this.userInformationForm = this.formBuilder.group({\n firstName: new FormControl('', [Validators.required]),\n lastName: ['', Validators.required],\n email: ['', Validators.email],\n username: ['', Validators.required],\n password: new FormControl(''),\n passwordConfirm: new FormControl ('')\n });\n this.handleTranslation();\n this.user = this.config.data.user;\n switch (this.user) {\n case null:\n this.mode = 'create';\n break;\n default:\n this.mode = 'edit';\n this.dynamicInformationHeader = ': ' + this.user.username;\n this.populateUserInformationForm(this.user);\n this.populatePickList();\n break;\n }\n }\n\n ngAfterViewInit(): void {\n document.getElementById('password-eye-icon').addEventListener('click', this.toggleTextPassword);\n document.getElementById('password-confirm-eye-icon').addEventListener('click', this.toggleTextPassword);\n }\n\n handleTranslation(): void {\n this.translate.get(['modules.userEdit.editUser'])\n .subscribe((translations: string[]) => {\n this.lblEdit = translations['modules.userEdit.editUser'];\n });\n }\n\n // ***** USER INFORMATION FORM RELATED FUNCTIONS *****\n\n populateUserInformationForm(user: User): void {\n this.userInformationForm.patchValue({\n firstName: user.firstname,\n lastName: user.lastname,\n username: user.username,\n email: user.email,\n });\n }\n\n submitUserInformationForm(): void {\n if (this.mode === 'create') { this.userDataService.addNewUser(this.handleCreateUserRequest())\n .subscribe((createdUser: User) => {\n this.user = createdUser;\n this.populatePickList();\n }); }\n if (this.mode === 'edit') { this.userDataService.updateUser(this.handleUpdateUserRequest())\n .subscribe((updatedUser: User) => {\n this.user = updatedUser;\n this.populatePickList();\n this.dynamicInformationHeader = ': ' + this.user.username;\n /*\n TODO: I leave the below because it seems like it should be able to dynamically change\n the header from within the overlay. The ideal result is that when we change the username\n within the overlay, the header is updated. I will simply remove the username from the header\n for now so at least there is no incorrect information.\n this.config.header = this.lblEdit + ': ' + this.user.username;\n */\n });\n }\n this.accordianActiveState = [false, true];\n }\n\n handleCreateUserRequest(): ActCreateUserRequest {\n const formData = this.userInformationForm.value;\n const createdUserRequest: ActCreateUserRequest = {\n username: formData.username,\n firstName: formData.firstName,\n lastName: formData.lastName,\n email: formData.email,\n password: formData.password\n };\n return createdUserRequest;\n }\n\n handleUpdateUserRequest(): ActUpdateUserRequest {\n const formData = this.userInformationForm.value;\n const updateUserRequest: ActUpdateUserRequest = {\n username: formData.username,\n firstName: formData.firstName,\n lastName: formData.lastName,\n email: formData.email,\n password: formData.password,\n id: this.user.id\n };\n return updateUserRequest;\n }\n\n deleteUser = () => {\n this.userDataService.deleteUser(this.user.id).subscribe((res: boolean) => {\n this.ref.close();\n });\n }\n\n // ***** END OF USER INFORMATION FORM RELATED FUNCTIONS *****\n\n // ***** PICKLIST RELATED FUNCTIONS *****\n\n public populatePickList(): void {\n forkJoin(\n [\n this.populateAllGroups(),\n this.populateAllUserGroup()\n ]\n )\n .subscribe(([groups, userGroups]) => {\n this.allGroups = groups;\n this.allUserGroupByUser = userGroups;\n this.populateAvailableGroups();\n this.populatePickListUserAssociatedGroups();\n });\n }\n\n public submitPicklist(): void {\n this.populateFinalUserGroupsToUpdate();\n this.userDataService.updateUserGroupRelation(this.finalUserGroupsToUpdate, this.user.id).subscribe((res: any) => {\n this.ref.close();\n });\n }\n\n private populateFinalUserGroupsToUpdate(): void {\n this.finalUserGroupsToUpdate = this.pickListUserAssociatedGroups\n .map(({gId}) => ({gId, id: this.user.id}));\n }\n\n private populateAllGroups(): Observable {\n return this.userDataService.getAllGroups();\n }\n\n private populateAllUserGroup(): Observable {\n return this.userDataService.getAllUserGroupsById(this.user.id);\n }\n\n // ***** QUARANTINE *****\n\n /*\n The two functions \"under quarantine\" work but are not clear.\n These are good candidates for revision as they rely upon the strange\n 'g' prefix. Do not touch for now... they do work properly.\n NOTE: I changed these functions in group-table to display the roles. If we\n have the right data types, we can rewrite this in a much more descriptive way\n to pass the TS compiler.\n */\n private populateAvailableGroups(): void {\n this.availableGroups = this.allGroups\n .filter(i1 => !this.allUserGroupByUser\n .some(i2 => i1.gId === i2.gId));\n }\n\n private populatePickListUserAssociatedGroups(): void {\n this.pickListUserAssociatedGroups = this.allGroups\n .filter(i1 => this.allUserGroupByUser\n .some(i2 => i1.gId === i2.gId));\n }\n\n // ***** END OF QUARANTINE *****\n\n // ***** END OF PICKLIST RELATED FUNCTIONS *****\n\n // ***** CUSTOM VALIDATION *****\n\n public confirmPasswordsMatch(confirmPassword: string, password: string): void {\n const formData = this.userInformationForm.value;\n const formControls = this.userInformationForm.controls;\n if (confirmPassword !== password) {\n formControls.password.setErrors({ incorrect: true });\n formControls.passwordConfirm.setErrors({ incorrect: true });\n }\n else {\n this.userInformationForm.setErrors(null);\n formControls.password.setErrors(null);\n formControls.passwordConfirm.setErrors(null);\n }\n }\n\n public toggleTextPassword(): void {\n const passwordField = document.getElementById('password');\n const confirmField = document.getElementById('passwordConfirm');\n const passwordIcon = document.getElementById('password-eye-icon');\n const confirmIcon = document.getElementById('password-confirm-eye-icon');\n this.togglePassword = !this.togglePassword;\n if (this.togglePassword) {\n passwordField.setAttribute('type', 'text');\n confirmField.setAttribute('type', 'text');\n passwordIcon.className = 'adt-icon icon-eye';\n confirmIcon.className = 'adt-icon icon-eye';\n }\n else {\n passwordField.setAttribute('type', 'password');\n confirmField.setAttribute('type', 'password');\n passwordIcon.className = 'adt-icon icon-eye-slash';\n confirmIcon.className = 'adt-icon icon-eye-slash';\n }\n }\n\n // ***** END OF CUSTOM VALIDATION *****\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJjcmVhdGUtdXNlci5jb21wb25lbnQuc2NzcyJ9 */\";","// ANGULAR\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\n\n// OTHER\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { TranslateService } from '@ngx-translate/core';\n\n// ACTIUM\nimport { SharedModule } from '../shared/shared.module';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { ADTLoginRequest, TokenRequest } from 'src/app/models';\n\n@Component({\n selector: 'app-adt-login',\n templateUrl: './adt-login.component.html',\n styleUrls: ['./adt-login.component.scss'],\n})\nexport class AdtLoginComponent implements OnInit {\n public adtShiftInformationForm: FormGroup;\n public selectedShiftObject: any = null;\n public selectedRouteObject: any = null;\n public shifts: any[] = [];\n public routes: any[] = [];\n\n constructor(\n private ref: DynamicDialogRef,\n private formBuilder: FormBuilder,\n private authService: AuthService,\n private router: Router\n ) {\n this.adtShiftInformationForm = this.formBuilder.group({\n shiftObject: [this.selectedShiftObject, Validators.required],\n routeObject: [this.selectedRouteObject, Validators.required],\n });\n }\n\n ngOnInit(): void {\n this.getShifts();\n }\n\n /*\n Like elsewhere, there is a problem regarding my ability to pass around\n the authorized user. This is why I call the getter in authService. It works,\n but it is not the ideal way to do this.\n TODO: Import config from dialog service, and simply take the user\n that is passed on creation of this component.\n */\n async handleADTLogin(): Promise {\n const currentUser = this.authService.currentUser;\n const adtLoginRequest: ADTLoginRequest = {\n userId: currentUser.userId,\n username: currentUser.username,\n establishmentId: currentUser.establishmentId,\n shift: this.adtShiftInformationForm.value.shiftObject.id,\n route: this.adtShiftInformationForm.value.routeObject.id,\n };\n try {\n await this.authService\n .initializeADTSpecificLogin(adtLoginRequest)\n .then((res: boolean) => {\n this.router.navigateByUrl('/dashboard');\n this.ref.close();\n });\n } catch (error) {\n this.handleFailedADTLogin();\n }\n }\n\n getShifts(): void {\n this.authService\n .getShifts()\n .subscribe(\n (relevantShifts: any[]) => (this.shifts = relevantShifts)\n );\n\n }\n\n getRoutes(shiftChangeEvent: any): void {\n this.authService\n .getRoutes(shiftChangeEvent.value.id)\n .subscribe(\n (relevantRoutes: any[]) => (this.routes = relevantRoutes)\n ); // shiftChangeEvent.value\n }\n\n handleFailedADTLogin(): void {\n console.log('Login failed');\n }\n}\n","// ANGULAR\nimport { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpInterceptor,\n HttpResponse,\n HttpSentEvent,\n HttpHeaderResponse,\n HttpProgressEvent,\n HttpUserEvent,\n} from '@angular/common/http';\n\n// OTHER\nimport { Observable } from 'rxjs';\n\n// ACTIUM\nimport { Config } from '../config/env.config';\nimport { AuthService } from '../services/auth.service';\nimport { Router } from '@angular/router';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor {\n constructor(private authService: AuthService, private router: Router) {}\n\n intercept(\n request: HttpRequest,\n next: HttpHandler\n ): Observable<\n | HttpSentEvent\n | HttpHeaderResponse\n | HttpProgressEvent\n | HttpResponse\n | HttpUserEvent\n | any\n > {\n return next.handle(\n this.addTokenToRequest(request, this.authService.accessToken)\n );\n }\n\n private addTokenToRequest(\n request: HttpRequest,\n token: string\n ): HttpRequest {\n return request.clone({\n setHeaders: { Authorization: `${Config.tokenType} ${token}` },\n setParams: { lang: 'fr' },\n });\n }\n}\n","// ANGULAR\nimport { Component, OnInit } from '@angular/core';\n\n// OTHER\nimport { DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { DynamicDialogConfig } from 'primeng/dynamicdialog';\n\n// ACTIUM\nimport { Infection } from 'src/app/models/infection';\nimport { InfectionDataService } from '../../../services/infection-service';\n\n@Component({\n selector: 'app-delete-infection',\n templateUrl: './delete-infection.component.html',\n styleUrls: ['./delete-infection.component.scss']\n})\nexport class DeleteInfectionComponent implements OnInit {\n\n public infection: Infection;\n\n constructor(private ref: DynamicDialogRef,\n private config: DynamicDialogConfig,\n private infectionService: InfectionDataService) { }\n\n ngOnInit(): void {\n this.infection = this.config.data.infection;\n }\n\n deleteInfection(): void {\n this.infectionService.deleteInfection(this.infection.id).subscribe((res: boolean) => {\n this.ref.close();\n });\n }\n cancelInfection(): void {\n this.ref.close();\n }\n}\n","// ANGULAR\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\n// OTHER\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport jwt_decode from 'jwt-decode';\n\n// ACTIUM\nimport { Config } from '../config/env.config';\nimport { AuthUser } from '../models/act-user';\nimport { TokenResponse } from '../models/responses/token-response';\nimport { TokenRequest } from '../models/tokens';\nimport { StorageService } from './storage.service';\nimport { ADTLoginRequest } from '../models';\nimport { TokenStatus } from '../models/enums/token-status-enum';\n\n// LOCAL STORAGE\nconst AUTHENTICATED_KEY = 'AUTHENTICATED';\nconst ACCESS_TOKEN_KEY = 'ACCESS_TOKEN';\nconst TOKEN_EXPIRATION_KEY = 'TOKEN_EXPIRATION';\nconst REFRESH_TOKEN_KEY = 'REFRESH_TOKEN';\nconst CURRENT_USER_KEY = 'CURRENT_USER';\n\n@Injectable()\nexport class AuthService {\n // ***** PUBLIC GETTERS AND SETTERS USING LOCAL STORAGE *****\n\n public get isAuthenticated(): boolean {\n return this.storageService.getBooleanValue(AUTHENTICATED_KEY);\n }\n\n public set isAuthenticated(val: boolean) {\n this.storageService.setBooleanValue(AUTHENTICATED_KEY, val);\n }\n\n public get accessToken(): string {\n return this.storageService.getStringValue(ACCESS_TOKEN_KEY);\n }\n\n public set accessToken(val: string) {\n this.storageService.setStringValue(ACCESS_TOKEN_KEY, val);\n }\n\n public get tokenExpiration(): number {\n return this.storageService.getNumberValue(TOKEN_EXPIRATION_KEY);\n }\n\n public set tokenExpiration(val: number) {\n this.storageService.setNumberValue(TOKEN_EXPIRATION_KEY, val);\n }\n\n public get refreshToken(): string {\n return this.storageService.getStringValue(REFRESH_TOKEN_KEY);\n }\n\n public set refreshToken(val: string) {\n this.storageService.setStringValue(REFRESH_TOKEN_KEY, val);\n }\n\n public get currentUser(): AuthUser {\n return this.storageService.getObject(CURRENT_USER_KEY);\n }\n\n public set currentUser(val: AuthUser) {\n this.storageService.setObject(CURRENT_USER_KEY, val);\n }\n\n public get isADTUser(): boolean {\n return localStorage.getItem('CURRENT_USER').includes('ADT');\n }\n\n public get isAUDUser(): boolean {\n return localStorage.getItem('CURRENT_USER').includes('AUD');\n }\n\n // ***** END OF PUBLIC GETTERS AND SETTERS *****\n\n // ***** PRIMARY REFRENCE FOR USER STATUS *****\n\n // GENERAL AUTH\n isAuthSource = new BehaviorSubject(false);\n isAuthObservable = this.isAuthSource.asObservable();\n\n /*\n I believe, from reading the Angular docs, that the best way\n to do what I try to achieve here is really with route guards. That being said,\n this is a relatively quick and dirty way of ensuring that only certain\n menu items are available. It does NOT prevent entering the url manually.\n */\n // ADT USER\n isADTUserSource = new BehaviorSubject(false);\n isADTUserObservable = this.isADTUserSource.asObservable();\n\n // AUDIT USER\n isAUDUserSource = new BehaviorSubject(false);\n isAUDUserObservable = this.isAUDUserSource.asObservable();\n\n // ***** END OF USER STATUS REFERENCE *****\n\n constructor(\n private http: HttpClient,\n private storageService: StorageService,\n private router: Router\n ) {}\n\n // ***** PRIMARY LOGIN FUNCTIONS *****\n\n async login(tokenRequest: TokenRequest): Promise {\n try {\n return await this.loginApiCall(tokenRequest).then(\n \n (tokenResponse: TokenResponse) => {\n \n // Handle user already logged in.\n if (tokenResponse.loggedIn) {\n return TokenStatus.LoggedIn;\n }\n\n // Handle establishment selection required.\n if (tokenResponse.establishmentRequired) {\n this.currentUser = {\n permissions: [],\n username: '',\n clientId: tokenResponse.requestedUserClientId,\n };\n return TokenStatus.EstablishmentRequired;\n }\n\n\n const createdUser: AuthUser =\n this.unpackTokenAndAttributeToUser(\n tokenRequest,\n tokenResponse\n );\n this.updateAuthInformation(createdUser, tokenResponse);\n\n return TokenStatus.Continue;\n }\n );\n } catch (error) {\n console.log(error);\n return TokenStatus.Error;\n }\n }\n\n public async LdapUser(Username: string, Password: string): Promise {\n\n console.log(`LDAP Request: ${Username}`);\n\n try {\n const username: any = await this.http.post(\n `${Config.apiUrl}/acttoken/LdapUser`, \n {Username: Username, Password: Password},\n {\n headers: { 'Content-Type': 'application/json' },\n responseType: 'text' as 'json' // Interpret the response as plain text\n }\n ).toPromise();\n \n console.log(`LDAP Response: ${username}`);\n return true;\n } catch (err) {\n const { error } = err;\n console.log(error);\n return false;\n }\n\n }\n\n public refresh(): Observable {\n\n return this.http\n .post(`${Config.apiUrl}/acttoken/refresh`, {\n Token: this.accessToken,\n RefreshToken: this.refreshToken,\n })\n .pipe(\n tap((tokenResponse: TokenResponse) => {\n const decoded: any = jwt_decode(tokenResponse.token);\n this.isAuthenticated = true;\n this.accessToken = tokenResponse.token;\n this.tokenExpiration = Number(decoded.exp);\n this.refreshToken = tokenResponse.refreshtoken;\n\n return tokenResponse;\n })\n );\n }\n\n logout(): Observable {\n const headers = new HttpHeaders({\n 'Content-Type': 'application/json',\n Authorization: `${Config.tokenType} ${this.accessToken}`,\n });\n\n return this.http\n .post(\n `${Config.apiUrl}/acttoken/exit`,\n { username: this.currentUser.username },\n { headers }\n )\n .pipe(\n tap((data) => {\n this.isAuthenticated = false;\n this.isAuthSource.next(false);\n this.isAUDUserSource.next(false);\n this.isADTUserSource.next(false);\n this.storageService.removeItem(AUTHENTICATED_KEY);\n this.storageService.removeItem(ACCESS_TOKEN_KEY);\n this.storageService.removeItem(TOKEN_EXPIRATION_KEY);\n this.storageService.removeItem(REFRESH_TOKEN_KEY);\n this.storageService.removeItem(CURRENT_USER_KEY);\n this.router.navigate(['/auth']);\n return data;\n })\n );\n }\n\n public ping(): Observable {\n return this.http.get(`${Config.apiUrl}/acttoken/ping`);\n }\n\n // ***** END OF PRIMARY LOGIN FUNCTIONS *****\n\n // ***** SECONDARY FUNCTIONS FOR LOGIN *****\n\n /*\n Returns all shifts\n TODO: Noted on ClickUp, the backend returns a large object with\n plenty of unnecessary data. Should only return id and name. Then we\n can create a return data type for type safety.\n */\n public getShifts(): Observable {\n return this.http.get(`${Config.apiUrl}/actroute/shifts`);\n }\n\n /*\n Returns all routes associated with a selected shift.\n TODO: Like getShifts, what is returned is huge. Should simplify and\n create a return data type.\n */\n public getRoutes(id: number): Observable {\n return this.http.get(`${Config.apiUrl}/actroute/shifts/${id}/routes`);\n }\n\n private unpackTokenAndAttributeToUser(\n tokenRequest: TokenRequest,\n tokenResponse: TokenResponse\n ): AuthUser {\n const decoded: any = jwt_decode(tokenResponse.token);\n this.tokenExpiration = Number(decoded.exp);\n const createdUser: AuthUser = {\n userId: tokenResponse.userid,\n firstName: decoded.FirstName,\n lastName: decoded.LastName,\n email: decoded.Email,\n isadmin: decoded.isAdmin,\n establishmentId: decoded.Establishment,\n permissions: JSON.parse(decoded.Permissions),\n username: tokenRequest.username,\n };\n \n return createdUser;\n }\n\n private updateAuthInformation(\n createdUser: AuthUser,\n tokenResponse: TokenResponse\n ): void {\n this.determineApplicationUser(createdUser);\n this.currentUser = createdUser;\n this.isAuthenticated = true;\n this.isAuthSource.next(true);\n this.accessToken = tokenResponse.token;\n this.refreshToken = tokenResponse.refreshtoken;\n }\n\n /*\n As noted on ClickUp, this whole system is not the most ideal manner of handling this problem.\n */\n private determineApplicationUser(createdUser: AuthUser): void {\n createdUser.permissions.forEach((permission) => {\n if (permission.RPermission.includes('ADT')) {\n this.isADTUserSource.next(true);\n }\n if (permission.RPermission.includes('AUD')) {\n this.isAUDUserSource.next(true);\n }\n });\n }\n\n async initializeADTSpecificLogin(\n adtRequest: ADTLoginRequest\n ): Promise {\n try {\n this.adtLoginApiCall(adtRequest).subscribe((res: boolean) => res);\n } catch (error) {\n console.log(error);\n return false;\n }\n }\n\n private loginApiCall(request: TokenRequest): Promise {\n\n sessionStorage.setItem(\"username\", request.username);\n // sessionStorage.setItem(\"password\", request.password);\n\n return this.http.post(`${Config.apiUrl}/acttoken`, request).toPromise();\n }\n\n public getSessionByUsername(username: string): Promise {\n return this.http.get(`${Config.apiUrl}/actuser/getsession/${username}`).toPromise();\n }\n\n private adtLoginApiCall(request: ADTLoginRequest): Observable {\n return this.http.post(\n `${Config.apiUrl}/acttoken/initializeadt`,\n request\n );\n }\n\n // ***** END OF SECONDARY FUNCTIONS *****\n}\n","// ANGULAR\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { formatDate } from '@angular/common';\r\n\r\n// OTHER\r\nimport {Observable} from \"rxjs\";\r\n\r\n// ACTIUM\r\nimport { Config } from '../config/env.config';\r\nimport {ActStartWorkflowRequest} from \"../models/requests/start-workflow-request\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WorkflowsService {\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n public listWorkflows(rangeDates?: Date[]){\r\n if(rangeDates == null || rangeDates == undefined) {\r\n rangeDates = [];\r\n let now = new Date();\r\n now.setDate(now.getDate() + 1);\r\n let lastWeek = new Date();\r\n lastWeek.setDate(now.getDate() - 30);\r\n rangeDates[0] = lastWeek;\r\n rangeDates[1] = now;\r\n }\r\n let d1 = formatDate(rangeDates[0], \"yyyy/MM/dd hh:mm:ss\", \"en_US\");\r\n let d2 = formatDate(rangeDates[1], \"yyyy/MM/dd hh:mm:ss\", \"en_US\"); // like with the others, this doesn't work properly - it's 4:53pm and VS sees 04:53 tomorrow\r\n return this.httpClient.get(`${Config.apiUrl}/actworkflow?filters=createdAt BETWEEN cast('${d1}' as datetime2) AND cast('${d2}' as datetime2)&skip=0&limit=0&orderBy=id`);\r\n }\r\n\r\n public getWorkflow(id){\r\n\t\treturn this.httpClient.get(`${Config.apiUrl}/actworkflow/${id}`);\r\n }\r\n\r\n public transitionWorkflow(id, workflowId, name, action, assignee){\r\n const body = {\r\n \"nodeName\": name,\r\n \"action\": action,\r\n \"assignee\": assignee\r\n };\r\n return this.httpClient.patch(`${Config.apiUrl}/actworkflow/${workflowId}/transition`, body);\r\n }\r\n\r\n public reinit(){\r\n return this.httpClient.get(`${Config.apiUrl}/actutil/reinit`);\r\n }\r\n\r\n public createWorkflow(formData){\r\n return this.httpClient.post(`${Config.apiUrl}/actworkflow`, formData);\r\n }\r\n\r\n public startWorkflow(request: ActStartWorkflowRequest): Observable {\r\n return this.httpClient.post(`${Config.apiUrl}/actworkflow/start`, request);\r\n }\r\n\r\n public cancelWorkflow(id) {\r\n console.log('actworkflow cancel')\r\n return this.httpClient.get(`${Config.apiUrl}/actworkflow/${id}/cancel`);\r\n }\r\n\r\n public listStatuses(type){\r\n\t\treturn this.httpClient.get(`${Config.apiUrl}/actutil/statuses/${type}`);\r\n }\r\n\r\n public listWorkflowSummaries(rangeDates?: Date[]) {\r\n if(rangeDates == null || rangeDates == undefined) {\r\n rangeDates = [];\r\n let now = new Date();\r\n now.setDate(now.getDate() + 1);\r\n let lastWeek = new Date();\r\n lastWeek.setDate(now.getDate() - 30);\r\n rangeDates[0] = lastWeek;\r\n rangeDates[1] = now;\r\n }\r\n let d1 = formatDate(rangeDates[0], \"yyyy/MM/dd hh:mm:ss\", \"en_US\");\r\n let d2 = formatDate(rangeDates[1], \"yyyy/MM/dd hh:mm:ss\", \"en_US\");\r\n return this.httpClient.get(`${Config.apiUrl}/actworkflow/summary?filters=createdAt BETWEEN cast('${d1}' as datetime2) AND cast('${d2}' as datetime2)&skip=0&limit=0&orderBy=status asc`);\r\n }\r\n\r\n public increaseRequiredAssignees(workflowId: number) {\r\n const url = `${Config.apiUrl}/actworkflow/${workflowId}/increaseassignees`;\r\n console.log(url);\r\n\r\n return this.httpClient.get(url);\r\n // return this.httpClient.get(url);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class StorageService {\n setStringValue(key: string, value: string): void {\n localStorage.setItem(key, value);\n }\n\n getStringValue(key: string, defaultValue?: string): string {\n if (localStorage.getItem(key) != null) {\n return localStorage.getItem(key);\n } else {\n return defaultValue;\n }\n }\n\n setBooleanValue(key: string, value: boolean): void {\n const valueStr = JSON.stringify(value);\n localStorage.setItem(key, valueStr);\n }\n\n getBooleanValue(key: string): boolean {\n return localStorage.getItem(key) === 'true';\n }\n\n setNumberValue(key: string, value: number): void {\n const valueStr = JSON.stringify(value);\n localStorage.setItem(key, valueStr);\n }\n\n getNumberValue(key: string, defaultValue?: number): number {\n if (localStorage.getItem(key) != null) {\n const valueStr = localStorage.getItem(key);\n return JSON.parse(valueStr);\n } else {\n return defaultValue;\n }\n }\n\n setObject(key: string, value: T): void {\n const valueStr = JSON.stringify(value);\n localStorage.setItem(key, valueStr);\n }\n\n getObject(key: string): T {\n const valueStr = localStorage.getItem(key);\n if (valueStr) {\n return JSON.parse(valueStr);\n } else {\n return undefined;\n }\n }\n\n removeItem(key: string): void {\n localStorage.removeItem(key);\n }\n\n clear(): void {\n localStorage.clear();\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { User } from '../models/user';\r\nimport { Group } from '../models/group';\r\nimport { UserGroup } from '../models/usergroup';\r\nimport { Role } from '../models/role';\r\nimport { Config } from '../config/env.config';\r\nimport { ActUpdateGroupRequest } from '../models/requests/update-group-request';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GroupDataService {\r\n constructor(private httpClient: HttpClient) {\r\n }\r\n // PUBLIC METHODS\r\n // NOTE: Changing all Configuration.groupApiURL/whatever to Config.apiUrl/actgroup/whatever.\r\n // POSSIBLE BREAKING CHANGE.\r\n public populateGroupTable = () => {\r\n return this.httpClient.get(`${Config.apiUrl}/actgroup/getallgroups`); // Configuration.groupApiURL}/getallgroups\r\n }\r\n public getAllUsers(): Observable {\r\n return this.httpClient.get(`${Config.apiUrl}/actgroup/getallusers`);\r\n }\r\n public getAllUserGroupsById(id): Observable {\r\n return this.httpClient.get(`${Config.apiUrl}/actgroup/getallusergroups/${id}`);\r\n }\r\n public updateUserGroupRelation(data, id): Observable {\r\n return this.httpClient.post(`${Config.apiUrl}/actgroup/updateusergroups/${id}`, data as UserGroup);\r\n }\r\n public getSpecificGroupById(id): Observable {\r\n return this.httpClient.get(`${Config.apiUrl}/actgroup/getspecificgroup/${id}`);\r\n }\r\n public addNewGroup(group): Observable {\r\n return this.httpClient.post(`${Config.apiUrl}/actgroup/addgroup`, group as Group);\r\n }\r\n public updateGroup1(request: ActUpdateGroupRequest): Observable {\r\n return this.httpClient.post(`${Config.apiUrl}/actgroup/updategroup/${request.gId}`, request);\r\n }\r\n\r\n public updateGroup(group, id): Observable {\r\n return this.httpClient.post(`${Config.apiUrl}/actgroup/updategroup/${id}`, group as Group);\r\n }\r\n\r\n public deleteGroup(id): Observable {\r\n return this.httpClient.delete(`${Config.apiUrl}/actgroup/deletegroup/${id}`);\r\n }\r\n public getAllRoles(): Observable {\r\n return this.httpClient.get(`${Config.apiUrl}/actgroup/getallroles`);\r\n }\r\n public getSpecificRoleById(id): Observable {\r\n return this.httpClient.get(`${Config.apiUrl}/actgroup/getsinglerole/${id}`);\r\n }\r\n public getAllGroupRolesById(id): Observable {\r\n return this.httpClient.get(`${Config.apiUrl}/actgroup/getallroles/${id}`);\r\n }\r\n public updateGroupRoleRelation(role, id): Observable {\r\n return this.httpClient.post(`${Config.apiUrl}/actgroup/updategrouproles/${id}`, role as Role);\r\n }\r\n public getAllRolesByGroup(groupId: number): Observable {\r\n return this.httpClient.get(`${Config.apiUrl}/actgroup/getallrolesbygroup/${groupId}`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { formatDate } from '@angular/common';\r\n\r\nimport { Config } from '../config/env.config';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TasksService {\r\n constructor(private httpClient: HttpClient) {}\r\n\r\n /*\r\n This is more than a little bit sketchy.\r\n TODO: Throughout the entire application we need to decide, once and for all,\r\n how we are going to handle dates. Dotnet has a great system, the DateTime class is sick,\r\n however, what will the TS send? I actually like sending strings and calling DateTime.Parse()\r\n on the backend... I will NOT change this now, however.\r\n */\r\n public listTasks(\r\n workflowId?: number,\r\n assignee?: string,\r\n rangeDates?: Date[]\r\n ) {\r\n if (rangeDates === null || rangeDates === undefined) {\r\n rangeDates = [];\r\n // Adding one day makes now = tomorrow and ensures that all active tasks will be caught\r\n const now = new Date();\r\n now.setDate(now.getDate() + 1);\r\n // In our case, lastWeek is a month ago - should reconsider default range?\r\n const lastWeek = new Date();\r\n lastWeek.setDate(now.getDate() - 30);\r\n // Attribute dates to rangeDates for submitting\r\n rangeDates[0] = lastWeek;\r\n rangeDates[1] = now;\r\n }\r\n // Now we have our two dates to pass to the server properly formatted\r\n const dateOne = formatDate(\r\n rangeDates[0],\r\n 'yyyy/MM/dd hh:mm:ss',\r\n 'en_US'\r\n );\r\n const dateTwo = formatDate(\r\n rangeDates[1],\r\n 'yyyy/MM/dd hh:mm:ss',\r\n 'en_US'\r\n );\r\n // Define filters\r\n let filters = `starttime BETWEEN cast('${dateOne}' as datetime2) AND cast('${dateTwo}' as datetime2)`;\r\n if (workflowId !== null && workflowId !== undefined) {\r\n filters += ` AND workflowid=${workflowId}`;\r\n }\r\n /*\r\n The following is commented because the web application will only be used by managers. This is to say\r\n that ALL TASKS, not tasks sorted by employee, should be displayed when viewing the web app. More directly,\r\n if the table of tasks were only to display those with the assignee of the logged in user, it will always be empty.\r\n I keep it here in case this idea changes.\r\n if (assignee !== null && assignee !== undefined) {\r\n filters += ` AND assignee='${assignee}'`;\r\n }\r\n */\r\n // Finally call API passing in filters populated by date range\r\n return this.httpClient.get(\r\n `${Config.apiUrl}/acttask?filters=${filters}&skip=0&limit=0&orderBy=id`\r\n );\r\n }\r\n\r\n public getTask(id) {\r\n return this.httpClient.get(`${Config.apiUrl}/acttask/${id}`);\r\n }\r\n\r\n // Passes relevant information to API to complete a task\r\n public completeTask(task: any, action: any, reason: any) {\r\n // Here we define the payload\r\n const body = {\r\n nodeName: task.name,\r\n action: action.name,\r\n assignee: task.assignee,\r\n };\r\n // In not all cases will a reason be required\r\n if (reason !== null && reason !== undefined) {\r\n // TODO: This is flagged as not existing as a property. Is it passed to the API properly?\r\n body['reasonId'] = reason.id;\r\n }\r\n // Finally call API passing in body of complete task request\r\n return this.httpClient.patch(\r\n `${Config.apiUrl}/acttask/${task.id}/complete`,\r\n body\r\n );\r\n }\r\n\r\n public cancelTask(task: any) {\r\n return this.httpClient.get(\r\n `${Config.apiUrl}/acttask/${task.id}/cancel`\r\n );\r\n }\r\n\r\n public reassignTask(task: any, assignee: any) {\r\n const body = {\r\n assignee: assignee.name,\r\n };\r\n return this.httpClient.patch(\r\n `${Config.apiUrl}/acttask/${task.id}/reassign`,\r\n body\r\n );\r\n }\r\n\r\n public listReasons() {\r\n return this.httpClient.get(`${Config.apiUrl}/actreason/allreasons`); // WAS: (`${Config.apiUrl}/actutil/reasons`)\r\n }\r\n\r\n public listAvailableAssignees(spaceId: number) {\r\n return this.httpClient.get(\r\n `${Config.apiUrl}/actuser/availusers/${spaceId}`\r\n );\r\n }\r\n}\r\n","export default \"
\\n
\\n
{{'modules.auth.shift' | translate}}
\\n \\n \\n \\n \\n \\n
{{'modules.auth.route' | translate}}
\\n \\n \\n \\n \\n \\n

\\n \\n \\n \\n \\n
 
\\n
\\n
\\n\";","export enum TokenStatus {\n Continue,\n LoggedIn,\n OtpRequired,\n InvalidOtp,\n EstablishmentRequired,\n Error\n}\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MqService {\r\n\r\n private messageSource = new BehaviorSubject({});\r\n currentMessage = this.messageSource.asObservable();\r\n\r\n constructor() { }\r\n\r\n dispatchMessage(message: any) {\r\n this.messageSource.next(message)\r\n }\r\n}","// ANGULAR\nimport { Injectable } from '@angular/core';\nimport { DatePipe } from '@angular/common';\n\n// ACTIUM\nimport {ActAttachment, ActAudit, ActQuestion, ActSection} from '../models';\nimport {hospitalLogo} from \"../../assets/images/hospital-logo\";\n\n\n@Injectable()\nexport class AuditReportingService {\n\n constructor(private datePipe: DatePipe) { }\n\n getDocumentDefinitionAtp(currentAudit: ActAudit): any {\n const generatedTime = this.datePipe.transform(new Date(), 'MM/dd/yyyy');\n const auditTime = this.datePipe.transform(new Date(currentAudit.plannedTime), 'MM/dd/yyyy')\n + ' '\n + this.datePipe.transform(new Date(currentAudit.plannedTime), 'shortTime');\n return {\n content: [\n { image: hospitalLogo, width: 150 },\n { text: '\\n' },\n {\n text: `Rapport généré le: ${generatedTime}\n ID: ${currentAudit.auditId}\n\t\t\t\t\tInspecteur: ${currentAudit.inspector}\n\t\t\t\t\tAuditeur: ${currentAudit.auditor}\n\t\t\t\t\tÉtablissement: ${currentAudit.establishment.name}\n\t\t\t\t\tBâtiment: ${currentAudit.building.name}\n\t\t\t\t\tNiveau: ${currentAudit.level.name}\n\t\t\t\t\tUnité: ${currentAudit.space.unit.name}\n\t\t\t\t\tNuméro de porte: ${currentAudit.space.doorNumber}\n\t\t\t\t\tType d'espace: ${currentAudit.space.predefinedSpace}\n Score moyen: ${this.calculateAverageScore(currentAudit)}\n Date d'exécution: ${auditTime}\n Type d'inspection: ATP\n\n Questions:`,\n },\n // this.generateMarkingQuestionsAndAnswers(currentAudit),\n this.generateAtpQuestionsAndAnswers(currentAudit),\n this.generateMarkingPictures(currentAudit)\n ],\n info: { title: `Audit ${currentAudit.auditId}` },\n styles: { testStyle: { fontSize: 18, border: 1 } }\n };\n }\n\n getDocumentDefinitionMarking(currentAudit: ActAudit): any {\n const generatedTime = this.datePipe.transform(new Date(), 'MM/dd/yyyy');\n const auditTime = this.datePipe.transform(new Date(currentAudit.plannedTime), 'MM/dd/yyyy')\n + ' '\n + this.datePipe.transform(new Date(currentAudit.plannedTime), 'shortTime');\n return {\n content: [\n { image: hospitalLogo, width: 150 },\n /*\n This is left here to demonstrate how to add styles and face.\n {\n text: `\n Document officiel du Gouvernement du Québec`,\n bold: true,\n style: 'testStyle'\n },\n\n */\n { text: '\\n' },\n {\n text: `Rapport généré le: ${generatedTime}\n ID: ${currentAudit.auditId}\n\t\t\t\t\tInspecteur: ${currentAudit.inspector}\n\t\t\t\t\tAuditeur: ${currentAudit.auditor}\n\t\t\t\t\tÉtablissement: ${currentAudit.establishment.name}\n\t\t\t\t\tBâtiment: ${currentAudit.building.name}\n\t\t\t\t\tUnité: ${currentAudit.space.unit.name}\n\t\t\t\t\tNuméro de porte: ${currentAudit.space.doorNumber}\n\t\t\t\t\tType d'espace: ${currentAudit.space.predefinedSpace}\n Score moyen: ${this.calculateAverageScore(currentAudit)}\n Date d'exécution: ${auditTime}\n Type d'inspection: MARQUAGE\n\n Questions:`,\n },\n this.generateMarkingQuestionsAndAnswers(currentAudit),\n // { image: this.generatePicturesTest(currentAudit), width: 150 },\n this.generateMarkingPictures(currentAudit)\n ],\n info: { title: `Audit ${currentAudit.auditId}` },\n styles: { testStyle: { fontSize: 18, border: 1 } }\n };\n }\n\n getDocumentDefinitionVisual(currentAudit: ActAudit): any {\n const generatedTime = this.datePipe.transform(new Date(), 'MM/dd/yyyy');\n // const auditTime = this.datePipe.transform(new Date(currentAudit.plannedTime), 'MM/dd/yyyy');\n const auditTime = this.datePipe.transform(new Date(currentAudit.plannedTime), 'MM/dd/yyyy')\n + ' '\n + this.datePipe.transform(new Date(currentAudit.plannedTime), 'shortTime');\n\n return {\n content: [\n { image: hospitalLogo, width: 150 },\n { text: '\\n' },\n {\n text: `Rapport généré le: ${generatedTime}\n ID: ${currentAudit.auditId}\n\t\t\t\t\tInspecteur: ${currentAudit.inspector}\n\t\t\t\t\tAuditeur: ${currentAudit.auditor}\n\t\t\t\t\tÉtablissement: ${currentAudit.establishment.name}\n\t\t\t\t\tBâtiment: ${currentAudit.building.name}\n\t\t\t\t\tUnité: ${currentAudit.space.unit.name}\n\t\t\t\t\tNuméro de porte: ${currentAudit.space.doorNumber}\n\t\t\t\t\tType d'espace: ${currentAudit.space.predefinedSpace}\n Score moyen: ${this.calculateAverageScore(currentAudit)}\n Date d'exécution: ${auditTime}\n Type d'inspection: VISUEL\n\n Sections:`,\n },\n this.generateSectionsList(currentAudit),\n {\n text: `\n `\n },\n this.generateQuestionsAndAnswers(currentAudit),\n {\n text: `\n\n\n\n\n `\n },\n // { image: this.generatePicturesTest(currentAudit), width: 150 },\n this.generateVisualAndWorkPictures(currentAudit)\n ],\n info: { title: `Audit ${currentAudit.auditId}` },\n styles: { testStyle: { fontSize: 18, border: 1 } }\n };\n }\n\n getDocumentDefinitionWork(currentAudit: ActAudit): any {\n const generatedTime = this.datePipe.transform(new Date(), 'MM/dd/yyyy');\n // const auditTime = this.datePipe.transform(new Date(currentAudit.plannedTime), 'MM/dd/yyyy');\n const auditTime = this.datePipe.transform(new Date(currentAudit.plannedTime), 'MM/dd/yyyy')\n + ' '\n + this.datePipe.transform(new Date(currentAudit.plannedTime), 'shortTime');\n\n return {\n content: [\n { image: hospitalLogo, width: 150 },\n { text: '\\n' },\n {\n text: `Rapport généré le: ${generatedTime}\n ID: ${currentAudit.auditId}\n\t\t\t\t\tInspecteur: ${currentAudit.inspector}\n\t\t\t\t\tAuditeur: ${currentAudit.auditor}\n\t\t\t\t\tÉtablissement: ${currentAudit.establishment.name}\n\t\t\t\t\tBâtiment: ${currentAudit.building.name}\n\t\t\t\t\tUnité: ${currentAudit.space.unit.name}\n\t\t\t\t\tNuméro de porte: ${currentAudit.space.doorNumber}\n\t\t\t\t\tType d'espace: ${currentAudit.space.predefinedSpace}\n Score moyen: ${this.calculateAverageScore(currentAudit)}\n Date d'exécution: ${auditTime}\n Type d'inspection: TRAVAIL\n\n Sections:`,\n },\n this.generateSectionsList(currentAudit),\n {\n text: `\n `\n },\n this.generateQuestionsAndAnswers(currentAudit),\n {\n text: `\n\n\n\n\n `\n },\n // { image: this.generatePicturesTest(currentAudit), width: 150 },\n this.generateVisualAndWorkPictures(currentAudit)\n ],\n info: { title: `Audit ${currentAudit.auditId}` },\n styles: { testStyle: { fontSize: 18, border: 1 } }\n };\n }\n\n calculateAverageScore(currentAudit: ActAudit): number {\n let totalQuestions: number = 0;\n let totalScore: number = 0;\n currentAudit.sections.forEach((section: ActSection) => {\n section.questions.forEach((question: ActQuestion) => {\n totalQuestions++;\n totalScore += question.answer;\n });\n });\n return Math.round((totalScore / totalQuestions) * 10);\n }\n\n generateAtpQuestionsAndAnswers(currentAudit: ActAudit): any {\n const tableArray: any[] = [];\n currentAudit.sections[0].questions.forEach((question: ActQuestion) => {\n // tableArray.push({ location: question.shape.itemLocation, answer: question.answer });\n tableArray.push(question);\n });\n return {\n table: {\n widths: ['*', '*', '*', '*'],\n body: [\n [{ text: 'Lieu' },\n { text: 'Réponse ATP initial' },\n { text: 'Deuxième réponse ATP' },\n { text: 'Réponse totale' }\n ],\n ...tableArray.map((question: ActQuestion) => {\n return [{ text: question.shape.itemLocation },\n { text: question.initialAtpAnswer },\n { text: question.atpAnswer },\n { text: question.answer }\n ];\n })\n ]\n }\n };\n }\n\n generateMarkingQuestionsAndAnswers(currentAudit: ActAudit): any {\n const tableArray: any[] = [];\n currentAudit.sections[0].questions.forEach((question: ActQuestion) => {\n tableArray.push({ location: question.shape.itemLocation, answer: question.answer });\n });\n return {\n table: {\n widths: ['*', '*'],\n body: [\n [{ text: 'Lieu' }, { text: 'Réponse' }],\n ...tableArray.map((x: any) => {\n return [{ text: x.location }, { text: x.answer }];\n })\n ]\n }\n };\n }\n\n populateSectionTotals(section: ActSection): string {\n let sectionTotal = 0;\n let totalQuestions = 0;\n\n section.questions.forEach((question: ActQuestion) => {\n sectionTotal += question.answer;\n totalQuestions++;\n });\n // return Math.round(sectionTotal / totalQuestions);\n return 'Moyenne de la section: ' + Math.round(sectionTotal / totalQuestions).toString();\n }\n\n generateQuestionsAndAnswers(currentAudit: ActAudit): any {\n let sectionNumber = 1;\n const tableArray: any[] = [];\n currentAudit.sections.forEach((section: ActSection) => {\n tableArray.push({ name: `${sectionNumber}. ${section.name}`,\n answer: this.populateSectionTotals(section) });\n section.questions.forEach((question: ActQuestion) => {\n tableArray.push({ name: question.name, answer: question.answer });\n });\n sectionNumber++;\n });\n return {\n table: {\n widths: ['*', '*'],\n body: [\n [{ text: 'Titre' }, { text: 'Réponse' }],\n ...tableArray.map((x: any) => {\n return [{ text: x.name }, { text: x.answer }];\n })\n ]\n }\n };\n }\n\n generateMarkingPictures(currentAudit: ActAudit): any {\n const photoArray: any[] = [];\n currentAudit.sections.forEach((section: ActSection) => {\n section.questions.forEach((question: ActQuestion) => {\n /*\n Basic validation to ensure there are attachments to iterate over.\n Checking for length !== 0 fails as the null array has length 1...\n */\n if (question.attachments.length !== 0 && question.attachments !== null && question.attachments[0] !== null) {\n question.attachments.forEach((attachment: ActAttachment) => {\n photoArray.push({text: question.shape.itemLocation, bold: true});\n photoArray.push({image: attachment.base64, width: 150});\n });\n }\n });\n });\n return photoArray;\n }\n\n generateVisualAndWorkPictures(currentAudit: ActAudit): any {\n const photoArray: any[] = [];\n currentAudit.sections.forEach((section: ActSection) => {\n section.questions.forEach((question: ActQuestion) => {\n /*\n Basic validation to ensure there are attachments to iterate over.\n Checking for length !== 0 fails as the null array has length 1...\n */\n if (question.attachments.length !== 0 && question.attachments !== null && question.attachments[0] !== null) {\n question.attachments.forEach((attachment: ActAttachment) => {\n photoArray.push({ text: question.name, bold: true });\n photoArray.push({ image: attachment.base64, width: 150 });\n });\n }\n });\n });\n return photoArray;\n }\n\n generatePicturesTest(currentAudit: ActAudit): any {\n let image: any;\n currentAudit.sections.forEach(section => {\n section.questions.forEach(question => {\n question.attachments?.forEach(attachment => {\n image = attachment.base64;\n });\n });\n });\n return image;\n }\n\n generateSectionsList(currentAudit: ActAudit): any {\n const sections: any[] = [];\n currentAudit.sections.forEach((section: any) => { sections.push(section.name); });\n return {\n ol: [\n ...sections\n ]\n };\n }\n}\n","export default \"\\n \\n \\n
\\n
\\n
{{'modules.groupEditInfo.gName' | translate}}
\\n \\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n
\\n
{{ user.firstname + ' ' + user.lastname }}
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n
\\n
{{role.rPermission}}
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\";","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'taskStatusIcon'\n})\nexport class TaskStatusIconPipe implements PipeTransform {\n transform(value: any, ...args: any[]): any {\n var ret: string = \"\";\n switch (value) {\n case 0:\n ret = \"adt-icon icon-play\" //Running\n break;\n case 1:\n ret = \"adt-icon icon-pause\" //paused\n break;\n case 2:\n ret = \"adt-icon icon-ban\" //cancelled\n break;\n /*\n TODO:\n Missing icon for reassigned... if that even makes sense...\n */\n case 3:\n ret = '';\n break;\n case 4:\n ret = \"adt-icon icon-to-end\" //completed\n break;\n default:\n break;\n }\n return ret;\n }\n}","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJlc3RhYmxpc2htZW50LmNvbXBvbmVudC5zY3NzIn0= */\";","// ANGULAR\r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\n// ACTIUM\r\nimport { AuthGuard } from './guards/auth.guard';\r\n\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: 'dashboard', pathMatch: 'full'},\r\n { path: 'auth', loadChildren: () => import('./modules/auth/auth.module')\r\n .then((m) => m.AuthModule) },\r\n { path: 'auth/:query', loadChildren: () => import('./modules/auth/auth.module')\r\n .then((m) => m.AuthModule) },\r\n { path: 'authadmin', loadChildren: () => import('./modules/auth-admin/auth-admin.module')\r\n .then((m) => m.AuthModule) },\r\n { path: 'authadmin/:query', loadChildren: () => import('./modules/auth-admin/auth-admin.module')\r\n .then((m) => m.AuthModule) },\r\n { path: 'dashboard', loadChildren: () => import('./modules/dashboard/dashboard.module')\r\n .then((m) => m.DashboardModule), canActivate: [AuthGuard] },\r\n { path: 'instances', loadChildren: () => import('./modules/instances/instances.module')\r\n .then((m) => m.InstancesModule), canActivate: [AuthGuard] },\r\n { path: 'workflows/:id', loadChildren: () => import('./modules/workflows/workflows.module')\r\n .then((m) => m.WorkflowsModule), canActivate: [AuthGuard] },\r\n { path: 'routes', loadChildren: () => import('./modules/routes/routes.module')\r\n .then((m) => m.RoutesModule), canActivate: [AuthGuard] },\r\n { path: 'beds', loadChildren: () => import('./modules/beds/beds.module')\r\n .then((m) => m.BedsModule), canActivate: [AuthGuard] },\r\n { path: 'tasks', loadChildren: () => import('./modules/tasks/tasks.module')\r\n .then((m) => m.TasksModule), canActivate: [AuthGuard] },\r\n { path: 'reports', loadChildren: () => import('./modules/reports/reports.module')\r\n .then((m) => m.ReportsModule), canActivate: [AuthGuard] },\r\n { path: 'help', loadChildren: () => import('./modules/help/help.module')\r\n .then((m) => m.HelpModule), canActivate: [AuthGuard] },\r\n { path: 'admin', loadChildren: () => import('./modules/admin/admin.module')\r\n .then((m) => m.AdminModule), canActivate: [AuthGuard] },\r\n { path: 'calendar', loadChildren: () => import('./modules/calendar/calendar.module')\r\n .then((m) => m.CalendarModule), canActivate: [AuthGuard] },\r\n { path: 'infections-table', loadChildren: () => import('./modules/infections-table/infections-table.module')\r\n .then((m) => m.InfectionsTableModule), canActivate: [AuthGuard] },\r\n { path: 'audit-table', loadChildren: () => import('./modules/audit-table/audit-table.module')\r\n .then((m) => m.AuditTableModule), canActivate: [AuthGuard] },\r\n { path: 'test-crud', loadChildren: () => import('./modules/test-crud/test-crud.module')\r\n .then((m) => m.TestCrudModule), canActivate: [AuthGuard] },\r\n { path: 'san', loadChildren: () => import('./modules/san/san-redirection.module')\r\n .then((m) => m.SanRedirectiongModule), canActivate: [AuthGuard]},\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule {}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'taskStatus'\r\n})\r\nexport class TaskStatusPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n var ret = \"\";\r\n switch(value) {\r\n case 0:\r\n ret = \"Running\"\r\n break;\r\n case 1:\r\n ret = \"Paused\"\r\n break;\r\n case 2:\r\n ret = \"Cancelled\"\r\n break;\r\n case 3:\r\n ret = \"Reassigned\"\r\n break;\r\n case 4:\r\n ret = \"Completed\"\r\n break;\r\n default:\r\n break;\r\n }\r\n return ret;\r\n }\r\n\r\n}\r\n","export default \"@charset \\\"UTF-8\\\";\\n.infection-badge {\\n border-radius: 4px;\\n padding: 0.25em 0.5em;\\n text-transform: uppercase;\\n font-weight: 700;\\n font-size: 32px;\\n letter-spacing: 0.3px;\\n}\\n.color-pickers {\\n margin: 1%;\\n}\\n.save-button {\\n margin: 1%;\\n}\\n.col-6 {\\n width: 50%;\\n}\\n.left-group {\\n margin-top: 5px;\\n}\\n.img-container {\\n width: 80%;\\n}\\n.img-container img {\\n margin-top: 15px;\\n max-width: 100%;\\n height: auto;\\n}\\ninput[type=file] {\\n display: none;\\n}\\n.custom-file-upload {\\n border: 1px solid #ccc;\\n display: inline-block;\\n padding: 2px 18px 10px 18px;\\n cursor: pointer;\\n}\\n.custom-file-upload::after {\\n content: \\\"📤\\\";\\n margin-left: 8px;\\n font-size: 24px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFwuLlxcY3JlYXRlLWluZmVjdGlvbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFBaEI7RUFDSSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxxQkFBQTtBQUVKO0FBQ0E7RUFDSSxVQUFBO0FBRUo7QUFDQTtFQUNJLFVBQUE7QUFFSjtBQUNBO0VBQ0ksVUFBQTtBQUVKO0FBQ0E7RUFDSSxlQUFBO0FBRUo7QUFDQTtFQUNJLFVBQUE7QUFFSjtBQURJO0VBQ0ksZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtBQUdSO0FBQ0E7RUFDSSxhQUFBO0FBRUo7QUFDRTtFQUNFLHNCQUFBO0VBQ0EscUJBQUE7RUFDQSwyQkFBQTtFQUNBLGVBQUE7QUFFSjtBQUVFO0VBQ0UsYUFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtBQUNKIiwiZmlsZSI6ImNyZWF0ZS1pbmZlY3Rpb24uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4uaW5mZWN0aW9uLWJhZGdlIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiAwLjI1ZW0gMC41ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xufVxuXG4uY29sb3ItcGlja2VycyB7XG4gIG1hcmdpbjogMSU7XG59XG5cbi5zYXZlLWJ1dHRvbiB7XG4gIG1hcmdpbjogMSU7XG59XG5cbi5jb2wtNiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5sZWZ0LWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uaW1nLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA4MCU7XG59XG4uaW1nLWNvbnRhaW5lciBpbWcge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuaW5wdXRbdHlwZT1maWxlXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jdXN0b20tZmlsZS11cGxvYWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDJweCAxOHB4IDEwcHggMThweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY3VzdG9tLWZpbGUtdXBsb2FkOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi8J+TpFwiO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBmb250LXNpemU6IDI0cHg7XG59Il19 */\";","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'workflowWarningColor'\r\n})\r\nexport class WorkflowWarningColorPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n var ret = \"\";\r\n switch(value) {\r\n case 0:\r\n ret = \"white\" \r\n break;\r\n case 1:\r\n ret = \"yellow\"\r\n break;\r\n case 2:\r\n ret = \"orange\" \r\n break;\r\n case 3:\r\n ret = \"red\"\r\n break;\r\n default:\r\n break;\r\n }\r\n return ret;\r\n }\r\n\r\n}","export default \"img#logo {\\n position: absolute;\\n left: 0;\\n padding-left: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcYXBwLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQUE7RUFDQSxPQUFBO0VBQ0Esa0JBQUE7QUFDRiIsImZpbGUiOiJhcHAuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJpbWcjbG9nbyB7XHJcbiAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgbGVmdDowO1xyXG4gIHBhZGRpbmctbGVmdDoxMHB4O1xyXG59Il19 */\";","export default \".infection-badge {\\n border-radius: 4px;\\n padding: 0.25em 0.5em;\\n text-transform: uppercase;\\n font-weight: 700;\\n font-size: 32px;\\n letter-spacing: 0.3px;\\n}\\n\\n.color-pickers {\\n margin: 1%;\\n}\\n\\n.save-button {\\n margin: 1%;\\n}\\n\\n.col-6 {\\n width: 50%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFwuLlxcZGVsZXRlLWluZmVjdGlvbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSx5QkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLHFCQUFBO0FBQ0o7O0FBRUE7RUFDSSxVQUFBO0FBQ0o7O0FBRUE7RUFDSSxVQUFBO0FBQ0o7O0FBRUE7RUFDSSxVQUFBO0FBQ0oiLCJmaWxlIjoiZGVsZXRlLWluZmVjdGlvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5pbmZlY3Rpb24tYmFkZ2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAuMjVlbSAuNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4zcHg7XG59XG5cbi5jb2xvci1waWNrZXJzIHtcbiAgICBtYXJnaW46IDElO1xufVxuXG4uc2F2ZS1idXR0b24ge1xuICAgIG1hcmdpbjogMSU7XG59XG5cbi5jb2wtNiB7XG4gICAgd2lkdGg6NTAlO1xufSJdfQ== */\";","import 'hammerjs';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}