{"version":3,"sources":["./src/$_lazy_route_resource lazy namespace object","./src/app/Authentication/AuthInterceptors/JwtInterceptor.ts","./src/app/Authentication/auth.guard/AuthGuard.ts","./src/app/Authentication/change-password/change-password.component.ts","./src/app/Authentication/change-password/change-password.component.html","./src/app/Authentication/cognito.service.ts","./src/app/Authentication/login-receiver/login-receiver.component.ts","./src/app/Authentication/sign-up/sign-up.component.ts","./src/app/Authentication/sign-up/sign-up.component.html","./src/app/Enum/IncidentStatus.enum.ts","./src/app/Enum/LocationType.enum.ts","./src/app/Enum/MemberType.enum.ts","./src/app/Enum/MessageDeliveryChannelEnum.enum.ts","./src/app/Enum/Months.enum.ts","./src/app/Enum/ResponseStatus.enum.ts","./src/app/Enum/UserRole.enum.ts","./src/app/ErrorInterceptors/ErrorInterceptor.ts","./src/app/Models/BCURegionDTO.Model.ts","./src/app/Models/EmergencyPlanningModels/EmergencyTaskAssignee.ts","./src/app/Models/EmergencyPlanningModels/LAEmergencyIncident.ts","./src/app/Models/EmergencyPlanningModels/LAEmergencyPlanningActions.ts","./src/app/Models/IncidentFormLocationEntity.ts","./src/app/Models/LAIncedenceDashboard/LAIncidentDashboardModel.ts","./src/app/Models/MapForm.ts","./src/app/Models/Members/AuthenticatedUserGroups.ts","./src/app/Models/Members/Member.ts","./src/app/Models/Members/MemberProfile.ts","./src/app/Models/Members/MemberProfileCreate.ts","./src/app/Models/Messages/MessageTemplateDTO.ts","./src/app/Models/Notes/IncidentNoteCreateDTO.ts","./src/app/Models/Notes/IncidentNoteDTO.ts","./src/app/Models/PostProtocolActionsModel.ts","./src/app/Models/Stakeholder/Stakeholder.ts","./src/app/Models/Team-member/TeamMemberDTO.ts","./src/app/Models/cst-template/ProtocolTemplateDTO.ts","./src/app/Models/incident.modal.ts","./src/app/Models/la-Team-messages/LATeamMessagingDashboard.ts","./src/app/Stakeholder/add-stakeholder/add-stakeholder.component.ts","./src/app/Stakeholder/add-stakeholder/add-stakeholder.component.html","./src/app/Stakeholder/add-stakeholder/add-stakeholder.service.ts","./src/app/Stakeholder/stakeholder-members/stakeholder-members.component.ts","./src/app/Stakeholder/stakeholder-members/stakeholder-members.component.html","./src/app/Stakeholder/stakeholder-members/stakeholder-members.service.ts","./src/app/Stakeholder/stakeholder-messaging/stakeholder-messaging.component.ts","./src/app/Stakeholder/stakeholder-messaging/stakeholder-messaging.component.html","./src/app/Stakeholder/stakeholder.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/bcu/Authentication/BCUAuthGuard.ts","./src/app/bcu/components/iir/iir.service.ts","./src/app/core/core.module.ts","./src/app/core/interceptors/api.service.ts","./src/app/core/interceptors/http.token.interceptor.ts","./src/app/core/pipes/sorter-string.pipe.ts","./src/app/core/services/api-error.service.ts","./src/app/core/services/app-start.service.ts","./src/app/core/services/date.service.ts","./src/app/core/services/googlemap.service.ts","./src/app/core/services/string-helper.service.ts","./src/app/core/services/url-helper.service.ts","./src/app/core/services/user-profile.service.ts","./src/app/cst-template/create-cst-template/create-cst-template.component.ts","./src/app/cst-template/create-cst-template/create-cst-template.component.html","./src/app/cst-template/cst-protocol-launch/cst-protocol-launch.component.ts","./src/app/cst-template/cst-protocol-launch/cst-protocol-launch.component.html","./src/app/cst-template/cst-protocol-launch/cst-protocol-launch.service.ts","./src/app/cst-template/cst-routing-state.service.ts","./src/app/cst-template/cst-template/cst-template.component.ts","./src/app/cst-template/cst-template/cst-template.component.html","./src/app/cst-template/cst-template/cst-template.service.ts","./src/app/cst-template/edit-cst-template/edit-cst-template.component.ts","./src/app/cst-template/edit-cst-template/edit-cst-template.component.html","./src/app/dashboard/dashboard.component.ts","./src/app/dashboard/dashboard.component.html","./src/app/dashboard/dashboard.service.ts","./src/app/footer/footer.component.ts","./src/app/footer/footer.component.html","./src/app/home-dashboard/cst-protocol/cst-protocol.component.ts","./src/app/home-dashboard/cst-protocol/cst-protocol.component.html","./src/app/home-dashboard/cst-protocol/cst-protocol.service.ts","./src/app/home-dashboard/finalise-protocol-actions-post-protocol-launch/finalise-protocol-actions-post-protocol-launch.component.ts","./src/app/home-dashboard/finalise-protocol-actions-post-protocol-launch/finalise-protocol-actions-post-protocol-launch.component.html","./src/app/home-dashboard/home-dashboard/home-dashboard.component.ts","./src/app/home-dashboard/home-dashboard/home-dashboard.component.html","./src/app/home-dashboard/home-dashboard/home-dashboard.service.ts","./src/app/home-dashboard/home-nav-menu/home-nav-menu.component.ts","./src/app/home-dashboard/home-nav-menu/home-nav-menu.component.html","./src/app/home-dashboard/home-nav-menu/home-nav-menu.service.ts","./src/app/home-dashboard/immediate-response/immediate-response.component.ts","./src/app/home-dashboard/immediate-response/immediate-response.component.html","./src/app/home-dashboard/immediate-response/immediate-response.service.ts","./src/app/home-dashboard/load-script.service.ts","./src/app/incident-location-details/incident-location-details.component.ts","./src/app/incident-location-details/incident-location-details.component.html","./src/app/incidents-list/incidents-list.component.ts","./src/app/incidents-list/incidents-list.component.html","./src/app/incidents-list/incidents-list.service.ts","./src/app/initial-incident-form/incident.service.ts","./src/app/la-incident-details/la-incident-details.component.ts","./src/app/la-incident-details/la-incident-details.component.html","./src/app/la-new-incident/la-new-incident.component.ts","./src/app/la-new-incident/la-new-incident.component.html","./src/app/local-authority-actions-response/local-authority-actions-response.component.ts","./src/app/local-authority-actions-response/local-authority-actions-response.component.html","./src/app/local-authority-actions-response/local-authority-actions-response.service.ts","./src/app/local-authority-cst-protocol/local-authority-cst-protocol.component.ts","./src/app/local-authority-cst-protocol/local-authority-cst-protocol.component.html","./src/app/nav-menu/nav-menu.component.ts","./src/app/nav-menu/nav-menu.component.html","./src/app/nav-menu/navbar.service.ts","./src/app/overlays/assign-member-popup/assign-member-popup.component.ts","./src/app/overlays/assign-member-popup/assign-member-popup.component.html","./src/app/overlays/confirmation-dialog/confirmation-dialog-service.service.ts","./src/app/overlays/confirmation-dialog/confirmation-dialog.component.ts","./src/app/overlays/confirmation-dialog/confirmation-dialog.component.html","./src/app/overlays/confirmation-modal/confirmation-modal.component.ts","./src/app/overlays/confirmation-modal/confirmation-modal.component.html","./src/app/overlays/confirmation-modal/confirmation-model.service.ts","./src/app/overlays/draw-map/draw-map.component.ts","./src/app/overlays/draw-map/draw-map.component.html","./src/app/overlays/draw-map/draw-map.service.ts","./src/app/overlays/error-confirmation-box/error-confirmation-box.component.ts","./src/app/overlays/error-confirmation-box/error-confirmation-box.component.html","./src/app/overlays/incident-draw-map/incident-draw-map.component.ts","./src/app/overlays/incident-draw-map/incident-draw-map.component.html","./src/app/overlays/incident-draw-map/incident-draw-map.service.ts","./src/app/overlays/incident-message-approve/incident-message-approve.component.ts","./src/app/overlays/incident-message-approve/incident-message-approve.component.html","./src/app/overlays/incident-message/incident-message.component.ts","./src/app/overlays/incident-message/incident-message.component.html","./src/app/overlays/notes-overlay/notes-overlay.component.ts","./src/app/overlays/notes-overlay/notes-overlay.component.html","./src/app/overlays/notes-overlay/notes-overlay.service.ts","./src/app/overlays/stakeholder-message-send/stakeholder-message-send.component.ts","./src/app/overlays/stakeholder-message-send/stakeholder-message-send.component.html","./src/app/page-not-found/page-not-found.component.ts","./src/app/page-not-found/page-not-found.component.html","./src/app/shared/shared-routing.module.ts","./src/app/shared/shared.module.ts","./src/app/team/add-team-member/add-team-member.component.ts","./src/app/team/add-team-member/add-team-member.component.html","./src/app/team/add-team-member/add-team-member.service.ts","./src/app/team/incident-message-send/incident-message-send.component.ts","./src/app/team/incident-message-send/incident-message-send.component.html","./src/app/team/incident-message-send/incident-message-send.service.ts","./src/app/team/team-members/team-members.component.ts","./src/app/team/team-members/team-members.component.html","./src/app/team/team-members/team-members.service.ts","./src/app/team/team-messaging-dashboard/team-messaging-dashboard.component.ts","./src/app/team/team-messaging-dashboard/team-messaging-dashboard.component.html","./src/app/team/team-messaging-dashboard/team-messaging-dashboard.service.ts","./src/environments/environment.ts","./src/main.ts","crypto (ignored)"],"names":[],"mappings":"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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { from, Observable } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { CognitoService } from '../cognito.service';\r\n\r\n/**\r\n * This will append jwt token for the http requests.\r\n *\r\n * @export\r\n * @class JwtInterceptor\r\n * @implements {HttpInterceptor}\r\n */\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n\r\n constructor(private _cognitoService: CognitoService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n return from(this._cognitoService.GetCurrentSession())\r\n .pipe(\r\n switchMap((auth: any) => { // switchMap() is used instead of map().\r\n\r\n // let jwt = auth.accessToken.jwtToken;\r\n let jwt = auth.idToken.jwtToken;\r\n let with_auth_request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${jwt}`\r\n }\r\n });\r\n // console.log(\"Cloned\",with_auth_request);\r\n return next.handle(with_auth_request);\r\n })\r\n // ,catchError((err) => {\r\n // console.log(\"Error \", err);\r\n // return next.handle(request);\r\n // })\r\n );\r\n \r\n }\r\n\r\n}","import { CognitoService } from 'src/app/Authentication/cognito.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AppStartService } from 'src/app/core/services/app-start.service';\r\n\r\n/**\r\n * Prevent access to routes if access-token is not present.\r\n * \r\n * @export\r\n * @class AuthGuard\r\n * @implements {CanActivate}\r\n */\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private _cognitoService: CognitoService,\r\n private _appStartService: AppStartService\r\n ) { }\r\n\r\n async canActivate(\r\n next: ActivatedRouteSnapshot, \r\n state: RouterStateSnapshot): Promise {\r\n\r\n if (!this._appStartService.IsCognitoUserLoaded){\r\n return await this._cognitoService.IsAuthenticatedForLa();\r\n }\r\n return this._cognitoService.IsLaUser(this._appStartService.currentCognitoUser.attributes['custom:roles']);\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { CognitoService } from '../cognito.service';\r\nimport { AppStartService } from 'src/app/core/services/app-start.service';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.css']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n\r\n changePasswordForm: FormGroup;\r\n errorMessage: string = '';\r\n isSubmitted: boolean = false;\r\n\r\n constructor(\r\n private _cognitoService: CognitoService,\r\n private _appStartService: AppStartService\r\n ) {}\r\n\r\n\r\n ngOnInit(): void {\r\n this.changePasswordForm = new FormGroup({\r\n oldPassword: new FormControl('', [Validators.required]),\r\n newPassword: new FormControl('', [Validators.required, Validators.minLength(8), this.noSpaces.bind(this)])\r\n });\r\n }\r\n\r\n private noSpaces(control: FormControl) {\r\n const value = control.value?.trim();\r\n const isValid = value === control.value;\r\n return isValid ? null : { containsSpaces: true };\r\n }\r\n\r\n async onSubmit() {\r\n try {\r\n this.errorMessage = '';\r\n const { oldPassword, newPassword } = this.changePasswordForm.value;\r\n let currentUser: any;\r\n if (!this._appStartService.IsCognitoUserLoaded){\r\n currentUser = await this._cognitoService.GetUser();\r\n }\r\n else{\r\n currentUser = this._appStartService.currentCognitoUser;\r\n }\r\n var resposne = await this._cognitoService.ChangePassword(currentUser, oldPassword, newPassword);\r\n if (resposne === \"SUCCESS\"){\r\n await this._appStartService.NavigateToDashboard();\r\n }\r\n // add success message and redirect to another page\r\n } catch (error) {\r\n this.errorMessage = error.message\r\n // add error message to form\r\n }\r\n }\r\n\r\n}\r\n","\r\n
\r\n

Change Password

\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n Old Password is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n New Password is required\r\n
\r\n\r\n
\r\n Password length atleast 8 charactor long\r\n
\r\n\r\n
\r\n Password must not contain leading or trailing spaces.\r\n
\r\n
\r\n\r\n
\r\n
{{ errorMessage }}
\r\n\r\n \r\n
\r\n
\r\n ","import { Auth } from 'aws-amplify';\r\nimport { environment } from './../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { User } from '../Models/Authentication/User';\r\nimport { UserProfileService } from '../core/services/user-profile.service';\r\nimport { StringHelperService } from '../core/services/string-helper.service';\r\nimport { UserRole } from '../Enum/UserRole.enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CognitoService {\r\n\r\n // private poolData = {\r\n // UserPoolId: environment.cognito.userPoolId,\r\n // ClientId: environment.cognito.userPoolWebClientId\r\n // };\r\n\r\n //private userPool = new AmazonCognitoIdentity.CognitoUserPool(this.poolData);\r\n\r\n constructor(\r\n private _userProfileService: UserProfileService,\r\n private _stringHelperService: StringHelperService\r\n ) {\r\n \r\n // Amplify.configure({\r\n // Auth : environment.cognito\r\n // });\r\n\r\n }\r\n\r\n public SignIn(user: User): Promise {\r\n return Auth.signIn(user.email, user.password);\r\n }\r\n\r\n public confirmSignUp(user: User) : Promise{\r\n return Auth.confirmSignUp(user.email, user.verificationCode);\r\n }\r\n\r\n public async SignOut(): Promise {\r\n // return Auth.signOut({ global: true })\r\n return Auth.signOut()\r\n .then(() => {\r\n this._userProfileService.RemoveAuthenticatedUserGroups();\r\n this.RedirectToLogin();\r\n return true;\r\n },\r\n err => { \r\n console.error(err);\r\n return false; \r\n });\r\n }\r\n\r\n public async GetUser(): Promise {\r\n try{\r\n return Auth.currentAuthenticatedUser();\r\n }\r\n catch{\r\n await this.SignOut();\r\n }\r\n \r\n //return Auth.currentUserInfo();\r\n }\r\n \r\n public GetCurrentSession(){\r\n return Auth.currentSession();\r\n }\r\n\r\n public async isAuthenticated() : Promise{\r\n return this.GetUser()\r\n .then(async (user) => {\r\n try {\r\n if (!user || this._stringHelperService.IsNullOrWhiteSpace(user.username)){\r\n await this.SignOut();\r\n return false;\r\n }\r\n else{\r\n return true;\r\n }\r\n\r\n } catch (error) {\r\n await this.SignOut()\r\n return false;\r\n }\r\n })\r\n .catch(async () => {\r\n await this.SignOut();\r\n return false;\r\n });\r\n }\r\n\r\n public async IsAuthenticatedForLa() : Promise{\r\n return this.GetUser()\r\n .then(async (user) => {\r\n try {\r\n if (!user || this._stringHelperService.IsNullOrWhiteSpace(user.username)){\r\n await this.SignOut();\r\n return false;\r\n }\r\n\r\n const roleId = user.attributes['custom:roles']\r\n if (!roleId){\r\n await this.SignOut();\r\n return false;\r\n }\r\n\r\n if (this.IsLaUser(roleId)){\r\n return true; \r\n }\r\n else {\r\n await this.SignOut();\r\n return false;\r\n }\r\n\r\n } catch (error) {\r\n await this.SignOut()\r\n return false;\r\n }\r\n })\r\n .catch(async () => {\r\n await this.SignOut();\r\n return false;\r\n });\r\n }\r\n\r\n public async IsAuthenticatedForBCU() : Promise{\r\n return this.GetUser().then(async (user) => {\r\n try {\r\n if (!user || this._stringHelperService.IsNullOrWhiteSpace(user.username)){\r\n await this.SignOut();\r\n return false;\r\n }\r\n\r\n const roleId = user.attributes['custom:roles']\r\n if (!roleId){\r\n await this.SignOut();\r\n return false;\r\n }\r\n\r\n if (this.IsBCUUser(roleId)){\r\n return true; \r\n }\r\n else {\r\n await this.SignOut();\r\n return false;\r\n }\r\n\r\n } catch (error) {\r\n await this.SignOut()\r\n return false;\r\n }\r\n })\r\n .catch(async () => {\r\n await this.SignOut();\r\n return false;\r\n });\r\n }\r\n\r\n public SignUp(username: string, password: string, attributes: { email: string, given_name: string, family_name: string, phone_number: string}) : Promise {\r\n return Auth.signUp({\r\n username: username,\r\n password: password,\r\n attributes: {\r\n email: attributes.email,\r\n given_name: attributes.given_name,\r\n family_name: attributes.family_name,\r\n phone_number: attributes.phone_number\r\n }\r\n });\r\n }\r\n\r\n\r\n public ConfirmSignUp(email: string, confirmationCode: string) : Promise {\r\n return Auth.confirmSignUp(email, confirmationCode);\r\n }\r\n\r\n public ResendSignUp(username: string) : Promise {\r\n return Auth.resendSignUp(username);\r\n }\r\n\r\n public async ChangePassword(currentUser: any, oldPassword: any, newPassword: any){\r\n return Auth.changePassword(currentUser, oldPassword, newPassword);\r\n }\r\n\r\n public IsLaUser(roleId){\r\n if ([\"1\", \"2\", \"3\", \"4\", \"5\"].includes(roleId) && Object.values(UserRole).map(Number).includes(parseInt(roleId))){\r\n return true;\r\n }\r\n else{\r\n return false;\r\n }\r\n }\r\n\r\n public IsBCUUser(roleId){\r\n if ([\"6\"].includes(roleId) && Object.values(UserRole).map(Number).includes(parseInt(roleId))){\r\n return true;\r\n }\r\n else{\r\n return false;\r\n }\r\n }\r\n\r\n public RedirectToLogin(){\r\n window.location.assign(environment.cognito.awsLoginUrl);\r\n }\r\n\r\n // async isAuthenticatedForBCU() : Promise{\r\n // return this.GetUser()\r\n // .then(async (user) => {\r\n // try {\r\n // if (!user || this._stringHelperService.IsNullOrWhiteSpace(user.username)){\r\n // await this.SignOut();\r\n // return false;\r\n // }\r\n\r\n // const roleId = user.attributes['custom:roles']\r\n // if (!roleId){\r\n // await this.SignOut();\r\n // return false;\r\n // }\r\n\r\n // if ([\"6\"].includes(roleId) && Object.values(UserRole).map(Number).includes(parseInt(roleId))){\r\n // return true; \r\n // }\r\n // else{\r\n // await this.SignOut();\r\n // return false;\r\n // }\r\n\r\n // } catch (error) {\r\n // await this.SignOut()\r\n // return false;\r\n // }\r\n // })\r\n // .catch(async () => {\r\n // await this.SignOut();\r\n // return false;\r\n // });\r\n // }\r\n\r\n\r\n // public signIn(user: User): Promise {\r\n // return Auth.signIn(user.email, user.password)\r\n // .then(() => {\r\n // this.authenticationSubject.next(true);\r\n // });\r\n // }\r\n\r\n // public signIn(user: User) {\r\n // const authenticationData = {\r\n // Username: user.email,\r\n // Password: user.password\r\n // };\r\n // const authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails(authenticationData);\r\n\r\n // const userToBEAuthenticated = new AmazonCognitoIdentity.CognitoUser({\r\n // Username: user.email,\r\n // Pool: this.userPool\r\n // });\r\n\r\n // return new Promise((resolve, reject) => {\r\n // userToBEAuthenticated.authenticateUser(authenticationDetails, {\r\n // onSuccess: (result) => {\r\n // resolve(result);\r\n // },\r\n // onFailure: (err) => {\r\n // reject(err);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n // public signUp(user : User) : Promise {\r\n // return Auth.signUp({\r\n // username : user.email,\r\n // password : user.password,\r\n // attributes : {\r\n // email : user.email,\r\n // given_name : user.givenName,\r\n // family_name : user.familyName,\r\n // phone_number : user.phoneNumber\r\n // }\r\n // });\r\n // }\r\n\r\n // public signUp(user: User) {\r\n // const attributeList = [\r\n // new AmazonCognitoIdentity.CognitoUserAttribute({\r\n // Name: user.givenName,\r\n // Value: user.email\r\n // })\r\n // ];\r\n\r\n // return new Promise((resolve, reject) => {\r\n // this.userPool.signUp(user.email, user.password, attributeList, null, (err, result) => {\r\n // if (err) {\r\n // reject(err);\r\n // } else {\r\n // resolve(result.user);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n\r\n // public isAuthenticated(): Promise {\r\n // if (this.authenticationSubject.value) {\r\n // return Promise.resolve(true);\r\n // } else {\r\n // return this.GetUser()\r\n // .then((user: any) => {\r\n // if (user) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n // }).catch(() => {\r\n // return false;\r\n // });\r\n // }\r\n // }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { AppStartService } from 'src/app/core/services/app-start.service';\r\n\r\n@Component({\r\n selector: 'app-login-receiver',\r\n template: ``,\r\n styles: []\r\n})\r\nexport class LoginReceiverComponent {\r\n\r\n constructor(\r\n private _appStartService: AppStartService\r\n ) { \r\n (async () => {await this._appStartService.NavigateToDashboard();})();\r\n }\r\n}\r\n","import { tap } from 'rxjs/operators';\r\nimport { UserProfileService } from './../../core/services/user-profile.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { CognitoService } from './../cognito.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { User } from './../../Models/Authentication/User';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, Validators, FormGroup, FormControl } from '@angular/forms';\r\nimport { MemberProfileDetailsDTO } from 'src/app/Models/Messages/MessageTemplateDTO';\r\nimport { StringHelperService } from 'src/app/core/services/string-helper.service';\r\nimport { AppStartService } from 'src/app/core/services/app-start.service';\r\n\r\n@Component({\r\n selector: 'app-sign-up',\r\n templateUrl: './sign-up.component.html',\r\n styleUrls: ['./sign-up.component.css']\r\n})\r\nexport class SignUpComponent implements OnInit {\r\n\r\n user: User | undefined;\r\n userId: string;\r\n\r\n usermember: MemberProfileDetailsDTO\r\n\r\n errorMessage: string = '';\r\n errorMessageConfirm: string = '';\r\n \r\n isSubmitted = false;\r\n isConfirmSubmitted = false;\r\n showConfirmationForm: boolean;\r\n\r\n signUpForm: FormGroup;\r\n confirmSignUpForm: FormGroup;\r\n\r\n isMemberProfileLoaded = false;\r\n isCurrentUserLoaded = false;\r\n\r\n constructor(\r\n private _fb: FormBuilder,\r\n private _toastr: ToastrService,\r\n private _activatedRoute: ActivatedRoute,\r\n private _userProfileService : UserProfileService,\r\n private _apiErrorService: ApiErrorService,\r\n private _cognitoService: CognitoService,\r\n private _stringHelperService: StringHelperService,\r\n private _appStartService: AppStartService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.user = {} as User;\r\n\r\n this.userId = this._activatedRoute.snapshot.params['id'];\r\n if (!this._stringHelperService.IsNullOrWhiteSpace(this.userId)){\r\n this._userProfileService.GetMemberProfile(this.userId).pipe(tap(() => { this.isMemberProfileLoaded = true})).subscribe(response => {\r\n if (response && response.data && response.statusCode == 200){\r\n this.usermember = response.data as MemberProfileDetailsDTO;\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n })\r\n }\r\n\r\n this.SignUpForm();\r\n this.ConfirmSignUpForm();\r\n\r\n\r\n this.checkAccountStatus();\r\n }\r\n\r\n private SignUpForm(){\r\n this.signUpForm = this._fb.group({\r\n email: [null, [Validators.required, Validators.email]],\r\n password: [null, [Validators.required, Validators.minLength(8), this.noSpaces.bind(this)]],\r\n confirmPassword: [null, [Validators.required, this.confirmPasswordValidator]],\r\n });\r\n }\r\n\r\n private ConfirmSignUpForm(){\r\n this.confirmSignUpForm = this._fb.group({\r\n email: [null, [Validators.required, Validators.email]],\r\n confirmationCode: [null, [Validators.required]]\r\n });\r\n }\r\n\r\n private noSpaces(control: FormControl) {\r\n const value = control.value?.trim();\r\n const isValid = value === control.value;\r\n return isValid ? null : { containsSpaces: true };\r\n }\r\n\r\n confirmPasswordValidator(control: FormControl) {\r\n const password = control.root.get('password');\r\n if (password && control.value !== password.value) {\r\n return {\r\n confirmPassword: true\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n public get email(){\r\n return this.signUpForm.controls.email as FormControl\r\n }\r\n\r\n public get password(){\r\n return this.signUpForm.controls.password as FormControl\r\n }\r\n\r\n public get confirmPassword(){\r\n return this.signUpForm.controls.confirmPassword as FormControl\r\n }\r\n\r\n public OnSubmit(){\r\n this.isSubmitted = true;\r\n if (this.signUpForm.invalid){\r\n return;\r\n }\r\n\r\n const providedEmail = this.email.value as string\r\n if (providedEmail.toLocaleLowerCase() !== this.usermember.email.toLocaleLowerCase()){\r\n this.errorMessage = \"Email address is wrong\";\r\n return;\r\n }\r\n\r\n this.user.email = this.email.value;\r\n this.user.password = this.password.value;\r\n if (this.usermember && this.user.email && this.user.password){\r\n\r\n this._cognitoService.SignUp(\r\n this.email.value, this.password.value, {\r\n email: this.email.value,\r\n given_name: this.usermember.firstName,\r\n family_name: this.usermember.familyName,\r\n phone_number: this.usermember.phoneNo\r\n })\r\n .then(data => {\r\n this.confirmSignUpForm.controls.email.patchValue(this.email.value);\r\n\r\n this.showConfirmationForm = true;\r\n this.errorMessage = '';\r\n // handle success\r\n })\r\n .catch(error => {\r\n this.errorMessage = error.message;\r\n console.error(error);\r\n // handle error\r\n });\r\n }\r\n else{\r\n this._toastr.error(\"Missing user information\");\r\n }\r\n }\r\n\r\n // public confirmSignUp(){\r\n\r\n // Auth.confirmSignUp(username, confirmationCode)\r\n // .then(data => {\r\n // console.log(data);\r\n // // handle success\r\n // })\r\n // .catch(error => {\r\n // console.error(error);\r\n // // handle error\r\n // });\r\n\r\n // if (this.user && this.user.verificationCode){\r\n // this._cognitoService.confirmSignUp(this.user)\r\n // .then(() => {\r\n // this.router.navigate(['/sign-in']);\r\n // })\r\n // .catch((error) => {\r\n // this.displayAlert(error.message);\r\n // })\r\n // }\r\n // else{\r\n // this.displayAlert(\"Missing user information\");\r\n // }\r\n // }\r\n\r\n async onSubmitConfirmation() {\r\n try {\r\n this.isConfirmSubmitted = true;\r\n const { email, confirmationCode } = this.confirmSignUpForm.value;\r\n this._cognitoService.ConfirmSignUp(email, confirmationCode)\r\n .then(async (response) => {\r\n console.log(response);\r\n this.errorMessageConfirm = '';\r\n this._toastr.success(\"Account created successfully\", \"Success\");\r\n\r\n if (this._appStartService.IsCognitoUserLoaded){\r\n await this._appStartService.NavigateToDashboard();\r\n }\r\n else{\r\n this._cognitoService.RedirectToLogin();\r\n }\r\n })\r\n .catch(error => {\r\n this.errorMessageConfirm = error.message;\r\n //this.toastr.error(error.message, \"Error\");\r\n });\r\n } catch (error) {\r\n this.errorMessageConfirm = error.message;\r\n }\r\n }\r\n\r\n async onResendConfirmationCode() {\r\n try {\r\n const { email } = this.confirmSignUpForm.value;\r\n await this._cognitoService.ResendSignUp(email);\r\n this.errorMessageConfirm = '';\r\n } catch (error) {\r\n this.errorMessageConfirm = error.message;\r\n }\r\n }\r\n\r\n async checkAccountStatus(): Promise {\r\n try {\r\n let currentUser: any;\r\n if (!this._appStartService.IsCognitoUserLoaded){\r\n currentUser = await this._cognitoService.GetUser();\r\n }\r\n else{\r\n currentUser = this._appStartService.currentCognitoUser;\r\n }\r\n if (currentUser) {\r\n const isEmailVarified = currentUser.attributes['email_verified'] as boolean;\r\n if (isEmailVarified == true){\r\n //this.router.navigate(['/home-dashboard']);\r\n }\r\n else{\r\n this.showConfirmationForm = true;\r\n }\r\n }\r\n this.isCurrentUserLoaded = true;\r\n } catch (error) {\r\n this.isCurrentUserLoaded = true;\r\n console.log(error);\r\n }\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Email is required\r\n
\r\n\r\n
\r\n Email is not in correct formate\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Password is required\r\n
\r\n\r\n
\r\n Password length atleast 8 charactor long\r\n
\r\n\r\n
\r\n Password must not contain leading or trailing spaces.\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Confirm Password is required
\r\n\r\n
\r\n Confirm Password does not matched with Password
\r\n
\r\n
\r\n\r\n
{{ errorMessage }}
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Email is required\r\n \r\n Email is not in correct formate\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Confirmation code is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
{{ errorMessageConfirm }}
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n","export enum IncidentStatusEnum {\r\n Open=0,\r\n\r\n Active =1,\r\n\r\n ScaledDown =2,\r\n\r\n Archived =3,\r\n\r\n Declined = 4\r\n}","export enum LocationType {\r\n CrimeSceneLocation = \"CrimeSceneLocation\",\r\n PoliceCordonLocation = \"PoliceCordonLocation\",\r\n RendezvousPointLocation = \"RendezvousPointLocation\",\r\n Section60Location = \"Section60Location\",\r\n Section35Location = \"Section35Location\"\r\n}\r\n\r\nexport enum LocationColor{\r\n MainLocationPointLocation = \"#ff0000\",\r\n CrimeSceneLocation = \"#b086ac\",\r\n PoliceCordonLocation = \"#9fc6e7\",\r\n RendezvousPointLocation = \"#9fc6e7\",\r\n Section60Location = \"#ff0000\",\r\n Section35Location = \"#ff0000\"\r\n}\r\n","export enum MemberType {\r\n Member =1,\r\n \r\n Stakeholder =2\r\n}\r\n","export enum MessageDeliveryChannelEnum {\r\n None = 0, \r\n Email = 1,\r\n SMS = 2,\r\n}\r\n","export enum Months {\r\n January = 1,\r\n February = 2,\r\n March = 3, \r\n April = 4,\r\n May = 5,\r\n June = 6,\r\n July = 7, \r\n August = 8,\r\n September = 9,\r\n October = 10,\r\n November = 11,\r\n December = 12,\r\n}\r\n","export enum ResponseStatus {\r\n Active = 0,\r\n\r\n ScaledDown = 1,\r\n\r\n Declined = 2,\r\n\r\n Pending = 3,\r\n}\r\n","export enum UserRole {\r\n SystemAdmin = 1,\r\n\r\n SuperAdmin =2,\r\n\r\n GroupAdmin =3,\r\n\r\n GroupMember =4,\r\n\r\n GroupCommunicator =5,\r\n\r\n BCUUser = 6,\r\n\r\n PoliceTeamMember = 7\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { CognitoService } from '../Authentication/cognito.service';\r\n\r\n\r\n/**\r\n * This is used to logout the user, when the server responds with an unathorized status code.\r\n * Especially when the session token expires.\r\n * @export\r\n * @class ErrorInterceptor\r\n * @implements {HttpInterceptor}\r\n */\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n\r\n constructor(\r\n private _cognitoService: CognitoService\r\n ) { }\r\n\r\n\r\n /**\r\n * Intercepter intercepts the responses, and then process based on the recieved status code\r\n * @param {HttpRequest} request\r\n * @param {HttpHandler} next\r\n * @returns {Observable>}\r\n * @memberof ErrorInterceptor\r\n */\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n return next.handle(request).pipe(catchError((error: HttpErrorResponse) => {\r\n\r\n if (error.status === 401) {\r\n // auto logout if 401 response returned from api\r\n (async () => await this._cognitoService.SignOut())();\r\n }\r\n\r\n // err.error is not null, if the ResponsenEntity contains an Exception\r\n // err.error.message will give the custom message send from the server\r\n return throwError(error);\r\n\r\n }));\r\n }\r\n}","export class BCURegionDTO{\r\n id:any;\r\n name:string;\r\n locationDescription:string;\r\n selected:boolean=false;\r\n groups: OrganizationGroup[];\r\n}\r\n\r\nexport class OrganizationGroup{\r\n organizationGroupId: number;\r\n organizationGroupName: string;\r\n isAuthenticatedUserGroup: boolean;\r\n orgGroupType: OrganisationTypeEnum\r\n}\r\n\r\nexport enum OrganisationTypeEnum{\r\n \r\n None = 0,\r\n LocalAuthority = 1,\r\n LocalAuthorityTest = 2,\r\n}","export class EmergencyTaskAssignee {\r\n\r\n incidentId : string;\r\n assigneeId : string;\r\n emergencyTaskId : number;\r\n}\r\n","import { ProtocolStatus } from \"src/app/Enum/ProtocolStatus.enum\";\r\nimport { ResponseStatus } from \"src/app/Enum/ResponseStatus.enum\";\r\nimport { IncidentStatus } from \"../incident.modal\";\r\nimport { LAIncidentDashboardModel } from \"../LAIncedenceDashboard/LAIncidentDashboardModel\";\r\nimport { MemberProfile } from \"../Members/MemberProfile\";\r\nimport { LAEmergencyPlanningActionItem, LAEmergencyPlanningActions } from \"./LAEmergencyPlanningActions\";\r\nimport { Member } from \"../Members/Member\";\r\n\r\nexport class LAEmergencyIncident {\r\n datetime : Date;\r\n id: string;\r\n location: string;\r\n incidentStatus: IncidentStatus;\r\n protocolStatus: ProtocolStatus;\r\n responseStatus: ResponseStatus;\r\n title: string;\r\n\r\n public responseProtocolStatus: string;\r\n public actions : LAEmergencyPlanningActionItem[] = [];\r\n\r\n public organisationTeamForIncident : MemberProfile[] = [];\r\n}\r\n\r\nexport class LAEmergencyIncidentForImmediate {\r\n datetime : Date;\r\n id: string;\r\n location: string;\r\n incidentStatus: IncidentStatus;\r\n protocolStatus: ProtocolStatus;\r\n responseStatus: ResponseStatus;\r\n title: string;\r\n\r\n public responseProtocolStatus: string;\r\n public actions : LAEmergencyPlanningActionItem[] = [];\r\n\r\n public organisationTeamForIncident : Member[] = [];\r\n}","import { IncidentNoteDTO } from \"../Notes/IncidentNoteDTO\";\r\n\r\nexport class LAEmergencyPlanningActions {\r\n incidentId : string;\r\n title : string;\r\n location : string;\r\n incidentStatus : string;\r\n responseProtocolStatus : string;\r\n actions : LAEmergencyPlanningActionItem[];\r\n \r\n}\r\n\r\nexport class LAEmergencyPlanningActionItem {\r\n EmergencyTaskMemberId: number;\r\n EmergencyTaskId: number;\r\n AssigneeAvatar: string;\r\n AssigneeName: string;\r\n EmergencyTaskTitle: string;\r\n hasNotes: boolean;\r\n HasIssue: boolean;\r\n EmergencyTaskStatus: number;\r\n}\r\n\r\nexport class EmergencyNoteDTO extends IncidentNoteDTO {\r\n emergencyTaskMemberId: number;\r\n createdById: string;\r\n}\r\n","import { LocationDTO } from \"./incident.modal\";\r\n\r\nexport class IncidentFormLocationEntity {\r\n id: string;\r\n name: string;\r\n description : string\r\n lat: number;\r\n lng: number;\r\n label: string;\r\n draggable: boolean;\r\n visible: boolean;\r\n opacity: number;\r\n icon: string;\r\n pathList: any[];\r\n closed: boolean;\r\n locationDTO: LocationDTO;\r\n modifyDate : Date | null\r\n}\r\n","import { IncidentStatusEnum } from \"src/app/Enum/IncidentStatus.enum\";\r\nimport { ProtocolStatus } from \"src/app/Enum/ProtocolStatus.enum\";\r\nimport { ResponseStatus } from \"src/app/Enum/ResponseStatus.enum\";\r\n\r\nexport class LAIncidentDashboardModel {\r\n declinedTotal: number;\r\n incidents: LAIncedentsModel[];\r\n pendingTotal: number;\r\n protocolInProgressTotal: number;\r\n responseInProgressTotal: number;\r\n}\r\n\r\nexport class LAIncedentsModel{\r\n datetime : Date;\r\n id: string;\r\n location: string;\r\n incidentStatus: IncidentStatusEnum;\r\n protocolStatus: ProtocolStatus;\r\n responseStatus: ResponseStatus;\r\n title: string;\r\n}\r\n\r\nexport class LaDashboardUserActionsModel{\r\n \r\n acceptedTotal: number;\r\n issuesTotal : number;\r\n lateTotal: number;\r\n pendingTotal: number;\r\n incidentTotals : LAIncedentsUserActionsModel[];\r\n}\r\n\r\nexport class LAIncedentsUserActionsModel{\r\n accepted: number;\r\n id: string;\r\n issues : number;\r\n dateTime : number;\r\n late: number;\r\n location: string;\r\n pending: number;\r\n title: string;\r\n emergencyResponseActive : number;\r\n emergencyResponsePending : number;\r\n protocolStatus : boolean;\r\n responseStatus : boolean;\r\n incidentStatus : number;\r\n}\r\n\r\nexport class LAIncidentLaunchDTO{\r\n incidentId: string;\r\n incidentTitle: string;\r\n template: string;\r\n templateId: string;\r\n taskGroups: IncidentLaunchTask[] = [];\r\n\r\n}\r\n\r\nexport class IncidentLaunchTask{\r\n id: string;\r\n incidentTaskAssignees: IncidentTaskAssignee[] = [];\r\n parentId: string;\r\n taskTimeFrame: number;\r\n tasks: IncidentLaunchTask[] = [];\r\n title: string;\r\n}\r\n\r\nexport class IncidentTaskAssignee{\r\n assigneeId: string;\r\n assigneeName: string;\r\n avatar: string;\r\n}\r\n\r\n\r\nexport class SaveProtocolLaunchDTO{\r\n incidentId: string;\r\n Items: SaveProtocolLaunchItemDTO[] = [];\r\n TemplateIdUsed: string;\r\n}\r\n\r\nexport class SaveProtocolLaunchItemDTO{\r\n TaskId: number;\r\n MemberId: string;\r\n Timeframe: IncidentTaskTimeFrame;\r\n}\r\n\r\nexport enum IncidentTaskTimeFrame{\r\n Within24Hours=1,\r\n Within1Week =2,\r\n Within1Month =3,\r\n OnGoing =4\r\n}","export class MapForm {\r\n Heading: string;\r\n Name: string;\r\n Description: string;\r\n UpdatedOn: Date;\r\n}\r\n","import { BCURegionDTO } from \"../BCURegionDTO.Model\";\r\n\r\nexport class AuthenticatedUserForGrouping {\r\n firstName: string;\r\n familyName: string;\r\n id: string;\r\n region: BCURegionDTO;\r\n // region: UserRegions[] = [];\r\n\r\n // groups: {\r\n // id: number;\r\n // groupName: string;\r\n // organizationId: number;\r\n // organizationName: string;\r\n // regionId: string;\r\n // regionName: string;\r\n // rigionLocationDescription: string;\r\n // selected:boolean;\r\n // }[] = [];\r\n}\r\n\r\nexport class UserRegions{\r\n regionId: string;\r\n regionName: string;\r\n regionDescription: string;\r\n selected:boolean;\r\n groups: UserGroups[] =[];\r\n}\r\n\r\nexport class UserGroups{\r\n id: number;\r\n groupName: string;\r\n organizationId: number;\r\n organizationName: string;\r\n}\r\n","import { MemberType } from \"src/app/Enum/MemberType.enum\";\r\nimport { UserRole } from \"src/app/Enum/UserRole.enum\";\r\n\r\nexport class Member {\r\n id : string;\r\n firstName : string;\r\n familyName : string;\r\n email : string;\r\n jobTitle : string;\r\n employer : string;\r\n phoneNo : string;\r\n avatar : string;\r\n isEmailVerified : boolean;\r\n isPhoneNoVerified : boolean;\r\n tickedTerms : boolean;\r\n memberType : MemberType;\r\n //roles : UserRole;\r\n roles : number;\r\n}\r\n","import { SIMUser } from './../SIMUser';\r\nimport { OrganizationGroupMember } from './OrganizationGroupMember';\r\nexport class MemberProfile {\r\n\r\n public id: string;\r\n public avatar: string;\r\n public role: string;\r\n public firstName: string;\r\n public givenName: string;\r\n public familyName: string;\r\n public jobTitle: string;\r\n public employer: string;\r\n public phone: string;\r\n public IsPhoneNoVerified: boolean;\r\n public IsEmailVerified: boolean;\r\n public email: string;\r\n public memberType: number;\r\n public User: SIMUser;\r\n public MemberCategoryId: number;\r\n public Groups: OrganizationGroupMember[];\r\n public Statutory: boolean;\r\n public incidentAlert: boolean;\r\n public locationAlert: boolean;\r\n public section60Alert: boolean;\r\n public section35Alert: boolean;\r\n public partnerMessage: boolean;\r\n public incidentLaunchIfNotTeam: boolean;\r\n public dashboardContact: boolean;\r\n public organisationGroupid: number;\r\n}\r\n","import { Member } from \"./Member\";\r\n\r\nexport class MemberProfileCreate extends Member {\r\n MemberCategoryId: number;\r\n groups: number;\r\n sendJoiningEmail: boolean;\r\n\r\n}\r\n","import { Member } from './../Members/Member';\r\nimport { MessageDeliveryChannelEnum } from \"src/app/Enum/MessageDeliveryChannelEnum.enum\";\r\nimport { MemberType } from 'src/app/Enum/MemberType.enum';\r\nimport { MessageTemplateStatusEnum } from 'src/app/Enum/MessageTemplateStatusEnum.enum';\r\nimport { BCURegionDTO } from '../BCURegionDTO.Model';\r\n\r\nexport class MessageTemplateDTO {\r\n\r\n id: string;\r\n date: Date;\r\n subject: string;\r\n message: string;\r\n incident: MessageIncidentDTO;\r\n deliveryChannel: MessageDeliveryChannelEnum;\r\n from: MemberProfileDetailsDTO;\r\n status: MessageTemplateStatusEnum;\r\n\r\n}\r\n\r\n\r\nexport class MessageIncidentDTO{\r\n id: string;\r\n title: string;\r\n address: string;\r\n}\r\n\r\n\r\nexport class MemberProfileDetailsDTO extends Member{\r\n memberCategory :MemberCategoryDTO\r\n groups :OrganizationGroupDTO[];\r\n bcuRegion: BCURegionDTO;\r\n}\r\n\r\nexport class MemberCategoryDTO{\r\n id: number;\r\n label: string;\r\n memberType: MemberType;\r\n} \r\n\r\nexport class OrganizationGroupDTO{\r\n id: number;\r\n groupName: string;\r\n isDefault: boolean;\r\n organizationId: number;\r\n organizationName: string;\r\n organizationLogo: string;\r\n organizationGroupLogo: string;\r\n regionId: string;\r\n regionName: string;\r\n regionDescription: string\r\n}\r\n\r\nexport class MemberForMessage{\r\n name: string; \r\n memberId: string;\r\n avatar: string;\r\n jobTitle: string\r\n}\r\n","import { IncidentNoteDTO } from \"./IncidentNoteDTO\";\r\n\r\nexport class IncidentNoteCreateDTO extends IncidentNoteDTO {\r\n incidentId: string;\r\n createdById: string;\r\n}\r\n","export class IncidentNoteDTO {\r\n id: string;\r\n message: string;\r\n date: Date;\r\n taskId: number;\r\n readStatus: boolean;\r\n}","export class PostProtocolActionsModel {\r\n id: string;\r\n location: string;\r\n title: string;\r\n tasks: PostProtocolActionsTaskModel[] = [];\r\n}\r\n\r\nexport class PostProtocolActionsTaskModel{\r\n actionName: string;\r\n avatar: string;\r\n date : Date;\r\n id: number;\r\n issue: boolean;\r\n incidentMemberTaskId: number;\r\n incidentTaskId: number;\r\n personName: string;\r\n status: number;\r\n checked: boolean; \r\n category: string;\r\n timeFrame: number;\r\n hasNotes: boolean\r\n}\r\n","import { Member } from './../Members/Member';\r\nimport { MemberCategoryDTO } from \"../Messages/MessageTemplateDTO\";\r\n\r\nexport class Stakeholder {\r\n\r\n public id: string;\r\n public firstName: string;\r\n public familyName: string;\r\n public email: string;\r\n public jobTitle: string;\r\n public employer: string;\r\n public phoneNo: string;\r\n public avatar: string;\r\n public organisationName: string;\r\n public partnerMessage: boolean | null;\r\n public memberCategoryId : number;\r\n \r\n}\r\n\r\nexport class StakeholderProfileCreateDTO extends Stakeholder{\r\n public groups: { [key: number]: boolean };\r\n} \r\n\r\nexport class StakeholderCategoryList extends MemberCategoryDTO {\r\n stakeholders: Stakeholder[] = [];\r\n}\r\n\r\nexport class MemberCategoryListDTO extends MemberCategoryDTO {\r\n members: Member[] = [];\r\n}\r\n","import { MemberProfileCreate } from \"../Members/MemberProfileCreate\";\r\n\r\nexport class TeamMember extends MemberProfileCreate {\r\n incidentAlert: boolean;\r\n locationAlert: boolean;\r\n section60Alert: boolean;\r\n section35Alert: boolean;\r\n partnerMessage: boolean;\r\n incidentLaunchIfNotTeam: boolean;\r\n dashboardContact: boolean;\r\n}\r\n","import { SaveProtocolLaunchItemDTO } from \"../LAIncedenceDashboard/LAIncidentDashboardModel\";\r\n\r\nexport class ProtocolTemplateDTO{\r\n templateId: string;\r\n title: string;\r\n items: SaveProtocolLaunchItemDTO[] = [];\r\n}","import { IncidentStatusEnum } from '../Enum/IncidentStatus.enum';\r\nimport { ProtocolStatus } from '../Enum/ProtocolStatus.enum';\r\nimport { ResponseStatus } from '../Enum/ResponseStatus.enum';\r\nimport { MessageDeliveryChannelEnum } from './../Enum/MessageDeliveryChannelEnum.enum';\r\nimport { MessageGroupEnum } from './la-Team-messages/LATeamMessagingDashboard';\r\nimport { MessageTemplateDTO } from \"./Messages/MessageTemplateDTO\";\r\n\r\nexport class IncidentDTO {\r\n id: any;\r\n incidentid: string = '0';\r\n title: string;\r\n incidentDate: any;\r\n lastUpdatedAt: any;\r\n address: string;\r\n postcode: string;\r\n longitude: string;\r\n latitude: string;\r\n spotDetails: string;\r\n incidentDescription: string;\r\n status: any;\r\n group: any;\r\n bcuregionid: any;\r\n cadnumber: any\r\n peopledisplaced: boolean = false;\r\n offencegroup: any;\r\n subgroup: any;\r\n partnermessagesent: boolean = false;\r\n bcuLocationData: LocationSectionDTO;\r\n section35: Section35DTO;\r\n section60: Section60DTO;\r\n select:boolean=false;\r\n protocolStatus: number;\r\n responseStatus: number;\r\n partnerMessages: MessageTemplateDTO[];\r\n}\r\n\r\nexport class IncidentStatus {\r\n id: Number;\r\n name: string;\r\n}\r\n\r\nexport class LocationSectionDTO {\r\n id: string;\r\n locationid: string = '0';\r\n incidentId: string;\r\n locations: LocationDTO[];\r\n isSectionComplete: boolean;\r\n}\r\n\r\nexport class LocationDTO {\r\n id?:any;\r\n type: any;\r\n name: string;\r\n LocationDTOItem: LocationDTOItem[] = []\r\n locationPoints: any;\r\n description: string;\r\n closed: boolean;\r\n}\r\nexport class LocationDTOMarker {\r\n id?:any;\r\n type: any;\r\n name: string;\r\n markers:Markers[]=[]\r\n}\r\nexport class LocationDTOItem {\r\n id: any;\r\n title: string;\r\n locationPoints: any;\r\n description: string;\r\n mapShow: boolean = false;\r\n selected: boolean = false\r\n reinitialMap: boolean = false;\r\n markers:Markers[]=[]\r\n}\r\n\r\nexport class LocationInfo extends LocationDTOItem {\r\n name : string\r\n }\r\n\r\nexport class LocationType {\r\n id: Number;\r\n name: string;\r\n}\r\nexport class Section35DTO {\r\n id: string;\r\n section35Id: string = '0'\r\n\r\n postcode: string;\r\n cadNumbers: string;\r\n start: any;\r\n starttime:any;\r\n sday: string = \"\";\r\n smonth: string = \"\";\r\n syear: string = \"\";\r\n\r\n end: any;\r\n endtime:any;\r\n eday: string = \"\";\r\n emonth: string = \"\";\r\n eyear: string = \"\";\r\n\r\n locality: any[] = [];\r\n localityPosition: any[] = [];\r\n localitySelect: boolean = false;\r\n localityMapShow: boolean = false;\r\n localityMapReinitial: boolean = false;\r\n\r\n grounds: string;\r\n completedById: string;\r\n authorisingOfficersId: string;\r\n approvedStatus: boolean;\r\n share:boolean;\r\n download:boolean;\r\n sectionComplete: boolean;\r\n incidentId: string;\r\n status:string;\r\n closed:boolean;\r\n}\r\nexport class Section60DTO {\r\n id: string;\r\n section60Id: string = '0'\r\n postcode: string;\r\n cadNumber: string;\r\n start: any;\r\n starttime:any;\r\n sday: string = \"\";\r\n smonth: string = \"\";\r\n syear: string = \"\";\r\n\r\n end: any;\r\n endtime:any;\r\n eday: string = \"\";\r\n emonth: string = \"\";\r\n eyear: string = \"\";\r\n\r\n locality: any[] = [];\r\n localityPosition: any[] = [];\r\n localitySelect: boolean = false;\r\n localityMapShow: boolean = false;\r\n localityMapReinitial: boolean = false;\r\n\r\n grounds: string;\r\n tacticalGrounds: string;\r\n humanRights: string;\r\n completedById: string;\r\n authorisingOfficersId: string;\r\n approvedStatus: boolean;\r\n share:boolean;\r\n download:boolean;\r\n sectionComplete: boolean;\r\n incidentId: string;\r\n uploadedMap: string = \"\";\r\n uploadedMapSelect: boolean = false;\r\n status:string;\r\n closed:boolean;\r\n}\r\nexport class CreateIncidentDTO {\r\n Title: string;\r\n Time: string;\r\n Day: string = \"\";\r\n Month: string = \"\";\r\n Year: string = \"\";\r\n InitialLocation: string = \"\";\r\n Postcode: string = \"\";\r\n LocalAuthority: string = \"\";\r\n CADNumber: string = \"\";\r\n IncidentDetails: any = \"\";\r\n OffenceGroup: string = \"\"\r\n SubGroup: string = \"\"\r\n PeopleDisplaced: boolean = false;\r\n}\r\nexport class Accordion {\r\n StartIncidentTab: boolean = false;\r\n LocationsTab: boolean = false;\r\n Section60RequestTab: boolean = false;\r\n Section35RequestTab: boolean = false;\r\n PartnerMessageTab: boolean = false;\r\n}\r\nexport class CommonTypeForSection {\r\n id: any;\r\n name: string;\r\n occupation: string;\r\n}\r\nexport class CommonType {\r\n id: any;\r\n name: string\r\n}\r\nexport class OrganizationGroup {\r\n id: any;\r\n name: string;\r\n}\r\nexport class Markers {\r\n lat: number;\r\n lng: number;\r\n label?: string;\r\n draggable: boolean;\r\n visible: boolean;\r\n opacity: number;\r\n icon?: string;\r\n ispolygon?:boolean=false;\r\n}\r\n\r\nexport class CreateMessageDTO{\r\n subject:string\r\n partnerMessage:string;\r\n selectAll:boolean=false;\r\n}\r\nexport class MessageDTO {\r\n activeDateTime: string;\r\n from: string;\r\n to: string[];\r\n subject: string;\r\n message: string;\r\n relatedIncidentId: string;\r\n messageGroup: MessageGroupEnum;\r\n deliveryChannel: MessageDeliveryChannelEnum;\r\n groupName: string;\r\n logoUrl: string;\r\n}\r\n\r\nexport class MessageQueueDTO extends MessageDTO {\r\n toDeliveryAddresses: string[];\r\n orgGroupsSelected: number[] = [];\r\n}\r\n\r\nexport class PartnerMessageQueueDTO extends MessageQueueDTO{\r\n options: PartnerMessageOptions = new PartnerMessageOptions();\r\n}\r\n\r\nexport class PartnerMessageOptions{\r\n sendToSLT: boolean;\r\n sendToTeamMembers: boolean;\r\n sendToPartners: boolean;\r\n}\r\n\r\nexport class MessageDeliveryChannel {\r\n id: any;\r\n name: string\r\n}\r\nexport class MessageGroup {\r\n name: string\r\n}\r\nexport class Distribution{\r\n id:any;\r\n name:string;\r\n select:boolean=false;\r\n}\r\nexport class MarkersForIncidentDetails {\r\n lat?: number;\r\n lng?: number;\r\n label?: string;\r\n visible: boolean;\r\n opacity: number;\r\n icon?: string;\r\n ispolygon?:boolean=false;\r\n path:any;\r\n color?:string;\r\n}\r\n\r\nexport class SimpleIncidentDTO {\r\n id: string;\r\n title: string;\r\n location: string;\r\n date: Date;\r\n status: IncidentStatusEnum;\r\n protocolStatus: ResponseStatus;\r\n responseStatus: ResponseStatus;\r\n organisationGroupName: string;\r\n}","export class LATeamMessagingDashboard {\r\n public incidentId: string;\r\n public title: string;\r\n public location: string;\r\n public dateTime: Date;\r\n public messages: LATeamMessage[];\r\n}\r\n\r\nexport class LATeamMessage {\r\n public messageId: string;\r\n public type: string;\r\n public content: string;\r\n public recipientDescription: string;\r\n public subject: string;\r\n public from: string;\r\n public to: ToInformation[];\r\n public sent: Date;\r\n}\r\n\r\nexport class ToInformation\r\n{\r\n to: string\r\n avatar: string\r\n}\r\n\r\n// export class MessageQueueDTO {\r\n// public activeDateTime: Date;\r\n// public from: string;\r\n// public to: string[];\r\n// public subject: string;\r\n// public message: string;\r\n// public relatedIncidentId: string;\r\n// public groupName: string;\r\n// public logoUrl: string;\r\n// public toDeliveryAddresses: string[];\r\n// public messageGroup: MessageGroupEnum;\r\n// public deliveryChannel: MessageDeliveryChannelEnum;\r\n// }\r\n\r\nexport enum MessageGroupEnum {\r\n Heads_Of_Service_Update = 0,\r\n Team = 1,\r\n Stakeholder = 2,\r\n}\r\n\r\nexport enum MessageDeliveryChannelEnum {\r\n None = 0,\r\n\r\n Email = 1,\r\n\r\n SMS = 2,\r\n\r\n //[Display(Name = \"WhatsApp\")]\r\n //WhatsApp = 3,\r\n\r\n //[Display(Name = \"Telegram\")]\r\n //Telegram = 4,\r\n\r\n //[Display(Name = \"Push Notification\")]\r\n //PushNotification = 5\r\n}\r\n","import { AddStakeholderService } from './add-stakeholder.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { StakeholderCategoryList, StakeholderProfileCreateDTO } from 'src/app/Models/Stakeholder/Stakeholder';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { IncidentMessageSendService } from 'src/app/team/incident-message-send/incident-message-send.service';\r\nimport { UserProfileService } from 'src/app/core/services/user-profile.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-add-stakeholder',\r\n templateUrl: './add-stakeholder.component.html',\r\n styleUrls: ['./add-stakeholder.component.css']\r\n})\r\nexport class AddStakeholderComponent implements OnInit {\r\n\r\n stakeholderForm: FormGroup;\r\n isSubmitted: boolean;\r\n isEdit: boolean = false;\r\n stakeHoldersCategory: StakeholderCategoryList[] = [];\r\n isstakeHoldersCategoryLoaded = false;\r\n //options = Object.keys(UserRole).filter(f => {isNaN(Number(f)) && (UserRole.SuperAdmin || UserRole.SuperAdmin)});\r\n\r\n constructor(\r\n public _dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public _data: any,\r\n private _fb: FormBuilder,\r\n private _addStakeholderService : AddStakeholderService,\r\n private _apiErrorService: ApiErrorService,\r\n private _toastr: ToastrService,\r\n private _incidentMessageSendService: IncidentMessageSendService,\r\n private _userProfileService: UserProfileService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n //console.log(this._data)\r\n // this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n // this.navbarService.setPageTitle(this._activatedRoute.snapshot.data.title);\r\n\r\n if (this._data.memberProfile == null){\r\n this.isEdit = false;\r\n }\r\n else{\r\n this.isEdit = true;\r\n }\r\n\r\n this._incidentMessageSendService.GetStakeHolderCategories().subscribe((response => {\r\n if (response && response.data && response.statusCode == 200){\r\n\r\n this.stakeHoldersCategory = response.data;\r\n this.isstakeHoldersCategoryLoaded = true;\r\n\r\n if (this.isEdit){\r\n const caterogy = this.stakeHoldersCategory.find(x => x.id == this._data.memberProfile?.memberCategoryId);\r\n\r\n this.stakeholderForm.patchValue({\r\n category: caterogy ? caterogy.id : null,\r\n });\r\n }\r\n }\r\n }));\r\n \r\n\r\n this.InitForm();\r\n\r\n if (this.isEdit){\r\n this.stakeholderForm.patchValue({\r\n firstName: this._data.memberProfile.firstName,\r\n givenName: this._data.memberProfile.familyName,\r\n //category: isIncluded ? this._data.memberProfile.role : null,\r\n employer: this._data.memberProfile.employer,\r\n phone: this._data.memberProfile.phoneNo,\r\n email: this._data.memberProfile.email,\r\n alertPreferences: this._data.memberProfile.alertPreferences,\r\n jobTitle: this._data.memberProfile.jobTitle\r\n });\r\n }\r\n \r\n }\r\n\r\n InitForm() {\r\n this.stakeholderForm = this._fb.group({\r\n firstName: [null, Validators.required],\r\n givenName: [null, Validators.required],\r\n category: [null, Validators.required],\r\n employer: [null, Validators.required],\r\n phone: [null, [Validators.required, Validators.pattern(/^\\+[1-9]\\d{1,14}$/)]],\r\n email: [null, [Validators.required, Validators.email]],\r\n jobTitle: [null],\r\n });\r\n }\r\n\r\n public get firstName(){\r\n return this.stakeholderForm.controls.firstName as FormControl;\r\n }\r\n\r\n onSubmit(){\r\n this.isSubmitted = true;\r\n if (this.stakeholderForm.invalid){\r\n return;\r\n }\r\n\r\n let stakeholder = new StakeholderProfileCreateDTO();\r\n\r\n stakeholder.groups = { [this._userProfileService.GetAuthenticatedUserGroup()?.organizationGroupId]: true};\r\n\r\n stakeholder.familyName = this.stakeholderForm.controls.givenName.value;\r\n stakeholder.firstName = this.stakeholderForm.controls.firstName.value;\r\n stakeholder.email = this.stakeholderForm.controls.email.value;\r\n stakeholder.phoneNo = this.stakeholderForm.controls.phone.value;\r\n stakeholder.employer = this.stakeholderForm.controls.employer.value;\r\n //stakeholder.MemberType = MemberType.Member;\r\n //stakeholder.roles = +UserRole[this.stakeholderForm.controls.role.value];\r\n //stakeholder.incidentAlert = this.stakeholderForm.controls.policeIIR.value;\r\n //stakeholder.locationAlert = this.stakeholderForm.controls.location.value;\r\n //stakeholder.PartnerMessage = this.stakeholderForm.controls.partnerMessage.value;\r\n //stakeholder.section60Alert = this.stakeholderForm.controls.section60.value;\r\n //stakeholder.section35Alert = this.stakeholderForm.controls.section35.value;\r\n stakeholder.jobTitle = this.stakeholderForm.controls.jobTitle.value;\r\n //stakeholder.incidentLaunchIfNotTeam = this.stakeholderForm.controls.protocolLaunch.value;\r\n //stakeholder.Avatar = this._data?.memberProfile?.avatar;\r\n //stakeholder.DashboardContact = this._data?.memberProfile?.dashboardContact;\r\n stakeholder.memberCategoryId = this.stakeholderForm.controls.category.value;\r\n \r\n if (this.isEdit){\r\n stakeholder.id = this._data.memberProfile.id;\r\n }\r\n //stakeholder.sendJoiningEmail = true;\r\n\r\n if (this.isEdit){\r\n this._addStakeholderService.EditStakeholder(stakeholder).subscribe(response => {\r\n this._addStakeholderService.StakeholderCommand.next([stakeholder, true]);\r\n this._toastr.success(\"Stakeholder is Updated Successfully\");\r\n this._dialogRef.close();\r\n }, \r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n }\r\n else{\r\n this._addStakeholderService.AddStakeholder(stakeholder).subscribe(response => {\r\n this._addStakeholderService.StakeholderCommand.next([stakeholder, false]);\r\n this._toastr.success(\"Stakeholder is Added Successfully\");\r\n this._dialogRef.close();\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n }\r\n\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n
\r\n Add Stakeholder\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"user\"\r\n \r\n
\r\n \r\n \r\n Categories is required\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"user\"\r\n \r\n \r\n
\r\n \r\n \r\n First name is required\r\n
\r\n \r\n
\r\n
\r\n \"user\"\r\n \r\n
\r\n \r\n \r\n Given name is required\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"user-rol\"\r\n \r\n
\r\n \r\n \r\n jobTitle is required\r\n
\r\n
\r\n
\r\n \"user-id\"\r\n \r\n
\r\n \r\n \r\n Employer is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Local_Authority_blue\"\r\n \r\n
\r\n \r\n
\r\n Mobile is required
\r\n\r\n
\r\n Invalid mobile number (formate example: '+1234567890')
\r\n
\r\n
\r\n
\r\n \"blue-mail-icon\"\r\n \r\n
\r\n \r\n \r\n Email is required\r\n \r\n Invalid Email id\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n","import { StakeholderProfileCreateDTO } from './../../Models/Stakeholder/Stakeholder';\r\nimport { Injectable } from '@angular/core';\r\nimport { ApiService } from 'src/app/core/interceptors/api.service';\r\nimport { map } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddStakeholderService {\r\n\r\n StakeholderCommand = new Subject<[StakeholderProfileCreateDTO, boolean]>();\r\n\r\n constructor(\r\n private _apiService: ApiService\r\n ) { }\r\n\r\n AddStakeholder(stakeholder : StakeholderProfileCreateDTO) {\r\n const url = `/Manager/Stakeholders/CreateStakeholder`;\r\n return this._apiService.post(url, stakeholder).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n EditStakeholder(stakeholder : StakeholderProfileCreateDTO) {\r\n const url = `/Manager/Stakeholders/UpdateStakeholder`;\r\n return this._apiService.put(url, stakeholder).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n}\r\n","import { AddStakeholderComponent } from './../add-stakeholder/add-stakeholder.component';\r\nimport { StakeholderMembersService } from './stakeholder-members.service';\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { FormGroup } from \"@angular/forms\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { StakeholderProfileCreateDTO } from 'src/app/Models/Stakeholder/Stakeholder';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { UrlHelperService } from 'src/app/core/services/url-helper.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { AddStakeholderService } from '../add-stakeholder/add-stakeholder.service';\r\n\r\n@Component({\r\n selector: \"app-stakeholder-members\",\r\n templateUrl: \"./stakeholder-members.component.html\",\r\n styleUrls: [\"./stakeholder-members.component.css\"],\r\n})\r\nexport class StakeholderMembersComponent implements OnInit, OnDestroy {\r\n stakeHolderMemberForm: FormGroup;\r\n isSubmitted: boolean;\r\n\r\n incidentId: string;\r\n isTeamMembersLoaded = false;\r\n stakeholders: StakeholderProfileCreateDTO[] = [];\r\n stakeHolderSubjectSubscription: Subscription;\r\n\r\n constructor(\r\n private _activatedRoute: ActivatedRoute,\r\n private _titleService: Title,\r\n private _toastr: ToastrService,\r\n private _stakeholderMembersService: StakeholderMembersService,\r\n private _dialog: MatDialog,\r\n private _apiErrorService: ApiErrorService,\r\n private _addStakeholderService: AddStakeholderService,\r\n public _urlHelperService: UrlHelperService\r\n ) {}\r\n \r\n ngOnInit(): void {\r\n \r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n //this.InitForm();\r\n\r\n this._activatedRoute.params.subscribe((param) => {\r\n this.incidentId = param[\"id\"];\r\n });\r\n\r\n // this.emergencyPlanningService.GetTeamMembersForIncident(this.incidentId).subscribe(response => {\r\n // if (response && response.data && response.statusCode == 200){\r\n // this.isTeamMembersLoaded = true;\r\n // this.teamMemebers = response.data;\r\n // //console.log(response.data);\r\n // }\r\n // }, err => {\r\n // console.log(\"Error:\" + JSON.stringify(err));\r\n // this.toastr.error(err?.error?.message, \"Error\");\r\n // });\r\n\r\n this.stakeHolderSubjectSubscription =\r\n this._addStakeholderService.StakeholderCommand.subscribe((stakeholder) => {\r\n let newStakeholder = new StakeholderProfileCreateDTO();\r\n newStakeholder.employer = stakeholder[0].employer;\r\n newStakeholder.familyName = stakeholder[0].familyName;\r\n newStakeholder.avatar = stakeholder[0].avatar;\r\n newStakeholder.email = stakeholder[0].email;\r\n newStakeholder.firstName = stakeholder[0].firstName;\r\n newStakeholder.id = stakeholder[0].id;\r\n newStakeholder.jobTitle = stakeholder[0].jobTitle;\r\n newStakeholder.organisationName = stakeholder[0].organisationName;\r\n newStakeholder.partnerMessage = stakeholder[0].partnerMessage;\r\n newStakeholder.phoneNo = stakeholder[0].phoneNo;\r\n newStakeholder.memberCategoryId = stakeholder[0].memberCategoryId;\r\n newStakeholder.groups = stakeholder[0].groups;\r\n \r\n if (stakeholder[1]) {\r\n this.stakeholders.map((item, index) => {\r\n if (item.id === newStakeholder.id) {\r\n this.stakeholders.splice(index, 1, newStakeholder);\r\n }\r\n });\r\n } else {\r\n this.stakeholders.push(newStakeholder);\r\n }\r\n });\r\n\r\n\r\n\r\n this._stakeholderMembersService.GetStakeHolderMembers().subscribe(response => {\r\n if (response && response.data && response.statusCode == 200){\r\n this.isTeamMembersLoaded = true;\r\n this.stakeholders = response.data;\r\n }\r\n }, \r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n\r\n }\r\n\r\n stackHolderEditClicked(memberProfile: StakeholderProfileCreateDTO) {\r\n this._dialog.open(AddStakeholderComponent, {\r\n data: { memberProfile: memberProfile },\r\n });\r\n }\r\n\r\n // InitForm() {\r\n // this.stakeHolderMemberForm = this._fb.group({\r\n // firstName: [null, Validators.required],\r\n // givenName: [null, Validators.required],\r\n // role: [null, Validators.required],\r\n // employer: [null, Validators.required],\r\n // phone: [\r\n // null,\r\n // [Validators.required, Validators.pattern(\"[0-9]{3}-[0-9]{3}-[0-9]{4}\")],\r\n // ],\r\n // email: [null, [Validators.required, Validators.email]],\r\n // alertPreferences: [null, Validators.required],\r\n // });\r\n // }\r\n\r\n // onSubmit() {\r\n // this.isSubmitted = true;\r\n // }\r\n\r\n\r\n ngOnDestroy(): void {\r\n if (this.stakeHolderSubjectSubscription){\r\n this.stakeHolderSubjectSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n

Stakeholders

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

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
First nameGiven nameJob titleOrganisationEmailMobile
\r\n
\r\n \"rd-icon\"\r\n {{stakeholder.firstName}}\r\n
\r\n
{{stakeholder.familyName}}{{stakeholder.jobTitle}}{{stakeholder.employer}}\r\n \r\n \"mail-icon-new\"\r\n \r\n \"\"\r\n \r\n \r\n \"phone-icon-new\"\r\n \r\n \"\r\n\r\n \r\n
\r\n \r\n
    \r\n
  • Edit
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from 'src/app/core/interceptors/api.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StakeholderMembersService {\r\n\r\n constructor(private _apiService: ApiService) {}\r\n\r\n // GetStakeHolderDashBoard() {\r\n // const url = \"/la/StakeholderMessaging/Dashboard\";\r\n // return this._apiService.get(url).pipe(\r\n // map((data) => {\r\n // return data;\r\n // })\r\n // );\r\n // }\r\n\r\n GetStakeHolderMembers() {\r\n const url = `/Manager/Stakeholders/ListStakeholdersByGroup`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetStakeHolderMembersWithAdditional() {\r\n const url = `/Manager/Stakeholders/ListStakeholdersByGroupIncludeAdditional`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n\r\n deleteStakeholder(id: string){\r\n const url = `/manager/stakeholders/deletestakeholder/${id}`;\r\n return this._apiService.put(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n}\r\n","import { StakeholderMessageSendComponent } from './../../overlays/stakeholder-message-send/stakeholder-message-send.component';\r\nimport { tap } from 'rxjs/operators';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { LATeamMessagingDashboardDTO } from 'src/app/Models/Stakeholder/LATeamMessagingDashboardDTO';\r\nimport { StakeholderService } from '../stakeholder.service';\r\nimport { LATeamMessage, ToInformation } from 'src/app/Models/la-Team-messages/LATeamMessagingDashboard';\r\nimport { IncidentMessageComponent } from 'src/app/overlays/incident-message/incident-message.component';\r\nimport { ErrorConfirmationBoxComponent } from 'src/app/overlays/error-confirmation-box/error-confirmation-box.component';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { NavbarService } from 'src/app/nav-menu/navbar.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UrlHelperService } from 'src/app/core/services/url-helper.service';\r\n\r\n@Component({\r\n selector: 'app-stakeholder-messaging',\r\n templateUrl: './stakeholder-messaging.component.html',\r\n styleUrls: ['./stakeholder-messaging.component.css']\r\n})\r\nexport class StakeholderMessagingComponent implements OnInit {\r\n\r\n incidentMessagesData : LATeamMessagingDashboardDTO[] = [];\r\n isLoading: boolean = true;\r\n\r\n constructor(\r\n private _stakeholderService: StakeholderService,\r\n private _toastr: ToastrService,\r\n private _dialog: MatDialog,\r\n private _apiErrorService: ApiErrorService,\r\n private _titleService: Title,\r\n private _activatedRoute: ActivatedRoute,\r\n public _urlHelperService: UrlHelperService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n\r\n this.GetStakeHolderDashBoard();\r\n }\r\n\r\n GetStakeHolderDashBoard(){\r\n this._stakeholderService.GetStakeHolderDashBoard().pipe(tap(x => this.isLoading = false)).subscribe(response => {\r\n if (response == null || response == undefined || response.statusCode !== 200 || response.data == null || response.data == undefined){\r\n this._toastr.error('Something went wrong');\r\n }\r\n\r\n this.incidentMessagesData = this._stakeholderService.SortIncidents(response.data);\r\n console.log(response);\r\n }, \r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n\r\n\r\n sendMessageClicked(messageType: string, incidentId: string) {\r\n if (messageType == undefined || incidentId == undefined){\r\n return;\r\n }\r\n let messageData = {messageType : messageType, incidentId : incidentId}\r\n this._dialog.open(StakeholderMessageSendComponent, {\r\n minHeight: '100px',\r\n minWidth : '100px',\r\n data: { messageData: messageData }\r\n }).afterClosed().subscribe(result => {\r\n \r\n if (result == null || result == undefined){\r\n return;\r\n }\r\n \r\n this.isLoading = true;\r\n\r\n const messageQueueDTO = result;\r\n\r\n this._dialog.open(ErrorConfirmationBoxComponent, {\r\n width: 'auto',\r\n panelClass: 'custom-dialog-container',\r\n data: {tital: \"Message sent\", body: \"Your message has been sent\"}\r\n });\r\n\r\n const stakeHolderMessageIncidentIndex = this.incidentMessagesData.findIndex(x => x.incidentId == incidentId);\r\n if (stakeHolderMessageIncidentIndex != -1){\r\n let laTeamMessage = new LATeamMessage();\r\n laTeamMessage.content = messageQueueDTO.message;\r\n laTeamMessage.from = messageQueueDTO.fromInfo;\r\n laTeamMessage.sent = new Date();\r\n laTeamMessage.subject = messageQueueDTO.subject;\r\n laTeamMessage.to = messageQueueDTO.toInfo;\r\n laTeamMessage.type = messageQueueDTO.deliveryChannel?.toString();\r\n this.incidentMessagesData[stakeHolderMessageIncidentIndex].messages.push(laTeamMessage);\r\n }\r\n\r\n this.isLoading = false;\r\n\r\n // this.isLoading = true;\r\n // this.GetStakeHolderDashBoard();\r\n });\r\n }\r\n\r\n IncidentMessageClicked(message: LATeamMessage) {\r\n this._dialog.open(IncidentMessageComponent, {\r\n data: { messageInfo: message }\r\n });\r\n }\r\n\r\n\r\n messageToStringBuilder(stringArray: ToInformation[]) {\r\n if (!stringArray || stringArray.length <= 0){\r\n return;\r\n }\r\n let result: string = \"\";\r\n\r\n for (const to of stringArray) {\r\n if (!to || to.to == undefined){\r\n continue;\r\n }\r\n result += to.to + \", \";\r\n }\r\n\r\n if (result.charAt(result.length - 1) == \",\") {\r\n result = result.slice(0, -1);\r\n }\r\n \r\n return result;\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n\r\n

Stakeholder Messages

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

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n No messsages sent yet.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
MessagesTime
{{message.type === \"1\" ? \"Mail\": \"SMS\"}}   {{message.content | sorterString}}{{message.sent | date: 'HH:mm, MMMM d'}}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from '../core/interceptors/api.service';\r\nimport { LATeamMessagingDashboardDTO } from '../Models/Stakeholder/LATeamMessagingDashboardDTO';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StakeholderService {\r\n\r\n constructor(\r\n private _apiService: ApiService\r\n ) {}\r\n\r\n GetStakeHolderDashBoard() {\r\n const url = \"/la/StakeholderMessaging/Dashboard\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n SortIncidents(incidents: LATeamMessagingDashboardDTO[]){\r\n return incidents.sort((a, b) => {\r\n const aDate = new Date(a.dateTime);\r\n const bDate = new Date(b.dateTime);\r\n return bDate.getTime() - aDate.getTime();\r\n });\r\n }\r\n}\r\n","import { CstProtocolLaunchComponent } from './cst-template/cst-protocol-launch/cst-protocol-launch.component';\r\nimport { CreateCstTemplateComponent } from \"./cst-template/create-cst-template/create-cst-template.component\";\r\nimport { CstTemplateComponent } from \"./cst-template/cst-template/cst-template.component\";\r\nimport { StakeholderMembersComponent } from \"./Stakeholder/stakeholder-members/stakeholder-members.component\";\r\nimport { FinaliseProtocolActionsPostProtocolLaunchComponent } from \"./home-dashboard/finalise-protocol-actions-post-protocol-launch/finalise-protocol-actions-post-protocol-launch.component\";\r\nimport { TeamMembersComponent } from \"./team/team-members/team-members.component\";\r\nimport { TeamMessagingDashboardComponent } from \"./team/team-messaging-dashboard/team-messaging-dashboard.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { DashboardComponent } from \"./dashboard/dashboard.component\";\r\nimport { HomeDashboardComponent } from \"./home-dashboard/home-dashboard/home-dashboard.component\";\r\nimport { CstProtocolComponent } from \"./home-dashboard/cst-protocol/cst-protocol.component\";\r\nimport { IncidentLocationDetailsComponent } from \"./incident-location-details/incident-location-details.component\";\r\nimport { LocalAuthorityActionsResponseComponent } from \"./local-authority-actions-response/local-authority-actions-response.component\";\r\nimport { LocalAuthorityCstProtocolComponent } from \"./local-authority-cst-protocol/local-authority-cst-protocol.component\";\r\nimport { PageNotFoundComponent } from \"./page-not-found/page-not-found.component\";\r\nimport { StakeholderMessagingComponent } from \"./Stakeholder/stakeholder-messaging/stakeholder-messaging.component\";\r\nimport { LANewIncidentComponent } from \"./la-new-incident/la-new-incident.component\";\r\nimport { AuthGuard } from \"./Authentication/auth.guard/AuthGuard\";\r\nimport { LoginReceiverComponent } from './Authentication/login-receiver/login-receiver.component';\r\nimport { BCUAuthGuard } from './bcu/Authentication/BCUAuthGuard';\r\nimport { SignUpComponent } from './Authentication/sign-up/sign-up.component';\r\nimport { EditCstTemplateComponent } from './cst-template/edit-cst-template/edit-cst-template.component';\r\nimport { ImmediateResponseComponent } from './home-dashboard/immediate-response/immediate-response.component';\r\nimport { LAIncidentDetailsComponent } from './la-incident-details/la-incident-details.component';\r\nimport { IncidentsListComponent } from './incidents-list/incidents-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: \"\", component: LoginReceiverComponent },\r\n // { path: \"account/login\", redirectTo: \"home-dashboard\", pathMatch: \"full\" },\r\n { path: \"account/login\", component: LoginReceiverComponent },\r\n { path: \"account/logout\", redirectTo: \"home-dashboard\", pathMatch: \"full\" },\r\n { path: 'BCU', loadChildren: () => import('./bcu/bcu.module').then(m => m.BcuModule), canActivate: [BCUAuthGuard]},\r\n//\r\n // {\r\n // path: \"sign-in\",\r\n // component: SignInComponent,\r\n // data: {\r\n // title: \"Sign in\",\r\n // },\r\n // },\r\n {\r\n path: \"sign-up/:id\",\r\n component: SignUpComponent,\r\n data: {\r\n title: \"Sign Up\",\r\n },\r\n },\r\n {\r\n path: \"la-dashboard\",\r\n component: DashboardComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Local Authority Dashboard\",\r\n },\r\n },\r\n {\r\n path: \"home-dashboard\",\r\n component: HomeDashboardComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Home-dashboard\",\r\n },\r\n },\r\n {\r\n path: \"incident-location-details/:id\",\r\n component: IncidentLocationDetailsComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Incident Location Details\",\r\n },\r\n }, \r\n {\r\n path: \"local-authority-cst-protocol\",\r\n component: LocalAuthorityCstProtocolComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Local Authority CST Protocol\",\r\n },\r\n },\r\n {\r\n path: \"stakeholder-messaging\",\r\n component: StakeholderMessagingComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Stakeholder Messaging\",\r\n },\r\n },\r\n {\r\n path: \"local-authority-actions-response\",\r\n component: LocalAuthorityActionsResponseComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Local Authority Actions Response\",\r\n },\r\n },\r\n {\r\n path: \"immediate-response/:id\",\r\n component: ImmediateResponseComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Immediate Response Actions\",\r\n },\r\n },\r\n {\r\n path: \"cst-protocol/:id?\",\r\n component: CstProtocolComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Protocol-actions-post-protocol-launch\",\r\n },\r\n },\r\n {\r\n path: \"cst-protocol\",\r\n component: CstProtocolComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"CST Protocol\",\r\n },\r\n },\r\n {\r\n path: \"finalise-protocol-actions-post-protocol-launch\",\r\n component: FinaliseProtocolActionsPostProtocolLaunchComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Finalise-protocol-actions-post-protocol-launch\",\r\n },\r\n },\r\n {\r\n path: \"incident-detail/:id\",\r\n component: LAIncidentDetailsComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Incident Detail\",\r\n },\r\n },\r\n {\r\n path: \"incidents/list\",\r\n component: IncidentsListComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Incident Detail\",\r\n },\r\n },\r\n {\r\n path: \"new-incident\",\r\n component: LANewIncidentComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"New Incident\",\r\n },\r\n },\r\n {\r\n path: \"team-messaging-dashboard\",\r\n component: TeamMessagingDashboardComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Team Messaging Dashboard\",\r\n },\r\n },\r\n {\r\n path: \"team-members\",\r\n component: TeamMembersComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Team Members\",\r\n },\r\n },\r\n {\r\n path: \"stakeholder-messaging\",\r\n component: StakeholderMessagingComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Stakeholder Messaging\",\r\n },\r\n },\r\n {\r\n path: \"stakeholder-members\",\r\n component: StakeholderMembersComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Stakeholder Members\",\r\n },\r\n },\r\n {\r\n path: \"cst-template\",\r\n component: CstTemplateComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"CST Template\",\r\n },\r\n },\r\n {\r\n path: \"cst-protocol-launch/:id\",\r\n component: CstProtocolLaunchComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"CST Protocol Template\",\r\n },\r\n },\r\n {\r\n path: \"cst-template-create\",\r\n component: CreateCstTemplateComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Create CST Template\",\r\n },\r\n },\r\n {\r\n path: \"cst-template-edit\",\r\n component: EditCstTemplateComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Edit CST Template\",\r\n },\r\n },\r\n {\r\n path: \"cst-template-edit/:id\",\r\n component: EditCstTemplateComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n title: \"Edit CST Template\",\r\n },\r\n },\r\n { path: \"404\", component: PageNotFoundComponent },\r\n { path: \"**\", redirectTo: \"/404\" }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, {\r\n scrollPositionRestoration: \"enabled\",\r\n anchorScrolling: \"enabled\",\r\n scrollOffset: [0, 25], // cool option, or ideal option when you have a fixed header on top.\r\n }),\r\n ],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import { Component } from \"@angular/core\";\r\nimport { AppStartService } from './core/services/app-start.service';\r\n\r\n@Component({\r\n selector: \"app-root\",\r\n templateUrl: \"./app.component.html\",\r\n})\r\nexport class AppComponent {\r\n\r\n constructor(\r\n public _appStartService: AppStartService\r\n ) { \r\n (async () => this._appStartService.StartApp())();\r\n }\r\n}\r\n","\r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
","import { CognitoService } from 'src/app/Authentication/cognito.service';\r\nimport { ErrorInterceptor } from './ErrorInterceptors/ErrorInterceptor';\r\nimport { JwtInterceptor } from './Authentication/AuthInterceptors/JwtInterceptor';\r\nimport { LoadScriptService } from './home-dashboard/load-script.service';\r\nimport { HomeNavMenuService } from './home-dashboard/home-nav-menu/home-nav-menu.service';\r\n\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { NavMenuComponent } from './nav-menu/nav-menu.component';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\nimport { CoreModule } from './core/core.module';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { AgmCoreModule } from '@agm/core';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { LocalAuthorityCstProtocolComponent } from './local-authority-cst-protocol/local-authority-cst-protocol.component';\r\nimport { StakeholderMessagingComponent } from './Stakeholder/stakeholder-messaging/stakeholder-messaging.component';\r\nimport { LocalAuthorityActionsResponseComponent } from './local-authority-actions-response/local-authority-actions-response.component';\r\nimport { PageNotFoundComponent } from './page-not-found/page-not-found.component';\r\nimport { HomeDashboardComponent } from './home-dashboard/home-dashboard/home-dashboard.component';\r\n\r\nimport { HomeNavMenuComponent } from './home-dashboard/home-nav-menu/home-nav-menu.component';\r\nimport { CstProtocolComponent } from './home-dashboard/cst-protocol/cst-protocol.component';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { LAIncidentDetailsComponent } from './la-incident-details/la-incident-details.component';\r\nimport { LANewIncidentComponent } from './la-new-incident/la-new-incident.component';\r\nimport { TeamMessagingDashboardComponent } from './team/team-messaging-dashboard/team-messaging-dashboard.component';\r\nimport { TeamMembersComponent } from './team/team-members/team-members.component';\r\nimport { FinaliseProtocolActionsPostProtocolLaunchComponent } from './home-dashboard/finalise-protocol-actions-post-protocol-launch/finalise-protocol-actions-post-protocol-launch.component';\r\nimport { StakeholderMembersComponent } from './Stakeholder/stakeholder-members/stakeholder-members.component';\r\nimport { CstTemplateComponent } from './cst-template/cst-template/cst-template.component';\r\nimport { CreateCstTemplateComponent } from './cst-template/create-cst-template/create-cst-template.component';\r\nimport { NotesOverlayComponent } from './overlays/notes-overlay/notes-overlay.component';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { IncidentMessageSendComponent } from './team/incident-message-send/incident-message-send.component';\r\nimport { IncidentMessageComponent } from './overlays/incident-message/incident-message.component';\r\nimport { IncidentMessageApproveComponent } from './overlays/incident-message-approve/incident-message-approve.component';\r\nimport { ConfirmationDialogComponent } from './overlays/confirmation-dialog/confirmation-dialog.component';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { ConfirmationModalComponent } from './overlays/confirmation-modal/confirmation-modal.component';\r\nimport { SignUpComponent } from './Authentication/sign-up/sign-up.component';\r\n\r\nimport { AuthGuard } from './Authentication/auth.guard/AuthGuard';\r\nimport { AddTeamMemberComponent } from './team/add-team-member/add-team-member.component';\r\nimport { AddStakeholderComponent } from './Stakeholder/add-stakeholder/add-stakeholder.component';\r\nimport { DrawMapComponent } from './overlays/draw-map/draw-map.component';\r\nimport { CstProtocolLaunchComponent } from './cst-template/cst-protocol-launch/cst-protocol-launch.component';\r\nimport { AssignMemberPopupComponent } from './overlays/assign-member-popup/assign-member-popup.component';\r\nimport { StakeholderMessageSendComponent } from './overlays/stakeholder-message-send/stakeholder-message-send.component';\r\nimport { ErrorConfirmationBoxComponent } from './overlays/error-confirmation-box/error-confirmation-box.component';\r\nimport { LoginReceiverComponent } from './Authentication/login-receiver/login-receiver.component';\r\nimport { IncidentLocationDetailsComponent } from './incident-location-details/incident-location-details.component';\r\nimport { NavbarService } from './nav-menu/navbar.service';\r\nimport { BCUAuthGuard } from './bcu/Authentication/BCUAuthGuard';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { EditCstTemplateComponent } from './cst-template/edit-cst-template/edit-cst-template.component';\r\nimport { ImmediateResponseComponent } from './home-dashboard/immediate-response/immediate-response.component';\r\nimport { IncidentDrawMapComponent } from './overlays/incident-draw-map/incident-draw-map.component';\r\nimport { CstRoutingStateService } from './cst-template/cst-routing-state.service';\r\nimport { IncidentsListComponent } from './incidents-list/incidents-list.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NavMenuComponent,\r\n DashboardComponent,\r\n FooterComponent,\r\n IncidentLocationDetailsComponent,\r\n LocalAuthorityCstProtocolComponent,\r\n StakeholderMessagingComponent,\r\n LocalAuthorityActionsResponseComponent,\r\n PageNotFoundComponent,\r\n HomeDashboardComponent,\r\n CstProtocolComponent,\r\n HomeNavMenuComponent,\r\n LAIncidentDetailsComponent,\r\n LANewIncidentComponent,\r\n TeamMessagingDashboardComponent,\r\n TeamMembersComponent,\r\n FinaliseProtocolActionsPostProtocolLaunchComponent,\r\n StakeholderMembersComponent,\r\n CstTemplateComponent,\r\n CreateCstTemplateComponent,\r\n NotesOverlayComponent,\r\n IncidentMessageSendComponent,\r\n IncidentMessageComponent,\r\n IncidentMessageApproveComponent,\r\n ConfirmationDialogComponent,\r\n ConfirmationModalComponent,\r\n SignUpComponent,\r\n AddTeamMemberComponent,\r\n AddStakeholderComponent,\r\n DrawMapComponent,\r\n CstProtocolLaunchComponent,\r\n AssignMemberPopupComponent,\r\n StakeholderMessageSendComponent,\r\n ErrorConfirmationBoxComponent,\r\n LoginReceiverComponent,\r\n EditCstTemplateComponent,\r\n ImmediateResponseComponent,\r\n IncidentDrawMapComponent,\r\n IncidentsListComponent\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n HttpClientModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n CoreModule,\r\n AgmCoreModule.forRoot({\r\n // please get your own API key here:\r\n // https://developers.google.com/maps/documentation/javascript/get-api-key?hl=en\r\n // apiKey: 'AIzaSyCaSBzQsVtkOdQtx5C0p9iUauedMIskIBg',\r\n // apiKey: 'AIzaSyA9qQJ3tHUQV6C-V3t2K97emshVE389yzg',\r\n apiKey: 'AIzaSyDDo9lsCFSrjaax812Ze81V-uhXuxJs310',\r\n libraries: ['places', 'drawing', 'geometry']\r\n }),\r\n BrowserAnimationsModule,\r\n ToastrModule.forRoot(),\r\n MatDialogModule,\r\n MatProgressSpinnerModule,\r\n SharedModule,\r\n AppRoutingModule,\r\n ],\r\n providers: [\r\n HomeNavMenuService, \r\n LoadScriptService, \r\n CognitoService,\r\n NavbarService,\r\n AuthGuard,\r\n BCUAuthGuard,\r\n CstRoutingStateService,\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true }\r\n ],\r\n bootstrap: [AppComponent],\r\n entryComponents: [\r\n NotesOverlayComponent\r\n ]\r\n})\r\nexport class AppModule { }\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from \"@angular/router\";\r\nimport { CognitoService } from \"src/app/Authentication/cognito.service\";\r\nimport { AppStartService } from \"src/app/core/services/app-start.service\";\r\n\r\n/**\r\n * Prevent access to routes if access-token is not present.\r\n * \r\n * @export\r\n * @class AuthGuard\r\n * @implements {CanActivate}\r\n */\r\n@Injectable()\r\nexport class BCUAuthGuard implements CanActivate {\r\n constructor(\r\n private _cognitoService: CognitoService,\r\n private _appStartService: AppStartService\r\n ) { }\r\n\r\n async canActivate(\r\n next: ActivatedRouteSnapshot, \r\n state: RouterStateSnapshot): Promise {\r\n\r\n if (!this._appStartService.IsCognitoUserLoaded){\r\n return await this._cognitoService.IsAuthenticatedForBCU();\r\n }\r\n return await this._cognitoService.IsBCUUser(this._appStartService.currentCognitoUser.attributes['custom:roles']);\r\n // return await this._cognitoService.IsAuthenticatedForBCU();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { IncidentDTO, Markers, MessageDTO, OrganizationGroup, Section35DTO, Section60DTO } from 'src/app/Models/incident.modal';\r\nimport { Location } from '@angular/common';\r\nimport { IncidentFormLocationEntity } from 'src/app/Models/IncidentFormLocationEntity';\r\nimport { ApiService } from 'src/app/core/interceptors/api.service';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IirService {\r\n\r\n constructor(\r\n private _location: Location,\r\n private _apiService: ApiService\r\n ) { }\r\n\r\n GetOrganizationGroupList() {\r\n let organizationGroup: OrganizationGroup[] = [];\r\n organizationGroup.push(\r\n { 'id': 'Homicide / suspicious death', 'name': 'Homicide / suspicious death' },\r\n { 'id': 'Attempted murder', 'name': 'Attempted murder' },\r\n { 'id': 'Violent disorder', 'name': 'Violent disorder' },\r\n { 'id': 'Fatal Collisions', 'name': 'Fatal Collisions' },\r\n { 'id': 'Serious sexual assault in a public space', 'name': 'Serious sexual assault in a public space' },\r\n { 'id': 'Hate crime-related violence or criminal damage', 'name': 'Hate crime-related violence or criminal damage' },\r\n { 'id': 'Other', 'name': 'Other' },\r\n { 'id': 'Critical and Major incidents', 'name': 'Critical and Major incidents' },\r\n { 'id': 'Unknown', 'name': 'Unknown' }\r\n )\r\n return organizationGroup;\r\n }\r\n\r\n GetSubOrganizationGroupList() {\r\n let subOrganizationGroup: OrganizationGroup[] = [];\r\n subOrganizationGroup.push(\r\n { id : 'Gun crime', name: 'Gun crime' }, \r\n { id : 'Knife crime', name: 'Knife crime' }, \r\n { id : 'Acid', name: 'Acid' }, \r\n { id : 'Other', name: 'Other' }, \r\n { id : 'Unknown', name: 'Unknown' }, \r\n { id : 'Not applicable', name: 'Not applicable' }\r\n )\r\n return subOrganizationGroup;\r\n }\r\n\r\n ReplaceRoute(incidentId: string, tab: string){\r\n this._location.replaceState(`/BCU/initial-incident-form/${incidentId}/${tab}`);\r\n }\r\n \r\n InstanciateMainRedMarker(lat: number, lng: number, isVisible: boolean): Markers{\r\n const marker = new Markers();\r\n marker.lat = lat;\r\n marker.lng = lng;\r\n marker.label = \"\";\r\n marker.draggable = true;\r\n marker.visible = isVisible;\r\n marker.opacity = 0.7;\r\n marker.icon = \"../../assets/images/red-marker.png\";\r\n return marker;\r\n }\r\n\r\n InstanciateIncidentFormLocationEntity(response: any,locationPoints: Array<{lat: number, lng: number}>, isVisible: boolean, isDragable: boolean, lat: number, lng: number, icon: string){\r\n let entity = new IncidentFormLocationEntity();\r\n entity.description = response.description\r\n entity.id = response.id\r\n entity.name = response.name;\r\n entity.pathList = locationPoints;\r\n entity.visible = isVisible;\r\n entity.draggable = isDragable;\r\n entity.lat = lat;\r\n entity.lng = lng;\r\n entity.opacity = 1;\r\n entity.label = '';\r\n entity.closed = response.closed ? response.closed : false;\r\n entity.icon = icon;\r\n entity.modifyDate = response.modifyDate\r\n return entity;\r\n }\r\n\r\n CreatePointArrayForPolygon(path: any){\r\n let points : { lat: number; lng: number }[] = [];\r\n const len = path.getLength();\r\n for (let i = 0; i < len; i++) {\r\n points.push(path.getAt(i).toJSON());\r\n }\r\n return points;\r\n }\r\n\r\n\r\n\r\n\r\n GetIncidentDetails(incidentid: any) {\r\n const url = \"/BCU/GetBCUIncident/\" + incidentid;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n console.log(data)\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n SaveUpdateIncident(incident: IncidentDTO) {\r\n if (incident.incidentid == '0') {\r\n const url = \"/BCU/Incident/Save\";\r\n return this._apiService.post(url, incident).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n } else {\r\n const url = \"/BCU/Incident/Update\";\r\n return this._apiService.put(url, incident).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n }\r\n\r\n SaveUpdateSection60Request(section60: Section60DTO) {\r\n const url = \"/BCU/Section60/Save\";\r\n return this._apiService.post(url, section60).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n\r\n }\r\n\r\n GetSection60RequestDetails(section60Id: any) {\r\n const url = \"/BCU/Section60/\" + section60Id;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n FileUploadSection60(file) {\r\n const url = \"/BCU/UploadMap\";\r\n const formData: FormData = new FormData();\r\n formData.append('file', file);\r\n return this._apiService.post(url, formData).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n //#endregion\r\n //#region Section 35 Request\r\n SaveUpdateSection35Request(section35: Section35DTO) {\r\n\r\n const url = \"/BCU/Section35/Save\";\r\n return this._apiService.post(url, section35).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n\r\n }\r\n\r\n GetSection35RequestDetails(section35Id: any) {\r\n const url = \"/BCU/Section35/\" + section35Id;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n \r\n //#region Partner Message\r\n SendPartnerMessage(message: MessageDTO) {\r\n const url = \"/BCU/SendPartnerMessage\";\r\n return this._apiService.put(url, message).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n //#endregion\r\n\r\n}\r\n\r\nexport enum IIRAccordianNames{\r\n StartIncidentTab = \"StartIncidentTab\",\r\n LocationsTab = \"LocationsTab\",\r\n Section60RequestTab = \"Section60RequestTab\",\r\n Section35RequestTab = \"Section35RequestTab\",\r\n PartnerMessageTab = \"PartnerMessageTab\",\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from \"@angular/common/http\";\r\nimport { HttpTokenInterceptor } from \"./interceptors/http.token.interceptor\";\r\n\r\nimport { ApiService } from \"./interceptors/api.service\";\r\nimport { SorterStringPipe } from './pipes/sorter-string.pipe';\r\n\r\n@NgModule({\r\n imports: [CommonModule, HttpClientModule],\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpTokenInterceptor, multi: true },\r\n ApiService\r\n ],\r\n declarations: [ SorterStringPipe],\r\n exports: [ SorterStringPipe],\r\n})\r\nexport class CoreModule { }\r\n","import { Injectable } from \"@angular/core\";\r\nimport { environment } from \"../../../environments/environment\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nimport { throwError } from \"rxjs\";\r\nimport { catchError } from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class ApiService {\r\n constructor(\r\n private _http: HttpClient\r\n ) {}\r\n private formatErrors(error: any) {\r\n return throwError(error.error);\r\n }\r\n\r\n get(path: string, params: HttpParams = new HttpParams()): Observable {\r\n return this._http\r\n .get(`${environment.api_url}${path}`, { params })\r\n .pipe(catchError(this.formatErrors));\r\n }\r\n\r\n put(path: string, body: Object = {}): Observable {\r\n return this._http\r\n .put(`${environment.api_url}${path}`, JSON.stringify(body))\r\n .pipe(catchError(this.formatErrors));\r\n }\r\n\r\n post(path: string, body: Object = {}): Observable {\r\n return this._http\r\n .post(`${environment.api_url}${path}`, body)\r\n .pipe(catchError(this.formatErrors));\r\n }\r\n\r\n delete(path): Observable {\r\n return this._http\r\n .delete(`${environment.api_url}${path}`)\r\n .pipe(catchError(this.formatErrors));\r\n }\r\n getFile(path: string, response: any): Observable {\r\n return this._http\r\n .get(`${environment.api_url}${path}`, response)\r\n .pipe(catchError(this.formatErrors));\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHandler,\r\n HttpRequest,\r\n} from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class HttpTokenInterceptor implements HttpInterceptor {\r\n constructor() { }\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n let headersConfig = {};\r\n let url = req.url.split(\"/\");\r\n if (url[url.length - 1].includes(\"UploadMap\")) {\r\n headersConfig = {};\r\n } else {\r\n headersConfig = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n };\r\n }\r\n const request = req.clone({ setHeaders: headersConfig });\r\n return next.handle(request);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'sorterString'\r\n})\r\nexport class SorterStringPipe implements PipeTransform {\r\n\r\n transform(value: string): unknown {\r\n if (this.isNullOrEmpty(value)){\r\n return value;\r\n }\r\n const limit = 60;\r\n const trail = '...';\r\n\r\n return value.length > limit ? value.substring(0, limit) + trail : value;\r\n }\r\n\r\n isNullOrEmpty(str) {\r\n return str == null || str.trim() === '';\r\n }\r\n\r\n}\r\n","import { MatDialog } from '@angular/material/dialog';\r\nimport { Injectable } from '@angular/core';\r\nimport { ErrorConfirmationBoxComponent } from 'src/app/overlays/error-confirmation-box/error-confirmation-box.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiErrorService {\r\n\r\n constructor(\r\n private _dialofRef: MatDialog\r\n ) { }\r\n\r\n ShowErrorModal(tital: string = \"Error\", body: string = \"Something went wrong!\"){\r\n try{\r\n this._dialofRef.open(ErrorConfirmationBoxComponent, {\r\n width: 'auto',\r\n panelClass: 'custom-dialog-container',\r\n data: {tital: tital, body: body}\r\n });\r\n }\r\n catch (e){\r\n console.error(e);\r\n }\r\n }\r\n\r\n ShowError(error){\r\n try{\r\n if (error && error.error && error.error.message){\r\n console.log(\"Error:\" + JSON.stringify(error));\r\n this.ShowErrorModal(\"Error\", error.error.message);\r\n //this._toastr.error(error.error.message, \"Error\");\r\n }\r\n else{\r\n this.ShowErrorModal();\r\n //this._toastr.error(\"Something went wrong!\");\r\n }\r\n }\r\n catch (e){\r\n console.error(e);\r\n }\r\n }\r\n\r\n \r\n // IsModalInDOM(componentType: Type): boolean {\r\n // const viewContainer = this.viewContainerRef.injector.get(ViewContainerRef);\r\n // const componentElements = viewContainer.element.nativeElement.getElementsByClassName(componentType.name);\r\n // return componentElements.length > 0;\r\n // }\r\n}\r\n","import { NavigationEnd, Router } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { UrlHelperService } from './url-helper.service';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { CognitoService } from 'src/app/Authentication/cognito.service';\r\nimport { UserProfileService } from './user-profile.service';\r\nimport { MemberProfileDetailsDTO } from 'src/app/Models/Messages/MessageTemplateDTO';\r\nimport { StringHelperService } from './string-helper.service';\r\nimport { ApiErrorService } from './api-error.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppStartService {\r\n\r\n currentUrlChanged = new BehaviorSubject(this.currentUrl);\r\n currentUserChanged = new Subject();\r\n \r\n //#region Getter and Setters\r\n private _currentUrl: string;\r\n\r\n get currentUrl(): string {\r\n return this._currentUrl;\r\n }\r\n\r\n set currentUrl(value: string) {\r\n this._currentUrl = value;\r\n this.currentUrlChanged.next(value);\r\n }\r\n\r\n private _currentUser: MemberProfileDetailsDTO;\r\n\r\n get currentUser(): MemberProfileDetailsDTO {\r\n return this._currentUser;\r\n }\r\n\r\n set currentUser(value: MemberProfileDetailsDTO) {\r\n this._currentUser = value;\r\n this.currentUserChanged.next(value);\r\n }\r\n //#endregion\r\n\r\n currentCognitoUser: any;\r\n\r\n shouldNavShow = true;\r\n shouldFooterShow = true;\r\n IsUserLoaded = false;\r\n IsCognitoUserLoaded = false;\r\n isPreloaderShow = true;\r\n isErrorWhileLoadingUser = false;\r\n\r\n constructor(\r\n private _router: Router,\r\n private _urlHelperService: UrlHelperService,\r\n private _cognitoService: CognitoService,\r\n private _userProfileService: UserProfileService,\r\n private _stringHelperService: StringHelperService,\r\n private _apiErrorService: ApiErrorService,\r\n ) { }\r\n\r\n\r\n\r\n async StartApp(){\r\n await this.ListenRoute();\r\n }\r\n\r\n async ListenRoute(){\r\n this._router.events.subscribe(async (e) => {\r\n if (e instanceof NavigationEnd) {\r\n this.currentUrl = e.url;\r\n this.ShouldNavShow();\r\n this.ShouldFooterShow();\r\n if (this.ShouldLoadUser()){\r\n await this.LoadUser();\r\n }\r\n else{\r\n this.isPreloaderShow = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n ShouldLoadUser(){\r\n return !this._urlHelperService.IsSignupUrl(this.currentUrl) && (!this.IsCognitoUserLoaded || !this.IsUserLoaded);\r\n }\r\n\r\n async LoadUser(){\r\n // if (this.shouldNavShow && this.shouldFooterShow){\r\n this._cognitoService.GetUser()\r\n .then(async (user) => {\r\n if (!user || this._stringHelperService.IsNullOrWhiteSpace(user.username)){\r\n await this._cognitoService.SignOut();\r\n }\r\n\r\n const roleId = user.attributes['custom:roles'];\r\n if (!roleId){\r\n await this._cognitoService.SignOut();\r\n }\r\n this.IsCognitoUserLoaded = true;\r\n this.currentCognitoUser = user;\r\n\r\n this._userProfileService.GetCurrentUserProfileDetails().subscribe((response) => {\r\n if (response && response.data && response.statusCode == 200){\r\n this.currentUser = response.data as MemberProfileDetailsDTO;\r\n this._userProfileService.SetAuthenticatedUserGroups(this._userProfileService.CreateAuthenticatedUserGroupsInstance(this.currentUser));\r\n this._userProfileService.UserLoadedSubject.next(true);\r\n this.IsUserLoaded = true;\r\n this.isPreloaderShow = false;\r\n }\r\n }, \r\n (error) => {\r\n this.isErrorWhileLoadingUser = true;\r\n this._apiErrorService.ShowError(error);\r\n setTimeout(async () => {\r\n await this._cognitoService.SignOut();\r\n }, 3000);\r\n })\r\n })\r\n .catch(async (err) => {\r\n await this._cognitoService.SignOut();\r\n });\r\n }\r\n\r\n \r\n\r\n ShouldNavShow(){\r\n if (this._urlHelperService.IsSignupUrl(this.currentUrl) || this._urlHelperService.IsChangePasswordUrl(this.currentUrl)){\r\n this.shouldNavShow = false;\r\n }\r\n else{\r\n this.shouldNavShow = true;\r\n }\r\n }\r\n\r\n ShouldFooterShow(){\r\n if (this._urlHelperService.IsSignupUrl(this.currentUrl) || this._urlHelperService.IsChangePasswordUrl(this.currentUrl)){\r\n this.shouldFooterShow = false;\r\n }\r\n else{\r\n this.shouldFooterShow = true;\r\n }\r\n }\r\n\r\n async NavigateToDashboard(){\r\n try{\r\n let roleId = '';\r\n if (!this.IsCognitoUserLoaded){\r\n const user = await this._cognitoService.GetUser();\r\n\r\n if (!user || this._stringHelperService.IsNullOrWhiteSpace(user.username)){\r\n await this._cognitoService.SignOut();\r\n }\r\n\r\n roleId = user.attributes['custom:roles']\r\n if (this._stringHelperService.IsNullOrWhiteSpace(roleId)){\r\n await this._cognitoService.SignOut();\r\n }\r\n }\r\n else{\r\n roleId = this.currentCognitoUser.attributes['custom:roles'];\r\n if (this._stringHelperService.IsNullOrWhiteSpace(roleId)){\r\n await this._cognitoService.SignOut();\r\n }\r\n }\r\n\r\n if (this._cognitoService.IsLaUser(roleId)){\r\n this._router.navigate([this._urlHelperService.LaUserDashboardUrl()]);\r\n }\r\n \r\n if (this._cognitoService.IsBCUUser(roleId)){\r\n this._router.navigate([this._urlHelperService.BcuUserDashboardUrl()]);\r\n }\r\n }\r\n catch(err){\r\n console.error(err);\r\n await this._cognitoService.SignOut();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Months } from 'src/app/Enum/Months.enum';\r\nimport { CommonType } from 'src/app/Models/incident.modal';\r\nimport { StringHelperService } from './string-helper.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DateService {\r\n\r\n constructor(\r\n private _stringHelperService: StringHelperService\r\n ) { }\r\n\r\n GetDateTimeForIncident(date: Date) : {time: string, day: string, month: string, year: string}{\r\n let hours = date.getHours();\r\n let time: string;\r\n let day: string;\r\n let month: string;\r\n let year: string;\r\n let incidentDateMintes = date.getMinutes().toString();\r\n if (incidentDateMintes.length == 1) {\r\n incidentDateMintes = \"0\" + incidentDateMintes;\r\n }\r\n if (hours < 10) {\r\n if (date.getHours() > 0) {\r\n time =\r\n \"0\" +\r\n Number(Number(date.getHours())) +\r\n \":\" +\r\n incidentDateMintes;\r\n } else {\r\n time =\r\n \"0\" + Number(date.getHours()) + \":\" + incidentDateMintes;\r\n }\r\n } else {\r\n time =\r\n Number(Number(date.getHours())) + \":\" + incidentDateMintes;\r\n }\r\n\r\n day = date.getDate().toString();\r\n month = Number(date.getMonth() + 1).toString();\r\n year = date.getFullYear().toString();\r\n\r\n return {time: time, day: day, month: month, year: year};\r\n }\r\n\r\n CreateDateFromDayMonthYear(day: string, month: string, year: string): Date{\r\n let date = new Date();\r\n return this.SetDate(date, day, month, year);\r\n }\r\n\r\n\r\n CreateDateTimeInstance(time: string, day: string, month: string, year: string) : Date{\r\n let date = new Date();\r\n let times = time.split(\":\");\r\n date.setHours(Number(Number(times[0])));\r\n date.setMinutes(Number(times[1]));\r\n return this.SetDate(date, day, month, year);\r\n }\r\n\r\n SetDate(date: Date, day: string, month: string, year: string): Date{\r\n date.setDate(Number(day));\r\n date.setMonth(Number(month) - 1);\r\n date.setFullYear(Number(year));\r\n return date;\r\n }\r\n\r\n\r\n GetDatesInMonth(month: number, year: number): CommonType[] {\r\n\r\n const dates: { id: number, name: string }[] = [];\r\n const date = new Date(year, month, 0);\r\n const isLeap = this.IsLeapYear(year);\r\n\r\n const lastDay = (isLeap && date.getMonth() == 1) ? 29 : date.getDate();\r\n\r\n for (let day = 1; day <= lastDay; day++) {\r\n dates.push({ id: day, name: day.toString() });\r\n }\r\n\r\n return dates;\r\n }\r\n\r\n IsLeapYear(year: number): boolean {\r\n return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);\r\n }\r\n\r\n GetMonths(): CommonType[] {\r\n const totalMonths = 12;\r\n let months: CommonType[] = [];\r\n for (let index = 1; index <= totalMonths; index++) {\r\n months.push({ 'id': index, 'name': this.GetMonthNameFromMonthIndex(index) });\r\n }\r\n return months;\r\n }\r\n\r\n GetYears(): CommonType[] {\r\n const currentYear = new Date().getFullYear();\r\n const startYear = currentYear - 15;\r\n const endYear = currentYear + 20;\r\n const years: CommonType[] = [];\r\n \r\n for (let year = startYear; year <= endYear; year++) {\r\n years.push({ 'id': year, 'name': year.toString() });\r\n }\r\n \r\n return years;\r\n }\r\n\r\n GetMonthNameFromMonthIndex(monthIndex: number){\r\n const monthNames = Object.keys(Months).filter((key) => isNaN(Number(key))) as Array;\r\n \r\n const month = monthNames.find((month) => Months[month] === monthIndex);\r\n\r\n if (month) {\r\n return month;\r\n }\r\n\r\n return '';\r\n }\r\n\r\n IsValidDate(day: number, month: number, year: number){\r\n if (this._stringHelperService.IsAnyNullOrWhiteSpace(day.toString(), month.toString(), year.toString())){\r\n return false;\r\n }\r\n\r\n // Adjust month value by subtracting 1 to match zero-based index\r\n const adjustedMonth = month - 1;\r\n\r\n // Create a new Date object with the given day, month, and year\r\n const date = new Date(year, adjustedMonth, day);\r\n\r\n // Check if the date's month and year match the provided values\r\n // This is necessary to handle cases like 31/04/2023, which will be automatically adjusted to 01/05/2023\r\n if (date.getMonth() !== adjustedMonth || date.getFullYear() !== year) {\r\n return false;\r\n }\r\n\r\n // Check if the day is within the valid range for the given month and year\r\n return day === date.getDate();\r\n }\r\n\r\n\r\n\r\n ConvertDateToSend(date: Date) {\r\n const year = date.getFullYear();\r\n const month = date.getMonth() + 1;\r\n const day = date.getDate();\r\n const hours = date.getHours();\r\n const minutes = date.getMinutes();\r\n const seconds = date.getSeconds();\r\n\r\n // Construct the string representation in the format 'YYYY-MM-DDTHH:mm:ss'\r\n return `${year}-${month.toString().padStart(2, '0')}-${day.toString().padStart(2, '0')}T${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;\r\n\r\n }\r\n\r\n RetrieveDate(date: string) {\r\n const dateParts = date.split(\"T\")[0].split(\"-\");\r\n const timeParts = date.split(\"T\")[1].split(\".\");\r\n\r\n const year = parseInt(dateParts[0]);\r\n const month = parseInt(dateParts[1]) - 1;\r\n const day = parseInt(dateParts[2]);\r\n const hours = parseInt(timeParts[0].split(\":\")[0]);\r\n const minutes = parseInt(timeParts[0].split(\":\")[1]);\r\n const seconds = parseInt(timeParts[0].split(\":\")[2]);\r\n\r\n // Reconstruct the Date object with the extracted components\r\n return new Date(year, month, day, hours, minutes, seconds);\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n","import { MapsAPILoader, Marker, MouseEvent } from '@agm/core';\r\nimport { Injectable, NgZone } from '@angular/core';\r\nimport { ApiErrorService } from './api-error.service';\r\ndeclare var google: any;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GooglemapService {\r\n\r\n drawingManager: any;\r\n \r\n\r\n constructor(\r\n private _apiErrorService: ApiErrorService,\r\n private _mapAPILoader: MapsAPILoader,\r\n private _ngZone: NgZone,\r\n ) { }\r\n\r\n GetCurrentLocation(latlngDiscoveryCallback: any, addressDiscoveryCallback: any){\r\n if (this.IsGeolocationDisabled()){\r\n this._apiErrorService.ShowErrorModal(\"Warning\", \"Geolocation is not supported by this browser.\");\r\n return;\r\n }\r\n\r\n this.GetCurrentPosition(0, 0, latlngDiscoveryCallback, addressDiscoveryCallback);\r\n }\r\n\r\n MarkerDragEnd(m: Marker, $event: MouseEvent, latlngDiscoveryCallback: any, addressDiscoveryCallback: any){\r\n if (this.IsGeolocationDisabled()){\r\n this._apiErrorService.ShowErrorModal(\"Warning\", \"Geolocation is not supported by this browser.\");\r\n return;\r\n }\r\n\r\n this.GetCurrentPosition($event.coords.lat, $event.coords.lng, latlngDiscoveryCallback, addressDiscoveryCallback);\r\n }\r\n\r\n GetCurrentPosition(latitude: number, longitude: number, latlngDiscoveryCallback: any, addressDiscoveryCallback: any){\r\n navigator.geolocation.getCurrentPosition((position) =>{\r\n if (!position){\r\n return;\r\n }\r\n\r\n latlngDiscoveryCallback(position);\r\n\r\n this._mapAPILoader.load().then(() => {\r\n let geocoder = new google.maps.Geocoder();\r\n let latlng: { lat: number, lng: number};\r\n if (latitude != 0 && longitude != 0){\r\n latlng = { lat: latitude, lng: longitude };\r\n }\r\n else{\r\n latlng = { lat: position.coords.latitude, lng: position.coords.longitude }\r\n }\r\n geocoder.geocode({ location: latlng }, (results: any) => addressDiscoveryCallback(results));\r\n });\r\n }, (error) => {\r\n console.error(error.message);\r\n this._apiErrorService.ShowErrorModal(\"Error\", \"Something went wrong while fetching current position\");\r\n });\r\n }\r\n\r\n OverlayCompletehandler(map: any, customOptions: any, updatePointsCallback: any){\r\n let options: any;\r\n if (customOptions){\r\n options = customOptions\r\n }\r\n else if (google){\r\n options = { drawingControl: false, drawingControlOptions: { drawingModes: [] }, polygonOptions: { draggable: false, editable: false }, drawingMode: google.maps.drawing.OverlayType.POLYGON };\r\n \r\n }\r\n else{\r\n options = { drawingControl: false, drawingControlOptions: { drawingModes: [] }, polygonOptions: { draggable: false, editable: false }, drawingMode: \"polygon\" };\r\n }\r\n\r\n this.drawingManager = new google.maps.drawing.DrawingManager(options);\r\n this.drawingManager.setMap(map);\r\n \r\n\r\n google.maps.event.addListener(\r\n this.drawingManager,\r\n \"overlaycomplete\",\r\n (event) => {\r\n if (event.type === google.maps.drawing.OverlayType.POLYGON) {\r\n const paths = event.overlay.getPaths();\r\n for (let p = 0; p < paths.getLength(); p++) {\r\n google.maps.event.addListener(paths.getAt(p), \"set_at\", () => {\r\n if (!event.overlay.drag) {\r\n updatePointsCallback(event.overlay.getPath());\r\n }\r\n });\r\n google.maps.event.addListener(paths.getAt(p), \"insert_at\", () => {\r\n updatePointsCallback(event.overlay.getPath());\r\n });\r\n google.maps.event.addListener(paths.getAt(p), \"remove_at\", () => {\r\n updatePointsCallback(event.overlay.getPath());\r\n });\r\n }\r\n updatePointsCallback(event.overlay.getPath());\r\n }\r\n }\r\n );\r\n }\r\n\r\n AutocompleteInitialize(searchBoxElement: HTMLInputElement, placeDiscoveryCallback: any, addressDiscoveryCallback: any){\r\n this._mapAPILoader.load().then(() => {\r\n let geoCoder = new google.maps.Geocoder();\r\n \r\n const autocomplete = new google.maps.places.Autocomplete(searchBoxElement);\r\n autocomplete.addListener(\"place_changed\", () => {\r\n this._ngZone.run(() => {\r\n //get the place result\r\n const place = autocomplete.getPlace();\r\n \r\n //verify result\r\n if (place.geometry === undefined || place.geometry === null) {\r\n return;\r\n }\r\n\r\n placeDiscoveryCallback(place);\r\n \r\n let latlng = {\r\n lat: place.geometry.location.lat(),\r\n lng: place.geometry.location.lng(),\r\n };\r\n \r\n geoCoder.geocode({ location: latlng }, (addresses) => addressDiscoveryCallback(addresses, place));\r\n });\r\n });\r\n });\r\n }\r\n\r\n GetCoordinatesFromPostcode(postcode: string, resultCallback: any) {\r\n this._mapAPILoader.load().then(() => {\r\n const geocoder = new google.maps.Geocoder();\r\n geocoder.geocode({ address: postcode }, (results, status) => {\r\n if (status === 'OK') {\r\n resultCallback(results[0].geometry.location.lat(), results[0].geometry.location.lng());\r\n // this.lat = results[0].geometry.location.lat();\r\n // this.lng = results[0].geometry.location.lng();\r\n } else {\r\n console.error(`Geocoding failed: ${status}`);\r\n }\r\n });\r\n });\r\n }\r\n\r\n MapClicked($event: MouseEvent, addressDiscoveryCallback: any){\r\n this._mapAPILoader.load().then(() => {\r\n let geocoder = new google.maps.Geocoder();\r\n let latlng = {\r\n lat: $event.coords.lat,\r\n lng: $event.coords.lng,\r\n };\r\n geocoder.geocode(\r\n {\r\n location: latlng,\r\n },\r\n (result) => addressDiscoveryCallback(result)\r\n );\r\n });\r\n }\r\n\r\n\r\n //#region Helpers\r\n\r\n IsGeolocationDisabled(){\r\n if (!navigator.geolocation){\r\n return true;\r\n }\r\n else{\r\n return false;\r\n }\r\n }\r\n\r\n GetPostCodeAndFormattedAddress(addressComponents: any): {postCode: string, formattedAddress: string}{\r\n return {postCode: addressComponents[1].address_components[addressComponents[1].address_components.length - 1].long_name, formattedAddress: addressComponents[0].formatted_address};\r\n }\r\n\r\n //#endregion\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StringHelperService {\r\n\r\n IsNullOrWhiteSpace(str): boolean {\r\n return str === null || str === undefined || str.trim() === '';\r\n }\r\n\r\n IsAnyNullOrWhiteSpace(...str: string[]): boolean {\r\n return str.some(x => this.IsNullOrWhiteSpace(x));\r\n }\r\n\r\n IsValidGuid(guid: string) {\r\n if (this.IsNullOrWhiteSpace(guid) || guid === \"00000000-0000-0000-0000-000000000000\"){\r\n return false;\r\n }\r\n let regex = new RegExp(/^[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?$/);\r\n return regex.test(guid);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\nimport { StringHelperService } from './string-helper.service';\r\nimport { IIRAccordianNames } from 'src/app/bcu/components/iir/iir.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UrlHelperService {\r\n\r\n constructor(\r\n private _stringHelperService: StringHelperService\r\n ) { }\r\n\r\n //#region BCU urls\r\n\r\n BcuUserDashboardUrl() : string{\r\n return '/BCU/Dashboard';\r\n }\r\n\r\n BcuUserContactUrl() : string{\r\n return '/BCU/contacts';\r\n }\r\n\r\n BcuPartnerMembers() : string{\r\n return '/BCU/partner-members';\r\n }\r\n\r\n BcuIncidentDetail(id: string) : string{\r\n return `/BCU/incident-detail/${id}`;\r\n }\r\n\r\n IIRUrl(id: string = '0', tab: string = IIRAccordianNames.StartIncidentTab){\r\n return `/BCU/initial-incident-form/${id}/${tab}`;\r\n }\r\n\r\n BCUTeamMemberUrl() : string{\r\n return '/BCU/team-members';\r\n }\r\n\r\n BCUIncidentListUrl() : string{\r\n return '/BCU/incidents/list';\r\n }\r\n\r\n //#endregion\r\n\r\n\r\n\r\n //#region LA urls\r\n\r\n\r\n LaUserDashboardUrl() : string{\r\n return '/home-dashboard';\r\n }\r\n\r\n La2UserDashboardUrl() : string{\r\n return '/la-dashboard';\r\n }\r\n\r\n LaCstTemplateCreate(): string{\r\n return '/cst-template-create';\r\n }\r\n\r\n LAIncidentListUrl() : string{\r\n return '/incidents/list';\r\n }\r\n\r\n\r\n //#endregion\r\n\r\n //#region Common\r\n\r\n \r\n\r\n //#endregion\r\n\r\n\r\n\r\n //#region Auth urls\r\n\r\n IsSignupUrl(url: string) : boolean{\r\n if (this._stringHelperService.IsNullOrWhiteSpace(url)){\r\n return false;\r\n }\r\n return url.startsWith(\"/sign-up/\");\r\n }\r\n\r\n IsChangePasswordUrl(url) : boolean{\r\n if (this._stringHelperService.IsNullOrWhiteSpace(url)){\r\n return false;\r\n }\r\n return url.startsWith(\"change-password\");\r\n }\r\n\r\n GetChangePasswordUrl(){\r\n return '/change-password';\r\n }\r\n\r\n //#endregion\r\n\r\n \r\n \r\n //#region Help urls\r\n\r\n GetSimHelpURL(){\r\n return environment.PCR_help_URL;\r\n }\r\n\r\n //#endregion\r\n}\r\n","import { MemberProfileDetailsDTO } from './../../Models/Messages/MessageTemplateDTO';\r\nimport { AuthenticatedUserForGrouping } from './../../Models/Members/AuthenticatedUserGroups';\r\nimport { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from '../interceptors/api.service';\r\nimport { Subject } from 'rxjs';\r\nimport { OrganizationGroup } from 'src/app/Models/BCURegionDTO.Model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserProfileService {\r\n\r\n UserLoadedSubject = new Subject();\r\n\r\n constructor(\r\n private _apiService: ApiService\r\n ) { }\r\n\r\n GetMemberProfile(id: string) {\r\n const url = `/account/profile/${id}`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetCurrentUserProfileDetails(){\r\n const url = `/account/CurrentUserProfileDetails`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n \r\n SetAuthenticatedUserGroups(authenticatedUserGroups: AuthenticatedUserForGrouping){\r\n localStorage.setItem(\"AuthenticatedUserGroups\", JSON.stringify(authenticatedUserGroups));\r\n }\r\n\r\n RemoveAuthenticatedUserGroups(key = \"AuthenticatedUserGroups\"){\r\n localStorage.removeItem(key);\r\n }\r\n\r\n GetAuthenticatedUserGroups(): AuthenticatedUserForGrouping | null{\r\n let obj = localStorage.getItem(\"AuthenticatedUserGroups\");\r\n if (!obj){\r\n return null;\r\n }\r\n\r\n return JSON.parse(obj) as AuthenticatedUserForGrouping;\r\n }\r\n\r\n GetAuthenticatedUserGroup(): OrganizationGroup{\r\n let obj = localStorage.getItem(\"AuthenticatedUserGroups\");\r\n if (!obj){\r\n return null;\r\n }\r\n\r\n const authenticatedUserGroups = JSON.parse(obj) as AuthenticatedUserForGrouping;\r\n\r\n if (authenticatedUserGroups \r\n && authenticatedUserGroups.region \r\n && authenticatedUserGroups.region.groups \r\n && authenticatedUserGroups.region.groups.length > 0 \r\n && authenticatedUserGroups.region.groups.find(x => x.isAuthenticatedUserGroup)){\r\n return authenticatedUserGroups.region.groups.find(x => x.isAuthenticatedUserGroup);\r\n }\r\n else{\r\n if (authenticatedUserGroups \r\n && authenticatedUserGroups.region \r\n && authenticatedUserGroups.region.groups \r\n && authenticatedUserGroups.region.groups.length > 0 ){\r\n return authenticatedUserGroups.region.groups[0];\r\n }\r\n else{\r\n const obj = new OrganizationGroup();\r\n obj.isAuthenticatedUserGroup = false;\r\n obj.organizationGroupId = 1;\r\n obj.organizationGroupName = '';\r\n return obj;\r\n }\r\n }\r\n }\r\n\r\n\r\n CreateAuthenticatedUserGroupsInstance(member: MemberProfileDetailsDTO): AuthenticatedUserForGrouping{\r\n let authenticatedUserGroups = new AuthenticatedUserForGrouping();\r\n authenticatedUserGroups.id = member.id;\r\n authenticatedUserGroups.familyName = member.familyName;\r\n authenticatedUserGroups.firstName = member.firstName;\r\n\r\n authenticatedUserGroups.region = member.bcuRegion;\r\n\r\n // const groupedRegions = member.groups.reduce((acc, curr) => {\r\n // if (!acc[curr.regionId]) {\r\n // acc[curr.regionId] = [];\r\n // }\r\n // acc[curr.regionId].push(curr);\r\n // return acc;\r\n // }, {});\r\n\r\n \r\n\r\n // for (const regionId in groupedRegions) {\r\n // groupedRegions[regionId].forEach((obj, index) => {\r\n\r\n // const group = obj as OrganizationGroupDTO;\r\n\r\n // let regionForArray = new UserRegions();\r\n // regionForArray.regionId = group.regionId;\r\n // regionForArray.regionName = group.regionName;\r\n // regionForArray.regionDescription = group.regionDescription;\r\n // regionForArray.selected = index == 0 ? true : false;\r\n\r\n // let newGroup = new UserGroups();\r\n // newGroup.id = group.id;\r\n // newGroup.groupName = group.groupName;\r\n // newGroup.organizationId = group.organizationId;\r\n // newGroup.organizationName = group.organizationName;\r\n\r\n // regionForArray.groups.push(newGroup);\r\n\r\n // authenticatedUserGroups.region.push(regionForArray);\r\n // });\r\n // }\r\n\r\n return authenticatedUserGroups;\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { LAIncidentLaunchDTO, IncidentLaunchTask, IncidentTaskAssignee, SaveProtocolLaunchDTO, SaveProtocolLaunchItemDTO } from 'src/app/Models/LAIncedenceDashboard/LAIncidentDashboardModel';\r\nimport { MemberProfile } from 'src/app/Models/Members/MemberProfile';\r\nimport { BasicTemplateInfo } from 'src/app/Models/Templates/Template';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { LoadScriptService } from 'src/app/home-dashboard/load-script.service';\r\nimport { AssignMemberPopupComponent } from 'src/app/overlays/assign-member-popup/assign-member-popup.component';\r\nimport { CstProtocolLaunchService } from '../cst-protocol-launch/cst-protocol-launch.service';\r\nimport { ProtocolTemplateDTO } from 'src/app/Models/cst-template/ProtocolTemplateDTO';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Member } from 'src/app/Models/Members/Member';\r\nimport { UrlHelperService } from 'src/app/core/services/url-helper.service';\r\nimport { CstRoutingStateService } from '../cst-routing-state.service';\r\n\r\n@Component({\r\n selector: 'app-create-cst-template',\r\n templateUrl: './create-cst-template.component.html',\r\n styleUrls: ['./create-cst-template.component.css']\r\n})\r\nexport class CreateCstTemplateComponent implements OnInit, OnDestroy {\r\n\r\n incidentId: string;\r\n incident: any;\r\n templates: BasicTemplateInfo[] = [];\r\n selectedTemplate: BasicTemplateInfo;\r\n isBasicTemplatesLoaded = false;\r\n\r\n newTemplateForm: FormGroup;\r\n isSubmitted = false;\r\n isActionsLoaded = false;\r\n\r\n isLaunched = false;\r\n\r\n incidentLaunchData: LAIncidentLaunchDTO;\r\n incidentLaunchDataDeepCopy: LAIncidentLaunchDTO;\r\n isIncidentLaunchdataLoaded: number = 0;\r\n\r\n teamMemebers: MemberProfile[] = [];\r\n AllTeamMemebers: Member[] = [];\r\n isTeamMembersLoaded: boolean = false;\r\n\r\n selectedCheckbox: IncidentLaunchTask[] = [];\r\n\r\n selectedTeamMemberForBulkUpdate: MemberProfile;\r\n\r\n dataLoadedEvent = new Subject();\r\n dataLoadedEventSubscription: Subscription;\r\n\r\n selectedTeamMemberForFilter: MemberProfile;\r\n selectedTemplateForFilter: IncidentLaunchTask;\r\n\r\n constructor(\r\n private _activatedRoute: ActivatedRoute,\r\n private _titleService: Title,\r\n private _loadScriptService: LoadScriptService,\r\n private _toastr: ToastrService,\r\n private _cstProtocolLaunchService: CstProtocolLaunchService,\r\n private _router: Router,\r\n private _dialog: MatDialog,\r\n private _apiErrorService: ApiErrorService,\r\n private _fb: FormBuilder,\r\n private _cstRoutingState: CstRoutingStateService,\r\n public _urlHelperService: UrlHelperService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n\r\n //let sadfas = this._activatedRoute.snapshot.getCurrentNavigation().extras.state.myObject;\r\n\r\n //this._loadScriptService.LoadDropdownScript(\"Create-CSTTemplateScriptTag\");\r\n\r\n\r\n this.InitForm();\r\n\r\n if (this._cstRoutingState.incidentTeplate){\r\n this.incidentLaunchData = this._cstRoutingState.incidentTeplate;\r\n\r\n if (this.incidentLaunchData && this.incidentLaunchData.taskGroups && this.incidentLaunchData.taskGroups.length > 0){\r\n this.sortByTitalAndTimeframe();\r\n this.incidentLaunchDataDeepCopy = JSON.parse(JSON.stringify(this.incidentLaunchData));\r\n }\r\n\r\n this.isActionsLoaded = true;\r\n }\r\n else{\r\n this._cstProtocolLaunchService.GetNewTemplate().subscribe(response => {\r\n if (response && response.data && response.statusCode == 200) {\r\n this.incidentLaunchData = response.data;\r\n \r\n if (this.incidentLaunchData && this.incidentLaunchData.taskGroups && this.incidentLaunchData.taskGroups.length > 0){\r\n this.sortByTitalAndTimeframe();\r\n this.incidentLaunchDataDeepCopy = JSON.parse(JSON.stringify(this.incidentLaunchData));\r\n }\r\n \r\n this.isActionsLoaded = true;\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n }\r\n\r\n\r\n this._cstProtocolLaunchService.GetTeamMembers().subscribe(response => {\r\n if (response && response.data && response.statusCode == 200) {\r\n this.AllTeamMemebers = response.data;\r\n this.isTeamMembersLoaded = true;\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n\r\n\r\n \r\n\r\n // this._activatedRoute.params.subscribe((params) => {\r\n // if (params.id != null && params.id != undefined) {\r\n // this.incidentId = params.id;\r\n\r\n // if (this.incidentId){\r\n\r\n // if (!this.isTeamMembersLoaded) {\r\n // this.emergencyPlanningService\r\n // .GetTeamMembersForIncident(this.incidentId)\r\n // .subscribe(\r\n // (response) => {\r\n // if (response && response.data && response.statusCode == 200) {\r\n // this.isTeamMembersLoaded = true;\r\n // this.teamMemebers = response.data;\r\n // this.sortTeamMemberByName();\r\n // this.dataLoadedEvent.next(true);\r\n // //console.log(response.data);\r\n // }\r\n // },\r\n // (error) => {\r\n // this._apiErrorService.ShowError(error);\r\n // }\r\n // );\r\n // }\r\n\r\n \r\n // this.incidentService.getIncidentDetails(this.incidentId).subscribe(response => {\r\n // if (response && response.data && response.statusCode == 200) {\r\n // this.incident = response.data;\r\n // this.incidentLoaded = true;\r\n // this.dataLoadedEvent.next(true);\r\n // //console.log(this.incident);\r\n // }\r\n // },\r\n // (error) => {\r\n // this._apiErrorService.ShowError(error);\r\n // });\r\n // }\r\n \r\n // }\r\n // });\r\n\r\n \r\n\r\n\r\n this._cstProtocolLaunchService.GetCSTTemplates().subscribe(\r\n (data) => {\r\n if (data.statusCode == 200) {\r\n \r\n //console.log(data);\r\n this.templates = data.data;\r\n let templateForEdit = this.templates.find(x => x.templateId === this.incidentId);\r\n this.isBasicTemplatesLoaded = true;\r\n this.dataLoadedEvent.next(true);\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n\r\n trackByFn(index: number, item: IncidentLaunchTask) {\r\n return index;\r\n }\r\n\r\n // templateSelected(selectedTemplate: BasicTemplateInfo) {\r\n // this.isIncidentLaunchdataLoaded = 1;\r\n // this.incidentLaunchData = null;\r\n // this.selectedCheckbox = [];\r\n \r\n // if (selectedTemplate == null && selectedTemplate == undefined) {\r\n // return;\r\n // }\r\n\r\n // document.getElementById(\"t_dropdownTemplates\").classList.remove(\"shown\");\r\n\r\n // this.selectedTemplate = selectedTemplate;\r\n\r\n \r\n\r\n // this._cstProtocolLaunchService\r\n // .GetCSTTemplatesActions(this.incidentId, selectedTemplate.templateId)\r\n // .subscribe(\r\n // (response) => {\r\n // //console.log(response);\r\n // if (response && response.data && response.statusCode == 200) {\r\n // this.incidentLaunchData = response.data;\r\n\r\n // if (this.incidentLaunchData && this.incidentLaunchData.taskGroups && this.incidentLaunchData.taskGroups.length > 0){\r\n // this.sortByTitalAndTimeframe();\r\n \r\n // console.log(response.data);\r\n // // if (this.incidentLaunchData){\r\n // // for (const taskGroup of this.incidentLaunchData.taskGroups) {\r\n // // if (taskGroup && taskGroup.tasks && taskGroup.tasks.length > 0){\r\n // // for (const task of taskGroup.tasks) {\r\n // // if (task && task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0){\r\n // // for (const assignee of task.incidentTaskAssignees) {\r\n // // if (assignee && assignee.assigneeId && assignee.assigneeName){\r\n // // if (!this.teamMemebers.some(x => x.toLocaleLowerCase() === assignee.assigneeName.toLocaleLowerCase())){\r\n // // this.teamMemebers.push(assignee.assigneeName);\r\n // // }\r\n // // }\r\n // // }\r\n // // }\r\n // // }\r\n // // }\r\n // // }\r\n // // }\r\n // this.isIncidentLaunchdataLoaded = 2;\r\n // }\r\n // }\r\n // },\r\n // (error) => {\r\n // this._apiErrorService.ShowError(error);\r\n // }\r\n // );\r\n // }\r\n\r\n\r\n InitForm() {\r\n this.newTemplateForm = this._fb.group({\r\n title: [null, Validators.required]\r\n });\r\n }\r\n\r\n//#region getters\r\nget title() {\r\n return this.newTemplateForm.get(\"title\") as FormControl;\r\n}\r\n//#endregion\r\n\r\n\r\n basicTemplateSelected(selectedTemplate: BasicTemplateInfo) {\r\n this.isIncidentLaunchdataLoaded = 1;\r\n this.incidentLaunchData = null;\r\n this.selectedCheckbox = [];\r\n \r\n if (selectedTemplate == null && selectedTemplate == undefined) {\r\n return;\r\n }\r\n\r\n document.getElementById(\"t_dropdownTemplates\").classList.remove(\"shown\");\r\n\r\n this.selectedTemplate = selectedTemplate;\r\n\r\n\r\n \r\n\r\n this._cstProtocolLaunchService\r\n .GetEditTemplate(this.incidentId)\r\n .subscribe(\r\n (response) => {\r\n //console.log(response);\r\n if (response && response.data && response.statusCode == 200) {\r\n console.log(response.data);\r\n\r\n this.incidentLaunchData = response.data;\r\n \r\n if (this.incidentLaunchData && this.incidentLaunchData.taskGroups && this.incidentLaunchData.taskGroups.length > 0){\r\n this.sortByTitalAndTimeframe();\r\n this.incidentLaunchDataDeepCopy = JSON.parse(JSON.stringify(this.incidentLaunchData));\r\n \r\n this.isIncidentLaunchdataLoaded = 2;\r\n }\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n\r\n TemplateSelected(template: IncidentLaunchTask){\r\n document.getElementById(\"template-ul\").classList.remove(\"shown\");\r\n\r\n this.selectedTemplateForFilter = template;\r\n\r\n this.filterData();\r\n }\r\n\r\n\r\n TeamMemberSelected(teamMemebr: MemberProfile | null){\r\n document.getElementById(\"team-member-ul\").classList.remove(\"shown\");\r\n\r\n this.selectedTeamMemberForFilter = teamMemebr;\r\n\r\n this.filterData();\r\n }\r\n\r\n \r\n\r\n sortByTitalAndTimeframe(){\r\n this.incidentLaunchData.taskGroups.sort((a, b) => {\r\n // Sort by title first\r\n if (a.title < b.title) {\r\n return -1;\r\n }\r\n if (a.title > b.title) {\r\n return 1;\r\n }\r\n \r\n // If title are the same, sort by taskTimeFrame\r\n if (a.taskTimeFrame < b.taskTimeFrame) {\r\n return -1;\r\n }\r\n if (a.taskTimeFrame > b.taskTimeFrame) {\r\n return 1;\r\n }\r\n \r\n return 0; // If both name and number are equal\r\n });\r\n }\r\n\r\n sortTeamMemberByName(){\r\n this.teamMemebers.sort((a, b) => {\r\n if (a.firstName < b.firstName) {\r\n return -1;\r\n }\r\n if (a.firstName > b.firstName) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n }\r\n\r\n allCheckChanged(event: Event, index: number, incident: IncidentLaunchTask) {\r\n const tagClass = (event.target as HTMLElement).id;\r\n const tasks = incident?.tasks;\r\n if (tagClass != null && tagClass != undefined) {\r\n if (tasks != null && tasks != undefined && tasks.length > 0) {\r\n const chk = event.target as HTMLInputElement;\r\n if (chk.checked) {\r\n for (const task of tasks) {\r\n if (!this.selectedCheckbox.some((item) => item === task)) {\r\n this.selectedCheckbox.push(task);\r\n }\r\n }\r\n } else {\r\n this.selectedCheckbox = this.selectedCheckbox.filter(\r\n (item1) => !tasks.some((item2) => item1.id === item2.id)\r\n );\r\n }\r\n }\r\n\r\n const checkboxes = document.querySelectorAll(\r\n \".\" + tagClass\r\n ) as NodeListOf;\r\n if (\r\n checkboxes != null &&\r\n checkboxes != undefined &&\r\n checkboxes.length > 0\r\n ) {\r\n checkboxes.forEach((checkbox) => {\r\n checkbox.checked = (event.target as HTMLInputElement).checked;\r\n });\r\n }\r\n //#region common checkbox logic\r\n // const commonCheckbox = document.querySelectorAll(\r\n // \".\" + \"chkSame\" + index\r\n // ) as NodeListOf;\r\n // if (\r\n // commonCheckbox != null &&\r\n // commonCheckbox != undefined &&\r\n // commonCheckbox.length > 0\r\n // ) {\r\n // commonCheckbox.forEach((checkbox) => {\r\n // checkbox.checked = (event.target as HTMLInputElement).checked;\r\n // });\r\n // }\r\n //#endregion\r\n }\r\n }\r\n\r\n checkboxChanged(event, task: IncidentLaunchTask) {\r\n if (event.target.checked) {\r\n if (!this.selectedCheckbox.some((item) => item === task)) {\r\n this.selectedCheckbox.push(task);\r\n }\r\n } else {\r\n this.selectedCheckbox = this.selectedCheckbox.filter(\r\n (item) => item !== task\r\n );\r\n }\r\n }\r\n\r\n bulkUpdateClicked(teamMember: MemberProfile) {\r\n\r\n if (!teamMember){\r\n return;\r\n }\r\n\r\n this.selectedTeamMemberForBulkUpdate = teamMember;\r\n\r\n this.incidentLaunchData.taskGroups.forEach((teamGroup) => {\r\n if (teamGroup.tasks != null && teamGroup.tasks.length > 0) {\r\n teamGroup.tasks.forEach((task) => {\r\n if (task != null && task.id) {\r\n if (this.selectedCheckbox.some((x) => x.id == task.id)) {\r\n if (task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0){\r\n task.incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n task.incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n task.incidentTaskAssignees[0].avatar = teamMember.avatar;\r\n }\r\n else{\r\n if (!task.incidentTaskAssignees){\r\n task.incidentTaskAssignees = [];\r\n }\r\n const taskAssignee = new IncidentTaskAssignee();\r\n taskAssignee.assigneeId = teamMember.id;\r\n taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n taskAssignee.avatar = teamMember.avatar;\r\n task.incidentTaskAssignees.push(taskAssignee);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.incidentLaunchDataDeepCopy.taskGroups.forEach((teamGroup) => {\r\n if (teamGroup.tasks != null && teamGroup.tasks.length > 0) {\r\n teamGroup.tasks.forEach((task) => {\r\n if (task != null && task.id) {\r\n if (this.selectedCheckbox.some((x) => x.id == task.id)) {\r\n if (task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0){\r\n task.incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n task.incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n task.incidentTaskAssignees[0].avatar = teamMember.avatar;\r\n }\r\n else{\r\n if (!task.incidentTaskAssignees){\r\n task.incidentTaskAssignees = [];\r\n }\r\n const taskAssignee = new IncidentTaskAssignee();\r\n taskAssignee.assigneeId = teamMember.id;\r\n taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n taskAssignee.avatar = teamMember.avatar;\r\n task.incidentTaskAssignees.push(taskAssignee);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n\r\n // const asdsad = this.incidentLaunchData.taskGroups.filter(x => this.selectedCheckbox.some(y => y.id == x.id));\r\n // console.log(asdsad);\r\n\r\n // if (!teamMember || !teamMember.id){\r\n // return;\r\n // }\r\n\r\n // if (this.incidentId && this.incidentLaunchData && this.incidentLaunchData.templateId && this.selectedCheckbox && this.selectedCheckbox.length > 0){\r\n\r\n // let saveProtocolLaunchDTO = new SaveProtocolLaunchDTO();\r\n // saveProtocolLaunchDTO.incidentId = this.incidentId;\r\n // saveProtocolLaunchDTO.TemplateIdUsed = this.incidentLaunchData.templateId;\r\n\r\n // for (const task of this.selectedCheckbox) {\r\n\r\n // let saveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n // saveProtocolLaunchItemDTO.TaskId = +task.id;\r\n // saveProtocolLaunchItemDTO.Timeframe = task.taskTimeFrame;\r\n // saveProtocolLaunchItemDTO.MemberId = teamMember.id;\r\n\r\n // saveProtocolLaunchDTO.Items.push(saveProtocolLaunchItemDTO);\r\n // }\r\n\r\n // this._cstProtocolLaunchService.SaveCSTProtocolLaunchAssignments(saveProtocolLaunchDTO).subscribe(response => {\r\n // this._router.navigate(['home-dashboard']);\r\n // }, err => {\r\n // console.log(\"Error:\" + JSON.stringify(err));\r\n // this._toastr.error(err?.error?.message, \"Error\");\r\n // });\r\n // }\r\n }\r\n\r\n SaveAndLaunchTheProtocol() {\r\n // if (\r\n // !this.selectedTeamMemberForBulkUpdate ||\r\n // !this.selectedTeamMemberForBulkUpdate.id\r\n // ) {\r\n // return;\r\n // }\r\n\r\n if (\r\n this.incidentId &&\r\n this.incidentLaunchData &&\r\n this.incidentLaunchData.templateId &&\r\n this.incidentLaunchData.taskGroups &&\r\n this.incidentLaunchData.taskGroups.length > 0\r\n ) {\r\n this.isLaunched = true;\r\n\r\n let saveProtocolLaunchDTO = new SaveProtocolLaunchDTO();\r\n saveProtocolLaunchDTO.incidentId = this.incidentId;\r\n saveProtocolLaunchDTO.TemplateIdUsed = this.incidentLaunchData.templateId;\r\n\r\n // for (const task of this.selectedCheckbox) {\r\n // let saveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n // saveProtocolLaunchItemDTO.TaskId = +task.id;\r\n // saveProtocolLaunchItemDTO.Timeframe = task.taskTimeFrame;\r\n // saveProtocolLaunchItemDTO.MemberId =\r\n // this.selectedTeamMemberForBulkUpdate.id;\r\n\r\n // saveProtocolLaunchDTO.Items.push(saveProtocolLaunchItemDTO);\r\n // }\r\n \r\n for (const task of this.incidentLaunchData.taskGroups) {\r\n if(task.tasks && task.tasks.length > 0){\r\n for (const innerTask of task.tasks) {\r\n let saveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n saveProtocolLaunchItemDTO.TaskId = +innerTask.id;\r\n saveProtocolLaunchItemDTO.Timeframe = innerTask.taskTimeFrame;\r\n if (innerTask.incidentTaskAssignees && innerTask.incidentTaskAssignees.length > 0){\r\n saveProtocolLaunchItemDTO.MemberId = innerTask.incidentTaskAssignees[0].assigneeId;\r\n }\r\n \r\n saveProtocolLaunchDTO.Items.push(saveProtocolLaunchItemDTO);\r\n }\r\n }\r\n }\r\n\r\n this._cstProtocolLaunchService\r\n .SaveCSTProtocolLaunchAssignments(saveProtocolLaunchDTO)\r\n .pipe(tap(() => this.isLaunched = true))\r\n .subscribe(\r\n (response) => {\r\n this._router.navigate([\"home-dashboard\"]);\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n personClicked(taskgroup: IncidentLaunchTask, task: IncidentLaunchTask, outerIndex: number, innerIndex: number){\r\n let memberArray : {name: string, avatar: string}[] = [];\r\n //memberArray.push({name:\"Not Required\", avatar: null});\r\n memberArray.push(...this.AllTeamMemebers.map(x => { \r\n return {name: `${x.firstName} ${x.familyName}`, avatar: x.avatar}\r\n }));\r\n\r\n //const memberStringArray = teamMember.map(x => `${x.firstName} ${x.familyName}`).sort();\r\n\r\n this._dialog.open(AssignMemberPopupComponent, {\r\n height: '80vh',\r\n data: {members: memberArray}\r\n }).afterClosed().subscribe(selectedMember => {\r\n if (selectedMember == null || selectedMember == undefined || selectedMember == ''){\r\n this.AssignMember(taskgroup, task, outerIndex, innerIndex);\r\n }\r\n\r\n const selectedTeamMember = this.AllTeamMemebers.find(x => `${x.firstName} ${x.familyName}` === selectedMember);\r\n if (!selectedTeamMember){\r\n return;\r\n }\r\n\r\n this.AssignMember(taskgroup, task, outerIndex, innerIndex, selectedTeamMember);\r\n });\r\n }\r\n\r\n\r\n // personClicked(teamMember: MemberProfile[], taskgroup: IncidentLaunchTask, task: IncidentLaunchTask, outerIndex: number, innerIndex: number){\r\n // let memberArray : {name: string, avatar: string}[] = [];\r\n // memberArray = teamMember.map(x => { \r\n // return {name: `${x.firstName} ${x.familyName}`, avatar: x.avatar}\r\n // });\r\n\r\n // //const memberStringArray = teamMember.map(x => `${x.firstName} ${x.familyName}`).sort();\r\n\r\n // this._dialog.open(AssignMemberPopupComponent, {\r\n // height: '80vh',\r\n // data: {members: memberArray}\r\n // }).afterClosed().subscribe(selectedMember => {\r\n // if (selectedMember == null || selectedMember == undefined || selectedMember == ''){\r\n // return;\r\n // }\r\n\r\n // const selectedTeamMember = teamMember.find(x => `${x.firstName} ${x.familyName}` === selectedMember);\r\n // if (!selectedTeamMember){\r\n // return;\r\n // }\r\n\r\n // this.AssignMember(selectedTeamMember, taskgroup, task, outerIndex, innerIndex);\r\n // });\r\n // }\r\n\r\n\r\n AssignMember(taskgroup: IncidentLaunchTask, task: IncidentLaunchTask, outerIndex: number, innerIndex: number, teamMember?: Member) {\r\n if (!teamMember){\r\n return;\r\n }\r\n\r\n const outerIndexForMainCollection = this.incidentLaunchData.taskGroups.findIndex(x => x.id === taskgroup.id);\r\n let innerIndexForMainCollection;\r\n if (outerIndexForMainCollection !== -1 && this.incidentLaunchData.taskGroups[outerIndexForMainCollection] && this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks && this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks.length > 0){\r\n innerIndexForMainCollection = this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks.findIndex(x => x.id === task.id);\r\n\r\n if (this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees && this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees.length > 0){\r\n this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees[0].avatar = teamMember.avatar;\r\n \r\n }\r\n else{\r\n if (!this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees){\r\n this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees = [];\r\n }\r\n const taskAssignee = new IncidentTaskAssignee();\r\n taskAssignee.assigneeId = teamMember.id;\r\n taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n taskAssignee.avatar = teamMember.avatar;\r\n this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees.push(taskAssignee);\r\n \r\n }\r\n }\r\n \r\n \r\n if (this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees && this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees.length > 0){\r\n this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].avatar = teamMember.avatar;\r\n\r\n }\r\n else{\r\n if (!this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees){\r\n this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees = [];\r\n }\r\n const taskAssignee = new IncidentTaskAssignee();\r\n taskAssignee.assigneeId = teamMember.id;\r\n taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n taskAssignee.avatar = teamMember.avatar;\r\n this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees.push(taskAssignee);\r\n\r\n }\r\n }\r\n\r\n \r\n\r\n // AssignMember(teamMember: MemberProfile, taskgroup: IncidentLaunchTask, task: IncidentLaunchTask, outerIndex: number, innerIndex: number) {\r\n // const outerIndexForMainCollection = this.incidentLaunchData.taskGroups.findIndex(x => x.id === taskgroup.id);\r\n // let innerIndexForMainCollection;\r\n // if (outerIndexForMainCollection !== -1 && this.incidentLaunchData.taskGroups[outerIndexForMainCollection] && this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks && this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks.length > 0){\r\n // innerIndexForMainCollection = this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks.findIndex(x => x.id === task.id);\r\n\r\n // if (this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees && this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees.length > 0){\r\n // this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n // this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees[0].avatar = teamMember.avatar;\r\n \r\n // }\r\n // else{\r\n // if (!this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees){\r\n // this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees = [];\r\n // }\r\n // const taskAssignee = new IncidentTaskAssignee();\r\n // taskAssignee.assigneeId = teamMember.id;\r\n // taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // taskAssignee.avatar = teamMember.avatar;\r\n // this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees.push(taskAssignee);\r\n \r\n // }\r\n // }\r\n \r\n \r\n // if (this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees && this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees.length > 0){\r\n // this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n // this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].avatar = teamMember.avatar;\r\n\r\n // }\r\n // else{\r\n // if (!this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees){\r\n // this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees = [];\r\n // }\r\n // const taskAssignee = new IncidentTaskAssignee();\r\n // taskAssignee.assigneeId = teamMember.id;\r\n // taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // taskAssignee.avatar = teamMember.avatar;\r\n // this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees.push(taskAssignee);\r\n\r\n // }\r\n // }\r\n\r\n filterData() {\r\n this.incidentLaunchDataDeepCopy = JSON.parse(JSON.stringify(this.incidentLaunchData));\r\n this.selectedCheckbox = [];\r\n if (!this.selectedTeamMemberForFilter && !this.selectedTemplateForFilter){\r\n return;\r\n }\r\n\r\n if (this.selectedTemplateForFilter){\r\n this.incidentLaunchDataDeepCopy.taskGroups = this.incidentLaunchDataDeepCopy.taskGroups.filter(x => x.id === this.selectedTemplateForFilter.id);\r\n }\r\n \r\n let result: LAIncidentLaunchDTO = new LAIncidentLaunchDTO();\r\n result.incidentId = this.incidentLaunchDataDeepCopy.incidentId;\r\n result.incidentTitle = this.incidentLaunchDataDeepCopy.incidentTitle;\r\n result.template = this.incidentLaunchDataDeepCopy.template;\r\n result.templateId = this.incidentLaunchDataDeepCopy.templateId;\r\n\r\n if (!this.selectedTeamMemberForFilter){\r\n result.taskGroups = this.incidentLaunchDataDeepCopy.taskGroups;\r\n return;\r\n }\r\n else{\r\n\r\n for (let outterIndex = this.incidentLaunchDataDeepCopy.taskGroups.length - 1; outterIndex >= 0; outterIndex--) {\r\n const tasks = this.incidentLaunchDataDeepCopy.taskGroups[outterIndex].tasks;\r\n if (tasks && tasks.length > 0) {\r\n for (let innerIndex = tasks.length - 1; innerIndex >= 0; innerIndex--) {\r\n const assignee = tasks[innerIndex].incidentTaskAssignees;\r\n if (!assignee || assignee.length == 0 || !assignee[0] || assignee[0].assigneeId !== this.selectedTeamMemberForFilter.id){\r\n this.incidentLaunchDataDeepCopy.taskGroups[outterIndex].tasks.splice(innerIndex, 1);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n SaveTemplate(){\r\n if (!this.incidentLaunchDataDeepCopy.taskGroups || this.incidentLaunchDataDeepCopy.taskGroups.length <= 0){\r\n this._toastr.info(\"Nothing to be save\");\r\n }\r\n\r\n document.getElementById('save-btn-spinner').style.display = 'block';\r\n document.getElementById('btn-save').style.display = 'none';\r\n\r\n let protocolTemplateDTO = new ProtocolTemplateDTO();\r\n\r\n protocolTemplateDTO.title = this.selectedTemplate.templateName;\r\n \r\n for (const taskGroup of this.incidentLaunchDataDeepCopy.taskGroups){\r\n if (!taskGroup.tasks || taskGroup.tasks.length <= 0){\r\n continue;\r\n }\r\n for (const task of taskGroup.tasks){\r\n const saveProtocolLaunchItemDTO: SaveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n saveProtocolLaunchItemDTO.TaskId = +task.id;\r\n saveProtocolLaunchItemDTO.Timeframe = task.taskTimeFrame;\r\n\r\n if (task && task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0 && task.incidentTaskAssignees[0].assigneeId){\r\n saveProtocolLaunchItemDTO.MemberId = task.incidentTaskAssignees[0].assigneeId;\r\n }\r\n protocolTemplateDTO.items.push(saveProtocolLaunchItemDTO);\r\n }\r\n }\r\n\r\n if (this.selectedTemplate && this.selectedTemplate.templateId){\r\n\r\n const templateId = this.selectedTemplate.templateId;\r\n\r\n this._cstProtocolLaunchService.EditTemplateTemplate(templateId, protocolTemplateDTO).subscribe(response => {\r\n document.getElementById('save-btn-spinner').style.display = 'none';\r\n document.getElementById('btn-save').style.display = 'block';\r\n \r\n this._toastr.success(\"Saved successfully!\", \"Saved\");\r\n });\r\n }\r\n // else{\r\n // this._cstProtocolLaunchService.EditTemplateTemplate(templateId, protocolTemplateDTO).subscribe(response => {\r\n // document.getElementById('save-btn-spinner').style.display = 'none';\r\n // document.getElementById('btn-save').style.display = 'block';\r\n \r\n // this._toastr.success(\"Saved successfully!\", \"Saved\");\r\n // });\r\n // }\r\n }\r\n\r\n\r\n onSubmit(){\r\n if (this.isNullOrWhiteSpace(this.title.value)){\r\n return;\r\n }\r\n\r\n document.getElementById('save-btn-spinner').style.display = 'block';\r\n document.getElementById('btn-save').style.display = 'none';\r\n\r\n let protocolTemplateDTO = new ProtocolTemplateDTO();\r\n\r\n protocolTemplateDTO.title = this.title.value;\r\n \r\n for (const taskGroup of this.incidentLaunchDataDeepCopy.taskGroups){\r\n if (!taskGroup.tasks || taskGroup.tasks.length <= 0){\r\n continue;\r\n }\r\n for (const task of taskGroup.tasks){\r\n const saveProtocolLaunchItemDTO: SaveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n saveProtocolLaunchItemDTO.TaskId = +task.id;\r\n saveProtocolLaunchItemDTO.Timeframe = task.taskTimeFrame;\r\n\r\n if (task && task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0 && task.incidentTaskAssignees[0].assigneeId){\r\n saveProtocolLaunchItemDTO.MemberId = task.incidentTaskAssignees[0].assigneeId;\r\n \r\n }\r\n protocolTemplateDTO.items.push(saveProtocolLaunchItemDTO);\r\n }\r\n }\r\n\r\n if (protocolTemplateDTO){\r\n\r\n this._cstProtocolLaunchService.CreateNewTemplate(protocolTemplateDTO).subscribe(response => {\r\n document.getElementById('save-btn-spinner').style.display = 'none';\r\n document.getElementById('btn-save').style.display = 'unset';\r\n \r\n this._toastr.success(\"Saved successfully!\", \"Saved\");\r\n this._router.navigate([this._urlHelperService.LaUserDashboardUrl()]);\r\n },\r\n (error) => {\r\n document.getElementById('save-btn-spinner').style.display = 'none';\r\n document.getElementById('btn-save').style.display = 'unset';\r\n\r\n this._apiErrorService.ShowError(error);\r\n });\r\n }\r\n }\r\n\r\n CopyThisOne(){\r\n if (!this.incidentLaunchDataDeepCopy || !this.incidentLaunchDataDeepCopy.taskGroups || this.incidentLaunchDataDeepCopy.taskGroups.length <= 0){\r\n return;\r\n }\r\n\r\n this.incidentLaunchDataDeepCopy.templateId = '';\r\n this.selectedTemplate = null;\r\n\r\n this.incidentLaunchDataDeepCopy.taskGroups.forEach(taskGroup => {\r\n if (taskGroup && taskGroup.tasks && taskGroup.tasks.length > 0){\r\n taskGroup.tasks.forEach(task => {\r\n task.incidentTaskAssignees = [];\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n // AssignMember(teamMember: MemberProfile, task: any, outerIndex: number, innerIndex: number) {\r\n\r\n // if (this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees.length > 0){\r\n // this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n // this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // }\r\n // else{\r\n // const taskAssignee = new IncidentTaskAssignee();\r\n // taskAssignee.assigneeId = teamMember.id;\r\n // taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees.push(taskAssignee);\r\n // }\r\n \r\n // // this.incidentLaunchData.taskGroups.forEach((teamGroup) => {\r\n // // if (teamGroup.tasks != null && teamGroup.tasks.length > 0) {\r\n // // teamGroup.tasks.forEach((task) => {\r\n // // if (task != null && task.id) {\r\n // // if (this.selectedCheckbox.some((x) => x.id == task.id)) {\r\n // // if (task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0){\r\n // // task.incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n // // task.incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // // }\r\n // // else{\r\n // // const taskAssignee = new IncidentTaskAssignee();\r\n // // taskAssignee.assigneeId = teamMember.id;\r\n // // taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // // task.incidentTaskAssignees.push(taskAssignee);\r\n // // }\r\n // // }\r\n // // }\r\n // // });\r\n // // }\r\n // // });\r\n // }\r\n\r\n // SaveCSTProtocolLaunchAssignments(){\r\n\r\n // if (this.incidentId && this.incidentLaunchData && this.incidentLaunchData.templateId && this.selectedCheckbox && this.selectedCheckbox.length > 0){\r\n\r\n // let saveProtocolLaunchDTO = new SaveProtocolLaunchDTO();\r\n // saveProtocolLaunchDTO.incidentId = this.incidentId;\r\n // saveProtocolLaunchDTO.TemplateIdUsed = this.incidentLaunchData.templateId;\r\n\r\n // for (const task of this.selectedCheckbox) {\r\n\r\n // let saveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n // saveProtocolLaunchItemDTO.TaskId = +task.id;\r\n // saveProtocolLaunchItemDTO.Timeframe = task.taskTimeFrame;\r\n // saveProtocolLaunchItemDTO.MemberId = '';\r\n\r\n // saveProtocolLaunchDTO.Items.push(saveProtocolLaunchItemDTO);\r\n // }\r\n\r\n // this._cstProtocolLaunchService.SaveCSTProtocolLaunchAssignments(saveProtocolLaunchDTO).subscribe(response => {\r\n // this._router.navigate(['home-dashboard']);\r\n // }, err => {\r\n // console.log(\"Error:\" + JSON.stringify(err));\r\n // this._toastr.error(err?.error?.message, \"Error\");\r\n // });\r\n // }\r\n\r\n // }\r\n\r\n GetTimeFram(index: number): string {\r\n return this._cstProtocolLaunchService.GetTimeFram(index);\r\n }\r\n\r\n GetTemplateTitle(template: IncidentLaunchTask){\r\n return template?.title + ' - ' + this.GetTimeFram(template.taskTimeFrame);\r\n }\r\n\r\n GetPersonImageSrc(task: IncidentLaunchTask){\r\n if (task && task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0){\r\n return task?.incidentTaskAssignees[0]?.avatar ? task.incidentTaskAssignees[0].avatar : 'assets/images/profile-blank-icon.png';\r\n }\r\n else{\r\n return \"assets/images/profile-blank-icon.png\";\r\n }\r\n }\r\n\r\n GetStringOfTeamMembersList(teamMebers: IncidentTaskAssignee[]) {\r\n let result = \"\";\r\n if (teamMebers && teamMebers.length > 0) {\r\n for (const teamMember of teamMebers) {\r\n result += teamMember.assigneeName + \", \";\r\n }\r\n }\r\n if (result.charAt(result.length - 2) == \",\") {\r\n result = result.slice(0, -2);\r\n }\r\n return result;\r\n }\r\n\r\n isNullOrWhiteSpace(str) {\r\n return str === null || str === undefined || str.trim() === '';\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._loadScriptService.RemoveScript(\"Create-CSTTemplateScriptTag\");\r\n\r\n if (this._cstRoutingState.incidentTeplate){\r\n this._cstRoutingState.incidentTeplate = undefined;\r\n }\r\n\r\n if (this.dataLoadedEventSubscription){\r\n this.dataLoadedEventSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Create CST Template

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

\r\n \r\n template not saved\r\n\r\n \r\n

\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n Incident template title     \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Title is required\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PersonActionTimeframe\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
{{task?.title}}\r\n 0\" \r\n class=\"status-btn timeline\">{{GetTimeFram(task?.taskTimeFrame)}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { tap } from 'rxjs/operators';\r\nimport { IncidentService } from './../../initial-incident-form/incident.service';\r\nimport { OnDestroy } from \"@angular/core\";\r\nimport { MemberProfile } from \"./../../Models/Members/MemberProfile\";\r\nimport {\r\n IncidentTaskAssignee,\r\n SaveProtocolLaunchDTO,\r\n SaveProtocolLaunchItemDTO,\r\n} from \"./../../Models/LAIncedenceDashboard/LAIncidentDashboardModel\";\r\nimport { BasicTemplateInfo } from \"./../../Models/Templates/Template\";\r\nimport { CstProtocolLaunchService } from \"./cst-protocol-launch.service\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { LoadScriptService } from \"src/app/home-dashboard/load-script.service\";\r\nimport {\r\n IncidentLaunchTask,\r\n LAIncidentLaunchDTO,\r\n} from \"src/app/Models/LAIncedenceDashboard/LAIncidentDashboardModel\";\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { AssignMemberPopupComponent } from 'src/app/overlays/assign-member-popup/assign-member-popup.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { ImmediateResponseService } from 'src/app/home-dashboard/immediate-response/immediate-response.service';\r\nimport { UrlHelperService } from 'src/app/core/services/url-helper.service';\r\n\r\n@Component({\r\n selector: \"app-cst-protocol-launch\",\r\n templateUrl: \"./cst-protocol-launch.component.html\",\r\n styleUrls: [\"./cst-protocol-launch.component.css\"],\r\n})\r\nexport class CstProtocolLaunchComponent implements OnInit, OnDestroy {\r\n incidentId: string;\r\n incident: any;\r\n templates: BasicTemplateInfo[] = [];\r\n selectedTemplate: BasicTemplateInfo;\r\n isBasicTemplatesLoaded = false;\r\n\r\n incidentLoaded = false;\r\n isLaunched = false;\r\n\r\n incidentLaunchData: LAIncidentLaunchDTO;\r\n isIncidentLaunchdataLoaded: number = 0;\r\n\r\n teamMemebers: MemberProfile[] = [];\r\n isTeamMembersLoaded: boolean = false;\r\n\r\n selectedCheckbox: IncidentLaunchTask[] = [];\r\n\r\n selectedTeamMemberForBulkUpdate: MemberProfile;\r\n\r\n dataLoadedEvent = new Subject();\r\n dataLoadedEventSubscription: Subscription;\r\n\r\n constructor(\r\n private _activatedRoute: ActivatedRoute,\r\n private _titleService: Title,\r\n private _loadScriptService: LoadScriptService,\r\n private _toastr: ToastrService,\r\n private _cstProtocolLaunchService: CstProtocolLaunchService,\r\n private _router: Router,\r\n private _immediateResponseService: ImmediateResponseService,\r\n private _incidentService: IncidentService,\r\n private _dialog: MatDialog,\r\n private _apiErrorService: ApiErrorService,\r\n public _urlHelperService: UrlHelperService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n\r\n //let sadfas = this._activatedRoute.snapshot.getCurrentNavigation().extras.state.myObject;\r\n\r\n this._loadScriptService.LoadDropdownScript(\"Launch-CSTProtocolScriptTag\");\r\n\r\n // this.dataLoadedEventSubscription = this.dataLoadedEvent.subscribe((x) => {\r\n // if (x) {\r\n // let timerId = setInterval(() => {\r\n // if (this.isBasicTemplatesLoaded && this.incidentLoaded && this.isTeamMembersLoaded && this._loadScriptService.ShouldDropdownScriptLoad()){\r\n // this._loadScriptService.LoadScript(\"Launch-CSTProtocolScriptTag\");\r\n // clearInterval(timerId);\r\n // }\r\n // }, 100);\r\n // }\r\n // });\r\n\r\n this._activatedRoute.params.subscribe((params) => {\r\n if (params.id != null && params.id != undefined) {\r\n this.incidentId = params.id;\r\n\r\n if (this.incidentId){\r\n\r\n if (!this.isTeamMembersLoaded) {\r\n this._immediateResponseService\r\n .GetTeamMembersForIncident(this.incidentId)\r\n .subscribe(\r\n (response) => {\r\n if (response && response.data && response.statusCode == 200) {\r\n this.isTeamMembersLoaded = true;\r\n this.teamMemebers = response.data;\r\n this.sortTeamMemberByName();\r\n this.dataLoadedEvent.next(true);\r\n //console.log(response.data);\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n \r\n this._incidentService.getIncidentDetails(this.incidentId).subscribe(response => {\r\n if (response && response.data && response.statusCode == 200) {\r\n this.incident = response.data;\r\n this.incidentLoaded = true;\r\n this.dataLoadedEvent.next(true);\r\n //console.log(this.incident);\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n }\r\n \r\n }\r\n });\r\n\r\n this._cstProtocolLaunchService.GetCSTTemplates().subscribe(\r\n (data) => {\r\n if (data.statusCode == 200) {\r\n \r\n //console.log(data);\r\n this.templates = data.data;\r\n this.isBasicTemplatesLoaded = true;\r\n this.dataLoadedEvent.next(true);\r\n \r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n\r\n trackByFn(index: number, item: IncidentLaunchTask) {\r\n return index;\r\n }\r\n\r\n templateSelected(selectedTemplate: BasicTemplateInfo) {\r\n this.isIncidentLaunchdataLoaded = 1;\r\n this.incidentLaunchData = null;\r\n this.selectedCheckbox = [];\r\n \r\n if (selectedTemplate == null && selectedTemplate == undefined) {\r\n return;\r\n }\r\n\r\n document.getElementById(\"t_dropdownTemplates\").classList.remove(\"shown\");\r\n\r\n this.selectedTemplate = selectedTemplate;\r\n\r\n \r\n\r\n this._cstProtocolLaunchService\r\n .GetCSTTemplatesActions(this.incidentId, selectedTemplate.templateId)\r\n .subscribe(\r\n (response) => {\r\n //console.log(response);\r\n if (response && response.data && response.statusCode == 200) {\r\n this.incidentLaunchData = response.data;\r\n\r\n if (this.incidentLaunchData && this.incidentLaunchData.taskGroups && this.incidentLaunchData.taskGroups.length > 0){\r\n this.sortByTitalAndTimeframe();\r\n \r\n console.log(response.data);\r\n // if (this.incidentLaunchData){\r\n // for (const taskGroup of this.incidentLaunchData.taskGroups) {\r\n // if (taskGroup && taskGroup.tasks && taskGroup.tasks.length > 0){\r\n // for (const task of taskGroup.tasks) {\r\n // if (task && task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0){\r\n // for (const assignee of task.incidentTaskAssignees) {\r\n // if (assignee && assignee.assigneeId && assignee.assigneeName){\r\n // if (!this.teamMemebers.some(x => x.toLocaleLowerCase() === assignee.assigneeName.toLocaleLowerCase())){\r\n // this.teamMemebers.push(assignee.assigneeName);\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n this.isIncidentLaunchdataLoaded = 2;\r\n }\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n\r\n sortByTitalAndTimeframe(){\r\n this.incidentLaunchData.taskGroups.sort((a, b) => {\r\n // Sort by title first\r\n if (a.title < b.title) {\r\n return -1;\r\n }\r\n if (a.title > b.title) {\r\n return 1;\r\n }\r\n \r\n // If title are the same, sort by taskTimeFrame\r\n if (a.taskTimeFrame < b.taskTimeFrame) {\r\n return -1;\r\n }\r\n if (a.taskTimeFrame > b.taskTimeFrame) {\r\n return 1;\r\n }\r\n \r\n return 0; // If both name and number are equal\r\n });\r\n }\r\n\r\n sortTeamMemberByName(){\r\n this.teamMemebers.sort((a, b) => {\r\n if (a.firstName < b.firstName) {\r\n return -1;\r\n }\r\n if (a.firstName > b.firstName) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n }\r\n\r\n allCheckChanged(event: Event, index: number, incident: IncidentLaunchTask) {\r\n const tagClass = (event.target as HTMLElement).id;\r\n const tasks = incident?.tasks;\r\n if (tagClass != null && tagClass != undefined) {\r\n if (tasks != null && tasks != undefined && tasks.length > 0) {\r\n const chk = event.target as HTMLInputElement;\r\n if (chk.checked) {\r\n for (const task of tasks) {\r\n if (!this.selectedCheckbox.some((item) => item === task)) {\r\n this.selectedCheckbox.push(task);\r\n }\r\n }\r\n } else {\r\n this.selectedCheckbox = this.selectedCheckbox.filter(\r\n (item1) => !tasks.some((item2) => item1.id === item2.id)\r\n );\r\n }\r\n }\r\n\r\n const checkboxes = document.querySelectorAll(\r\n \".\" + tagClass\r\n ) as NodeListOf;\r\n if (\r\n checkboxes != null &&\r\n checkboxes != undefined &&\r\n checkboxes.length > 0\r\n ) {\r\n checkboxes.forEach((checkbox) => {\r\n checkbox.checked = (event.target as HTMLInputElement).checked;\r\n });\r\n }\r\n //#region common checkbox logic\r\n // const commonCheckbox = document.querySelectorAll(\r\n // \".\" + \"chkSame\" + index\r\n // ) as NodeListOf;\r\n // if (\r\n // commonCheckbox != null &&\r\n // commonCheckbox != undefined &&\r\n // commonCheckbox.length > 0\r\n // ) {\r\n // commonCheckbox.forEach((checkbox) => {\r\n // checkbox.checked = (event.target as HTMLInputElement).checked;\r\n // });\r\n // }\r\n //#endregion\r\n }\r\n }\r\n\r\n checkboxChanged(event, task: IncidentLaunchTask) {\r\n if (event.target.checked) {\r\n if (!this.selectedCheckbox.some((item) => item === task)) {\r\n this.selectedCheckbox.push(task);\r\n }\r\n } else {\r\n this.selectedCheckbox = this.selectedCheckbox.filter(\r\n (item) => item !== task\r\n );\r\n }\r\n }\r\n\r\n bulkUpdateClicked(teamMember: MemberProfile) {\r\n this.selectedTeamMemberForBulkUpdate = teamMember;\r\n\r\n this.incidentLaunchData.taskGroups.forEach((teamGroup) => {\r\n if (teamGroup.tasks != null && teamGroup.tasks.length > 0) {\r\n teamGroup.tasks.forEach((task) => {\r\n if (task != null && task.id) {\r\n if (this.selectedCheckbox.some((x) => x.id == task.id)) {\r\n if (task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0){\r\n task.incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n task.incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n task.incidentTaskAssignees[0].avatar = teamMember.avatar;\r\n }\r\n else{\r\n const taskAssignee = new IncidentTaskAssignee();\r\n taskAssignee.assigneeId = teamMember.id;\r\n taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n taskAssignee.avatar = teamMember.avatar;\r\n task.incidentTaskAssignees.push(taskAssignee);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n\r\n // const asdsad = this.incidentLaunchData.taskGroups.filter(x => this.selectedCheckbox.some(y => y.id == x.id));\r\n // console.log(asdsad);\r\n\r\n // if (!teamMember || !teamMember.id){\r\n // return;\r\n // }\r\n\r\n // if (this.incidentId && this.incidentLaunchData && this.incidentLaunchData.templateId && this.selectedCheckbox && this.selectedCheckbox.length > 0){\r\n\r\n // let saveProtocolLaunchDTO = new SaveProtocolLaunchDTO();\r\n // saveProtocolLaunchDTO.incidentId = this.incidentId;\r\n // saveProtocolLaunchDTO.TemplateIdUsed = this.incidentLaunchData.templateId;\r\n\r\n // for (const task of this.selectedCheckbox) {\r\n\r\n // let saveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n // saveProtocolLaunchItemDTO.TaskId = +task.id;\r\n // saveProtocolLaunchItemDTO.Timeframe = task.taskTimeFrame;\r\n // saveProtocolLaunchItemDTO.MemberId = teamMember.id;\r\n\r\n // saveProtocolLaunchDTO.Items.push(saveProtocolLaunchItemDTO);\r\n // }\r\n\r\n // this._cstProtocolLaunchService.SaveCSTProtocolLaunchAssignments(saveProtocolLaunchDTO).subscribe(response => {\r\n // this._router.navigate(['home-dashboard']);\r\n // }, err => {\r\n // console.log(\"Error:\" + JSON.stringify(err));\r\n // this._toastr.error(err?.error?.message, \"Error\");\r\n // });\r\n // }\r\n }\r\n\r\n SaveAndLaunchTheProtocol() {\r\n // if (\r\n // !this.selectedTeamMemberForBulkUpdate ||\r\n // !this.selectedTeamMemberForBulkUpdate.id\r\n // ) {\r\n // return;\r\n // }\r\n\r\n if (\r\n this.incidentId &&\r\n this.incidentLaunchData &&\r\n this.incidentLaunchData.templateId &&\r\n this.incidentLaunchData.taskGroups &&\r\n this.incidentLaunchData.taskGroups.length > 0\r\n ) {\r\n this.isLaunched = true;\r\n\r\n let saveProtocolLaunchDTO = new SaveProtocolLaunchDTO();\r\n saveProtocolLaunchDTO.incidentId = this.incidentId;\r\n saveProtocolLaunchDTO.TemplateIdUsed = this.incidentLaunchData.templateId;\r\n\r\n // for (const task of this.selectedCheckbox) {\r\n // let saveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n // saveProtocolLaunchItemDTO.TaskId = +task.id;\r\n // saveProtocolLaunchItemDTO.Timeframe = task.taskTimeFrame;\r\n // saveProtocolLaunchItemDTO.MemberId =\r\n // this.selectedTeamMemberForBulkUpdate.id;\r\n\r\n // saveProtocolLaunchDTO.Items.push(saveProtocolLaunchItemDTO);\r\n // }\r\n \r\n for (const task of this.incidentLaunchData.taskGroups) {\r\n if(task.tasks && task.tasks.length > 0){\r\n for (const innerTask of task.tasks) {\r\n let saveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n saveProtocolLaunchItemDTO.TaskId = +innerTask.id;\r\n saveProtocolLaunchItemDTO.Timeframe = innerTask.taskTimeFrame;\r\n if (innerTask.incidentTaskAssignees && innerTask.incidentTaskAssignees.length > 0){\r\n saveProtocolLaunchItemDTO.MemberId = innerTask.incidentTaskAssignees[0].assigneeId;\r\n }\r\n \r\n saveProtocolLaunchDTO.Items.push(saveProtocolLaunchItemDTO);\r\n }\r\n }\r\n }\r\n\r\n this._cstProtocolLaunchService\r\n .SaveCSTProtocolLaunchAssignments(saveProtocolLaunchDTO)\r\n .pipe(tap(() => this.isLaunched = true))\r\n .subscribe(\r\n (response) => {\r\n this._router.navigate([\"home-dashboard\"]);\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n personClicked(teamMember: MemberProfile[], task: any, outerIndex: number, innerIndex: number, ){\r\n let memberArray : {name: string, avatar: string}[] = [];\r\n memberArray = teamMember.map(x => { \r\n return {name: `${x.firstName} ${x.familyName}`, avatar: x.avatar}\r\n });\r\n\r\n //const memberStringArray = teamMember.map(x => `${x.firstName} ${x.familyName}`).sort();\r\n\r\n this._dialog.open(AssignMemberPopupComponent, {\r\n height: '80vh',\r\n data: {members: memberArray}\r\n }).afterClosed().subscribe(selectedMember => {\r\n if (selectedMember == null || selectedMember == undefined || selectedMember == ''){\r\n return;\r\n }\r\n\r\n const selectedTeamMember = teamMember.find(x => `${x.firstName} ${x.familyName}` === selectedMember);\r\n if (!selectedTeamMember){\r\n return;\r\n }\r\n\r\n this.AssignMember(selectedTeamMember, task, outerIndex, innerIndex);\r\n });\r\n }\r\n\r\n AssignMember(teamMember: MemberProfile, task: any, outerIndex: number, innerIndex: number) {\r\n\r\n if (this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees.length > 0){\r\n this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].avatar = teamMember.avatar;\r\n }\r\n else{\r\n const taskAssignee = new IncidentTaskAssignee();\r\n taskAssignee.assigneeId = teamMember.id;\r\n taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n taskAssignee.avatar = teamMember.avatar;\r\n this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees.push(taskAssignee);\r\n }\r\n }\r\n\r\n // AssignMember(teamMember: MemberProfile, task: any, outerIndex: number, innerIndex: number) {\r\n\r\n // if (this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees.length > 0){\r\n // this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n // this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // }\r\n // else{\r\n // const taskAssignee = new IncidentTaskAssignee();\r\n // taskAssignee.assigneeId = teamMember.id;\r\n // taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees.push(taskAssignee);\r\n // }\r\n \r\n // // this.incidentLaunchData.taskGroups.forEach((teamGroup) => {\r\n // // if (teamGroup.tasks != null && teamGroup.tasks.length > 0) {\r\n // // teamGroup.tasks.forEach((task) => {\r\n // // if (task != null && task.id) {\r\n // // if (this.selectedCheckbox.some((x) => x.id == task.id)) {\r\n // // if (task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0){\r\n // // task.incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n // // task.incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // // }\r\n // // else{\r\n // // const taskAssignee = new IncidentTaskAssignee();\r\n // // taskAssignee.assigneeId = teamMember.id;\r\n // // taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // // task.incidentTaskAssignees.push(taskAssignee);\r\n // // }\r\n // // }\r\n // // }\r\n // // });\r\n // // }\r\n // // });\r\n // }\r\n\r\n // SaveCSTProtocolLaunchAssignments(){\r\n\r\n // if (this.incidentId && this.incidentLaunchData && this.incidentLaunchData.templateId && this.selectedCheckbox && this.selectedCheckbox.length > 0){\r\n\r\n // let saveProtocolLaunchDTO = new SaveProtocolLaunchDTO();\r\n // saveProtocolLaunchDTO.incidentId = this.incidentId;\r\n // saveProtocolLaunchDTO.TemplateIdUsed = this.incidentLaunchData.templateId;\r\n\r\n // for (const task of this.selectedCheckbox) {\r\n\r\n // let saveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n // saveProtocolLaunchItemDTO.TaskId = +task.id;\r\n // saveProtocolLaunchItemDTO.Timeframe = task.taskTimeFrame;\r\n // saveProtocolLaunchItemDTO.MemberId = '';\r\n\r\n // saveProtocolLaunchDTO.Items.push(saveProtocolLaunchItemDTO);\r\n // }\r\n\r\n // this._cstProtocolLaunchService.SaveCSTProtocolLaunchAssignments(saveProtocolLaunchDTO).subscribe(response => {\r\n // this._router.navigate(['home-dashboard']);\r\n // }, err => {\r\n // console.log(\"Error:\" + JSON.stringify(err));\r\n // this._toastr.error(err?.error?.message, \"Error\");\r\n // });\r\n // }\r\n\r\n // }\r\n\r\n GetTimeFram(index: number): string {\r\n return this._cstProtocolLaunchService.GetTimeFram(index);\r\n }\r\n\r\n GetStringOfTeamMembersList(teamMebers: IncidentTaskAssignee[]) {\r\n let result = \"\";\r\n if (teamMebers && teamMebers.length > 0) {\r\n for (const teamMember of teamMebers) {\r\n result += teamMember.assigneeName + \", \";\r\n }\r\n }\r\n if (result.charAt(result.length - 2) == \",\") {\r\n result = result.slice(0, -2);\r\n }\r\n return result;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._loadScriptService.RemoveScript(\"Launch-CSTProtocolScriptTag\");\r\n\r\n if (this.dataLoadedEventSubscription){\r\n this.dataLoadedEventSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

CST Protocol Launch

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

\r\n \r\n Launch CST protocol for {{incident.title}}\r\n \r\n

\r\n
\r\n \r\n \r\n
\r\n
    \r\n
  • \r\n
  • \r\n
\r\n
    \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n Incident template title     \r\n \"pencil-icon\" \r\n {{(selectedTemplate != undefined && selectedTemplate != null) ? selectedTemplate.templateName : 'No Template Selected'}}\r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PersonActionTimeframe\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n
\r\n
{{task?.title}}\r\n 0\" \r\n class=\"status-btn timeline\">{{GetTimeFram(task?.taskTimeFrame)}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from 'src/app/core/interceptors/api.service';\r\nimport { ProtocolTemplateDTO } from 'src/app/Models/cst-template/ProtocolTemplateDTO';\r\nimport { SaveProtocolLaunchDTO } from 'src/app/Models/LAIncedenceDashboard/LAIncidentDashboardModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CstProtocolLaunchService {\r\n\r\n constructor(\r\n private _apiService: ApiService\r\n ) { }\r\n\r\n GetCSTTemplates(){\r\n const url = `/LA/CSTProtocol/Templates`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetCSTTemplatesActions(incidentId: string, templateId :string){\r\n const url = `/la/CSTProtocolLaunch/${incidentId}/${templateId}`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n SaveCSTProtocolLaunchAssignments(saveProtocolLaunchDTO: SaveProtocolLaunchDTO){\r\n const url = `/la/CSTProtocolLaunch/save`;\r\n return this._apiService.post(url, saveProtocolLaunchDTO).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetTimeFram(index: number): string {\r\n let result = \"\";\r\n switch (index) {\r\n case 1:\r\n result = \"24 hours\";\r\n break;\r\n case 2:\r\n result = \"1 week\";\r\n break;\r\n case 3:\r\n result = \"1 month\";\r\n break;\r\n case 4:\r\n result = \"On Going\";\r\n break;\r\n default:\r\n result = \"\";\r\n }\r\n return result;\r\n }\r\n\r\n GetEditTemplate(templateId){\r\n const url = `/La/CSTProtocol/Templates/Edit/${templateId}`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n EditTemplateTemplate(templateId: string, protocolTemplateDTO: ProtocolTemplateDTO){\r\n const url = `/La/CSTProtocol/Templates/Edit/${templateId}`;\r\n return this._apiService.put(url, protocolTemplateDTO).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n CreateNewTemplate(protocolTemplateDTO: ProtocolTemplateDTO){\r\n const url = `/La/CSTProtocol/Templates/New`;\r\n return this._apiService.post(url, protocolTemplateDTO).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetNewTemplate(){\r\n const url = `/LA/CSTProtocol/Templates/New`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetTeamMembers(){\r\n const url = \"/La/TeamMembers\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { LAIncidentLaunchDTO } from '../Models/LAIncedenceDashboard/LAIncidentDashboardModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CstRoutingStateService {\r\n\r\n constructor() { }\r\n\r\n incidentTeplate: LAIncidentLaunchDTO\r\n\r\n}\r\n","import { OnDestroy } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CstTemplateService } from './cst-template.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { LoadScriptService } from 'src/app/home-dashboard/load-script.service';\r\nimport { TaskGroupWithTasksDetails } from 'src/app/Models/cst-template/TaskGroupWithTasksDetails';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\n\r\n@Component({\r\n selector: 'app-cst-template',\r\n templateUrl: './cst-template.component.html',\r\n styleUrls: ['./cst-template.component.css']\r\n})\r\nexport class CstTemplateComponent implements OnInit, OnDestroy {\r\n\r\n templateData: TaskGroupWithTasksDetails;\r\n\r\n constructor(\r\n private _activatedRoute: ActivatedRoute,\r\n private _titleService: Title,\r\n private _cstTemplateService: CstTemplateService,\r\n private _loadScriptSerivice: LoadScriptService, \r\n private _toastr: ToastrService,\r\n private _apiErrorService: ApiErrorService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n this._loadScriptSerivice.LoadDropdownScript(\"cst-templateScriptTag\");\r\n \r\n this._cstTemplateService.getTemplateData().subscribe(data => {\r\n if (data.statusCode == 200){\r\n this.templateData = data.data;\r\n console.log(this.templateData);\r\n }\r\n }, \r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n\r\n // this._cstTemplateService.GetCSTTemplates().subscribe(data => {\r\n // if (data.statusCode == 200){\r\n // console.log(data);\r\n // //this.templateData = data.data;\r\n // //console.log(this.templateData);\r\n // }\r\n // }, (error) => {\r\n // console.log(\"Error:\" + JSON.stringify(error));\r\n // this._toastr.error(error?.error?.message, \"Error\");\r\n // });\r\n }\r\n\r\n GetTimeFram(index: number): string{\r\n let result = \"\";\r\n switch (index) {\r\n case 1:\r\n result = \"24 HR\";\r\n break;\r\n case 2:\r\n result = \"1 WEEK\";\r\n break;\r\n case 3:\r\n result = \"1 MONTH\";\r\n break;\r\n case 4:\r\n result = \"On Going\";\r\n break;\r\n default:\r\n result = \"\";\r\n }\r\n return result;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._loadScriptSerivice.RemoveScript(\"cst-templateScriptTag\");\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n

CST Template

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

\r\n Protocol Response template for Gang related violence\r\n for everyone \r\n

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

Incident temaplate title     \"pencil-icon\" Gang related violence

\r\n
\r\n

Created: 22:30, April 10

\r\n

Modified: 22:30, April 1

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

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PersonActionTimeframe\r\n
\r\n
\r\n \r\n \r\n
\r\n
{{task?.taskTitle}}\r\n 0)\" \r\n class=\"status-btn timeline\">{{GetTimeFram(task?.timeFrame)}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Share partner information (police, VRP etc)\r\n 24 HR\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
Share partner information (police, VRP etc)24 HR\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Share partner information (police, VRP etc)24 HR\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Share partner information (police, VRP etc)24 HR\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Share partner information (police, VRP etc)24 HR\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Share partner information (police, VRP etc)24 HR\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Share partner information (police, VRP etc)24 HR\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Share partner information (police, VRP etc)1 WEEK\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Share partner information (police, VRP etc)1 MONTH\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Share partner information (police, VRP etc)3 MONTHS\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from 'src/app/core/interceptors/api.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CstTemplateService {\r\n\r\n constructor(\r\n private _apiService: ApiService\r\n ) { }\r\n\r\n getTemplateData() {\r\n const url = \"/Manager/Template/New\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetTemplates(){\r\n const url = \"/Manager/Template\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetTemplateDetail(Id: string){\r\n const url = `/Manager/Template/Details/${Id}`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n\r\n\r\n // GetCSTTemplates(){\r\n // const url = `/LA/CSTProtocol/Templates`;\r\n // return this._apiService.get(url).pipe(\r\n // map((data) => {\r\n // return data;\r\n // })\r\n // );\r\n // }\r\n\r\n}\r\n","import { Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Location } from \"@angular/common\";\r\nimport { tap } from 'rxjs/operators';\r\nimport { LAIncidentLaunchDTO, IncidentLaunchTask, IncidentTaskAssignee, SaveProtocolLaunchDTO, SaveProtocolLaunchItemDTO } from 'src/app/Models/LAIncedenceDashboard/LAIncidentDashboardModel';\r\nimport { MemberProfile } from 'src/app/Models/Members/MemberProfile';\r\nimport { BasicTemplateInfo } from 'src/app/Models/Templates/Template';\r\nimport { ProtocolTemplateDTO } from 'src/app/Models/cst-template/ProtocolTemplateDTO';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { LoadScriptService } from 'src/app/home-dashboard/load-script.service';\r\nimport { IncidentService } from 'src/app/initial-incident-form/incident.service';\r\nimport { AssignMemberPopupComponent } from 'src/app/overlays/assign-member-popup/assign-member-popup.component';\r\nimport { CstProtocolLaunchService } from '../cst-protocol-launch/cst-protocol-launch.service';\r\nimport { ImmediateResponseService } from 'src/app/home-dashboard/immediate-response/immediate-response.service';\r\nimport { UrlHelperService } from 'src/app/core/services/url-helper.service';\r\nimport { StringHelperService } from 'src/app/core/services/string-helper.service';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { CstRoutingStateService } from '../cst-routing-state.service';\r\n\r\n@Component({\r\n selector: 'app-edit-cst-template',\r\n templateUrl: './edit-cst-template.component.html',\r\n styleUrls: ['./edit-cst-template.component.css']\r\n})\r\nexport class EditCstTemplateComponent implements OnInit, OnDestroy {\r\n\r\n BASE_ROUTE = \"/cst-template-edit\";\r\n\r\n incidentId: string;\r\n incident: any;\r\n templates: BasicTemplateInfo[] = [];\r\n selectedTemplate: BasicTemplateInfo;\r\n newTemplateForm: FormGroup;\r\n isSubmitted: boolean = false;\r\n isBasicTemplatesLoaded = false;\r\n\r\n incidentLoaded = false;\r\n isLaunched = false;\r\n\r\n incidentLaunchData: LAIncidentLaunchDTO;\r\n incidentLaunchDataDeepCopy: LAIncidentLaunchDTO;\r\n isIncidentLaunchdataLoaded: number = 0;\r\n\r\n teamMemebers: MemberProfile[] = [];\r\n isTeamMembersLoaded: boolean = false;\r\n\r\n selectedCheckbox: IncidentLaunchTask[] = [];\r\n\r\n selectedTeamMemberForBulkUpdate: MemberProfile;\r\n\r\n selectedTeamMemberForFilter: MemberProfile;\r\n selectedTemplateForFilter: IncidentLaunchTask;\r\n\r\n constructor(\r\n private _activatedRoute: ActivatedRoute,\r\n private _titleService: Title,\r\n private _fb: FormBuilder,\r\n private _loadScriptService: LoadScriptService,\r\n private _toastr: ToastrService,\r\n private _cstProtocolLaunchService: CstProtocolLaunchService,\r\n private _router: Router,\r\n private _immediateResponseService: ImmediateResponseService,\r\n private _incidentService: IncidentService,\r\n private _dialog: MatDialog,\r\n private _apiErrorService: ApiErrorService,\r\n private _stringHelperService: StringHelperService,\r\n private _location: Location,\r\n private _cstRoutingState: CstRoutingStateService,\r\n public _urlHelperService: UrlHelperService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n\r\n this._loadScriptService.LoadDropdownScript(\"Edit-CSTProtocolScriptTag\");\r\n\r\n this.InitForm();\r\n\r\n this._activatedRoute.params.subscribe((params) => {\r\n if (params.id != null && params.id != undefined && this._stringHelperService.IsValidGuid(params.id)) {\r\n this.incidentId = params.id;\r\n\r\n if (this.incidentId){\r\n\r\n \r\n if (!this.isTeamMembersLoaded) {\r\n this.LoadTeamMemberForIncident();\r\n }\r\n\r\n this.LoadIncidentDetail();\r\n }\r\n \r\n }\r\n });\r\n\r\n this._cstProtocolLaunchService.GetCSTTemplates().subscribe(\r\n (data) => {\r\n if (data.statusCode == 200) {\r\n \r\n //console.log(data);\r\n this.templates = data.data;\r\n this.isBasicTemplatesLoaded = true;\r\n\r\n if (!this._stringHelperService.IsAnyNullOrWhiteSpace(this.incidentId, ...this.templates.map(x => x.templateId))){\r\n let templateForEdit = this.templates.find(x => x.templateId.toLowerCase() === this.incidentId.toLowerCase());\r\n if (templateForEdit && !this.isNullOrWhiteSpace(templateForEdit.templateId)){\r\n this.selectedTemplate = templateForEdit;\r\n this.basicTemplateSelected(this.selectedTemplate);\r\n }\r\n }\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n\r\n trackByFn(index: number, item: IncidentLaunchTask) {\r\n return index;\r\n }\r\n\r\n InitForm() {\r\n this.newTemplateForm = this._fb.group({\r\n title: [null, Validators.required]\r\n });\r\n }\r\n\r\n //#region getters\r\nget title() {\r\n return this.newTemplateForm.get(\"title\") as FormControl;\r\n}\r\n//#endregion\r\n\r\n // templateSelected(selectedTemplate: BasicTemplateInfo) {\r\n // this.isIncidentLaunchdataLoaded = 1;\r\n // this.incidentLaunchData = null;\r\n // this.selectedCheckbox = [];\r\n \r\n // if (selectedTemplate == null && selectedTemplate == undefined) {\r\n // return;\r\n // }\r\n\r\n // document.getElementById(\"t_dropdownTemplates\").classList.remove(\"shown\");\r\n\r\n // this.selectedTemplate = selectedTemplate;\r\n\r\n \r\n\r\n // this._cstProtocolLaunchService\r\n // .GetCSTTemplatesActions(this.incidentId, selectedTemplate.templateId)\r\n // .subscribe(\r\n // (response) => {\r\n // //console.log(response);\r\n // if (response && response.data && response.statusCode == 200) {\r\n // this.incidentLaunchData = response.data;\r\n\r\n // if (this.incidentLaunchData && this.incidentLaunchData.taskGroups && this.incidentLaunchData.taskGroups.length > 0){\r\n // this.sortByTitalAndTimeframe();\r\n \r\n // console.log(response.data);\r\n // // if (this.incidentLaunchData){\r\n // // for (const taskGroup of this.incidentLaunchData.taskGroups) {\r\n // // if (taskGroup && taskGroup.tasks && taskGroup.tasks.length > 0){\r\n // // for (const task of taskGroup.tasks) {\r\n // // if (task && task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0){\r\n // // for (const assignee of task.incidentTaskAssignees) {\r\n // // if (assignee && assignee.assigneeId && assignee.assigneeName){\r\n // // if (!this.teamMemebers.some(x => x.toLocaleLowerCase() === assignee.assigneeName.toLocaleLowerCase())){\r\n // // this.teamMemebers.push(assignee.assigneeName);\r\n // // }\r\n // // }\r\n // // }\r\n // // }\r\n // // }\r\n // // }\r\n // // }\r\n // // }\r\n // this.isIncidentLaunchdataLoaded = 2;\r\n // }\r\n // }\r\n // },\r\n // (error) => {\r\n // this._apiErrorService.ShowError(error);\r\n // }\r\n // );\r\n // }\r\n\r\n\r\n\r\n\r\n basicTemplateSelected(selectedTemplate: BasicTemplateInfo) {\r\n this.isIncidentLaunchdataLoaded = 1;\r\n this.incidentLaunchData = null;\r\n this.selectedCheckbox = [];\r\n \r\n if (selectedTemplate == null && selectedTemplate == undefined) {\r\n return;\r\n }\r\n\r\n this._location.replaceState(\r\n `${this.BASE_ROUTE}/${selectedTemplate.templateId}`\r\n );\r\n\r\n this.incidentId = selectedTemplate.templateId;\r\n\r\n this.newTemplateForm.patchValue({\r\n \"title\": selectedTemplate.templateName\r\n });\r\n\r\n //this.templateTitle = selectedTemplate.templateName;\r\n\r\n document.getElementById(\"t_dropdownTemplates\")?.classList?.remove(\"shown\");\r\n\r\n this.selectedTemplate = selectedTemplate;\r\n\r\n this.LoadTeamMemberForIncident();\r\n\r\n this._cstProtocolLaunchService\r\n .GetEditTemplate(selectedTemplate.templateId)\r\n .subscribe(\r\n (response) => {\r\n //console.log(response);\r\n if (response && response.data && response.statusCode == 200) {\r\n console.log(response.data);\r\n \r\n this.incidentLaunchData = response.data;\r\n \r\n if (this.incidentLaunchData && this.incidentLaunchData.taskGroups && this.incidentLaunchData.taskGroups.length > 0){\r\n this.sortByTitalAndTimeframe();\r\n this.incidentLaunchDataDeepCopy = JSON.parse(JSON.stringify(this.incidentLaunchData));\r\n \r\n this.isIncidentLaunchdataLoaded = 2;\r\n\r\n if (document.getElementById('btnEditTitle')){\r\n document.getElementById('btnEditTitle').style.display = '';\r\n }\r\n }\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n\r\n this.LoadIncidentDetail();\r\n\r\n }\r\n\r\n LoadTeamMemberForIncident(){\r\n this._immediateResponseService\r\n .GetTeamMembersForIncident(this.incidentId)\r\n .subscribe(\r\n (response) => {\r\n if (response && response.data && response.statusCode == 200) {\r\n this.isTeamMembersLoaded = true;\r\n this.teamMemebers = response.data;\r\n this.sortTeamMemberByName();\r\n //console.log(response.data);\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n\r\n LoadIncidentDetail(){\r\n this._incidentService.getIncidentDetails(this.incidentId).subscribe(response => {\r\n if (response && response.data && response.statusCode == 200) {\r\n this.incident = response.data;\r\n this.incidentLoaded = true;\r\n console.log(this.incident);\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n }\r\n\r\n TemplateSelected(template: IncidentLaunchTask){\r\n document.getElementById(\"template-ul\").classList.remove(\"shown\");\r\n\r\n this.selectedTemplateForFilter = template;\r\n\r\n this.filterData();\r\n }\r\n\r\n\r\n TeamMemberSelected(teamMemebr: MemberProfile | null){\r\n document.getElementById(\"team-member-ul\").classList.remove(\"shown\");\r\n\r\n this.selectedTeamMemberForFilter = teamMemebr;\r\n\r\n this.filterData();\r\n }\r\n\r\n \r\n\r\n sortByTitalAndTimeframe(){\r\n this.incidentLaunchData.taskGroups.sort((a, b) => {\r\n // Sort by title first\r\n if (a.title < b.title) {\r\n return -1;\r\n }\r\n if (a.title > b.title) {\r\n return 1;\r\n }\r\n \r\n // If title are the same, sort by taskTimeFrame\r\n if (a.taskTimeFrame < b.taskTimeFrame) {\r\n return -1;\r\n }\r\n if (a.taskTimeFrame > b.taskTimeFrame) {\r\n return 1;\r\n }\r\n \r\n return 0; // If both name and number are equal\r\n });\r\n }\r\n\r\n sortTeamMemberByName(){\r\n this.teamMemebers.sort((a, b) => {\r\n if (a.firstName < b.firstName) {\r\n return -1;\r\n }\r\n if (a.firstName > b.firstName) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n }\r\n\r\n EditTemplateName(ddlTemplateTitles: HTMLElement, divTemplateTitle: HTMLElement, txtTemplateTitle: HTMLInputElement){\r\n ddlTemplateTitles.style.display = \"none\";\r\n divTemplateTitle.style.display = \"\";\r\n // txtTemplateTitle.value = this.selectedTemplate.templateName;\r\n }\r\n\r\n allCheckChanged(event: Event, index: number, incident: IncidentLaunchTask) {\r\n const tagClass = (event.target as HTMLElement).id;\r\n const tasks = incident?.tasks;\r\n if (tagClass != null && tagClass != undefined) {\r\n if (tasks != null && tasks != undefined && tasks.length > 0) {\r\n const chk = event.target as HTMLInputElement;\r\n if (chk.checked) {\r\n for (const task of tasks) {\r\n if (!this.selectedCheckbox.some((item) => item === task)) {\r\n this.selectedCheckbox.push(task);\r\n }\r\n }\r\n } else {\r\n this.selectedCheckbox = this.selectedCheckbox.filter(\r\n (item1) => !tasks.some((item2) => item1.id === item2.id)\r\n );\r\n }\r\n }\r\n\r\n const checkboxes = document.querySelectorAll(\r\n \".\" + tagClass\r\n ) as NodeListOf;\r\n if (\r\n checkboxes != null &&\r\n checkboxes != undefined &&\r\n checkboxes.length > 0\r\n ) {\r\n checkboxes.forEach((checkbox) => {\r\n checkbox.checked = (event.target as HTMLInputElement).checked;\r\n });\r\n }\r\n //#region common checkbox logic\r\n // const commonCheckbox = document.querySelectorAll(\r\n // \".\" + \"chkSame\" + index\r\n // ) as NodeListOf;\r\n // if (\r\n // commonCheckbox != null &&\r\n // commonCheckbox != undefined &&\r\n // commonCheckbox.length > 0\r\n // ) {\r\n // commonCheckbox.forEach((checkbox) => {\r\n // checkbox.checked = (event.target as HTMLInputElement).checked;\r\n // });\r\n // }\r\n //#endregion\r\n }\r\n }\r\n\r\n checkboxChanged(event, task: IncidentLaunchTask) {\r\n if (event.target.checked) {\r\n if (!this.selectedCheckbox.some((item) => item === task)) {\r\n this.selectedCheckbox.push(task);\r\n }\r\n } else {\r\n this.selectedCheckbox = this.selectedCheckbox.filter(\r\n (item) => item !== task\r\n );\r\n }\r\n }\r\n\r\n bulkUpdateClicked(teamMember: MemberProfile) {\r\n this.selectedTeamMemberForBulkUpdate = teamMember;\r\n\r\n this.incidentLaunchData.taskGroups.forEach((teamGroup) => {\r\n if (teamGroup.tasks != null && teamGroup.tasks.length > 0) {\r\n teamGroup.tasks.forEach((task) => {\r\n if (task != null && task.id) {\r\n if (this.selectedCheckbox.some((x) => x.id == task.id)) {\r\n if (task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0){\r\n task.incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n task.incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n task.incidentTaskAssignees[0].avatar = teamMember.avatar;\r\n }\r\n else{\r\n if (!task.incidentTaskAssignees){\r\n task.incidentTaskAssignees = [];\r\n }\r\n const taskAssignee = new IncidentTaskAssignee();\r\n taskAssignee.assigneeId = teamMember.id;\r\n taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n taskAssignee.avatar = teamMember.avatar;\r\n task.incidentTaskAssignees.push(taskAssignee);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.incidentLaunchDataDeepCopy.taskGroups.forEach((teamGroup) => {\r\n if (teamGroup.tasks != null && teamGroup.tasks.length > 0) {\r\n teamGroup.tasks.forEach((task) => {\r\n if (task != null && task.id) {\r\n if (this.selectedCheckbox.some((x) => x.id == task.id)) {\r\n if (task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0){\r\n task.incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n task.incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n task.incidentTaskAssignees[0].avatar = teamMember.avatar;\r\n }\r\n else{\r\n if (!task.incidentTaskAssignees){\r\n task.incidentTaskAssignees = [];\r\n }\r\n const taskAssignee = new IncidentTaskAssignee();\r\n taskAssignee.assigneeId = teamMember.id;\r\n taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n taskAssignee.avatar = teamMember.avatar;\r\n task.incidentTaskAssignees.push(taskAssignee);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n\r\n // const asdsad = this.incidentLaunchData.taskGroups.filter(x => this.selectedCheckbox.some(y => y.id == x.id));\r\n // console.log(asdsad);\r\n\r\n // if (!teamMember || !teamMember.id){\r\n // return;\r\n // }\r\n\r\n // if (this.incidentId && this.incidentLaunchData && this.incidentLaunchData.templateId && this.selectedCheckbox && this.selectedCheckbox.length > 0){\r\n\r\n // let saveProtocolLaunchDTO = new SaveProtocolLaunchDTO();\r\n // saveProtocolLaunchDTO.incidentId = this.incidentId;\r\n // saveProtocolLaunchDTO.TemplateIdUsed = this.incidentLaunchData.templateId;\r\n\r\n // for (const task of this.selectedCheckbox) {\r\n\r\n // let saveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n // saveProtocolLaunchItemDTO.TaskId = +task.id;\r\n // saveProtocolLaunchItemDTO.Timeframe = task.taskTimeFrame;\r\n // saveProtocolLaunchItemDTO.MemberId = teamMember.id;\r\n\r\n // saveProtocolLaunchDTO.Items.push(saveProtocolLaunchItemDTO);\r\n // }\r\n\r\n // this._cstProtocolLaunchService.SaveCSTProtocolLaunchAssignments(saveProtocolLaunchDTO).subscribe(response => {\r\n // this._router.navigate(['home-dashboard']);\r\n // }, err => {\r\n // console.log(\"Error:\" + JSON.stringify(err));\r\n // this._toastr.error(err?.error?.message, \"Error\");\r\n // });\r\n // }\r\n }\r\n\r\n SaveAndLaunchTheProtocol() {\r\n // if (\r\n // !this.selectedTeamMemberForBulkUpdate ||\r\n // !this.selectedTeamMemberForBulkUpdate.id\r\n // ) {\r\n // return;\r\n // }\r\n\r\n if (\r\n this.incidentId &&\r\n this.incidentLaunchData &&\r\n this.incidentLaunchData.templateId &&\r\n this.incidentLaunchData.taskGroups &&\r\n this.incidentLaunchData.taskGroups.length > 0\r\n ) {\r\n this.isLaunched = true;\r\n\r\n let saveProtocolLaunchDTO = new SaveProtocolLaunchDTO();\r\n saveProtocolLaunchDTO.incidentId = this.incidentId;\r\n saveProtocolLaunchDTO.TemplateIdUsed = this.incidentLaunchData.templateId;\r\n\r\n // for (const task of this.selectedCheckbox) {\r\n // let saveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n // saveProtocolLaunchItemDTO.TaskId = +task.id;\r\n // saveProtocolLaunchItemDTO.Timeframe = task.taskTimeFrame;\r\n // saveProtocolLaunchItemDTO.MemberId =\r\n // this.selectedTeamMemberForBulkUpdate.id;\r\n\r\n // saveProtocolLaunchDTO.Items.push(saveProtocolLaunchItemDTO);\r\n // }\r\n \r\n for (const task of this.incidentLaunchData.taskGroups) {\r\n if(task.tasks && task.tasks.length > 0){\r\n for (const innerTask of task.tasks) {\r\n let saveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n saveProtocolLaunchItemDTO.TaskId = +innerTask.id;\r\n saveProtocolLaunchItemDTO.Timeframe = innerTask.taskTimeFrame;\r\n if (innerTask.incidentTaskAssignees && innerTask.incidentTaskAssignees.length > 0){\r\n saveProtocolLaunchItemDTO.MemberId = innerTask.incidentTaskAssignees[0].assigneeId;\r\n }\r\n \r\n saveProtocolLaunchDTO.Items.push(saveProtocolLaunchItemDTO);\r\n }\r\n }\r\n }\r\n\r\n this._cstProtocolLaunchService\r\n .SaveCSTProtocolLaunchAssignments(saveProtocolLaunchDTO)\r\n .pipe(tap(() => this.isLaunched = true))\r\n .subscribe(\r\n (response) => {\r\n this._router.navigate([\"home-dashboard\"]);\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n personClicked(teamMember: MemberProfile[], taskgroup: IncidentLaunchTask, task: IncidentLaunchTask, outerIndex: number, innerIndex: number){\r\n let memberArray : {name: string, avatar: string}[] = [];\r\n memberArray = teamMember.map(x => { \r\n return {name: `${x.firstName} ${x.familyName}`, avatar: x.avatar}\r\n });\r\n\r\n //const memberStringArray = teamMember.map(x => `${x.firstName} ${x.familyName}`).sort();\r\n\r\n this._dialog.open(AssignMemberPopupComponent, {\r\n height: '80vh',\r\n data: {members: memberArray}\r\n }).afterClosed().subscribe(selectedMember => {\r\n if (selectedMember == null || selectedMember == undefined || selectedMember == ''){\r\n return;\r\n }\r\n\r\n const selectedTeamMember = teamMember.find(x => `${x.firstName} ${x.familyName}` === selectedMember);\r\n if (!selectedTeamMember){\r\n return;\r\n }\r\n\r\n this.AssignMember(selectedTeamMember, taskgroup, task, outerIndex, innerIndex);\r\n });\r\n }\r\n\r\n AssignMember(teamMember: MemberProfile, taskgroup: IncidentLaunchTask, task: IncidentLaunchTask, outerIndex: number, innerIndex: number) {\r\n const outerIndexForMainCollection = this.incidentLaunchData.taskGroups.findIndex(x => x.id === taskgroup.id);\r\n let innerIndexForMainCollection;\r\n if (outerIndexForMainCollection !== -1 && this.incidentLaunchData.taskGroups[outerIndexForMainCollection] && this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks && this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks.length > 0){\r\n innerIndexForMainCollection = this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks.findIndex(x => x.id === task.id);\r\n\r\n if (this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees && this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees.length > 0){\r\n this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees[0].avatar = teamMember.avatar;\r\n \r\n }\r\n else{\r\n if (!this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees){\r\n this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees = [];\r\n }\r\n const taskAssignee = new IncidentTaskAssignee();\r\n taskAssignee.assigneeId = teamMember.id;\r\n taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n taskAssignee.avatar = teamMember.avatar;\r\n this.incidentLaunchData.taskGroups[outerIndexForMainCollection].tasks[innerIndexForMainCollection].incidentTaskAssignees.push(taskAssignee);\r\n \r\n }\r\n }\r\n \r\n \r\n if (this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees && this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees.length > 0){\r\n this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].avatar = teamMember.avatar;\r\n\r\n }\r\n else{\r\n if (!this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees){\r\n this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees = [];\r\n }\r\n const taskAssignee = new IncidentTaskAssignee();\r\n taskAssignee.assigneeId = teamMember.id;\r\n taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n taskAssignee.avatar = teamMember.avatar;\r\n this.incidentLaunchDataDeepCopy.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees.push(taskAssignee);\r\n\r\n }\r\n }\r\n\r\n filterData() {\r\n this.incidentLaunchDataDeepCopy = JSON.parse(JSON.stringify(this.incidentLaunchData));\r\n this.selectedCheckbox = [];\r\n if (!this.selectedTeamMemberForFilter && !this.selectedTemplateForFilter){\r\n return;\r\n }\r\n\r\n if (this.selectedTemplateForFilter){\r\n this.incidentLaunchDataDeepCopy.taskGroups = this.incidentLaunchDataDeepCopy.taskGroups.filter(x => x.id === this.selectedTemplateForFilter.id);\r\n }\r\n \r\n let result: LAIncidentLaunchDTO = new LAIncidentLaunchDTO();\r\n result.incidentId = this.incidentLaunchDataDeepCopy.incidentId;\r\n result.incidentTitle = this.incidentLaunchDataDeepCopy.incidentTitle;\r\n result.template = this.incidentLaunchDataDeepCopy.template;\r\n result.templateId = this.incidentLaunchDataDeepCopy.templateId;\r\n\r\n if (!this.selectedTeamMemberForFilter){\r\n result.taskGroups = this.incidentLaunchDataDeepCopy.taskGroups;\r\n return;\r\n }\r\n else{\r\n\r\n for (let outterIndex = this.incidentLaunchDataDeepCopy.taskGroups.length - 1; outterIndex >= 0; outterIndex--) {\r\n const tasks = this.incidentLaunchDataDeepCopy.taskGroups[outterIndex].tasks;\r\n if (tasks && tasks.length > 0) {\r\n for (let innerIndex = tasks.length - 1; innerIndex >= 0; innerIndex--) {\r\n const assignee = tasks[innerIndex].incidentTaskAssignees;\r\n if (!assignee || assignee.length == 0 || !assignee[0] || assignee[0].assigneeId !== this.selectedTeamMemberForFilter.id){\r\n this.incidentLaunchDataDeepCopy.taskGroups[outterIndex].tasks.splice(innerIndex, 1);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n onSubmit(){\r\n this.isSubmitted = true;\r\n if (!this.incidentLaunchDataDeepCopy.taskGroups || this.incidentLaunchDataDeepCopy.taskGroups.length <= 0){\r\n this._toastr.info(\"Nothing to be save\");\r\n }\r\n\r\n if (this.newTemplateForm.invalid){\r\n return;\r\n }\r\n\r\n document.getElementById('save-btn-spinner').style.display = '';\r\n document.getElementById('btn-save').style.display = 'none';\r\n\r\n let protocolTemplateDTO = new ProtocolTemplateDTO();\r\n\r\n protocolTemplateDTO.title = this.title.value\r\n \r\n for (const taskGroup of this.incidentLaunchDataDeepCopy.taskGroups){\r\n if (!taskGroup.tasks || taskGroup.tasks.length <= 0){\r\n continue;\r\n }\r\n for (const task of taskGroup.tasks){\r\n const saveProtocolLaunchItemDTO: SaveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n saveProtocolLaunchItemDTO.TaskId = +task.id;\r\n saveProtocolLaunchItemDTO.Timeframe = task.taskTimeFrame;\r\n\r\n if (task && task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0 && task.incidentTaskAssignees[0].assigneeId){\r\n saveProtocolLaunchItemDTO.MemberId = task.incidentTaskAssignees[0].assigneeId;\r\n }\r\n protocolTemplateDTO.items.push(saveProtocolLaunchItemDTO);\r\n }\r\n }\r\n\r\n if (this.selectedTemplate && this.selectedTemplate.templateId){\r\n\r\n const templateId = this.selectedTemplate.templateId;\r\n\r\n this._cstProtocolLaunchService.EditTemplateTemplate(templateId, protocolTemplateDTO).subscribe(response => {\r\n document.getElementById('save-btn-spinner').style.display = 'none';\r\n document.getElementById('btn-save').style.display = '';\r\n \r\n this._toastr.success(\"Saved successfully!\", \"Saved\");\r\n }, \r\n (error) => {\r\n document.getElementById('save-btn-spinner').style.display = 'none';\r\n document.getElementById('btn-save').style.display = '';\r\n\r\n this._apiErrorService.ShowError(error);\r\n });\r\n }\r\n // else{\r\n // this._cstProtocolLaunchService.EditTemplateTemplate(templateId, protocolTemplateDTO).subscribe(response => {\r\n // document.getElementById('save-btn-spinner').style.display = 'none';\r\n // document.getElementById('btn-save').style.display = 'block';\r\n \r\n // this._toastr.success(\"Saved successfully!\", \"Saved\");\r\n // });\r\n // }\r\n }\r\n\r\n CopyThisOne(){\r\n if (!this.incidentLaunchDataDeepCopy || !this.incidentLaunchDataDeepCopy.taskGroups || this.incidentLaunchDataDeepCopy.taskGroups.length <= 0){\r\n return;\r\n }\r\n\r\n this.incidentLaunchDataDeepCopy.templateId = '';\r\n this.selectedTemplate = null;\r\n\r\n // this.incidentLaunchDataDeepCopy.taskGroups.forEach(taskGroup => {\r\n // if (taskGroup && taskGroup.tasks && taskGroup.tasks.length > 0){\r\n // taskGroup.tasks.forEach(task => {\r\n // task.incidentTaskAssignees = [];\r\n // });\r\n // }\r\n // });\r\n\r\n this._cstRoutingState.incidentTeplate = this.incidentLaunchDataDeepCopy;\r\n\r\n this._router.navigate(['/cst-template-create']);\r\n }\r\n\r\n\r\n\r\n // AssignMember(teamMember: MemberProfile, task: any, outerIndex: number, innerIndex: number) {\r\n\r\n // if (this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees.length > 0){\r\n // this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n // this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // }\r\n // else{\r\n // const taskAssignee = new IncidentTaskAssignee();\r\n // taskAssignee.assigneeId = teamMember.id;\r\n // taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // this.incidentLaunchData.taskGroups[outerIndex].tasks[innerIndex].incidentTaskAssignees.push(taskAssignee);\r\n // }\r\n \r\n // // this.incidentLaunchData.taskGroups.forEach((teamGroup) => {\r\n // // if (teamGroup.tasks != null && teamGroup.tasks.length > 0) {\r\n // // teamGroup.tasks.forEach((task) => {\r\n // // if (task != null && task.id) {\r\n // // if (this.selectedCheckbox.some((x) => x.id == task.id)) {\r\n // // if (task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0){\r\n // // task.incidentTaskAssignees[0].assigneeId = teamMember.id;\r\n // // task.incidentTaskAssignees[0].assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // // }\r\n // // else{\r\n // // const taskAssignee = new IncidentTaskAssignee();\r\n // // taskAssignee.assigneeId = teamMember.id;\r\n // // taskAssignee.assigneeName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n // // task.incidentTaskAssignees.push(taskAssignee);\r\n // // }\r\n // // }\r\n // // }\r\n // // });\r\n // // }\r\n // // });\r\n // }\r\n\r\n // SaveCSTProtocolLaunchAssignments(){\r\n\r\n // if (this.incidentId && this.incidentLaunchData && this.incidentLaunchData.templateId && this.selectedCheckbox && this.selectedCheckbox.length > 0){\r\n\r\n // let saveProtocolLaunchDTO = new SaveProtocolLaunchDTO();\r\n // saveProtocolLaunchDTO.incidentId = this.incidentId;\r\n // saveProtocolLaunchDTO.TemplateIdUsed = this.incidentLaunchData.templateId;\r\n\r\n // for (const task of this.selectedCheckbox) {\r\n\r\n // let saveProtocolLaunchItemDTO = new SaveProtocolLaunchItemDTO();\r\n // saveProtocolLaunchItemDTO.TaskId = +task.id;\r\n // saveProtocolLaunchItemDTO.Timeframe = task.taskTimeFrame;\r\n // saveProtocolLaunchItemDTO.MemberId = '';\r\n\r\n // saveProtocolLaunchDTO.Items.push(saveProtocolLaunchItemDTO);\r\n // }\r\n\r\n // this._cstProtocolLaunchService.SaveCSTProtocolLaunchAssignments(saveProtocolLaunchDTO).subscribe(response => {\r\n // this._router.navigate(['home-dashboard']);\r\n // }, err => {\r\n // console.log(\"Error:\" + JSON.stringify(err));\r\n // this._toastr.error(err?.error?.message, \"Error\");\r\n // });\r\n // }\r\n\r\n // }\r\n\r\n GetTimeFram(index: number): string {\r\n return this._cstProtocolLaunchService.GetTimeFram(index);\r\n }\r\n\r\n GetTemplateTitle(template: IncidentLaunchTask){\r\n return template?.title + ' - ' + this.GetTimeFram(template.taskTimeFrame);\r\n }\r\n\r\n GetPersonImageSrc(task: IncidentLaunchTask){\r\n if (task && task.incidentTaskAssignees && task.incidentTaskAssignees.length > 0){\r\n return task?.incidentTaskAssignees[0]?.avatar ? task.incidentTaskAssignees[0].avatar : 'assets/images/profile-blank-icon.png';\r\n }\r\n else{\r\n return \"assets/images/profile-blank-icon.png\";\r\n }\r\n }\r\n\r\n GetStringOfTeamMembersList(teamMebers: IncidentTaskAssignee[]) {\r\n let result = \"\";\r\n if (teamMebers && teamMebers.length > 0) {\r\n for (const teamMember of teamMebers) {\r\n result += teamMember.assigneeName + \", \";\r\n }\r\n }\r\n if (result.charAt(result.length - 2) == \",\") {\r\n result = result.slice(0, -2);\r\n }\r\n return result;\r\n }\r\n\r\n isNullOrWhiteSpace(str) {\r\n return str === null || str === undefined || str.trim() === '';\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._loadScriptService.RemoveScript(\"Edit-CSTProtocolScriptTag\");\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

Edit CST Template

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

\r\n \r\n CST template for \r\n {{!selectedTemplateForFilter ? 'template not selected' :\r\n GetTemplateTitle(selectedTemplateForFilter)}} \r\n for \r\n {{!selectedTeamMemberForFilter ? 'everyone' :\r\n selectedTeamMemberForFilter.firstName + ' ' +\r\n selectedTeamMemberForFilter.familyName}} \r\n

\r\n
\r\n \r\n \r\n
\r\n
    \r\n 0\">\r\n \r\n
  • \r\n \r\n
  • \r\n
\r\n
    \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n Incident template title     \r\n \"pencil-icon\"\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Title is required\r\n
\r\n
\r\n\r\n \r\n \r\n {{(selectedTemplate != undefined && selectedTemplate != null) ?\r\n selectedTemplate.templateName : 'No Template Selected'}}\r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n\r\n
\r\n \r\n

Created: {{incident.incidentDate | date: 'hh:mm dd/MM/yy'}}

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

Edited: {{incident.lastUpdatedAt | date: 'hh:mm dd/MM/yy'}}

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

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PersonActionTimeframe\r\n \r\n \r\n
\r\n
\r\n \r\n \"user-profile\"\r\n {{GetStringOfTeamMembersList(task?.incidentTaskAssignees)}}\r\n \r\n \r\n
\r\n
{{task?.title}}\r\n 0\"\r\n class=\"status-btn timeline\">{{GetTimeFram(task?.taskTimeFrame)}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { interval } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { BCURegionDTO } from '../Models/BCURegionDTO.Model';\r\nimport { LADashboardDTO } from '../Models/dashboard.model';\r\nimport { DashboardService } from './dashboard.service';\r\nimport { ApiErrorService } from '../core/services/api-error.service';\r\nimport { UserProfileService } from '../core/services/user-profile.service';\r\nimport { AuthenticatedUserForGrouping, UserRegions } from '../Models/Members/AuthenticatedUserGroups';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.css']\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n dashboardLoad: boolean = false;\r\n //BCURegionDTO: BCURegionDTO[] = [];\r\n\r\n usersRegionsAndGroups: AuthenticatedUserForGrouping;\r\n selectedRegion: BCURegionDTO;\r\n isUserLoaded = false;\r\n \r\n // SelectedBCURegionDTO: BCURegionDTO = new BCURegionDTO()\r\n //OrganizationGroup: OrganizationGroup[] = []\r\n LADashboardDTO: LADashboardDTO[] = []\r\n\r\n \r\n constructor(\r\n private _dashboardService: DashboardService, \r\n private _toastr: ToastrService,\r\n private _titleService:Title,\r\n private _activatedRoute: ActivatedRoute,\r\n private _apiErrorService: ApiErrorService,\r\n private _userProfileService: UserProfileService) { }\r\n\r\n ngOnInit() {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title)\r\n this.GetUserRegionsAndGroups();\r\n // this.getRegionList();\r\n // this.getBUCRegion();\r\n //this.GetDashboradDetails();\r\n //this.getSelectedBCURegionDTO()\r\n //this.getOrganizationGroup();\r\n interval(10000).subscribe(() => {\r\n this.getRefreshDashboardData();\r\n });\r\n }\r\n\r\n\r\n GetUserRegionsAndGroups(){\r\n\r\n let timerId = setInterval(() => {\r\n const userWithRegion = this._userProfileService.GetAuthenticatedUserGroups();\r\n if (userWithRegion){\r\n this.usersRegionsAndGroups = userWithRegion;\r\n if (this.usersRegionsAndGroups && this.usersRegionsAndGroups.region) {\r\n this.selectedRegion = this.usersRegionsAndGroups.region;\r\n }\r\n \r\n if (this.selectedRegion){\r\n clearInterval(timerId);\r\n this.GetDashboradDetails();\r\n \r\n this.isUserLoaded = true;\r\n }\r\n }\r\n }, 100);\r\n }\r\n\r\n // getRegionList() {\r\n // this.NavbarService.getRegionList().subscribe(res => {\r\n // if (res != null && res.statusCode == 200) {\r\n // this.BCURegionDTO = res.data;\r\n // this.BCURegionDTO.forEach(element => {\r\n // element.selected = false\r\n // });\r\n // if (this.BCURegionDTO != null && this.BCURegionDTO.length > 0) {\r\n // if (this.SelectedBCURegionDTO == null || this.SelectedBCURegionDTO.id == null) {\r\n // this.BCURegionDTO[0].selected = true\r\n // this.setBCURegionDTO(this.BCURegionDTO[0])\r\n // this.SelectedBCURegionDTO = this.BCURegionDTO[0];\r\n // } else {\r\n // this.BCURegionDTO.forEach(element => {\r\n // if (element.id == this.SelectedBCURegionDTO.id)\r\n // element.selected = true\r\n // });\r\n // }\r\n // }\r\n // }\r\n // }, \r\n // (error) => {\r\n // this._apiErrorService.ShowError(error);\r\n // })\r\n // }\r\n // getBUCRegion() {\r\n // this.SelectedBCURegionDTO = this.NavbarService.getSelectedBCURegionDTO();\r\n // }\r\n // getOrganizationGroup() {\r\n // this.OrganizationGroup = this.IncidentService.getOrganizationGroup()\r\n // }\r\n getRefreshDashboardData() {\r\n const self = this;\r\n self._dashboardService.getDashBoard(this.selectedRegion.id).subscribe(res => {\r\n if (res != null && res.statusCode == 200) {\r\n this.LADashboardDTO = res.data\r\n }\r\n }, \r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n }\r\n GetDashboradDetails() {\r\n const self = this;\r\n self.dashboardLoad = true;\r\n self._dashboardService.getDashBoard(this.selectedRegion.id).pipe(finalize(() => {\r\n self.dashboardLoad = false;\r\n })).subscribe(res => {\r\n if (res != null && res.statusCode == 200) {\r\n this.LADashboardDTO = res.data\r\n }\r\n }, \r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n })\r\n }\r\n getTypeOfIncident(type) {\r\n if (type === '0') return 'Early Alert';\r\n else if (type === '1') return 'Active';\r\n else if (type === '2') return 'Active';\r\n else if (type === '3') return 'Scaled Down';\r\n else if (type === '4') return 'Archived';\r\n return type;\r\n }\r\n DateConverttoUTC(date: Date) {\r\n return new Date(date.getUTCFullYear(),\r\n date.getUTCMonth(),\r\n date.getUTCDate(),\r\n date.getUTCHours(),\r\n date.getUTCMinutes(),\r\n date.getUTCSeconds()\r\n );\r\n }\r\n // getSelectedBCURegionDTO() {\r\n // this.SelectedBCURegionDTO = this.NavbarService.getSelectedBCURegionDTO()\r\n // }\r\n changeBUCRegion(event, selectedRegion: UserRegions) {\r\n\r\n if (event) {\r\n // selectedRegion.selected=true\r\n // // this.SelectedRegion = { id : item.id, name: item.name, locationDescription: item.locationDescription };\r\n // this.usersRegionsAndGroups.region.forEach(region => {\r\n // if (region.regionId == selectedRegion.regionId){\r\n // region.selected = true;\r\n // }\r\n // else{\r\n // region.selected = false;\r\n // }\r\n // });\r\n // this.SetAuthenticatedUserGropus(this.usersRegionsAndGroups);\r\n } \r\n else {\r\n // this.SelectedRegion = { id : this.BCURegionDTO[0].id, name: this.BCURegionDTO[0].name, locationDescription: this.BCURegionDTO[0].locationDescription };\r\n // this.usersRegionsAndGroups.region.forEach((region, index) => {\r\n // if (index == 0){\r\n // region.selected = true;\r\n // }\r\n // });\r\n // this.SetAuthenticatedUserGropus(this.usersRegionsAndGroups);\r\n \r\n // this.BCURegionDTO[0].selected=true;\r\n // this.setBCURegionDTO(this.BCURegionDTO[0])\r\n // this.SelectedRegion = this.BCURegionDTO[0];\r\n }\r\n\r\n this.GetDashboradDetails();\r\n\r\n\r\n // this.BCURegionDTO.forEach(element => {\r\n // element.selected = false\r\n // });\r\n // if (event) {\r\n // item.selected=true\r\n // this.SelectedBCURegionDTO = item;\r\n // this.setBCURegionDTO(item);\r\n // } else {\r\n // this.BCURegionDTO[0].selected=true;\r\n // this.setBCURegionDTO(this.BCURegionDTO[0])\r\n // this.SelectedBCURegionDTO = this.BCURegionDTO[0];\r\n // }\r\n // window.location.reload();\r\n }\r\n\r\n SetAuthenticatedUserGropus(authenticatedUserGroup: AuthenticatedUserForGrouping){\r\n this._userProfileService.SetAuthenticatedUserGroups(authenticatedUserGroup);\r\n }\r\n\r\n // setBCURegionDTO(SelectedBCURegionDTO: BCURegionDTO) {\r\n // this.NavbarService.setSelectedBCURegionDTO(SelectedBCURegionDTO)\r\n // }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n

{{selectedRegion?.name}}

\r\n {{selectedRegion?.locationDescription}}\r\n \r\n
\r\n
\r\n \r\n
    \r\n
  • Choose BCUs to display
  • \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \"\"\r\n

New Incident

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
IncidentTypeTime DateCADRVPCrime SceneCordonPeolpe displaced?Partner messagesSection 35Section 60Local Authority Protocol progressActions
\r\n {{incident.title}}\r\n {{getTypeOfIncident(incident.type)}}\r\n {{incident.datetime}}\r\n \r\n {{incident.cad}}\r\n \r\n \"\"\r\n \r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
=0\" class=\"progress hrs-progress\">\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
=0\" class=\"progress hrs-progress\">\r\n
\r\n
\r\n \r\n
\r\n
\r\n
0\">\r\n
\r\n EP \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n CST \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
No Incident Found
\r\n
\r\n \r\n
\r\n
","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from '../core/interceptors/api.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DashboardService {\r\n constructor(private _apiService: ApiService) { }\r\n getDashBoard(bcuRegion) {\r\n const url = \"/BCU/GetDashboard/\"+bcuRegion;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n \r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { NavbarService } from '../nav-menu/navbar.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { AppStartService } from '../core/services/app-start.service';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit, OnDestroy {\r\n\r\n navmenuClass: string;\r\n CurrentUrlChangesSubscription= new Subscription();\r\n\r\n constructor(\r\n private _navbarService: NavbarService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.CurrentUrlChangesSubscription = this._navbarService.navbarClassSubject.subscribe(x => this.navmenuClass = x);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.CurrentUrlChangesSubscription){\r\n this.CurrentUrlChangesSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n
","import { AssignMemberPopupComponent } from '../../overlays/assign-member-popup/assign-member-popup.component';\r\nimport { ConfirmationDialogServiceService } from \"../../overlays/confirmation-dialog/confirmation-dialog-service.service\";\r\nimport { NotesOverlayComponent } from \"../../overlays/notes-overlay/notes-overlay.component\";\r\nimport { CstProtocolService } from \"./cst-protocol.service\";\r\nimport { LoadScriptService } from \"../load-script.service\";\r\nimport {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n ElementRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { NavbarService } from \"../../nav-menu/navbar.service\";\r\nimport {\r\n PostProtocolActionsModel,\r\n PostProtocolActionsTaskModel,\r\n} from \"src/app/Models/PostProtocolActionsModel\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ConfirmationModelService } from \"src/app/overlays/confirmation-modal/confirmation-model.service\";\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Member } from \"src/app/Models/Members/Member\";\r\nimport { IncidentNoteDTO } from 'src/app/Models/Notes/IncidentNoteDTO';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { IncidentMessageSendService } from 'src/app/team/incident-message-send/incident-message-send.service';\r\nimport { UrlHelperService } from 'src/app/core/services/url-helper.service';\r\n\r\n@Component({\r\n selector: \"app-cst-protocol\",\r\n templateUrl: \"./cst-protocol.component.html\",\r\n styleUrls: [\"./cst-protocol.component.css\"],\r\n})\r\nexport class CstProtocolComponent\r\n implements OnInit, OnDestroy\r\n{\r\n data: PostProtocolActionsModel[] = [];\r\n checkbox: { checked: boolean; id: any }[];\r\n // tempDataForFilter: PostProtocolActionsModel[];\r\n teamActions: PostProtocolActionsModel[] = [];\r\n isDataLoading = true;\r\n isTeamMemebrLoading = true;\r\n selectedCheckbox: PostProtocolActionsTaskModel[] = [];\r\n\r\n teamMembers = new Set();\r\n incedences = new Set();\r\n timeFrames : string[] = [\"All time frames\"];\r\n issues : string[] = [\"All\", \"With\", \"Without\"];\r\n categories = new Set();\r\n incedenceStatuses: string[] = [\"All\"];\r\n selectedTeamMember: string;\r\n selectedTimeFrame: string;\r\n selectedIssue: string;\r\n selectedincedence: string;\r\n selectedincedenceId: string;\r\n selectedincedenceStatus: string;\r\n selectedCategory: string;\r\n allTeamMembers: Member[] = [];\r\n loggedInUserId: string = '';\r\n // isConfirmationPopupOpen = false;\r\n // isConfirm = false;\r\n // confirmationMessage = \"\";\r\n\r\n teamMembersToAssign: Member[];\r\n\r\n updateStatusSubscription: Subscription;\r\n updateIndividualStatusSubscription: Subscription;\r\n\r\n @ViewChild(\"btnIncedenceStatus\") btnIncedenceStatus: ElementRef;\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private titleService: Title,\r\n private NavbarService: NavbarService,\r\n private loadScriptService: LoadScriptService,\r\n private cstProtocolService: CstProtocolService,\r\n public dialog: MatDialog,\r\n public confirmationDialogServiceService: ConfirmationDialogServiceService,\r\n public confirmationModelService: ConfirmationModelService,\r\n private toastr: ToastrService,\r\n private apiErrorService: ApiErrorService,\r\n private incidentMessageSendService: IncidentMessageSendService,\r\n public _urlHelperService: UrlHelperService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.titleService.setTitle(this.activatedRoute.snapshot.data.title);\r\n this.NavbarService.setPageTitle(this.activatedRoute.snapshot.data.title);\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n if (params.category != null && params.category != undefined) {\r\n if (params.category == \"Issue\"){\r\n this.selectedincedenceStatus = \"All\";\r\n this.selectedIssue = \"With\";\r\n }\r\n else{\r\n this.selectedincedenceStatus = params.category;\r\n this.selectedIssue = \"All\";\r\n }\r\n } \r\n else {\r\n this.selectedincedenceStatus = \"All\";\r\n this.selectedIssue = \"All\";\r\n }\r\n if (params.member != null && params.member != undefined){\r\n this.loggedInUserId = params.member;\r\n }\r\n // if (params.tital != null && params.tital != undefined) {\r\n // this.selectedincedence = params.tital;\r\n // } else {\r\n // this.selectedincedence = \"All\";\r\n // }\r\n });\r\n\r\n this.activatedRoute.params.subscribe((param) => {\r\n this.selectedincedenceId = param[\"id?\"];\r\n });\r\n\r\n this.incidentMessageSendService.GetAllTeamMembers()\r\n .subscribe(response => {\r\n //console.log(response);\r\n this.allTeamMembers = response.data;\r\n }, \r\n (error) => {\r\n if (error && error.error && error.error.message){\r\n console.log(\"Error:\" + JSON.stringify(error));\r\n this.apiErrorService.ShowErrorModal(\"Error\", error.error.message);\r\n //this.toastr.error(error.error.message, \"Error\");\r\n }\r\n else{\r\n this.apiErrorService.ShowErrorModal();\r\n //this.toastr.error(\"Something went wrong!\");\r\n }\r\n });\r\n\r\n this.selectedTimeFrame = \"All time frames\";\r\n\r\n this.cstProtocolService.getTeamMembers().subscribe(response => {\r\n if (\r\n response != null &&\r\n response != undefined &&\r\n response.statusCode == 200\r\n ){\r\n this.teamMembersToAssign = response.data;\r\n //console.log(response.data);\r\n this.teamMembersToAssign.sort((a, b) => a.firstName.localeCompare(b.firstName));\r\n this.isTeamMemebrLoading = false;\r\n }\r\n },\r\n (error) => {\r\n if (error && error.error && error.error.message){\r\n console.log(\"Error:\" + JSON.stringify(error));\r\n this.toastr.error(error.error.message, \"Error\");\r\n }\r\n else{\r\n this.toastr.error(\"Something went wrong!\");\r\n }\r\n })\r\n\r\n this.cstProtocolService\r\n .getPostProtocolActions()\r\n .subscribe((response) => {\r\n if (\r\n response != null &&\r\n response != undefined &&\r\n response.statusCode == 200\r\n ) {\r\n console.log(response.data);\r\n if (response.data != null && response.data != undefined) {\r\n this.data = response.data;\r\n this.teamActions = this.data;\r\n\r\n const title = this.teamActions.find(\r\n (x) => x.id === this.selectedincedenceId\r\n )?.title;\r\n if (title == undefined || title == null) {\r\n this.selectedincedence = \"All\";\r\n } else {\r\n this.selectedincedence = title;\r\n }\r\n\r\n this.teamMembers.add(\"All\");\r\n this.incedences.add(\"All\");\r\n this.categories.add(\"All categories\");\r\n\r\n for (const actions of this.teamActions) {\r\n this.incedences.add(actions.title);\r\n }\r\n\r\n let teamMembers = [];\r\n for (const actions of this.teamActions) {\r\n for (const task of actions.tasks) {\r\n teamMembers.push(task.personName);\r\n }\r\n }\r\n teamMembers.sort();\r\n\r\n for (const teamMember of teamMembers) {\r\n this.teamMembers.add(teamMember);\r\n }\r\n \r\n for (const actions of this.teamActions) {\r\n for (const task of actions.tasks) {\r\n this.categories.add(task.category);\r\n }\r\n }\r\n\r\n const staticDataIncedenceStatuses = [\r\n // \"Pending\",\r\n // \"Accepted\",\r\n // \"Ongoing\",\r\n // \"Done\",\r\n\r\n \"Accepted\",\r\n \"Declined\",\r\n \"Pending\",\r\n \"Complete\",\r\n \"Not Required\",\r\n \"Ongoing\",\r\n \"Late\"\r\n ];\r\n this.incedenceStatuses.push(...staticDataIncedenceStatuses);\r\n\r\n const staticDataTimeFrames = [\r\n \"24 hours\",\r\n \"1 week\",\r\n \"1 month\"\r\n ];\r\n this.timeFrames.push(...staticDataTimeFrames);\r\n\r\n //this.selectedIssue = [...this.issues][0] as string;\r\n\r\n if (this.allTeamMembers && this.allTeamMembers.length > 0 && this,this.loggedInUserId){\r\n const teamMember = this.allTeamMembers.find(x => x.id == this.loggedInUserId);\r\n \r\n const teamMembers = [...this.teamMembers] as string[];\r\n \r\n if (teamMember && teamMembers.find(x => x == `${teamMember.firstName} ${teamMember.familyName}`)){\r\n this.selectedTeamMember = `${teamMember.firstName} ${teamMember.familyName}`;\r\n }\r\n else{\r\n this.selectedTeamMember = [...this.teamMembers][0] as string;\r\n }\r\n }\r\n else{\r\n this.selectedTeamMember = [...this.teamMembers][0] as string;\r\n }\r\n\r\n this.selectedCategory = [...this.categories][0] as string;\r\n this.filterData();\r\n // this.selectedincedence = [...this.incedences][0] as string;\r\n // this.selectedincedenceStatus = this.incedenceStatuses[0];\r\n\r\n \r\n\r\n this.isDataLoading = false;\r\n\r\n this.loadScriptService.LoadScript(\r\n \"protocol-actions-post-protocol-launchScriptTag\"\r\n );\r\n \r\n\r\n // var firstAccordian = document.getElementById('contactaccord0');\r\n\r\n // if (firstAccordian != null && firstAccordian != undefined){\r\n // firstAccordian.classList.add(\"show\");\r\n // }\r\n }\r\n }\r\n },\r\n (error) => {\r\n if (error && error.error && error.error.message){\r\n console.log(\"Error:\" + JSON.stringify(error));\r\n this.apiErrorService.ShowErrorModal(\"Error\", error.error.message);\r\n //this.toastr.error(error.error.message, \"Error\");\r\n }\r\n else{\r\n this.apiErrorService.ShowErrorModal();\r\n //this.toastr.error(\"Something went wrong!\");\r\n }\r\n });\r\n\r\n // this.confirmationModelService.onCancelEvent.subscribe((x) => {\r\n // this.isConfirm = false;\r\n // this.isConfirmationPopupOpen = false;\r\n // });\r\n // this.confirmationModelService.onConfirmEvent.subscribe((x) => {\r\n // this.isConfirm = true;\r\n // this.isConfirmationPopupOpen = false;\r\n // });\r\n }\r\n\r\n teamMemberClicked(selectedValue: string) {\r\n this.selectedTeamMember = selectedValue;\r\n this.filterData();\r\n document.getElementById(\"t_dropdownTeamMembers\").classList.remove(\"shown\");\r\n }\r\n\r\n incedenceStatusClicked(selectedValue: string) {\r\n this.selectedincedenceStatus = selectedValue;\r\n this.filterData();\r\n document\r\n .getElementById(\"t_dropdownIncedentStatuses\")\r\n .classList.remove(\"shown\");\r\n\r\n // console.log(this.btnIncedenceStatus);\r\n\r\n // $(this).parents('.each-dropdown-content-js').removeClass('shown');\r\n\r\n // this.btnIncedenceStatus.nativeElement.parentNode.classList.remove('shown');\r\n }\r\n\r\n categoryClicked(selectedValue: string) {\r\n this.selectedCategory = selectedValue;\r\n this.filterData();\r\n document\r\n .getElementById(\"t_dropdownCategory\")\r\n .classList.remove(\"shown\");\r\n }\r\n\r\n IssuesClicked(selectedValue: string){\r\n this.selectedIssue = selectedValue;\r\n this.filterData();\r\n document\r\n .getElementById(\"t_dropdownIssues\")\r\n .classList.remove(\"shown\");\r\n }\r\n\r\n\r\n timeFrameClicked(selectedValue: string) {\r\n this.selectedTimeFrame = selectedValue;\r\n this.filterData();\r\n document\r\n .getElementById(\"t_dropdownTimeFrames\")\r\n .classList.remove(\"shown\");\r\n\r\n }\r\n\r\n incedenceClicked(selectedValue: string) {\r\n this.selectedincedence = selectedValue;\r\n this.filterData();\r\n document.getElementById(\"t_dropdownIncedent\").classList.remove(\"shown\");\r\n }\r\n\r\n filterData() {\r\n let temp: PostProtocolActionsModel = new PostProtocolActionsModel();\r\n let tempActions: PostProtocolActionsModel[] = [];\r\n\r\n const tempDataForFilter = JSON.parse(JSON.stringify(this.data)); // creating deep copy\r\n\r\n if (this.selectedincedence == \"All\") {\r\n tempActions = tempDataForFilter;\r\n } else {\r\n tempActions = tempDataForFilter.filter(\r\n (x) => x.title === this.selectedincedence\r\n );\r\n }\r\n\r\n for (const teamActions of tempActions) {\r\n const action = tempActions.find((x) => x === teamActions);\r\n if (action != null && action != undefined) {\r\n temp.id = teamActions.id;\r\n temp.location = teamActions.location;\r\n temp.title = teamActions.title;\r\n\r\n if (action.tasks != null && action.tasks != undefined && action.tasks.length > 0) {\r\n let tempTasks : PostProtocolActionsTaskModel[] = [];\r\n tempTasks = teamActions.tasks;\r\n // if (this.selectedTeamMember === \"All\" && this.selectedincedenceStatus == \"All\") {\r\n\r\n // tempTasks = teamActions.tasks;\r\n // } \r\n // else if (this.selectedTeamMember != \"All\" && this.selectedincedenceStatus != \"All\") {\r\n\r\n // tempTasks = teamActions.tasks.filter((x) => \r\n // x.status === this.protocolActionsPostProtocolLaunchService.getStatusNumber(this.selectedincedenceStatus) && x.personName === this.selectedTeamMember);\r\n // }\r\n // else if (this.selectedTeamMember == \"All\" && this.selectedincedenceStatus != \"All\") {\r\n\r\n // tempTasks = teamActions.tasks.filter((x) =>\r\n // x.status === this.protocolActionsPostProtocolLaunchService.getStatusNumber(this.selectedincedenceStatus));\r\n // } \r\n // else {\r\n // tempTasks = teamActions.tasks.filter((x) => x.personName === this.selectedTeamMember);\r\n // }\r\n\r\n // if (this.selectedincedenceStatus !== \"All\"){\r\n // const statusToBeFilter = this.protocolActionsPostProtocolLaunchService.getStatusNumber(this.selectedincedenceStatus);\r\n // for (let i = tempTasks.length - 1; i >= 0; i--) {\r\n // if (tempTasks[i].status !== statusToBeFilter) {\r\n // tempTasks.splice(i, 1);\r\n // }\r\n // }\r\n // }\r\n\r\n // if (this.selectedTeamMember !== \"All\"){\r\n // for (let i = tempTasks.length - 1; i >= 0; i--) {\r\n // if (tempTasks[i].personName !== this.selectedTeamMember) {\r\n // tempTasks.splice(i, 1);\r\n // }\r\n // }\r\n // }\r\n\r\n // if (this.selectedTimeFrame !== \"All\"){\r\n // const selectedTimeFrame = this.protocolActionsPostProtocolLaunchService.GetTimeFrameNumber(this.selectedTimeFrame);\r\n // for (let i = tempTasks.length - 1; i >= 0; i--) {\r\n // if (tempTasks[i].timeFrame !== selectedTimeFrame) {\r\n // tempTasks.splice(i, 1);\r\n // }\r\n // }\r\n // }\r\n\r\n // if (this.selectedCategory !== \"All\"){\r\n // for (let i = tempTasks.length - 1; i >= 0; i--) {\r\n // if (tempTasks[i].category !== this.selectedCategory) {\r\n // tempTasks.splice(i, 1);\r\n // }\r\n // }\r\n // }\r\n\r\n if (this.selectedincedenceStatus !== \"All\"){\r\n if (this.selectedincedenceStatus === \"Late\"){\r\n tempTasks = tempTasks.filter(x => (new Date(x.date)).getTime() < (new Date).getTime());\r\n }\r\n else{\r\n const statusToBeFilter = this.cstProtocolService.getStatusNumber(this.selectedincedenceStatus);\r\n tempTasks = tempTasks.filter(x => x.status == statusToBeFilter);\r\n }\r\n }\r\n\r\n if (this.selectedIssue !== \"All\"){\r\n const statusToBeFilter = this.cstProtocolService.GetIssueBoolean(this.selectedIssue);\r\n if (statusToBeFilter == null){ }\r\n else{\r\n tempTasks = tempTasks.filter(x => x.issue == statusToBeFilter);\r\n }\r\n }\r\n\r\n if (this.selectedTeamMember !== \"All\"){\r\n tempTasks = tempTasks.filter(x => x.personName == this.selectedTeamMember);\r\n }\r\n\r\n if (this.selectedTimeFrame !== \"All time frames\"){\r\n const selectedTimeFrame = this.cstProtocolService.GetTimeFrameNumber(this.selectedTimeFrame);\r\n tempTasks = tempTasks.filter(x => x.timeFrame == selectedTimeFrame);\r\n }\r\n\r\n if (this.selectedCategory !== \"All categories\"){\r\n tempTasks = tempTasks.filter(x => x.category == this.selectedCategory);\r\n }\r\n\r\n\r\n\r\n // let tempTasksForTimeFrame : PostProtocolActionsTaskModel[] = [];\r\n // if (this.selectedTimeFrame !== \"All\"){\r\n // const selectedTimeFrame = this.protocolActionsPostProtocolLaunchService.GetTimeFrameNumber(this.selectedTimeFrame);\r\n // tempTasks.forEach((x, index) => {\r\n // if (x.timeFrame === selectedTimeFrame){\r\n // tempTasksForTimeFrame.push(x);\r\n // // const indexToBERemove = tempTasks.findIndex(i => i.incidentTaskId === x.incidentTaskId);\r\n // // tempTasks.splice(indexToBERemove, 1);\r\n // };\r\n // })\r\n // }\r\n // else{\r\n // tempTasksForTimeFrame = tempTasks;\r\n // }\r\n\r\n // let tempTasksForCategory : PostProtocolActionsTaskModel[] = [];\r\n // if (this.selectedCategory !== \"All\"){\r\n // tempTasksForTimeFrame.forEach((x) => {\r\n // if (x.category === this.selectedCategory){\r\n // tempTasksForCategory.push(x);\r\n // // const indexToBERemove = tempTasks.findIndex(i => i.incidentTaskId === x.incidentTaskId);\r\n // // tempTasks.splice(indexToBERemove, 1);\r\n // };\r\n // })\r\n // }\r\n // else{\r\n // tempTasksForCategory = tempTasksForTimeFrame;\r\n // }\r\n\r\n temp.tasks = [...tempTasks];\r\n action.tasks = [...temp.tasks];\r\n }\r\n\r\n tempActions.map((item, index) => {\r\n if (item === action) {\r\n tempActions.splice(index, 1, action);\r\n }\r\n });\r\n }\r\n }\r\n this.teamActions = [...tempActions];\r\n }\r\n\r\n trackByFn(index: number, item: PostProtocolActionsModel) {\r\n return index;\r\n }\r\n\r\n allCheckChanged(\r\n event: Event,\r\n index: number,\r\n tasks: PostProtocolActionsTaskModel[]\r\n ) {\r\n const tagClass = (event.target as HTMLElement).id;\r\n if (tagClass != null && tagClass != undefined) {\r\n if (tasks != null && tasks != undefined && tasks.length > 0) {\r\n const chk = event.target as HTMLInputElement;\r\n if (chk.checked) {\r\n for (const task of tasks) {\r\n if (!this.selectedCheckbox.some((item) => item === task)) {\r\n this.selectedCheckbox.push(task);\r\n }\r\n }\r\n } else {\r\n this.selectedCheckbox = this.selectedCheckbox.filter(\r\n (item1) => !tasks.some((item2) => item1.id === item2.id)\r\n );\r\n }\r\n }\r\n\r\n const checkboxes = document.querySelectorAll(\r\n \".\" + tagClass\r\n ) as NodeListOf;\r\n if (\r\n checkboxes != null &&\r\n checkboxes != undefined &&\r\n checkboxes.length > 0\r\n ) {\r\n checkboxes.forEach((checkbox) => {\r\n checkbox.checked = (event.target as HTMLInputElement).checked;\r\n });\r\n }\r\n //#region common checkbox logic\r\n // const commonCheckbox = document.querySelectorAll(\r\n // \".\" + \"chkSame\" + index\r\n // ) as NodeListOf;\r\n // if (\r\n // commonCheckbox != null &&\r\n // commonCheckbox != undefined &&\r\n // commonCheckbox.length > 0\r\n // ) {\r\n // commonCheckbox.forEach((checkbox) => {\r\n // checkbox.checked = (event.target as HTMLInputElement).checked;\r\n // });\r\n // }\r\n //#endregion\r\n }\r\n }\r\n\r\n IndividualTaskStatusClicked(\r\n status: string = null,\r\n OutterIndex: number,\r\n InnerIndex: number,\r\n incident: PostProtocolActionsModel,\r\n task: PostProtocolActionsTaskModel\r\n ) {\r\n if (\r\n OutterIndex == undefined ||\r\n InnerIndex == undefined ||\r\n status == undefined ||\r\n status == null ||\r\n task == undefined ||\r\n incident == undefined\r\n ) {\r\n return;\r\n }\r\n\r\n const taskToBeSend = this.teamActions[OutterIndex]?.tasks[InnerIndex];\r\n // console.log(taskToBeSend.incidentMemberTaskId);\r\n\r\n if (taskToBeSend == undefined || taskToBeSend == null) {\r\n return;\r\n }\r\n\r\n // this.confirmationMessage = \"Message\";\r\n // this.isConfirmationPopupOpen = true;\r\n\r\n this.updateIndividualStatusSubscription =\r\n this.confirmationDialogServiceService\r\n .confirmDialog(\r\n \"Update Confirmation\",\r\n \"Are you sure you want to update status\"\r\n )\r\n .subscribe((isConfirm) => {\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n document.getElementById(OutterIndex + 'update-status-spinner' + InnerIndex).style.display = 'block';\r\n document.getElementById(OutterIndex + 'btnTaskStatus' + InnerIndex).style.display = 'none'; \r\n document.getElementById(OutterIndex + 'status-td' + InnerIndex).style.backgroundColor = '#fff';\r\n\r\n const statusId =\r\n this.cstProtocolService.getStatusNumber(\r\n status\r\n );\r\n\r\n this.cstProtocolService\r\n .UpdateBulkStatuses(\r\n taskToBeSend.incidentMemberTaskId?.toString(),\r\n statusId\r\n )\r\n .subscribe(() => {\r\n let tempActions: PostProtocolActionsModel[] = [];\r\n let tempDataForFilter = JSON.parse(\r\n JSON.stringify(this.teamActions)\r\n ); // creating deep copy\r\n\r\n if (this.selectedincedence == \"All\") {\r\n tempActions = tempDataForFilter;\r\n } else {\r\n tempActions = tempDataForFilter.filter(\r\n (x) => x.title === this.selectedincedence\r\n );\r\n }\r\n\r\n tempActions[OutterIndex].tasks[InnerIndex].status = statusId;\r\n\r\n this.teamActions = [...tempActions];\r\n\r\n const incidentIndex = this.data.findIndex(\r\n (x) => x.id === incident.id\r\n );\r\n if (incidentIndex != -1) {\r\n const taskIndex = this.data[incidentIndex].tasks.findIndex(\r\n (x) =>\r\n x.incidentMemberTaskId === taskToBeSend.incidentMemberTaskId\r\n );\r\n\r\n if (taskIndex != -1) {\r\n this.data[incidentIndex].tasks[taskIndex].status = statusId;\r\n\r\n document.getElementById(OutterIndex + 'update-status-spinner' + InnerIndex).style.display = 'none';\r\n document.getElementById(OutterIndex + 'btnTaskStatus' + InnerIndex).style.display = 'block';\r\n\r\n this.filterData();\r\n }\r\n }\r\n },\r\n (error) => {\r\n document.getElementById(OutterIndex + 'update-status-spinner' + InnerIndex).style.display = 'none';\r\n document.getElementById(OutterIndex + 'btnTaskStatus' + InnerIndex).style.display = 'block';\r\n\r\n if (error && error.error && error.error.message){\r\n console.log(\"Error:\" + JSON.stringify(error));\r\n this.apiErrorService.ShowErrorModal(\"Error\", error.error.message);\r\n //this.toastr.error(error.error.message, \"Error\");\r\n }\r\n else{\r\n this.apiErrorService.ShowErrorModal();\r\n //this.toastr.error(\"Something went wrong!\");\r\n }\r\n });\r\n });\r\n }\r\n\r\n UpdateBulkStatus(status: string = null, index: number, Incident: PostProtocolActionsModel) {\r\n if (index == undefined || status == undefined || status == null || Incident == undefined) {\r\n return;\r\n }\r\n\r\n const incidentRow = this.teamActions[index];\r\n if (incidentRow == null || incidentRow == undefined) {\r\n return;\r\n }\r\n\r\n const tasksToBeSend = this.selectedCheckbox.filter((item1) =>\r\n this.teamActions[index].tasks.some((item2) => item1 === item2)\r\n );\r\n\r\n if (\r\n tasksToBeSend == undefined ||\r\n tasksToBeSend == null ||\r\n tasksToBeSend.length <= 0\r\n ) {\r\n return;\r\n }\r\n\r\n\r\n this.updateStatusSubscription = this.confirmationDialogServiceService\r\n .confirmDialog(\r\n \"Update Confirmation\",\r\n \"Are you sure you want to update status\"\r\n )\r\n .subscribe((isConfirm) => {\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n for (const taskToBeSend of tasksToBeSend) {\r\n const innerIndex = this.teamActions[index].tasks.findIndex(x => x.incidentTaskId === taskToBeSend.incidentTaskId);\r\n if (innerIndex != -1){\r\n document.getElementById(index + 'update-status-spinner' + innerIndex).style.display = 'block';\r\n document.getElementById(index + 'btnTaskStatus' + innerIndex).style.display = 'none';\r\n document.getElementById(index + 'status-td' + innerIndex).style.backgroundColor = '#fff';\r\n }\r\n }\r\n\r\n let taskMemberId: string = \"\";\r\n\r\n for (const task of tasksToBeSend) {\r\n if (\r\n task != null &&\r\n task != undefined &&\r\n task.incidentMemberTaskId != 0\r\n ) {\r\n taskMemberId += task.incidentMemberTaskId + \",\";\r\n }\r\n }\r\n taskMemberId = taskMemberId.slice(0, -1);\r\n\r\n if (\r\n taskMemberId == null ||\r\n taskMemberId == undefined ||\r\n taskMemberId.trim() === \"\" ||\r\n status == undefined ||\r\n status == null ||\r\n status.trim() === \"\"\r\n ) {\r\n return;\r\n }\r\n\r\n const statusId =\r\n this.cstProtocolService.getStatusNumber(status);\r\n this.cstProtocolService\r\n .UpdateBulkStatuses(taskMemberId, statusId)\r\n .subscribe(\r\n () => {\r\n let tempActions: PostProtocolActionsModel[] = [];\r\n let tempDataForFilter = JSON.parse(\r\n JSON.stringify(this.teamActions)\r\n ); // creating deep copy\r\n\r\n if (this.selectedincedence == \"All\") {\r\n tempActions = tempDataForFilter;\r\n } else {\r\n tempActions = tempDataForFilter.filter(\r\n (x) => x.title === this.selectedincedence\r\n );\r\n }\r\n\r\n tempActions[index].tasks.map((task) => {\r\n const tytt = tasksToBeSend.findIndex(\r\n (x) => x.incidentMemberTaskId == task.incidentMemberTaskId\r\n );\r\n if (tytt !== -1) {\r\n task.status = statusId;\r\n }\r\n return task;\r\n });\r\n\r\n this.teamActions = [...tempActions];\r\n\r\n const incidentIndex = this.data.findIndex(x => x.id == Incident.id);\r\n if (incidentIndex == -1){\r\n return;\r\n }\r\n\r\n for (const task of tasksToBeSend) {\r\n const taskIndex = this.data[incidentIndex].tasks.findIndex(x => x.incidentMemberTaskId == task.incidentMemberTaskId);\r\n if (taskIndex == -1){\r\n return;\r\n }\r\n \r\n const innerIndex = this.teamActions[index].tasks.findIndex(x => x.incidentTaskId === task.incidentTaskId);\r\n if (innerIndex != -1){\r\n document.getElementById(index + 'update-status-spinner' + innerIndex).style.display = 'none';\r\n document.getElementById(index + 'btnTaskStatus' + innerIndex).style.display = 'block';\r\n }\r\n\r\n this.data[incidentIndex].tasks[taskIndex].status = statusId;\r\n }\r\n\r\n this.filterData();\r\n\r\n // console.log(result);\r\n },\r\n (error) => {\r\n for (const task of tasksToBeSend) {\r\n const innerIndex = this.teamActions[index].tasks.findIndex(x => x.incidentTaskId === task.incidentTaskId);\r\n if (innerIndex != -1){\r\n document.getElementById(index + 'update-status-spinner' + innerIndex).style.display = 'none';\r\n document.getElementById(index + 'btnTaskStatus' + innerIndex).style.display = 'block';\r\n }\r\n }\r\n\r\n if (error && error.error && error.error.message){\r\n console.log(\"Error:\" + JSON.stringify(error));\r\n this.apiErrorService.ShowErrorModal(\"Error\", error.error.message);\r\n //this.toastr.error(error.error.message, \"Error\");\r\n }\r\n else{\r\n this.apiErrorService.ShowErrorModal();\r\n //this.toastr.error(\"Something went wrong!\");\r\n }\r\n\r\n }\r\n );\r\n });\r\n }\r\n\r\n checkboxChanged(event, task: PostProtocolActionsTaskModel) {\r\n if (event.target.checked) {\r\n if (!this.selectedCheckbox.some((item) => item === task)) {\r\n this.selectedCheckbox.push(task);\r\n }\r\n } else {\r\n this.selectedCheckbox = this.selectedCheckbox.filter(\r\n (item) => item !== task\r\n );\r\n }\r\n }\r\n\r\n getStatusData(status: number): { classname: string; statusName: string } {\r\n return this.cstProtocolService.getStatusData(status);\r\n }\r\n\r\n IssueClicked(task: PostProtocolActionsTaskModel, action: PostProtocolActionsModel, i: number, ii: number) {\r\n\r\n this.NotesClicked(task, action, i, ii);\r\n\r\n this.teamActions[i].tasks[ii].issue = !this.teamActions[i].tasks[ii].issue;\r\n }\r\n\r\n NotesClicked(task: PostProtocolActionsTaskModel, action: PostProtocolActionsModel, i: number, ii: number){\r\n\r\n // if (!task.hasNotes){\r\n // return;\r\n // }\r\n\r\n this.cstProtocolService.GetCSTPlanningNotes(task.incidentTaskId).subscribe(response => {\r\n if (!response || !response.data || response.statusCode != 200){\r\n this.toastr.error(\"Something went wrong\", \"Error\");\r\n }\r\n\r\n const incidentNoteDTO = response.data as IncidentNoteDTO[];\r\n const dataToBeSend = { incidentId: action.id, taskId: task.incidentTaskId, noteType: \"CST\" ,incidentTitle: task.actionName, noteData: incidentNoteDTO };\r\n\r\n this.dialog.open(NotesOverlayComponent, {\r\n data: dataToBeSend\r\n }).afterClosed().subscribe(isNoteAdded => {\r\n if (isNoteAdded !== true){\r\n return;\r\n }\r\n\r\n const incidentIndexForData = this.data.findIndex(x => x.id === action.id);\r\n if (incidentIndexForData != -1){\r\n const actionIndex = this.data[incidentIndexForData].tasks.findIndex(x => x.incidentTaskId === task.incidentTaskId);\r\n if (actionIndex != -1){\r\n this.data[incidentIndexForData].tasks[actionIndex].hasNotes = true;\r\n }\r\n }\r\n\r\n const incidentIndexForTeamActions = this.teamActions.findIndex(x => x.id === action.id);\r\n if (incidentIndexForTeamActions != -1){\r\n const actionIndex = this.teamActions[incidentIndexForTeamActions].tasks.findIndex(x => x.incidentTaskId === task.incidentTaskId);\r\n if (actionIndex != -1){\r\n this.teamActions[incidentIndexForTeamActions].tasks[actionIndex].hasNotes = true;\r\n }\r\n }\r\n \r\n });;\r\n \r\n },\r\n (error) => {\r\n if (error && error.error && error.error.message){\r\n console.log(\"Error:\" + JSON.stringify(error));\r\n this.apiErrorService.ShowErrorModal(\"Error\", error.error.message);\r\n //this.toastr.error(error.error.message, \"Error\");\r\n }\r\n else{\r\n this.apiErrorService.ShowErrorModal();\r\n //this.toastr.error(\"Something went wrong!\");\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n GetTimeFrame(index: number): string {\r\n return this.cstProtocolService.GetTimeFrame(index);\r\n }\r\n\r\n personClicked(task: PostProtocolActionsTaskModel, outerIndex: number, innerIndex: number){\r\n let memberArray : {name: string, avatar: string}[] = [];\r\n memberArray = this.teamMembersToAssign.map(x => { \r\n return {name: `${x.firstName} ${x.familyName}`, avatar: x.avatar}\r\n });\r\n //const memberStringArray = this.teamMembersToAssign.map(x => `${x.firstName} ${x.familyName}`).sort();\r\n\r\n this.dialog.open(AssignMemberPopupComponent, {\r\n height: '80vh',\r\n data: {members: memberArray}\r\n }).afterClosed().subscribe(selectedMember => {\r\n if (selectedMember == null || selectedMember == undefined || selectedMember == ''){\r\n return;\r\n }\r\n\r\n const selectedTeamMember = this.teamMembersToAssign.find(x => `${x.firstName} ${x.familyName}` === selectedMember);\r\n if (!selectedTeamMember){\r\n return;\r\n }\r\n\r\n this.AssignTeamMember(selectedTeamMember, task, outerIndex, innerIndex);\r\n });\r\n }\r\n\r\n\r\n AssignTeamMember(teamMember: Member, task: PostProtocolActionsTaskModel, outerIndex: number, innerIndex: number){\r\n\r\n document.getElementById(outerIndex + 'update-assigned-member-spinner' + innerIndex).style.display = 'block';\r\n document.getElementById(outerIndex + 'assigned-member-div' + innerIndex).style.display = 'none';\r\n\r\n this.cstProtocolService\r\n .AssignTaskToTeamMember(this.selectedincedenceId, task.incidentTaskId, teamMember.id).subscribe(response => {\r\n if (\r\n response != null &&\r\n response != undefined &&\r\n response.statusCode == 200\r\n ){\r\n \r\n\r\n this.teamActions[outerIndex].tasks[innerIndex].personName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n this.teamActions[outerIndex].tasks[innerIndex].avatar = teamMember.avatar;\r\n\r\n const outterIndexForMaindata = this.data.findIndex(x => x.id == this.teamActions[outerIndex].id);\r\n if (outterIndexForMaindata == -1){\r\n return;\r\n }\r\n const innerIndexForMaindata = this.data[outterIndexForMaindata].tasks.findIndex(x => x.incidentTaskId == task.incidentTaskId);\r\n if (innerIndexForMaindata == -1){\r\n return;\r\n }\r\n\r\n this.data[outterIndexForMaindata].tasks[innerIndexForMaindata].personName = `${teamMember.firstName} ${teamMember.familyName}`;\r\n this.data[outterIndexForMaindata].tasks[innerIndexForMaindata].avatar = teamMember.avatar;\r\n\r\n document.getElementById(outerIndex + 'update-assigned-member-spinner' + innerIndex).style.display = 'none';\r\n document.getElementById(outerIndex + 'assigned-member-div' + innerIndex).style.display = 'block';\r\n }\r\n },\r\n (error) => {\r\n\r\n document.getElementById(outerIndex + 'update-assigned-member-spinner' + innerIndex).style.display = 'none';\r\n document.getElementById(outerIndex + 'assigned-member-div' + innerIndex).style.display = 'block';\r\n\r\n if (error && error.error && error.error.message){\r\n console.log(\"Error:\" + JSON.stringify(error));\r\n this.apiErrorService.ShowErrorModal(\"Error\", error.error.message);\r\n //this.toastr.error(error.error.message, \"Error\");\r\n }\r\n else{\r\n this.apiErrorService.ShowErrorModal();\r\n //this.toastr.error(\"Something went wrong!\");\r\n }\r\n \r\n });\r\n \r\n }\r\n\r\n GetBackgroundColorForTd(status: number): string{\r\n return this.cstProtocolService.GetBackgroundColorForTd(status);\r\n }\r\n\r\n // handleConfirm() {\r\n // // handle confirm logic\r\n // this.isConfirmationPopupOpen = true;\r\n // }\r\n\r\n // handleCancel() {\r\n // this.isConfirmationPopupOpen = false;\r\n // }\r\n\r\n ngOnDestroy(): void {\r\n this.loadScriptService.RemoveScript(\r\n \"protocol-actions-post-protocol-launchScriptTag\"\r\n );\r\n\r\n if (\r\n this.updateStatusSubscription == undefined ||\r\n this.updateStatusSubscription == null\r\n ) {\r\n return;\r\n }\r\n this.updateStatusSubscription.unsubscribe();\r\n\r\n if (\r\n this.updateIndividualStatusSubscription == undefined ||\r\n this.updateIndividualStatusSubscription == null\r\n ) {\r\n return;\r\n }\r\n this.updateIndividualStatusSubscription.unsubscribe();\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n

CST protocol actions

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

\r\n \r\n {{selectedincedenceStatus === 'All' ? ' All status’s' : (' ' +\r\n selectedincedenceStatus)}}\r\n \r\n actions\r\n \r\n {{selectedIssue === 'All' ? ' all' : (' ' +\r\n selectedIssue | lowercase)}}\r\n \r\n issues for\r\n \r\n {{selectedTeamMember === 'All' ? ' all team members' : (' ' +\r\n selectedTeamMember)}}\r\n \r\n and within\r\n \r\n {{selectedTimeFrame === 'All time frames' ? ' all times frames' : (' ' +\r\n selectedTimeFrame)}}\r\n \r\n for\r\n \r\n {{selectedCategory === 'All categories' ? ' all categories' : (' ' +\r\n selectedCategory | lowercase)}}\r\n \r\n for\r\n \r\n {{selectedincedence === 'All' ? ' all incidents' : (' ' +\r\n selectedincedence)}}\r\n \r\n\r\n \r\n

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

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
PersonActionCategoryTimeframeDateNotesIssueStatus\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \"user-profile\"\r\n {{task.personName}}\r\n
\r\n\r\n \r\n
\r\n
\r\n
{{task.actionName}}{{task.category}}\r\n {{GetTimeFrame(task.timeFrame)}}{{task.date | date:'MMM d'}}\r\n \"\"\r\n \"\"\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
    \r\n\r\n \r\n \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
    \r\n \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from 'src/app/core/interceptors/api.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CstProtocolService {\r\n\r\n constructor(private _apiService: ApiService) { }\r\n\r\n getPostProtocolActions(){\r\n const url = \"/La/Incident/Tasks\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getTeamMembers(){\r\n const url = \"/La/TeamMembers\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n UpdateBulkStatuses(taskMemberId: string, statusId: number){\r\n const url = `/bcu/UpdateMemberTaskStatus/${taskMemberId}/${statusId}`;\r\n return this._apiService.post(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n AssignTaskToTeamMember(incidentId: string, taskId: number, teamMemberProfileId: string){\r\n // const payLoad = {\r\n // incidentId: incidentId,\r\n // taskId: taskId,\r\n // teamMemberProfileId: teamMemberProfileId\r\n // };\r\n\r\n const url = `/Manager/Incidents/AssignTaskToTeamMember?incidentId=${incidentId}&taskId=${taskId}&teamMemberProfileId=${teamMemberProfileId}`;\r\n return this._apiService.post(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetCSTPlanningNotes(taskId: number){\r\n const url = `/La/Notes/${taskId}`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n // getStatusData(status: number): {classname: string, statusName: string}{\r\n // let result: {classname: string, statusName: string};\r\n // switch(status) { \r\n // case 1: { // Active\r\n // result = {classname : \"orange\", statusName : \"Accepted\"};\r\n // // result = {classname : \"dark-green\", statusName : \"Done\"};\r\n // break; \r\n // } \r\n // case 2: { // Ongoing\r\n // result = {classname : \"green\", statusName : \"Ongoing\"}; \r\n // break; \r\n // } \r\n // case 3: { // Pending\r\n // result = {classname : \"\", statusName : \"Pending\"};\r\n // break; \r\n // } \r\n // case 4: { // Done\r\n // result = {classname : \"dark-green\", statusName : \"Done\"};\r\n // // result = {classname : \"orange\", statusName : \"Active\"};\r\n // break; \r\n // } \r\n // default: { \r\n // result = {classname : \"\", statusName : \"Pending\"};\r\n // break; \r\n // } \r\n // } \r\n // return result;\r\n // }\r\n\r\n getStatusData(status: number): {classname: string, statusName: string}{\r\n let result: {classname: string, statusName: string};\r\n switch(status) { \r\n case 1: { // Accepted\r\n result = {classname : \"orange\", statusName : \"Accepted\"};\r\n // result = {classname : \"dark-green\", statusName : \"Done\"};\r\n break; \r\n } \r\n case 2: { // Declined\r\n result = {classname : \"dark-pink\", statusName : \"Declined\"};\r\n break; \r\n } \r\n case 3: { // Pending\r\n result = {classname : \"\", statusName : \"Pending\"};\r\n break; \r\n } \r\n case 4: { // Complete\r\n result = {classname : \"dark-green\", statusName : \"Complete\"};\r\n // result = {classname : \"orange\", statusName : \"Active\"};\r\n break; \r\n } \r\n case 5: { // Not Required\r\n result = {classname : \"notRequiredCST\", statusName : \"Not Required\"};\r\n break; \r\n } \r\n case 6: { // Not Required\r\n result = {classname : \"ongoing\", statusName : \"Ongoing\"};\r\n break; \r\n }\r\n default: { \r\n result = {classname : \"\", statusName : \"Pending\"};\r\n break; \r\n } \r\n } \r\n return result;\r\n }\r\n\r\n\r\n // getStatusNumber(status: string): number{\r\n // let result: number;\r\n // switch(status) { \r\n // case \"Accepted\": { // Done\r\n // result = 1;\r\n // break; \r\n // } \r\n // case \"Ongoing\": { // Ongoing\r\n // result = 2;\r\n // break; \r\n // } \r\n // case \"Pending\": { // Pending\r\n // result = 3;\r\n // break; \r\n // } \r\n // case \"Done\": { // Active\r\n // result = 4;\r\n // break; \r\n // } \r\n // default: { \r\n // result = 3;\r\n // break; \r\n // } \r\n // } \r\n // return result;\r\n // }\r\n\r\n // GetBackgroundColorForTd(status: number): string{\r\n // let result: string;\r\n // switch(status) { \r\n // case 1: { // Done\r\n // result = '#ef7b33';\r\n // break; \r\n // } \r\n // case 2: { // Ongoing\r\n // result = '#a0bd72';\r\n // break; \r\n // } \r\n // case 3: { // Pending\r\n // result = '#80778c';\r\n // break; \r\n // } \r\n // case 4: { // Active\r\n // result = '#21b14b';\r\n // break; \r\n // } \r\n // default: { \r\n // result = '#fff';\r\n // break; \r\n // } \r\n // } \r\n // return result;\r\n // }\r\n\r\n \r\n // Accepted = 1,\r\n // Declined = 2,\r\n // Pending = 3,\r\n // Complete = 4,\r\n // Not Required = 5,\r\n // OnGoing = 6\r\n\r\n\r\n getStatusNumber(status: string): number{\r\n let result: number;\r\n switch(status) { \r\n case \"Accepted\": { // Accepted\r\n result = 1;\r\n break; \r\n } \r\n case \"Declined\": { // Declined\r\n result = 2;\r\n break; \r\n } \r\n case \"Pending\": { // Pending\r\n result = 3;\r\n break; \r\n } \r\n case \"Complete\": { // Complete\r\n result = 4;\r\n break; \r\n } \r\n case \"Not Required\": { // Not Required\r\n result = 5;\r\n break; \r\n } \r\n case \"Ongoing\": { // OnGoing\r\n result = 6;\r\n break; \r\n }\r\n default: { \r\n result = 3;\r\n break; \r\n } \r\n } \r\n return result;\r\n }\r\n\r\n GetBackgroundColorForTd(status: number): string{\r\n let result: string;\r\n switch(status) { \r\n case 1: { // Accepted\r\n result = '#ef7b33';\r\n break; \r\n } \r\n case 2: { // Declined e91f5f\r\n result = '#e91f5f';\r\n break; \r\n } \r\n case 3: { // Pending a0bd72\r\n result = '#80778d';\r\n break; \r\n } \r\n case 4: { // Complete\r\n result = '#21b14b';\r\n break; \r\n } \r\n case 5: { // Not Required 80778d\r\n result = '#A7A7A7';\r\n break; \r\n } \r\n case 6: { // Not Required 80778d\r\n result = '#a0bd72';\r\n break; \r\n }\r\n default: { \r\n result = '#fff';\r\n break; \r\n } \r\n } \r\n return result;\r\n }\r\n\r\n GetTimeFrame(index: number): string {\r\n let result = \"\";\r\n switch (index) {\r\n case 1:\r\n result = \"24 hours\";\r\n break;\r\n case 2:\r\n result = \"1 week\";\r\n break;\r\n case 3:\r\n result = \"1 month\";\r\n break;\r\n case 4:\r\n result = \"On Going\";\r\n break;\r\n default:\r\n result = \"\";\r\n }\r\n return result;\r\n }\r\n\r\n GetTimeFrameNumber(timeFrame: string): number{\r\n let result;\r\n switch (timeFrame) {\r\n case \"24 hours\":\r\n result = 1;\r\n break;\r\n case \"1 week\":\r\n result = 2;\r\n break;\r\n case \"1 month\":\r\n result = 3;\r\n break;\r\n case \"On Going\":\r\n result = 4;\r\n break;\r\n default:\r\n result = 1;\r\n }\r\n return result;\r\n }\r\n\r\n GetIssueBoolean(selectedIssue: string): boolean | null{\r\n let result;\r\n switch (selectedIssue) {\r\n case \"All\":\r\n result = null;\r\n break;\r\n case \"With\":\r\n result = true;\r\n break;\r\n case \"Without\":\r\n result = false;\r\n break;\r\n default:\r\n result = null;\r\n }\r\n return result;\r\n }\r\n}\r\n","import { OnDestroy } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { LoadScriptService } from '../load-script.service';\r\nimport { CstTemplateService } from 'src/app/cst-template/cst-template/cst-template.service';\r\nimport { Template, TemplateWithTasks } from 'src/app/Models/Templates/Template';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\n\r\n@Component({\r\n selector: 'app-finalise-protocol-actions-post-protocol-launch',\r\n templateUrl: './finalise-protocol-actions-post-protocol-launch.component.html',\r\n styleUrls: ['./finalise-protocol-actions-post-protocol-launch.component.css']\r\n})\r\nexport class FinaliseProtocolActionsPostProtocolLaunchComponent implements OnInit, OnDestroy {\r\n\r\n templates: Template[] = [];\r\n templateWithTaskDetaiil: TemplateWithTasks ;\r\n\r\n constructor(\r\n private _activatedRoute: ActivatedRoute,\r\n private _titleService: Title,\r\n private _loadScriptService: LoadScriptService,\r\n private _cstTemplateService: CstTemplateService,\r\n private _toastr: ToastrService,\r\n private _apiErrorService: ApiErrorService\r\n ) { }\r\n \r\n selectedTemplate: string;\r\n selectedCategory: string;\r\n selectedPerson: string;\r\n selectedTime: string;\r\n\r\n ngOnInit(): void {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n this._loadScriptService.LoadDropdownScript('finalise-protocol-actionsScriptTag');\r\n this.selectedCategory = \"All\";\r\n this.selectedPerson = \"All\";\r\n this.selectedTime = \"All\";\r\n\r\n this._cstTemplateService.GetTemplates().subscribe(response => {\r\n this.templates = response.data;\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n }\r\n\r\n\r\n TemplatSelectedClicked(template: Template){\r\n this.selectedTemplate = template.templateTitle;\r\n document.getElementById(\"ddlTemplate\")\r\n .classList.remove(\"shown\");\r\n\r\n this._cstTemplateService.GetTemplateDetail(template.id).subscribe(response => {\r\n this.templateWithTaskDetaiil = response.data;\r\n }, \r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n\r\n }\r\n\r\n CategorySelectedClicked(category: string){\r\n this.selectedCategory = category;\r\n document.getElementById(\"ddlCategory\")\r\n .classList.remove(\"shown\");\r\n }\r\n\r\n PersonSelectedClicked(person: string){\r\n this.selectedPerson = person;\r\n document.getElementById(\"ddlPerson\")\r\n .classList.remove(\"shown\");\r\n }\r\n\r\n TimeSelectedClicked(time: string){\r\n this.selectedTime = time;\r\n document.getElementById(\"ddlTime\")\r\n .classList.remove(\"shown\");\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._loadScriptService.RemoveScript('finalise-protocol-actionsScriptTag');\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Finalise protocol for {{selectedTemplate}}\r\n for \r\n {{selectedCategory === \"All\" ? \"all categories \" : selectedCategory}}\r\n \r\n and \r\n \r\n {{selectedPerson === \"All\" ? \"all people \" : selectedPerson}}\r\n \r\n at\r\n \r\n {{selectedTime === \"All\" ? \"all times \" : selectedTime}}\r\n \r\n

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

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PersonActionCategoryTimeframe\r\n
\r\n \"user-profile\"\r\n Peter Dickenson\r\n Share partner information (police, VRP etc){{task.label}}24 hrs\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { LADashboardContactsDTO } from './../../Models/LAContacts/LADashboardContactsDTO';\r\nimport {\r\n LaDashboardUserActionsModel,\r\n LAIncedentsModel,\r\n LAIncedentsUserActionsModel,\r\n LAIncidentDashboardModel,\r\n} from \"./../../Models/LAIncedenceDashboard/LAIncidentDashboardModel\";\r\nimport { HomeDashboardService } from \"./home-dashboard.service\";\r\nimport { LoadScriptService } from \"./../load-script.service\";\r\nimport { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { AuthenticatedUserForGrouping } from 'src/app/Models/Members/AuthenticatedUserGroups';\r\nimport { UserProfileService } from 'src/app/core/services/user-profile.service';\r\nimport { BCURegionDTO } from 'src/app/Models/BCURegionDTO.Model';\r\nimport { Subject, Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: \"app-home-dashboard\",\r\n templateUrl: \"./home-dashboard.component.html\",\r\n styleUrls: [\"./home-dashboard.component.css\"],\r\n})\r\nexport class HomeDashboardComponent implements OnInit, OnDestroy {\r\n showIncidenceDetail: boolean = false;\r\n isDataLoading = true;\r\n currentlyLoggedInUserId : string;\r\n\r\n isdashBoardIncedenceDataLoading: boolean = true;\r\n dashBoardIncedenceData: LAIncidentDashboardModel;\r\n\r\n isdashboardActionsDataLoading: boolean = true;\r\n dashboardActionsData: LaDashboardUserActionsModel;\r\n\r\n isdashboardTeamActionsDataLoading: boolean = true;\r\n dashboardTeamActionsData: LaDashboardUserActionsModel;\r\n\r\n dashBoardContacts: LADashboardContactsDTO[] = [];\r\n isDashboardContactLoading = true;\r\n\r\n usersRegionsAndGroups: AuthenticatedUserForGrouping;\r\n selectedRegion: BCURegionDTO;\r\n\r\n dataLoadedEventSubscription: Subscription;\r\n dataLoadedEvent = new Subject();\r\n\r\n constructor(\r\n private _activatedRoute: ActivatedRoute,\r\n private _titleService: Title,\r\n private _router: Router,\r\n private _loadScriptSerivice: LoadScriptService,\r\n private _homeDashboardService: HomeDashboardService,\r\n private _toastr: ToastrService,\r\n private _apiErrorService: ApiErrorService,\r\n private _userProfileService: UserProfileService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n this._loadScriptSerivice.LoadIncidentToggleScript(\"home-dashboardScriptTag\");\r\n \r\n\r\n let timerId = setInterval(() => {\r\n const userWithRegion = this._userProfileService.GetAuthenticatedUserGroups();\r\n if (userWithRegion){\r\n this.usersRegionsAndGroups = userWithRegion;\r\n if (this.usersRegionsAndGroups && this.usersRegionsAndGroups.region) {\r\n this.selectedRegion = this.usersRegionsAndGroups.region;\r\n }\r\n\r\n this.currentlyLoggedInUserId = this.usersRegionsAndGroups.id;\r\n if (this.selectedRegion){\r\n clearInterval(timerId);\r\n }\r\n }\r\n }, 100);\r\n\r\n this._homeDashboardService.loadAlldata().subscribe(\r\n (response) => {\r\n this.loadingAllData(response);\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n\r\n loadingAllData(response) {\r\n if (response != null && response != undefined && response.length > 0){\r\n\r\n if (response[0] != null && response[0] != undefined && response[0].statusCode == 200){\r\n //console.log(response[0]);\r\n this.dashBoardIncedenceData = response[0].data as LAIncidentDashboardModel;\r\n const insidents = this.dashBoardIncedenceData.incidents.filter(x => x.incidentStatus == 0 || x.incidentStatus == 1 || x.incidentStatus == 2);\r\n //console.log(insidents.filter(x => x.incidentStatus == 2));\r\n // const incidentsToBePushed = insidents.map((incident) => {\r\n // if (incident.incidentStatus == 2){\r\n // incident.incidentStatus = 1\r\n // }\r\n // return incident;\r\n // });\r\n this.dashBoardIncedenceData.incidents = this._homeDashboardService.SortIncedenceData(insidents);\r\n this.isdashBoardIncedenceDataLoading = false;\r\n\r\n //console.log(this.dashBoardIncedenceData.incidents.filter(x => x.incidentStatus == 2));\r\n }\r\n \r\n if (response[1] != null && response[1] != undefined && response[1].statusCode == 200){\r\n //console.log(response[1]);\r\n this.dashboardActionsData = response[1].data as LaDashboardUserActionsModel;\r\n \r\n const incidentsToBeAssign = this.dashboardActionsData.incidentTotals.map((incident) => {\r\n if (incident.incidentStatus == 2){\r\n incident.incidentStatus = 1\r\n }\r\n return incident;\r\n });\r\n\r\n this.dashboardActionsData.incidentTotals = this._homeDashboardService.sortYourActionArrayBasedOnDateTime(incidentsToBeAssign);\r\n //this.dashboardActionsData.incidentTotals = incidentsToBeAssign;\r\n\r\n this.isdashboardActionsDataLoading = false;\r\n }\r\n\r\n if (response[2] != null && response[2] != undefined && response[2].statusCode == 200){\r\n this.dashboardTeamActionsData = response[2].data as LaDashboardUserActionsModel;\r\n\r\n const incidentsToBeAssign = this.dashboardTeamActionsData.incidentTotals.map((incident) => {\r\n if (incident.incidentStatus == 2){\r\n incident.incidentStatus = 1\r\n }\r\n return incident;\r\n });\r\n\r\n this.dashboardTeamActionsData.incidentTotals = this._homeDashboardService.sortYourActionArrayBasedOnDateTime(incidentsToBeAssign);\r\n //this.dashboardTeamActionsData.incidentTotals = incidentsToBeAssign\r\n\r\n this.isdashboardTeamActionsDataLoading = false;\r\n //console.log(response[2]);\r\n\r\n }\r\n\r\n if (response[3] != null && response[3] != undefined && response[3].statusCode == 200){\r\n this.dashBoardContacts = response[3].data as LADashboardContactsDTO[];\r\n this.isDashboardContactLoading = false;\r\n //console.log(response[3]);\r\n }\r\n\r\n this.isDataLoading = false;\r\n this.dataLoadedEvent.next(true);\r\n }\r\n }\r\n\r\n\r\n dashBoardIncedenceTrClassResolver(incedenceStatus: number): string {\r\n return this._homeDashboardService.dashBoardIncedenceTrClassResolver(incedenceStatus);\r\n }\r\n\r\n yourActionTrClicked(category: string, incident: LAIncedentsUserActionsModel) {\r\n \r\n this._router.navigate([\"/immediate-response\", incident.id], {\r\n queryParams: {\r\n category: category,\r\n member: this.currentlyLoggedInUserId\r\n }});\r\n //this._router.navigate([\"/immediate-response\", incident.id]);\r\n }\r\n\r\n yourTeamTitalClicked(id: string) {\r\n this._router.navigate([`/incident-detail/${id}`]);\r\n }\r\n\r\n incidentSummaryPreProtocolLaunchClicked(id: string) {\r\n this._router.navigate([\r\n \"/incident-detail\", id\r\n ]);\r\n }\r\n\r\n YourTeamRowDiscClicked(category: string, id: string){\r\n this._router.navigate([\r\n `/cst-protocol/${id}`\r\n ], {\r\n queryParams: {\r\n category: category,\r\n //member: this.currentlyLoggedInUserId\r\n }});\r\n }\r\n\r\n IncidentsPendingTagClicked(incident: LAIncedentsModel){\r\n this._router.navigate([\r\n `/incident-detail/${incident.id}`\r\n ]);\r\n }\r\n\r\n\r\n IncidentsEmergencyTagClicked(incident: LAIncedentsModel){\r\n this._router.navigate([\r\n `/immediate-response/${incident.id}`\r\n ]);\r\n }\r\n\r\n IncidentsCSTTagClicked(incident: LAIncedentsModel){\r\n this._router.navigate([\r\n `/cst-protocol/${incident.id}`\r\n ]);\r\n }\r\n\r\n YourActionsEmergencyClicked(incident : LAIncedentsUserActionsModel){\r\n this._router.navigate([\r\n `/immediate-response/${incident.id}`\r\n ], {\r\n queryParams: {\r\n member: this.currentlyLoggedInUserId\r\n }});\r\n }\r\n\r\n YourActionsCSTClicked(incident : LAIncedentsUserActionsModel){\r\n this._router.navigate([\r\n `/cst-protocol/${incident.id}`\r\n ], {\r\n queryParams: {\r\n member: this.currentlyLoggedInUserId\r\n }});\r\n }\r\n\r\n YourTeamsActionsEmergencyClicked(incident : LAIncedentsUserActionsModel){\r\n this._router.navigate([\r\n `/immediate-response/${incident.id}`\r\n ]);\r\n }\r\n\r\n YourTeamsActionsCSTClicked(incident : LAIncedentsUserActionsModel){\r\n this._router.navigate([\r\n `/cst-protocol/${incident.id}`\r\n ]);\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this._loadScriptSerivice.RemoveScript(\"home-dashboardScriptTag\");\r\n\r\n if (this.dataLoadedEventSubscription){\r\n this.dataLoadedEventSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Incidents\r\n \r\n \r\n Pending incidents\r\n {{dashBoardIncedenceData.pendingTotal}}\r\n \r\n Immediate response\r\n {{dashBoardIncedenceData.responseInProgressTotal}}\r\n \r\n CST
protocol
\r\n \r\n {{dashBoardIncedenceData.protocolInProgressTotal > 0 ?\r\n dashBoardIncedenceData.protocolInProgressTotal : 0}}\r\n \r\n
\r\n

{{dashBoardIncedence.title}}   {{dashBoardIncedence.datetime | date:'HH:mm EEE d MMMM'}}

\r\n

{{dashBoardIncedence.location}}

\r\n \r\n Scaled down\r\n \r\n \r\n PENDING\r\n \r\n \r\n Immediate\r\n \r\n \r\n CST\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Immediate responseCST
\r\n Your Actions \r\n \r\n Pending\r\n {{dashboardActionsData.responsePending}}\r\n \r\n Active\r\n {{dashboardActionsData.responseActive}}\r\n \r\n Pending\r\n {{dashboardActionsData.pendingTotal}}\r\n \r\n Active\r\n {{dashboardActionsData.acceptedTotal}}\r\n \r\n Late\r\n {{dashboardActionsData.lateTotal}}\r\n \r\n Issues\r\n {{dashboardActionsData.issuesTotal}}\r\n
\r\n \r\n \r\n\r\n {{incedent.title}}\r\n

{{incedent.dateTime | date:'HH:mm EEE d MMMM'}}

{{incedent.location}}\r\n \r\n
\r\n \r\n Immediate\r\n \r\n \r\n CST\r\n \r\n \r\n 0 ? 'pending' : 'active'\">\r\n {{incedent.emergencyResponsePending}}\r\n \r\n \r\n \r\n {{incedent.emergencyResponseActive}}\r\n \r\n \r\n 0 ? 'pending' : 'active'\">\r\n {{incedent.pending}}\r\n \r\n \r\n {{incedent.accepted}}\r\n \r\n 0 ? 'late' : 'active'\">\r\n {{incedent.late}}\r\n \r\n \r\n 0 ? 'issues' : 'active'\">\r\n {{incedent.issues}}\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
CST
\r\n Your Team actions \r\n \r\n Pending\r\n {{dashboardTeamActionsData.pendingTotal}}\r\n \r\n Declined\r\n {{dashboardTeamActionsData.declinedTotal}}\r\n \r\n Active\r\n {{dashboardTeamActionsData.acceptedTotal}}\r\n \r\n Late\r\n {{dashboardTeamActionsData.lateTotal}}\r\n \r\n Complete\r\n {{dashboardTeamActionsData.completeTotal}}\r\n \r\n Issues\r\n {{dashboardTeamActionsData.issuesTotal}}\r\n
\r\n {{incedent.title}}\r\n

{{incedent.dateTime | date:'HH:mm EEE d MMMM'}}

{{incedent.location}}
\r\n \r\n Immediate\r\n \r\n \r\n CST\r\n \r\n \r\n 0 ? 'pending' : 'active'\" *ngIf=\"incedent.protocolStatus == 0\">\r\n {{incedent.pending}}\r\n \r\n \r\n \r\n {{incedent.declined}}\r\n \r\n \r\n \r\n {{incedent.accepted}}\r\n \r\n \r\n 0 ? 'late' : 'active'\" *ngIf=\"incedent.protocolStatus == 0\">\r\n {{incedent.late}}\r\n \r\n \r\n \r\n {{incedent.completed}}\r\n \r\n \r\n 0 ? 'issues' : 'active'\" *ngIf=\"incedent.protocolStatus == 0\">\r\n {{incedent.issues}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n

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

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{dashBoardContact.groupName}}
\r\n \"profile-picture\"\r\n {{contact.name}}{{contact.jobTitle}}\r\n\r\n \r\n \"mail\"\r\n {{contact.email}}\r\n \r\n\r\n \"mail\"\r\n\r\n \r\n\r\n {{contact.phone}}\r\n\r\n \"phone\"\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n","import { Injectable } from \"@angular/core\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { ApiService } from \"src/app/core/interceptors/api.service\";\r\nimport {\r\n LAIncedentsModel,\r\n LAIncedentsUserActionsModel,\r\n} from \"src/app/Models/LAIncedenceDashboard/LAIncidentDashboardModel\";\r\nimport { forkJoin } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class HomeDashboardService {\r\n constructor(\r\n private _apiService: ApiService\r\n ) {}\r\n\r\n getDashBoard() {\r\n const url = \"/La/Dashboard\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n \r\n\r\n getDashboardUserActions() {\r\n const url = \"/La/Dashboard/Actions\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n }, err => {\r\n console.log(\"sdf\");\r\n })\r\n );\r\n }\r\n\r\n getDashboardTeamActions() {\r\n const url = \"/La/Dashboard/Team\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetLADashboardContacts() {\r\n const url = \"/La/Dashboard/Contacts\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n loadAlldata() {\r\n return forkJoin([\r\n this.getDashBoard(),\r\n this.getDashboardUserActions(),\r\n this.getDashboardTeamActions(),\r\n this.GetLADashboardContacts(),\r\n ]);\r\n }\r\n\r\n SortIncedenceData(apiResult: LAIncedentsModel[]) {\r\n let sortedResult: LAIncedentsModel[] = [];\r\n let pendingIncidents: LAIncedentsModel[] = [];\r\n let responceInProgressIncidents: LAIncedentsModel[] = [];\r\n let protocolInProgressIncidents: LAIncedentsModel[] = [];\r\n let sacledDownIncidents: LAIncedentsModel[] = [];\r\n let declinedIncidents: LAIncedentsModel[] = [];\r\n\r\n for (const incedence of apiResult) {\r\n if (+incedence.incidentStatus === 0) {\r\n pendingIncidents.push(incedence);\r\n continue;\r\n } else if (+incedence.incidentStatus === 5) {\r\n responceInProgressIncidents.push(incedence);\r\n continue;\r\n } else if (+incedence.incidentStatus === -1) {\r\n protocolInProgressIncidents.push(incedence);\r\n continue;\r\n } else if (+incedence.incidentStatus === 2) {\r\n sacledDownIncidents.push(incedence);\r\n continue;\r\n } else {\r\n declinedIncidents.push(incedence);\r\n continue;\r\n }\r\n }\r\n sortedResult = [\r\n ...this.sortArrayBasedOnDateTime(pendingIncidents),\r\n ...this.sortArrayBasedOnDateTime(responceInProgressIncidents),\r\n ...this.sortArrayBasedOnDateTime(protocolInProgressIncidents),\r\n ...this.sortArrayBasedOnDateTime(declinedIncidents),\r\n ...this.sortArrayBasedOnDateTime(sacledDownIncidents),\r\n ];\r\n return sortedResult;\r\n }\r\n\r\n sortArrayBasedOnDateTime(incedents: LAIncedentsModel[]) {\r\n return incedents.sort((a, b) => {\r\n const aDate = new Date(a.datetime);\r\n const bDate = new Date(b.datetime);\r\n return bDate.getTime() - aDate.getTime();\r\n });\r\n }\r\n\r\n sortYourActionArrayBasedOnDateTime(incedents: LAIncedentsUserActionsModel[]) {\r\n return incedents.sort((a, b) => {\r\n const aDate = new Date(a.dateTime);\r\n const bDate = new Date(b.dateTime);\r\n return bDate.getTime() - aDate.getTime();\r\n });\r\n }\r\n\r\n dashBoardIncedenceTrClassResolver(incedenceStatus: number): string {\r\n let result = \"\";\r\n switch (incedenceStatus) {\r\n case -1: {\r\n // protocol in progress\r\n result = \"protocol_inprogress-line\";\r\n break;\r\n }\r\n case 0: {\r\n // pending\r\n result = \"pending-line\";\r\n break;\r\n }\r\n case 5: {\r\n // response in progress\r\n result = \"response_inprogress-line\";\r\n break;\r\n }\r\n case 4: {\r\n // Decliend\r\n result = \"declined-line disable\";\r\n break;\r\n }\r\n case 2: {\r\n // scale down\r\n result = \"scale_down-line\";\r\n break;\r\n }\r\n default: {\r\n result = \"pending-line\";\r\n break;\r\n }\r\n }\r\n return result;\r\n }\r\n}\r\n","import { AddStakeholderComponent } from './../../Stakeholder/add-stakeholder/add-stakeholder.component';\r\nimport { Component, Input, OnChanges, OnInit } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { UrlHelperService } from 'src/app/core/services/url-helper.service';\r\nimport { AddTeamMemberComponent } from \"src/app/team/add-team-member/add-team-member.component\";\r\n\r\n@Component({\r\n selector: \"app-home-nav-menu\",\r\n templateUrl: \"./home-nav-menu.component.html\",\r\n styleUrls: [\"./home-nav-menu.component.css\"],\r\n})\r\nexport class HomeNavMenuComponent implements OnInit, OnChanges {\r\n\r\n homeDashboardLoaded = true;\r\n teamMessagingDashboardLoaded = true;\r\n teamMemberLoaded = true;\r\n\r\n constructor(\r\n private _router: Router,\r\n private _dialog: MatDialog,\r\n private _toastr: ToastrService,\r\n public _urlHelperService: UrlHelperService\r\n ) {}\r\n\r\n @Input('componentName') componentName = \"\";\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n teamMessagingClicked() {\r\n this._router.navigate([\"/team-messaging-dashboard\"]);\r\n }\r\n\r\n ngOnChanges(){\r\n if (this.componentName == \"\"){\r\n this.homeDashboardLoaded = true;\r\n this.teamMessagingDashboardLoaded = false;\r\n this.teamMemberLoaded = false;\r\n }\r\n else if (this.componentName == \"team-messaging-dashboard\"){\r\n this.teamMessagingDashboardLoaded = true;\r\n this.homeDashboardLoaded = false;\r\n this.teamMemberLoaded = false;\r\n }\r\n else if (this.componentName == \"team-members\"){\r\n this.teamMessagingDashboardLoaded = false;\r\n this.homeDashboardLoaded = false;\r\n this.teamMemberLoaded = true;\r\n }\r\n }\r\n\r\n\r\n AddTeamClicked(){\r\n this._dialog.open(AddTeamMemberComponent, {\r\n data: { memberProfile: null }\r\n });\r\n\r\n }\r\n\r\n AddStakeholderClicked(){\r\n this._dialog.open(AddStakeholderComponent, {\r\n data: { memberProfile: null }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n

Team

\r\n
\r\n
\r\n \r\n
    \r\n \r\n \r\n\r\n
  • Team
  • \r\n
  • Messaging
  • \r\n
  • Add team member
  • \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n

Stakeholders

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

Incidents

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HomeNavMenuService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { ResponseStatus } from 'src/app/Enum/ResponseStatus.enum';\r\nimport { EmergencyTaskAssignee } from 'src/app/Models/EmergencyPlanningModels/EmergencyTaskAssignee';\r\nimport { LAEmergencyIncidentForImmediate } from 'src/app/Models/EmergencyPlanningModels/LAEmergencyIncident';\r\nimport { LAEmergencyPlanningActionItem } from 'src/app/Models/EmergencyPlanningModels/LAEmergencyPlanningActions';\r\nimport { Member } from 'src/app/Models/Members/Member';\r\nimport { IncidentNoteDTO } from 'src/app/Models/Notes/IncidentNoteDTO';\r\nimport { PostProtocolActionsModel } from 'src/app/Models/PostProtocolActionsModel';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { AssignMemberPopupComponent } from 'src/app/overlays/assign-member-popup/assign-member-popup.component';\r\nimport { ConfirmationDialogServiceService } from 'src/app/overlays/confirmation-dialog/confirmation-dialog-service.service';\r\nimport { IncidentMessageSendService } from 'src/app/team/incident-message-send/incident-message-send.service';\r\nimport { NotesOverlayComponent } from 'src/app/overlays/notes-overlay/notes-overlay.component';\r\nimport { LoadScriptService } from '../load-script.service';\r\nimport { ImmediateResponseService } from './immediate-response.service';\r\nimport { UrlHelperService } from 'src/app/core/services/url-helper.service';\r\n\r\n@Component({\r\n selector: 'app-immediate-response',\r\n templateUrl: './immediate-response.component.html',\r\n styleUrls: ['./immediate-response.component.css']\r\n})\r\nexport class ImmediateResponseComponent implements OnInit {\r\n\r\n incidentId: string = \"\";\r\n incidentsData: LAEmergencyIncidentForImmediate[] = [];\r\n incidentsDataDeepCopy: LAEmergencyIncidentForImmediate[] = [];\r\n isDataLoaded = false;\r\n\r\n selectedTeamMember: string;\r\n selectedincedence: string;\r\n selectedincedenceStatus: string;\r\n\r\n incedenceStatuses: string[] = [];\r\n teamMembers = new Set();\r\n incedences = new Set();\r\n\r\n dataLoadedEvent = new Subject();\r\n dataLoadedEventSubscription: Subscription;\r\n\r\n isTeamLoaded = false;\r\n\r\n selectedincedenceId: string;\r\n loggedInUserId: string = '';\r\n allTeamMembers: Member[] = [];\r\n\r\n updateIndividualStatusSubscription: Subscription;\r\n\r\n constructor(\r\n private _activatedRoute: ActivatedRoute,\r\n private _titleService: Title,\r\n private _loadScriptService: LoadScriptService,\r\n private _immediateResponseService: ImmediateResponseService,\r\n private _toastr: ToastrService,\r\n private _dialog: MatDialog,\r\n private _confirmationDialogServiceService: ConfirmationDialogServiceService,\r\n private _incidentMessageSendService: IncidentMessageSendService,\r\n private _apiErrorService: ApiErrorService,\r\n public _urlHelperService: UrlHelperService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n \r\n this._activatedRoute.params.subscribe((param) => {\r\n \r\n this.incidentId = param[\"id\"];\r\n this.selectedincedenceId = param[\"id\"];\r\n\r\n });\r\n\r\n this._activatedRoute.queryParams.subscribe((params) => {\r\n if (params.category != null && params.category != undefined) {\r\n this.selectedincedenceStatus = params?.category;\r\n } else {\r\n this.selectedincedenceStatus = \"All\";\r\n }\r\n if (params.member != null && params.member != undefined){\r\n this.loggedInUserId = params.member;\r\n }\r\n });\r\n\r\n this._incidentMessageSendService.GetAllTeamMembers()\r\n .subscribe(response => {\r\n //console.log(response);\r\n this.allTeamMembers = response.data;\r\n this.isTeamLoaded = true;\r\n }, \r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n\r\n this._immediateResponseService.GetAllIncidentEmergencyPlanningActions().subscribe(response => {\r\n if (!response || !response.data || response.statusCode != 200){\r\n return;\r\n }\r\n\r\n this.incidentsData = response.data;\r\n // console.log(this.incidentsData);\r\n this.incidentsData.forEach(incident => {\r\n // sort the organisationTeam memebers \r\n incident.organisationTeamForIncident.sort((a, b) => a.firstName.localeCompare(b.firstName));\r\n\r\n // sort the actions\r\n const array = JSON.parse(JSON.stringify(incident.actions)) as LAEmergencyPlanningActionItem[]; //[...incident.actions];\r\n \r\n const SharePartnerMessage = array.find(x => x.EmergencyTaskTitle == 'Share partner message ');\r\n const PrepareCSTProtocol = array.find(x => x.EmergencyTaskTitle == 'Prepare CST protocol');\r\n const ShareMETHANEinformation = array.find(x => x.EmergencyTaskTitle == 'Share METHANE information');\r\n \r\n const indexString4 = array.indexOf(ShareMETHANEinformation);\r\n \r\n if (indexString4 !== -1) {\r\n \r\n const indexofSharePartnerMessage = array.indexOf(SharePartnerMessage);\r\n const indexPrepareCSTProtocol = array.indexOf(PrepareCSTProtocol);\r\n \r\n if (indexofSharePartnerMessage !== -1 || indexPrepareCSTProtocol !== -1) {\r\n \r\n !!SharePartnerMessage && array.splice(indexofSharePartnerMessage, 1);\r\n \r\n if(SharePartnerMessage){\r\n !!PrepareCSTProtocol && array.splice(indexPrepareCSTProtocol-(indexPrepareCSTProtocol-indexofSharePartnerMessage), 1);\r\n }\r\n else{\r\n !!PrepareCSTProtocol && array.splice(indexPrepareCSTProtocol, 1);\r\n }\r\n \r\n \r\n if( SharePartnerMessage && PrepareCSTProtocol){\r\n array.splice(indexString4 , 0, SharePartnerMessage, PrepareCSTProtocol);\r\n }\r\n else if(SharePartnerMessage && !PrepareCSTProtocol) {\r\n array.splice(indexString4 , 0, SharePartnerMessage);\r\n }\r\n else if(PrepareCSTProtocol && !SharePartnerMessage) {\r\n array.splice(indexString4 , 0, PrepareCSTProtocol);\r\n }\r\n }\r\n }\r\n\r\n incident.actions = array;\r\n \r\n });\r\n\r\n this.isDataLoaded = true;\r\n this.dataLoadedEvent.next(true);\r\n }, \r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n\r\n this.dataLoadedEventSubscription = this.dataLoadedEvent.subscribe((x) => {\r\n if (x) {\r\n let timerId = setInterval(() => {\r\n //console.log(\"dataLoadedEventSubscription start\");\r\n //console.log(x);\r\n if (this.isDataLoaded && this.isTeamLoaded){\r\n const title = this.incidentsData.find(\r\n (x) => x.id === this.selectedincedenceId\r\n )?.title;\r\n if (title == undefined || title == null) {\r\n this.selectedincedence = \"All\";\r\n } else {\r\n this.selectedincedence = title;\r\n }\r\n \r\n this.teamMembers.add(\"All\");\r\n this.incedences.add(\"All\");\r\n \r\n for (const actions of this.incidentsData) {\r\n this.incedences.add(actions.title);\r\n }\r\n \r\n for (const incident of this.incidentsData) {\r\n if (incident.actions && incident.actions.length > 0) {\r\n for (const task of incident.actions) {\r\n if (task.AssigneeName != null && task.AssigneeName != undefined){\r\n this.teamMembers.add(task.AssigneeName);\r\n }\r\n }\r\n }\r\n }\r\n \r\n const staticDataIncedenceStatuses = [\r\n \"All\",\r\n \"Not Required\",\r\n \"Pending\",\r\n \"Active\",\r\n \"Complete\",\r\n ];\r\n this.incedenceStatuses.push(...staticDataIncedenceStatuses);\r\n\r\n if (this.allTeamMembers && this.allTeamMembers.length > 0 && this.loggedInUserId){\r\n const teamMember = this.allTeamMembers.find(x => x.id == this.loggedInUserId);\r\n\r\n const teamMembers = [...this.teamMembers] as string[];\r\n\r\n if (teamMember && teamMembers.find(x => x == `${teamMember.firstName} ${teamMember.familyName}`)){\r\n this.selectedTeamMember = `${teamMember.firstName} ${teamMember.familyName}`;\r\n }\r\n else{\r\n this.selectedTeamMember = [...this.teamMembers][0] as string;\r\n }\r\n }\r\n else{\r\n this.selectedTeamMember = [...this.teamMembers][0] as string;\r\n }\r\n \r\n //this.selectedincedenceStatus = this.incedenceStatuses[0];\r\n \r\n \r\n this.filterData();\r\n \r\n this._loadScriptService.LoadDropdownScript(\"response-actions-pre-protocol-launchScriptTag\");\r\n \r\n clearInterval(timerId);\r\n }\r\n }, 100);\r\n \r\n \r\n }\r\n });\r\n \r\n }\r\n\r\n teamMemberClicked(selectedValue: string) {\r\n this.selectedTeamMember = selectedValue;\r\n this.filterData();\r\n document.getElementById(\"t_dropdown\").classList.remove(\"shown\");\r\n }\r\n\r\n incedenceStatusClicked(selectedValue: string) {\r\n this.selectedincedenceStatus = selectedValue;\r\n this.filterData();\r\n document.getElementById(\"t_dropdown2\").classList.remove(\"shown\");\r\n }\r\n\r\n incedenceClicked(selectedValue: string) {\r\n this.selectedincedence = selectedValue;\r\n this.filterData();\r\n document.getElementById(\"t_dropdown3\").classList.remove(\"shown\");\r\n }\r\n\r\n incidentpopupClicked(status: string, incident: LAEmergencyIncidentForImmediate) {\r\n this._immediateResponseService\r\n .UpdateResponseStatus(status, incident.id)\r\n .subscribe(\r\n (response) => {\r\n if (response && response.statusCode == 200 && response.data > 0) {\r\n \r\n const outterIndex = this.incidentsData.findIndex(x => x.id === incident.id);\r\n if (outterIndex != -1){\r\n if (status === 'Reject'){\r\n this.incidentsData.splice(outterIndex, 1);\r\n //this.incidentsData[outterIndex].responseStatus = ResponseStatus.Declined;\r\n }\r\n else if (status === 'Acknowledge'){\r\n this.incidentsData[outterIndex].responseStatus = ResponseStatus.Active;\r\n }\r\n }\r\n\r\n this.filterData();\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n\r\n filterData() {\r\n let temp: LAEmergencyIncidentForImmediate = new LAEmergencyIncidentForImmediate();\r\n let tempActions: LAEmergencyIncidentForImmediate[] = [];\r\n\r\n let tempDataForFilter = JSON.parse(JSON.stringify(this.incidentsData)); // creating deep copy\r\n\r\n if (this.selectedincedence == \"All\") {\r\n tempActions = tempDataForFilter;\r\n } else {\r\n tempActions = tempDataForFilter.filter(\r\n (x) => x.title === this.selectedincedence\r\n );\r\n }\r\n\r\n for (const incident of tempActions) {\r\n if (incident) {\r\n temp.id = incident.id;\r\n temp.location = incident.location;\r\n temp.title = incident.title;\r\n\r\n let tempTasks : LAEmergencyPlanningActionItem[] = [];\r\n if (incident.actions && incident.actions.length > 0){\r\n \r\n tempTasks = incident.actions;\r\n\r\n if (tempTasks && tempTasks.length > 0){\r\n if (this.selectedTeamMember !== \"All\"){\r\n tempTasks = tempTasks.filter(x => x.AssigneeName == this.selectedTeamMember);\r\n }\r\n \r\n if (this.selectedincedenceStatus !== \"All\"){\r\n tempTasks = tempTasks.filter(x => x.EmergencyTaskStatus == this._immediateResponseService.getStatusNumber(this.selectedincedenceStatus));\r\n }\r\n }\r\n }\r\n\r\n //#region old filter logic\r\n // if (\r\n // incident.actions != null &&\r\n // incident.actions != undefined &&\r\n // incident.actions.length > 0\r\n // ) {\r\n // let tempTasks : LAEmergencyPlanningActionItem[] = [];\r\n // if (\r\n // this.selectedTeamMember === \"All\" &&\r\n // this.selectedincedenceStatus == \"All\"\r\n // ) {\r\n // tempTasks = teamActions.actions;\r\n // } else if (\r\n // this.selectedTeamMember != \"All\" &&\r\n // this.selectedincedenceStatus != \"All\"\r\n // ) {\r\n // tempTasks = teamActions.actions.filter(\r\n // (x) =>\r\n // x.EmergencyTaskStatus ===\r\n // this._immediateResponseService.getStatusNumber(\r\n // this.selectedincedenceStatus\r\n // ) && x.AssigneeName === this.selectedTeamMember\r\n // );\r\n // } else if (\r\n // this.selectedTeamMember == \"All\" &&\r\n // this.selectedincedenceStatus != \"All\"\r\n // ) {\r\n // tempTasks = teamActions.actions.filter(\r\n // (x) =>\r\n // x.EmergencyTaskStatus ===\r\n // this._immediateResponseService.getStatusNumber(\r\n // this.selectedincedenceStatus\r\n // )\r\n // );\r\n // } else {\r\n // tempTasks = teamActions.actions.filter(\r\n // (x) => x.AssigneeName === this.selectedTeamMember\r\n // );\r\n // }\r\n // //const actionToBeDisplyed = tempTasks.filter(x => x.EmergencyTaskStatus != 1)\r\n // temp.actions = [...tempTasks];\r\n // incident.actions = [...temp.actions];\r\n // }\r\n //#endregion\r\n\r\n\r\n\r\n //const actionToBeDisplyed = tempTasks.filter(x => x.EmergencyTaskStatus != 1)\r\n temp.actions = [...tempTasks];\r\n incident.actions = [...temp.actions];\r\n\r\n tempActions.map((item, index) => {\r\n if (item === incident) {\r\n tempActions.splice(index, 1, incident);\r\n }\r\n });\r\n }\r\n }\r\n this.incidentsDataDeepCopy = [...tempActions];\r\n\r\n //console.log(\"filter data finished\");\r\n }\r\n\r\n getStatusData(status: number): { classname: string; statusName: string } {\r\n return this._immediateResponseService.getStatusData(status);\r\n }\r\n\r\n getResponseStatusName(status: number): string {\r\n return this._immediateResponseService.getStringNameFromNumberResponseStatus(status);\r\n }\r\n\r\n IndividualTaskStatusClicked(\r\n status: number = null,\r\n OutterIndex: number,\r\n InnerIndex: number,\r\n //incident: PostProtocolActionsModel,\r\n //task: PostProtocolActionsTaskModel\r\n actions: LAEmergencyPlanningActionItem, \r\n incident: LAEmergencyIncidentForImmediate\r\n ) {\r\n\r\n\r\n if (\r\n OutterIndex == undefined ||\r\n InnerIndex == undefined ||\r\n status == undefined ||\r\n status == null ||\r\n actions == undefined ||\r\n actions.EmergencyTaskMemberId == undefined\r\n ) {\r\n return;\r\n }\r\n\r\n if (actions.AssigneeName == undefined){\r\n this._toastr.error(\"Status can not be updated as no member is assigned\");\r\n return;\r\n }\r\n\r\n this.updateIndividualStatusSubscription =\r\n this._confirmationDialogServiceService\r\n .confirmDialog(\r\n \"Update Confirmation\",\r\n \"Are you sure you want to update status\"\r\n )\r\n .subscribe((isConfirm) => {\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n document.getElementById(OutterIndex + 'update-status-spinner' + InnerIndex).style.display = 'block';\r\n document.getElementById(OutterIndex + 'btnTaskStatus' + InnerIndex).style.display = 'none'; \r\n document.getElementById(OutterIndex + 'status-td' + InnerIndex).style.backgroundColor = '#fff';\r\n\r\n this._immediateResponseService.UpdateIndividualStatus(actions.EmergencyTaskMemberId, status).subscribe(response => {\r\n //console.log(response);\r\n\r\n if (response == undefined || response.data == undefined || response.statusCode != 200){\r\n this._toastr.error(\"Something went wrong while updating status\");\r\n return;\r\n }\r\n\r\n let tempDataForFilter = JSON.parse(\r\n JSON.stringify(this.incidentsDataDeepCopy)\r\n ); // creating deep copy\r\n\r\n let tempActions: LAEmergencyIncidentForImmediate[] = [];\r\n if (this.selectedincedence == \"All\") {\r\n tempActions = tempDataForFilter;\r\n } else {\r\n tempActions = tempDataForFilter.filter(\r\n (x) => x.title === this.selectedincedence\r\n );\r\n }\r\n\r\n tempActions[OutterIndex].actions[InnerIndex].EmergencyTaskStatus = status;\r\n if (status == 1){\r\n tempActions[OutterIndex].actions.splice(InnerIndex, 1);\r\n }\r\n\r\n this.incidentsDataDeepCopy = [...tempActions];\r\n\r\n const incidentIndex = this.incidentsData.findIndex(\r\n (x) => x.id === incident.id\r\n );\r\n if (incidentIndex != -1) {\r\n const taskIndex = this.incidentsData[incidentIndex].actions.findIndex(\r\n (x) =>\r\n x.EmergencyTaskId === actions.EmergencyTaskId\r\n );\r\n\r\n if (taskIndex != -1) {\r\n this.incidentsData[incidentIndex].actions[taskIndex].EmergencyTaskStatus = status;\r\n if (status == 1){\r\n this.incidentsData[incidentIndex].actions.splice(taskIndex, 1);\r\n }\r\n this.filterData();\r\n }\r\n }\r\n\r\n document.getElementById(OutterIndex + 'update-status-spinner' + InnerIndex).style.display = 'none';\r\n document.getElementById(OutterIndex + 'btnTaskStatus' + InnerIndex).style.display = 'block';\r\n }, \r\n );\r\n\r\n },\r\n (error) => {\r\n document.getElementById(OutterIndex + 'update-status-spinner' + InnerIndex).style.display = 'none';\r\n document.getElementById(OutterIndex + 'btnTaskStatus' + InnerIndex).style.display = 'block'\r\n this._apiErrorService.ShowError(error);\r\n });\r\n }\r\n\r\n \r\n personClicked(members: Member[], outerIndex: number, innerIndex: number, actions: LAEmergencyPlanningActionItem, incident: LAEmergencyIncidentForImmediate){\r\n let memberArray : {name: string, avatar: string}[] = [];\r\n memberArray = members.map(x => { \r\n return {name: `${x.firstName} ${x.familyName}`, avatar: x.avatar}\r\n });\r\n\r\n //const memberStringArray = members.map(x => `${x.firstName} ${x.familyName}`);\r\n\r\n this._dialog.open(AssignMemberPopupComponent, {\r\n height: '80vh',\r\n data: {members: memberArray}\r\n }).afterClosed().subscribe(selectedMember => {\r\n if (selectedMember == null || selectedMember == undefined || selectedMember == ''){\r\n return;\r\n }\r\n\r\n const selectedTeamMember = members.find(x => `${x.firstName} ${x.familyName}` === selectedMember);\r\n if (!selectedTeamMember){\r\n return;\r\n }\r\n\r\n this.AssignTeamMember(selectedTeamMember, outerIndex, innerIndex, actions, incident);\r\n });\r\n }\r\n\r\n\r\n AssignTeamMember(\r\n member: Member, \r\n OutterIndex: number,\r\n InnerIndex: number,\r\n actions: LAEmergencyPlanningActionItem, \r\n incident: LAEmergencyIncidentForImmediate\r\n ){\r\n if (incident.id == null || incident.id == undefined ||\r\n member.id == null || member.id == undefined ||\r\n actions.EmergencyTaskId == null || actions.EmergencyTaskId == undefined || actions.EmergencyTaskId == 0){\r\n return;\r\n }\r\n\r\n document.getElementById(OutterIndex + 'update-assigned-member-spinner' + InnerIndex).style.display = 'block';\r\n document.getElementById(OutterIndex + 'assigned-member-div' + InnerIndex).style.display = 'none';\r\n\r\n let emergencyTaskAssignee : EmergencyTaskAssignee = new EmergencyTaskAssignee();\r\n emergencyTaskAssignee.assigneeId = member.id;\r\n emergencyTaskAssignee.incidentId = incident.id;\r\n emergencyTaskAssignee.emergencyTaskId = actions.EmergencyTaskId;\r\n this._immediateResponseService.AssignTeamMemberToTask(emergencyTaskAssignee).subscribe(response => {\r\n if (response == null || response == undefined ||\r\n response.data == null || response.data == undefined ||\r\n response.statusCode != 200){\r\n this._toastr.error(\"Something went wrong while assigning member\");\r\n }\r\n\r\n\r\n let tempDataForFilter = JSON.parse(\r\n JSON.stringify(this.incidentsDataDeepCopy)\r\n ); // creating deep copy\r\n\r\n let tempActions: LAEmergencyIncidentForImmediate[] = [];\r\n if (this.selectedincedence == \"All\") {\r\n tempActions = tempDataForFilter;\r\n } else {\r\n tempActions = tempDataForFilter.filter(\r\n (x) => x.title === this.selectedincedence\r\n );\r\n }\r\n\r\n tempActions[OutterIndex].actions[InnerIndex].AssigneeName = member.firstName + ' ' + member.familyName;\r\n tempActions[OutterIndex].actions[InnerIndex].AssigneeAvatar = member.avatar;\r\n tempActions[OutterIndex].actions[InnerIndex].EmergencyTaskStatus = 2;\r\n\r\n this.incidentsDataDeepCopy = [...tempActions];\r\n const incidentIndex = this.incidentsData.findIndex(\r\n (x) => x.id === incident.id\r\n );\r\n\r\n if (incidentIndex != -1) {\r\n const taskIndex = this.incidentsData[incidentIndex].actions.findIndex(\r\n (x) =>\r\n x.EmergencyTaskId === actions.EmergencyTaskId\r\n );\r\n if (taskIndex != -1) {\r\n this.incidentsData[incidentIndex].actions[taskIndex].AssigneeName = member.firstName + ' ' + member.familyName;\r\n this.incidentsData[incidentIndex].actions[taskIndex].AssigneeAvatar = member.avatar;\r\n this.incidentsData[incidentIndex].actions[taskIndex].EmergencyTaskStatus = 2;\r\n this.filterData();\r\n }\r\n }\r\n\r\n document.getElementById(OutterIndex + 'update-assigned-member-spinner' + InnerIndex).style.display = 'none';\r\n document.getElementById(OutterIndex + 'assigned-member-div' + InnerIndex).style.display = 'block';\r\n\r\n //console.log(response);\r\n },\r\n (error) => {\r\n document.getElementById(OutterIndex + 'update-assigned-member-spinner' + InnerIndex).style.display = 'none';\r\n document.getElementById(OutterIndex + 'assigned-member-div' + InnerIndex).style.display = 'block';\r\n\r\n this._apiErrorService.ShowError(error);\r\n })\r\n }\r\n\r\n\r\n IssueClicked(action: LAEmergencyPlanningActionItem, incident: LAEmergencyIncidentForImmediate, i: number, ii: number) {\r\n this.NotesClicked(action, incident, i, ii);\r\n\r\n this.incidentsData[i].actions[ii].HasIssue = !this.incidentsData[i].actions[ii].HasIssue;\r\n this.incidentsDataDeepCopy[i].actions[ii].HasIssue = !this.incidentsDataDeepCopy[i].actions[ii].HasIssue;\r\n }\r\n\r\n \r\n NotesClicked(action: LAEmergencyPlanningActionItem, incident: LAEmergencyIncidentForImmediate, i: number, ii: number){\r\n // if (!action.hasNotes){\r\n // return;\r\n // }\r\n\r\n this._immediateResponseService.GetEmergencyPlanningNotes(action.EmergencyTaskMemberId).subscribe(response => {\r\n if (!response || !response.data || response.statusCode != 200){\r\n this._toastr.error(\"Something went wrong\", \"Error\");\r\n }\r\n\r\n const incidentNoteDTO = response.data as IncidentNoteDTO[];\r\n const dataToBeSend = { incidentId: incident.id, emergencyTaskMemberId: action.EmergencyTaskMemberId, noteType: \"EMERGENCY\" ,incidentTitle: action.EmergencyTaskTitle, noteData: incidentNoteDTO };\r\n\r\n this._dialog.open(NotesOverlayComponent, {\r\n data: dataToBeSend\r\n }).afterClosed().subscribe(isNoteAdded => {\r\n if (isNoteAdded !== true){\r\n return;\r\n }\r\n\r\n const incidentIndexForData = this.incidentsData.findIndex(x => x.id === incident.id);\r\n if (incidentIndexForData != -1){\r\n const actionIndex = this.incidentsData[incidentIndexForData].actions.findIndex(x => x.EmergencyTaskId === action.EmergencyTaskId);\r\n if (actionIndex != -1){\r\n this.incidentsData[incidentIndexForData].actions[actionIndex].hasNotes = true;\r\n }\r\n }\r\n\r\n const incidentIndexForTeamActions = this.incidentsDataDeepCopy.findIndex(x => x.id === incident.id);\r\n if (incidentIndexForTeamActions != -1){\r\n const actionIndex = this.incidentsDataDeepCopy[incidentIndexForTeamActions].actions.findIndex(x => x.EmergencyTaskId === action.EmergencyTaskId);\r\n if (actionIndex != -1){\r\n this.incidentsDataDeepCopy[incidentIndexForTeamActions].actions[actionIndex].hasNotes = true;\r\n }\r\n }\r\n\r\n this.incidentsData[i].actions[ii].hasNotes = true;\r\n this.incidentsDataDeepCopy[i].actions[ii].hasNotes = true;\r\n \r\n });\r\n \r\n //console.log(response.data);\r\n\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n })\r\n \r\n }\r\n\r\n trackByFn(index: number, item: PostProtocolActionsModel) {\r\n return index;\r\n }\r\n\r\n GetStatusNumber(status: string){\r\n return this._immediateResponseService.getStatusNumber(status);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.dataLoadedEventSubscription){\r\n this.dataLoadedEventSubscription.unsubscribe();\r\n }\r\n \r\n if (this.updateIndividualStatusSubscription){\r\n this.updateIndividualStatusSubscription.unsubscribe();\r\n }\r\n\r\n this._loadScriptService.RemoveScript(\r\n \"response-actions-pre-protocol-launchScriptTag\"\r\n );\r\n }\r\n\r\n}","\r\n\r\n
\r\n

Immediate Response Actions

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

\r\n\r\n \r\n {{selectedincedenceStatus === 'All' ? ' All status’s' : (' ' + selectedincedenceStatus)}}\r\n \r\n actions for\r\n \r\n {{selectedTeamMember === 'All' ? ' all team members' : (' ' + selectedTeamMember)}}\r\n \r\n for\r\n \r\n {{selectedincedence === 'All' ? ' all incidents' : (' ' + selectedincedence)}}\r\n \r\n \r\n

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

\r\n \r\n

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

Acknowledge incident

\r\n
\r\n
\r\n Reject\r\n Acknowledge\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PersonActionNotesIssueStatus
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
{{action.EmergencyTaskTitle}}\r\n \"\"\r\n \"\"\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
    \r\n\r\n \r\n\r\n\r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { EmergencyTaskAssignee } from 'src/app/Models/EmergencyPlanningModels/EmergencyTaskAssignee';\r\nimport { ApiService } from 'src/app/core/interceptors/api.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ImmediateResponseService {\r\n\r\n constructor(private _apiService: ApiService) {}\r\n\r\n GetAllIncidentEmergencyPlanningActions(){\r\n const url = `/La/AllIncidentEmergencyPlanningActions`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n\r\n GetEmergencyPlanningActions(incidentId: string){\r\n const url = `/La/EmergencyPlanningActions/${incidentId}`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n UpdateResponseStatus(status: string, incidentId: string){\r\n if (status === \"Reject\"){\r\n const url = `/La/Incident/Task/Reject/${incidentId}`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n else{\r\n const url = `/La/Incident/Task/Acknowledge/${incidentId}`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n }\r\n \r\n GetTeamMembersForIncident(incidentId: string){\r\n const url = `/La/OrganisationTeam/${incidentId}`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n UpdateIndividualStatus(emergencyTaskMemberId : number, status : number){\r\n const url = `/La/EmergencyPlanningActions/UpdateStatus/${emergencyTaskMemberId}/${status}`;\r\n return this._apiService.post(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n AssignTeamMemberToTask(emergencyTaskAssignee : EmergencyTaskAssignee){\r\n const url = `/La/EmergencyPlanningActions/Assign`;\r\n return this._apiService.post(url, emergencyTaskAssignee).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n \r\n GetEmergencyPlanningNotes(taskId: number){\r\n const url = `/La/Notes/Emergency/${taskId}`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n \r\n\r\n// { [Display(Name = \"Not Required\")] NotRequired= 1, \r\n// [Display(Name = \"Pending\")] Pending = 2, [\r\n// Display(Name = \"Active\")] Active = 3, [\r\n// Display(Name = \"Complete\")] Complete = 4 }\r\n\r\n\r\ngetStatusData(status: number): {classname: string, statusName: string}{\r\n let result: {classname: string, statusName: string};\r\n switch(status) { \r\n case 1: { // NotRequired\r\n result = {classname : \"notRequired\", statusName : \"\"};\r\n // result = {classname : \"dark-green\", statusName : \"Done\"};\r\n break; \r\n } \r\n case 2: { // Pending\r\n result = {classname : \"grey\", statusName : \"Pending\"}; \r\n break; \r\n } \r\n case 3: { // Active\r\n result = {classname : \"orange\", statusName : \"Active\"};\r\n break; \r\n } \r\n case 4: { // Complete\r\n result = {classname : \"dark-green\", statusName : \"Complete\"};\r\n // result = {classname : \"orange\", statusName : \"Active\"};\r\n break; \r\n } \r\n default: { \r\n result = {classname : \"notRequired\", statusName : \"\"};\r\n break; \r\n } \r\n } \r\n return result;\r\n}\r\n\r\ngetStatusNumber(status: string): number{\r\n let result: number;\r\n switch(status) { \r\n case \"notRequired\": { // Active\r\n result = 1;\r\n break; \r\n } \r\n case \"Pending\": { // Ongoing\r\n result = 2;\r\n break; \r\n } \r\n case \"Active\": { // Pending\r\n result = 3;\r\n break; \r\n } \r\n case \"Complete\": { // Done\r\n result = 4;\r\n break; \r\n } \r\n default: { \r\n result = 1;\r\n break; \r\n } \r\n } \r\n return result;\r\n}\r\n\r\ngetStringNameFromNumberResponseStatus(status: number) : string{\r\n let result: string;\r\n switch(status) { \r\n case 0: { // Active\r\n result = \"Active\";\r\n break; \r\n } \r\n case 1: { // ScaledDown\r\n result = \"ScaledDown\";\r\n break; \r\n } \r\n case 2: { // Declined\r\n result = \"Declined\";\r\n break; \r\n } \r\n case 3: { // Pending\r\n result = \"Pending\";\r\n break; \r\n } \r\n default: { \r\n result = \"Active\";\r\n break; \r\n } \r\n } \r\n return result;\r\n}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadScriptService {\r\n\r\n constructor() { }\r\n\r\n public LoadScript(tagId: string, scriptFileName: string = 'home-dashboardScript.js') {\r\n const scriptTag = document.getElementById(tagId);\r\n if (scriptTag == null || scriptTag == undefined) { \r\n let body = document.body;\r\n let script = document.createElement('script');\r\n script.innerHTML = '';\r\n script.src = `assets/js/${scriptFileName}`;\r\n script.async = true;\r\n script.defer = true;\r\n script.id = tagId;\r\n body.appendChild(script);\r\n }\r\n }\r\n\r\n LoadDropdownScript(tagId: string){\r\n const timerId = setInterval(() => {\r\n if (this.ShouldDropdownScriptLoad()){\r\n this.LoadScript(tagId);\r\n clearInterval(timerId);\r\n }\r\n }, 100);\r\n }\r\n\r\n LoadIncidentToggleScript(tagId: string){\r\n const timerId = setInterval(() => {\r\n if (this.ShouldToggleScriptLoad()){\r\n this.LoadScript(tagId);\r\n clearInterval(timerId);\r\n }\r\n }, 100);\r\n }\r\n\r\n public RemoveScript(tagId: string): void {\r\n const scriptTag = document.getElementById(tagId);\r\n if (scriptTag != null && scriptTag != undefined){\r\n document.getElementById(tagId).remove();\r\n }\r\n }\r\n\r\n ShouldToggleScriptLoad(){\r\n const incidentToggleJsElm = document.getElementsByClassName('incident_toggle-js');\r\n const incidentToggleViewJsElm = document.getElementsByClassName('incident_toggle-view-js');\r\n if (incidentToggleJsElm && incidentToggleJsElm.length > 0 && incidentToggleViewJsElm && incidentToggleViewJsElm.length > 0){\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n ShouldDropdownScriptLoad(){\r\n const eachDropdownJsElm = document.getElementsByClassName('each-dropdown-js');\r\n const mainDropdownJsElm = document.getElementsByClassName('main-dropdown-js');\r\n const eachDropdownContentJsElm = document.getElementsByClassName('each-dropdown-content-js');\r\n if (this.IsAllElementsRendered(eachDropdownJsElm, mainDropdownJsElm, eachDropdownContentJsElm)){\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n IsAllElementsRendered(eachDropdownJsElm: HTMLCollectionOf, mainDropdownJsElm: HTMLCollectionOf, eachDropdownContentJsElm: HTMLCollectionOf){\r\n return eachDropdownJsElm \r\n && mainDropdownJsElm \r\n && eachDropdownContentJsElm \r\n && eachDropdownJsElm.length > 0 \r\n && mainDropdownJsElm.length > 0 \r\n && eachDropdownContentJsElm.length > 0;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { Accordion, CommonType, CreateIncidentDTO, IncidentDTO, Markers, MarkersForIncidentDetails, OrganizationGroup } from '../Models/incident.modal';\r\nimport { IncidentService } from '../initial-incident-form/incident.service';\r\nimport { BCURegionDTO } from '../Models/BCURegionDTO.Model';\r\nimport { ApiErrorService } from '../core/services/api-error.service';\r\n\r\n@Component({\r\n selector: 'app-incident-location-details',\r\n templateUrl: './incident-location-details.component.html',\r\n styleUrls: ['./incident-location-details.component.css']\r\n})\r\nexport class IncidentLocationDetailsComponent implements OnInit {\r\n \r\n //#region Incident Tab\r\n IncidentDTO: IncidentDTO = new IncidentDTO();\r\n CreateIncidentDTO: CreateIncidentDTO = new CreateIncidentDTO();\r\n Accordion: Accordion = new Accordion();\r\n incidentForm: NgForm;\r\n incidentIsSubmit: boolean = false;\r\n Days: CommonType[] = []\r\n Months: CommonType[] = []\r\n Years: CommonType[] = []\r\n OrganizationGroup: OrganizationGroup[] = []\r\n subOrganizationGroup: OrganizationGroup[] = []\r\n lng: any;\r\n lat: any;\r\n markers: Markers[] = []\r\n IncidentMapShow: boolean = false;\r\n loadIncident: boolean = false;\r\n // google maps zoom level\r\n zoom: number = 11;\r\n scroll: boolean = false;\r\n BCURegionDTO: BCURegionDTO = new BCURegionDTO();\r\n IsPolicecordon: boolean = false;\r\n IsCrimescene: boolean = false;\r\n IsRendezvouspoint: boolean = false;\r\n MapShow: boolean = true;\r\n //#region Mapshow\r\n LocationMainmarkers: MarkersForIncidentDetails[] = []\r\n LocationMainmarkersFirst: MarkersForIncidentDetails[] = []\r\n LocationMainmarkersSecond: MarkersForIncidentDetails[] = []\r\n //#endregion\r\n //#endregion\r\n constructor(\r\n private _incidentService: IncidentService, \r\n private _activatedRoute: ActivatedRoute, \r\n private _toastr: ToastrService, \r\n private _titleService: Title, \r\n private _apiErrorService: ApiErrorService) {\r\n if (this._activatedRoute.snapshot.paramMap != null && this._activatedRoute.snapshot.paramMap.get('id') != null) {\r\n this.IncidentDTO.incidentid = this._activatedRoute.snapshot.paramMap.get('id');\r\n if (this.IncidentDTO.incidentid != null && this.IncidentDTO.incidentid != undefined) {\r\n this.getIncidentDetails(this.IncidentDTO.incidentid)\r\n }\r\n } else {\r\n this.IncidentDTO.incidentid = '0';\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n this.getLocation();\r\n }\r\n getIncidentDetails(incidentid) {\r\n const self = this;\r\n self.loadIncident = true;\r\n self._incidentService.getIncidentDetails(incidentid).pipe(finalize(() => {\r\n self.loadIncident = false;\r\n })).subscribe(res => {\r\n if (res != null && res.statusCode == 200) {\r\n this.IncidentDTO = res.data;\r\n if (this.IncidentDTO != null && this.IncidentDTO.bcuLocationData != null) {\r\n if (this.IncidentDTO.bcuLocationData.locations != null && this.IncidentDTO.bcuLocationData.locations.length > 0) {\r\n let Policecordon = this.IncidentDTO.bcuLocationData.locations.filter(x => x.type == 0)//Police cordon\r\n if (Policecordon != null && Policecordon.length > 0) {\r\n this.IsPolicecordon = true;\r\n }\r\n let Rendezvouspoint = this.IncidentDTO.bcuLocationData.locations.filter(x => x.type == 1)//Rendezvous point\r\n if (Rendezvouspoint != null && Rendezvouspoint.length > 0) {\r\n this.IsRendezvouspoint = true;\r\n }\r\n let Crimescene = this.IncidentDTO.bcuLocationData.locations.filter(x => x.type == 2)//Crime scene\r\n if (Crimescene != null && Crimescene.length > 0) {\r\n this.IsCrimescene = true;\r\n }\r\n\r\n }\r\n if (this.IncidentDTO.latitude != null && this.IncidentDTO.longitude) {\r\n this.LocationMainmarkers.push({\r\n lat: Number(this.IncidentDTO.latitude),\r\n lng: Number(this.IncidentDTO.longitude),\r\n label: 'Incident location',\r\n visible: true,\r\n opacity: 0.7,\r\n icon: '../../assets/images/red-marker.png',\r\n ispolygon: false,\r\n path: []\r\n })\r\n }\r\n if (this.IncidentDTO.bcuLocationData != null && this.IncidentDTO.bcuLocationData.locations != null) {\r\n let indexPolicecordon = 1;\r\n let indexRendezvouspoint = 1;\r\n let indexCrimescene = 1;\r\n this.IncidentDTO.bcuLocationData.locations.forEach(element => {\r\n switch (element.type) {\r\n case 0://Police cordon //Polygoan\r\n this.LocationMainmarkers.push({\r\n lat: 0,\r\n lng: 0,\r\n label: 'Police cordon ' + indexPolicecordon,\r\n visible: true,\r\n opacity: 0.7,\r\n icon: '../../assets/images/circle-lightblue.png',\r\n ispolygon: true,\r\n path: element.locationPoints,\r\n color: '#80cff4'\r\n })\r\n indexPolicecordon++;\r\n break;\r\n case 1://Rendezvous point //drop pin\r\n let latArray : Array = [];\r\n let lngArray : Array = [];\r\n for (const iterator of element.locationPoints) {\r\n latArray.push(iterator.lat);\r\n lngArray.push(iterator.lng);\r\n }\r\n this.lat= Math.max(...latArray); \r\n this.lng= Math.max(...lngArray);\r\n this.LocationMainmarkers.push({\r\n lat: Number(element.locationPoints[0].lat),\r\n lng: Number(element.locationPoints[0].lng),\r\n label: 'Rendezvous point ' + indexRendezvouspoint,\r\n visible: true,\r\n opacity: 0.7,\r\n icon: '../../assets/images/maps-and-flags-lighblue.png',\r\n ispolygon: false,\r\n path: []\r\n })\r\n indexRendezvouspoint++;\r\n break;\r\n case 2://Crime scene //Polygoan\r\n this.LocationMainmarkers.push({\r\n lat: 0,\r\n lng: 0,\r\n label: 'Crime scene ' + indexCrimescene,\r\n visible: true,\r\n opacity: 0.7,\r\n icon: '../../assets/images/circle-purple.png',\r\n ispolygon: true,\r\n path: element.locationPoints,\r\n color: '#c480b5'\r\n })\r\n indexCrimescene++;\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n });\r\n }\r\n if (this.IncidentDTO.section60 != null && this.IncidentDTO.section60.locality != null) {\r\n this.LocationMainmarkers.push({\r\n lat: 0,\r\n lng: 0,\r\n label: 'Section 60 ',\r\n visible: true,\r\n opacity: 0.7,\r\n icon: '../../assets/images/red-line.png',\r\n ispolygon: true,\r\n path: this.IncidentDTO.section60.locality,\r\n color: '#E52A12'\r\n })\r\n }\r\n if (this.IncidentDTO.section35 != null && this.IncidentDTO.section35.locality != null) {\r\n this.LocationMainmarkers.push({\r\n lat: 0,\r\n lng: 0,\r\n label: 'Section 35 ',\r\n visible: true,\r\n opacity: 0.7,\r\n icon: '../../assets/images/red-line.png',\r\n ispolygon: true,\r\n path: this.IncidentDTO.section35.locality,\r\n color: '#E52A12'\r\n })\r\n }\r\n }\r\n // const middleIndex = Math.ceil(this.LocationMainmarkers.length / 2);\r\n // let array = this.LocationMainmarkers\r\n // this.LocationMainmarkersFirst = array.slice().splice(0, middleIndex);\r\n // this.LocationMainmarkersSecond = array.slice().splice(-middleIndex);\r\n }\r\n }, (error => {\r\n this.IncidentDTO.incidentid = '0'\r\n this.IncidentDTO = new IncidentDTO();\r\n\r\n this._apiErrorService.ShowError(error);\r\n }));\r\n }\r\n getLocation() {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition((position: any) => {\r\n if (position) {\r\n if (this.lat == undefined || this.lat == null){\r\n this.lat = position.coords.latitude;\r\n }\r\n if (this.lng == undefined || this.lng == null){\r\n this.lng = position.coords.longitude;\r\n }\r\n this.markers = []\r\n\r\n }\r\n },\r\n (error: any) => console.log(error));\r\n } else {\r\n alert(\"Geolocation is not supported by this browser.\");\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

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

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
","import { SimpleIncidentDTO } from './../Models/incident.modal';\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ApiErrorService } from '../core/services/api-error.service';\r\nimport { UrlHelperService } from '../core/services/url-helper.service';\r\nimport { LoadScriptService } from '../home-dashboard/load-script.service';\r\nimport { IncidentsListService } from './incidents-list.service';\r\nimport { IncidentStatusEnum } from '../Enum/IncidentStatus.enum';\r\n\r\n@Component({\r\n selector: 'app-incidents-list',\r\n templateUrl: './incidents-list.component.html',\r\n styleUrls: ['./incidents-list.component.css']\r\n})\r\nexport class IncidentsListComponent implements OnInit, OnDestroy {\r\n\r\n incidents: SimpleIncidentDTO[];\r\n incidentsDeepCopy: SimpleIncidentDTO[];\r\n\r\n incidentStatusEnum = IncidentStatusEnum;\r\n\r\n isIncidentsLoaded: boolean = false;\r\n\r\n selectedincedenceStatus: string = \"All\";\r\n\r\n incedenceStatuses: string[] = [\"All\"];\r\n\r\n constructor(\r\n private _activatedRoute: ActivatedRoute,\r\n private _titleService: Title,\r\n private _loadScriptService: LoadScriptService,\r\n private _incidentsListService: IncidentsListService,\r\n private _apiErrorService: ApiErrorService,\r\n public _urlHelperService: UrlHelperService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n\r\n this._incidentsListService.GetAllIncident()\r\n .subscribe(response => {\r\n if (!response || !response.data || response.statusCode != 200){\r\n return;\r\n }\r\n\r\n this.incidents = this._incidentsListService.SortIncidentsBasedOnDateTime(response.data);\r\n this.incidentsDeepCopy = this.incidents;\r\n \r\n this.isIncidentsLoaded = true;\r\n this._loadScriptService.LoadDropdownScript(\"la-incident-listScriptTag\");\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n\r\n this.incedenceStatuses.push(...Object.keys(IncidentStatusEnum)\r\n .filter(key => (isNaN(Number(key)) && key != IncidentStatusEnum[IncidentStatusEnum.Open]))\r\n .map(key => key.trim()));\r\n }\r\n\r\n incedenceStatusClicked(selectedValue: string) {\r\n this.selectedincedenceStatus = selectedValue;\r\n this.filterData();\r\n document.getElementById(\"t_dropdown2\").classList.remove(\"shown\");\r\n }\r\n\r\n\r\n filterData() {\r\n this.incidentsDeepCopy = JSON.parse(JSON.stringify(this.incidents)); // creating deep copy\r\n\r\n if (this.selectedincedenceStatus !== \"All\"){\r\n if (this.selectedincedenceStatus == IncidentStatusEnum[IncidentStatusEnum.Active]){\r\n this.incidentsDeepCopy = this.incidents.filter(x => x.status == IncidentStatusEnum.Active || x.status == IncidentStatusEnum.Open);\r\n }\r\n else{\r\n this.incidentsDeepCopy = this.incidents.filter(x => x.status == IncidentStatusEnum[this.selectedincedenceStatus])// tempTasks.filter(x => x.EmergencyTaskStatus == this._immediateResponseService.getStatusNumber(this.selectedincedenceStatus));\r\n }\r\n }\r\n }\r\n\r\n GetIncidentStatusString(status: IncidentStatusEnum){\r\n return this._incidentsListService.GetIncidentStatusString(status);\r\n }\r\n\r\n\r\n trackByFn(index: number, item: SimpleIncidentDTO) {\r\n return index;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._loadScriptService.RemoveScript(\r\n \"la-incident-listScriptTag\"\r\n );\r\n }\r\n}\r\n","\r\n\r\n
\r\n

All Incidents

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

\r\n\r\n \r\n {{selectedincedenceStatus === 'All' ? ' All status’s' : (' ' + selectedincedenceStatus)}}\r\n \r\n Incidents\r\n\r\n \r\n

\r\n\r\n \r\n\r\n
    \r\n
  • \r\n
  • \r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Incident NameDateLocationLocal AuthorityStatus
{{incident.title}}{{incident.date | date:'HH:mm EEE d MMMM'}}{{incident.location}}{{incident.organisationGroupName}}{{GetIncidentStatusString(incident.status)}}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiService } from '../core/interceptors/api.service';\r\nimport { map } from 'rxjs/operators';\r\nimport { SimpleIncidentDTO } from '../Models/incident.modal';\r\nimport { IncidentStatusEnum } from '../Enum/IncidentStatus.enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IncidentsListService {\r\n\r\n constructor(private _apiService: ApiService) {}\r\n\r\n GetAllIncident(){\r\n const url = `/La/Incidents/Get`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n SortIncidentsBasedOnDateTime(incedents: SimpleIncidentDTO[]) {\r\n return incedents.sort((a, b) => {\r\n const aDate = new Date(a.date);\r\n const bDate = new Date(b.date);\r\n return bDate.getTime() - aDate.getTime();\r\n });\r\n }\r\n\r\n GetIncidentStatusString(status: IncidentStatusEnum){\r\n switch (status) {\r\n case IncidentStatusEnum.Active:\r\n return \"Active\";\r\n break;\r\n\r\n case IncidentStatusEnum.Declined:\r\n return \"Declined\";\r\n break;\r\n\r\n case IncidentStatusEnum.Archived:\r\n return \"Archived\";\r\n break;\r\n \r\n case IncidentStatusEnum.Open:\r\n return \"Active\";\r\n break;\r\n\r\n case IncidentStatusEnum.ScaledDown:\r\n return \"Scaled Down\";\r\n break;\r\n \r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from '../core/interceptors/api.service';\r\nimport { CommonType, IncidentDTO, IncidentStatus, LocationSectionDTO, LocationType, MessageDTO, OrganizationGroup, Section35DTO, Section60DTO } from '../Models/incident.modal';\r\nimport { Months } from '../Enum/Months.enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IncidentService {\r\n IncidentStatus: IncidentStatus[] = [];\r\n LocationType: LocationType[] = [];\r\n Days: CommonType[] = []\r\n Months: CommonType[] = []\r\n Years: CommonType[] = []\r\n OrganizationGroup: OrganizationGroup[] = []\r\n subOrganizationGroup: OrganizationGroup[] = []\r\n constructor(private _apiService: ApiService) { }\r\n\r\n //#region Incident \r\n getIncidentStatus(): IncidentStatus[] {\r\n return this.IncidentStatus = [{ id: 0, name: \"Open\" }, { id: 1, name: \"Active\" }, { id: 2, name: \"Scaled Down\" }, { id: 3, name: \"Archived\" }]\r\n }\r\n getLocationType(): LocationType[] {\r\n return this.LocationType = [{ id: 0, name: \"PoliceCordon\" }, { id: 1, name: \"RendezvousPoint\" }, { id: 2, name: \"CrimeScene\" }]\r\n }\r\n getDays() {\r\n let tottalDay = 31\r\n for (let index = 1; index <= tottalDay; index++) {\r\n this.Days.push({ 'id': index, 'name': index.toString() });\r\n }\r\n return this.Days;\r\n }\r\n getMonths() {\r\n let tottalMonth = 12\r\n for (let index = 1; index <= tottalMonth; index++) {\r\n this.Months.push({ 'id': index, 'name': this.GetMonthNameFromMonthIndex(index) });\r\n }\r\n return this.Months;\r\n }\r\n getYears() {\r\n let currentDate = new Date();\r\n currentDate.setFullYear(2010)\r\n let tottalYear = Number(currentDate.getFullYear()) + 20\r\n for (let index = 2010; index <= tottalYear; index++) {\r\n this.Years.push({ 'id': index, 'name': index.toString() });\r\n }\r\n return this.Years;\r\n }\r\n\r\n GetMonthNameFromMonthIndex(monthIndex: number){\r\n const monthNames = Object.keys(Months).filter((key) => isNaN(Number(key))) as Array;\r\n \r\n const month = monthNames.find((month) => Months[month] === monthIndex);\r\n\r\n if (month) {\r\n return month;\r\n }\r\n\r\n return ''; // or handle invalid month index case as per your requirements\r\n }\r\n\r\n getOrganizationGroup() {\r\n this.OrganizationGroup=[];\r\n this.OrganizationGroup.push(\r\n { 'id': 'Homicide / suspicious death', 'name': 'Homicide / suspicious death' },\r\n { 'id': 'Attempted murder', 'name': 'Attempted murder' },\r\n { 'id': 'Violent disorder', 'name': 'Violent disorder' },\r\n { 'id': 'Fatal Collisions', 'name': 'Fatal Collisions' },\r\n { 'id': 'Serious sexual assault in a public space', 'name': 'Serious sexual assault in a public space' },\r\n { 'id': 'Hate crime-related violence or criminal damage', 'name': 'Hate crime-related violence or criminal damage' },\r\n { 'id': 'Other', 'name': 'Other' },\r\n { 'id': 'Critical and Major incidents', 'name': 'Critical and Major incidents' }, \r\n { 'id': 'Unknown', 'name': 'Unknown' }\r\n )\r\n return this.OrganizationGroup\r\n }\r\n getsubOrganizationGroup() {\r\n this.subOrganizationGroup=[]\r\n this.subOrganizationGroup.push(\r\n { 'id': 'Gun crime', 'name': 'Gun crime' }, \r\n { 'id': 'Knife crime', 'name': 'Knife crime' }, \r\n { 'id': 'Acid', 'name': 'Acid' }, \r\n { 'id': 'Other', 'name': 'Other' }, \r\n { 'id': 'Unknown', 'name': 'Unknown' }, \r\n { 'id': 'Not applicable', 'name': 'Not applicable' }\r\n )\r\n return this.subOrganizationGroup\r\n }\r\n\r\n getRegionList() {\r\n const url = \"/BCU/RegionList\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n saveUpdateIncident(IncidentDTO: IncidentDTO) {\r\n if (IncidentDTO.incidentid == '0') {\r\n const url = \"/BCU/Incident/Save\";\r\n return this._apiService.post(url, IncidentDTO).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n } else {\r\n const url = \"/BCU/Incident/Update\";\r\n return this._apiService.put(url, IncidentDTO).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n }\r\n getIncidentDetails(incidentid: any) {\r\n const url = \"/BCU/GetBCUIncident/\" + incidentid;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n\r\n SetIncidentAsViewed(incidentId: string){\r\n const url = `/BCU/SetIncidentAsViewed/${incidentId}`;\r\n return this._apiService.put(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region Location\r\n saveUpdateLocation(LocationSectionDTO: LocationSectionDTO) {\r\n const url = \"/BCU/Location/Save\";\r\n return this._apiService.post(url, LocationSectionDTO).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n\r\n }\r\n getLocationDetails(locationId: any) {\r\n const url = \"/BCU/Location/\" + locationId;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n //#endregion\r\n //#region Section 60 Request\r\n saveUpdateSection60Request(Section60DTO: Section60DTO) {\r\n const url = \"/BCU/Section60/Save\";\r\n return this._apiService.post(url, Section60DTO).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n\r\n }\r\n getSection60RequestDetails(section60Id: any) {\r\n const url = \"/BCU/Section60/\" + section60Id;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n fileUploadSection60(file) {\r\n const url = \"/BCU/UploadMap\";\r\n const formData: FormData = new FormData();\r\n formData.append('file', file);\r\n return this._apiService.post(url, formData).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n //#endregion\r\n //#region Section 35 Request\r\n saveUpdateSection35Request(Section35DTO: Section35DTO) {\r\n\r\n const url = \"/BCU/Section35/Save\";\r\n return this._apiService.post(url, Section35DTO).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n\r\n }\r\n getSection35RequestDetails(section35Id: any) {\r\n const url = \"/BCU/Section35/\" + section35Id;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region Partner Message\r\n sendPartnerMessage(MessageDTO:MessageDTO) {\r\n const url = \"/BCU/SendPartnerMessage\";\r\n return this._apiService.put(url, MessageDTO).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n //#endregion\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IncidentDTO, LocationDTO, LocationSectionDTO, Section35DTO, Section60DTO } from '../Models/incident.modal';\r\nimport { IncidentService } from '../initial-incident-form/incident.service';\r\nimport { ApiErrorService } from '../core/services/api-error.service';\r\nimport { LocationColor } from '../Enum/LocationType.enum';\r\nimport { IncidentFormLocationEntity } from '../Models/IncidentFormLocationEntity';\r\nimport { IirService } from '../bcu/components/iir/iir.service';\r\nimport { DateService } from '../core/services/date.service';\r\nimport { StringHelperService } from '../core/services/string-helper.service';\r\nimport { UrlHelperService } from '../core/services/url-helper.service';\r\nimport { LoadScriptService } from '../home-dashboard/load-script.service';\r\n\r\n@Component({\r\n selector: 'app-la-incident-details',\r\n templateUrl: './la-incident-details.component.html',\r\n styleUrls: ['./la-incident-details.component.css']\r\n})\r\nexport class LAIncidentDetailsComponent implements OnInit {\r\n BLUE_MARKER_URL = \"../../assets/images/blue-big-marker.png\";\r\n\r\n incident: IncidentDTO = new IncidentDTO();\r\n lng: any;\r\n lat: any;\r\n incidentLoaded: boolean = false;\r\n zoom: number = 14;\r\n\r\n shouldIncidentMarkerVisible = true;\r\n\r\n CrimeSceneLocations: IncidentFormLocationEntity[] = [];\r\n PoliceCordonLocations: IncidentFormLocationEntity[] = [];\r\n RendezvousPointLocations: IncidentFormLocationEntity[] = [];\r\n Section60Locations: IncidentFormLocationEntity[] = [];\r\n Section35Locations: IncidentFormLocationEntity[] = [];\r\n\r\n CrimeSceneLocationsToShow: IncidentFormLocationEntity[] = [];\r\n PoliceCordonLocationsToShow: IncidentFormLocationEntity[] = [];\r\n RendezvousPointLocationsToShow: IncidentFormLocationEntity[] = [];\r\n Section60LocationsToShow: IncidentFormLocationEntity[] = [];\r\n Section35LocationsToShow: IncidentFormLocationEntity[] = [];\r\n\r\n MainLocationPolygon: { id: string, path: any; color: string, name: string }[] = [];\r\n MainLocationPolygonToShow: { id: string, path: any; color: string, name: string }[] = [];\r\n\r\n MainLocationRVPMarker: { id: string, path: any; color: string, name: string, icon: string, label: string, lat: number, lng: number }[] = [];\r\n MainLocationRVPMarkerToShow: { id: string, path: any; color: string, name: string, icon: string, label: string, lat: number, lng: number }[] = [];\r\n\r\n shouldMapShow: boolean = true;\r\n\r\nconstructor(\r\n private _incidentService: IncidentService, \r\n private _iirService: IirService, \r\n private _activatedRoute: ActivatedRoute, \r\n private _stringHelperService: StringHelperService, \r\n private _toastr: ToastrService, \r\n private _titleService: Title,\r\n private _loadScriptService: LoadScriptService,\r\n private _router: Router,\r\n private _apiErrorService: ApiErrorService,\r\n private _dateService: DateService,\r\n public _urlHelperService: UrlHelperService\r\n ) { }\r\n\r\nngOnInit(): void {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n this._loadScriptService.LoadScript('incident-DetailsScriptTag');\r\n \r\n this.InitilizeIncident();\r\n}\r\n\r\nInitilizeIncident(){\r\n const params = this._activatedRoute.snapshot.paramMap;\r\n if (!params || !params.get('id') || !this._stringHelperService.IsValidGuid(params.get('id'))){\r\n this._apiErrorService.ShowErrorModal(\"Error\", \"Something went wrong\");\r\n }\r\n\r\n this.incident.incidentid = params.get('id');\r\n this.incident.id = params.get('id');\r\n\r\n this.GetIncident(this.incident.incidentid);\r\n\r\n}\r\n\r\nGetIncident(id: string){\r\n this._iirService.GetIncidentDetails(id).subscribe(response => {\r\n if (!response || response.statusCode != 200 || !response.data){\r\n this._apiErrorService.ShowErrorModal(\"Error\", \"Something went wrong\");\r\n }\r\n\r\n this._loadScriptService.LoadScript('jquerySliderScriptTag', 'jquerySlider.js');\r\n\r\n console.log(response.data);\r\n this.incident = response.data;\r\n this.incident.incidentDate = this._dateService.RetrieveDate(this.incident.incidentDate);\r\n if (!this._stringHelperService.IsNullOrWhiteSpace(response.data.incidentDescription)){\r\n try {\r\n this.incident.incidentDescription = JSON.parse(response.data.incidentDescription)\r\n }\r\n catch{\r\n this.incident.incidentDescription = response.data.incidentDescription\r\n }\r\n }\r\n\r\n if (this.incident.latitude != null && this.incident.longitude){\r\n this.lat = +this.incident.latitude;\r\n this.lng = +this.incident.longitude;\r\n }\r\n\r\n if (this.incident.bcuLocationData && this.incident.bcuLocationData.id) {\r\n this.InitializeMainLocations(this.incident.bcuLocationData);\r\n //this.GetAllLocationDetails(this.incident.bcuLocationData.id);\r\n }\r\n\r\n if (this.incident.section60) {\r\n this.InitilizeSection60Locations(this.incident.section60);\r\n } \r\n\r\n if (this.incident.section35) {\r\n this.InitilizeSection35Locations(this.incident.section35);\r\n }\r\n\r\n this.SetIncidentAsViewed();\r\n\r\n this.incidentLoaded = true;\r\n\r\n }, \r\n (error => {\r\n this.incident.incidentid = '0'\r\n this.incident = new IncidentDTO();\r\n\r\n this._apiErrorService.ShowError(error);\r\n }));\r\n}\r\n\r\n\r\nInitializeMainLocations(bcuLocation: LocationSectionDTO){\r\n if (!bcuLocation || !bcuLocation.locations || bcuLocation.locations.length <= 0){\r\n return;\r\n }\r\n\r\n for (const location of bcuLocation.locations) {\r\n let entity = this._iirService.InstanciateIncidentFormLocationEntity(location, location.locationPoints, true, true, this.lat, this.lng, this.BLUE_MARKER_URL);\r\n entity.locationDTO = location as LocationDTO;\r\n \r\n if (location.type == 0){\r\n if (this.PoliceCordonLocations.findIndex(x => x.id == location.id) == -1){\r\n this.PoliceCordonLocations.push(entity);\r\n this.PoliceCordonLocationsToShow.push(entity);\r\n this.MainLocationPolygon.push({ id: location.id, path: location.locationPoints, color: LocationColor.PoliceCordonLocation, name: location.name });\r\n this.MainLocationPolygonToShow.push({ id: location.id, path: location.locationPoints, color: LocationColor.PoliceCordonLocation, name: location.name });\r\n }\r\n }\r\n else if (location.type == 2){\r\n if (this.CrimeSceneLocations.findIndex(x => x.id == location.id) == -1){\r\n this.CrimeSceneLocations.push(entity);\r\n this.CrimeSceneLocationsToShow.push(entity);\r\n this.MainLocationPolygon.push({ id: location.id, path: location.locationPoints, color: LocationColor.CrimeSceneLocation, name: location.name });\r\n this.MainLocationPolygonToShow.push({ id: location.id, path: location.locationPoints, color: LocationColor.CrimeSceneLocation, name: location.name });\r\n }\r\n }\r\n else if (location.type == 1){\r\n if (this.MainLocationRVPMarker.findIndex(x => x.id == location.id) == -1){\r\n\r\n entity.icon = this.BLUE_MARKER_URL;\r\n entity.lat = location.locationPoints[0].lat;\r\n entity.lng = location.locationPoints[0].lng;\r\n this.RendezvousPointLocations.push(entity);\r\n this.RendezvousPointLocationsToShow.push(entity);\r\n this.MainLocationRVPMarker.push(\r\n { \r\n id: location.id, \r\n path: location.locationPoints, \r\n color: LocationColor.RendezvousPointLocation, \r\n name: location.name, \r\n icon: this.BLUE_MARKER_URL,\r\n label: '',\r\n lat: location.locationPoints[0].lat,\r\n lng: location.locationPoints[0].lng\r\n }\r\n );\r\n this.MainLocationRVPMarkerToShow.push({ \r\n id: location.id, \r\n path: location.locationPoints, \r\n color: LocationColor.RendezvousPointLocation, \r\n name: location.name, \r\n icon: this.BLUE_MARKER_URL,\r\n label: '',\r\n lat: location.locationPoints[0].lat,\r\n lng: location.locationPoints[0].lng\r\n });\r\n }\r\n }\r\n }\r\n}\r\n\r\n\r\nInitilizeSection60Locations(section60: Section60DTO){\r\n if (this._stringHelperService.IsNullOrWhiteSpace(section60.id)){\r\n return;\r\n }\r\n\r\n if (!section60.locality || section60.locality.length <= 0 || this.MainLocationRVPMarker.findIndex(x => x.id == section60.id) != -1){\r\n return;\r\n }\r\n\r\n if (section60.locality && section60.locality.length > 0\r\n ) {\r\n // patch location checkbox\r\n section60.localitySelect = true;\r\n section60.localityPosition = [];\r\n let position = [];\r\n position.push(section60.locality);\r\n //i itialize section 60 locations in section60 map\r\n section60.localityPosition = position;\r\n }\r\n\r\n let entity = \r\n this._iirService.InstanciateIncidentFormLocationEntity(section60, section60.localityPosition[0], true, true, this.lat, this.lng, this.BLUE_MARKER_URL);\r\n \r\n this.Section60Locations.push(entity);\r\n this.Section60LocationsToShow.push(entity);\r\n this.MainLocationPolygon.push({ id: entity.id, path: entity.pathList, color: 'Red', name: entity.name });\r\n this.MainLocationPolygonToShow.push({ id: entity.id, path: entity.pathList, color: 'Red', name: entity.name });\r\n}\r\n\r\nInitilizeSection35Locations(section35: Section35DTO){\r\n if (this._stringHelperService.IsNullOrWhiteSpace(section35.id)){\r\n return;\r\n }\r\n\r\n if (!section35.locality || section35.locality.length <= 0 || this.MainLocationRVPMarker.findIndex(x => x.id == section35.id) != -1){\r\n return;\r\n }\r\n\r\n if (section35.locality && section35.locality.length > 0\r\n ) {\r\n // patch location checkbox\r\n section35.localitySelect = true;\r\n section35.localityPosition = [];\r\n let position = [];\r\n position.push(section35.locality);\r\n //i itialize section 35 locations in section35 map\r\n section35.localityPosition = position;\r\n }\r\n\r\n let entity = \r\n this._iirService.InstanciateIncidentFormLocationEntity(section35, section35.localityPosition[0], true, true, this.lat, this.lng, this.BLUE_MARKER_URL);\r\n \r\n this.Section35Locations.push(entity);\r\n this.Section35LocationsToShow.push(entity);\r\n this.MainLocationPolygon.push({ id: entity.id, path: entity.pathList, color: 'Red', name: entity.name });\r\n this.MainLocationPolygonToShow.push({ id: entity.id, path: entity.pathList, color: 'Red', name: entity.name });\r\n}\r\n\r\nSetIncidentAsViewed(){\r\n this._incidentService.SetIncidentAsViewed(this.incident.id).subscribe(response => {\r\n \r\n }, (error => {\r\n this.incident.incidentid = '0'\r\n this.incident = new IncidentDTO();\r\n\r\n this._apiErrorService.ShowError(error);\r\n }));\r\n}\r\n\r\n\r\n//#region locations checkbox changes\r\n\r\n\r\nChkCrimeSceneChnaged(event: any, crimeScene: IncidentFormLocationEntity, index: number) {\r\n const ckecked = (event.target as HTMLInputElement).checked;\r\n\r\n const CrimeSceneLocationIndex = this.CrimeSceneLocations.findIndex(x => x.id === crimeScene.id);\r\n const MainLocationPolygonIndex = this.MainLocationPolygon.findIndex(x => x.id === crimeScene.id);\r\n \r\n if (!ckecked) {\r\n const deletedCrimeScene = this.CrimeSceneLocationsToShow.splice(CrimeSceneLocationIndex, 1, null);\r\n const deletedMainLocationPolygon = this.MainLocationPolygonToShow.splice(MainLocationPolygonIndex, 1, null);\r\n document.getElementById('crimeScene' + index).style.display = 'none';\r\n } else {\r\n let existingCrimescene = this.CrimeSceneLocations[CrimeSceneLocationIndex]\r\n this.CrimeSceneLocationsToShow[CrimeSceneLocationIndex] = existingCrimescene\r\n\r\n let existingMainLocationPolygon = this.MainLocationPolygon[MainLocationPolygonIndex]\r\n this.MainLocationPolygonToShow[MainLocationPolygonIndex] = existingMainLocationPolygon;\r\n document.getElementById('crimeScene' + index).style.display = 'unset';\r\n }\r\n}\r\n\r\nChkPoliceCordonChnaged(event: any, policeCordon: IncidentFormLocationEntity, index: number) {\r\n const ckecked = (event.target as HTMLInputElement).checked;\r\n //this.mapVisibilityDecider = \"CrimeScene\" + index;\r\n const PoliceCordonLocationIndex = this.PoliceCordonLocations.findIndex(x => x.id === policeCordon.id);\r\n const MainLocationPolygonIndex = this.MainLocationPolygon.findIndex(x => x.id === policeCordon.id);\r\n if (!ckecked) {\r\n const deletedCrimeScene = this.PoliceCordonLocationsToShow.splice(PoliceCordonLocationIndex, 1, null);\r\n const deletedMainLocationPolygon = this.MainLocationPolygonToShow.splice(MainLocationPolygonIndex, 1, null);\r\n document.getElementById('policeCordon' + index).style.display = 'none';\r\n } else {\r\n let existingCrimescene = this.PoliceCordonLocations[PoliceCordonLocationIndex]\r\n this.PoliceCordonLocationsToShow[PoliceCordonLocationIndex] = existingCrimescene\r\n // this.CrimeSceneLocationsToShow.splice(CrimeSceneLocationIndex, 0, existingCrimescene);\r\n\r\n let existingMainLocationPolygon = this.MainLocationPolygon[MainLocationPolygonIndex]\r\n this.MainLocationPolygonToShow[MainLocationPolygonIndex] = existingMainLocationPolygon\r\n\r\n document.getElementById('policeCordon' + index).style.display = 'unset';\r\n // this.MainLocationPolygonToShow.splice(CrimeSceneLocationIndex, 0, existingMainLocationPolygon);\r\n }\r\n}\r\n\r\nChkRendezvousPointChnaged(event: any, RendezvousPoint: IncidentFormLocationEntity, index: number) {\r\n const ckecked = (event.target as HTMLInputElement).checked;\r\n //this.mapVisibilityDecider = \"CrimeScene\" + index;\r\n const RendezvousPointLocationIndex = this.RendezvousPointLocations.findIndex(x => x.id === RendezvousPoint.id);\r\n const MainLocationRVPMarkerIndex = this.MainLocationRVPMarker.findIndex(x => x.id === RendezvousPoint.id);\r\n if (!ckecked) {\r\n const deletedRendezvousPoint = this.RendezvousPointLocationsToShow.splice(RendezvousPointLocationIndex, 1, null);\r\n const deletedMainLocationPolygon = this.MainLocationRVPMarkerToShow.splice(MainLocationRVPMarkerIndex, 1, null);\r\n document.getElementById('rendezvousPoint' + index).style.display = 'none';\r\n } else {\r\n let existingCrimescene = this.PoliceCordonLocations[RendezvousPointLocationIndex]\r\n this.RendezvousPointLocationsToShow[RendezvousPointLocationIndex] = existingCrimescene;\r\n // this.CrimeSceneLocationsToShow.splice(CrimeSceneLocationIndex, 0, existingCrimescene);\r\n\r\n let existingMainLocationPolygon = this.MainLocationRVPMarker[MainLocationRVPMarkerIndex]\r\n this.MainLocationRVPMarkerToShow[MainLocationRVPMarkerIndex] = existingMainLocationPolygon;\r\n\r\n document.getElementById('rendezvousPoint' + index).style.display = 'unset';\r\n // this.MainLocationPolygonToShow.splice(CrimeSceneLocationIndex, 0, existingMainLocationPolygon);\r\n }\r\n}\r\n\r\nChkSection60Chnaged(event: any, Section60: IncidentFormLocationEntity) {\r\n const ckecked = (event.target as HTMLInputElement).checked;\r\n //this.mapVisibilityDecider = \"CrimeScene\" + index;\r\n const Section60LocationIndex = this.Section60Locations.findIndex(x => x.id === Section60.id);\r\n const MainLocationPolygonIndex = this.MainLocationPolygon.findIndex(x => x.id === Section60.id);\r\n if (!ckecked) {\r\n const deletedSection60 = this.Section60LocationsToShow.splice(Section60LocationIndex, 1, null);\r\n const deletedMainLocationPolygon = this.MainLocationPolygonToShow.splice(MainLocationPolygonIndex, 1, null);\r\n } else {\r\n let existingSection60 = this.Section60Locations[Section60LocationIndex]\r\n this.Section60LocationsToShow[Section60LocationIndex] = Section60\r\n // this.CrimeSceneLocationsToShow.splice(CrimeSceneLocationIndex, 0, existingCrimescene);\r\n\r\n let existingMainLocationPolygon = this.MainLocationPolygon[MainLocationPolygonIndex]\r\n this.MainLocationPolygonToShow[MainLocationPolygonIndex] = existingMainLocationPolygon\r\n // this.MainLocationPolygonToShow.splice(CrimeSceneLocationIndex, 0, existingMainLocationPolygon);\r\n }\r\n}\r\n\r\nChkSection35Chnaged(event: any, Section35: IncidentFormLocationEntity) {\r\n const ckecked = (event.target as HTMLInputElement).checked;\r\n //this.mapVisibilityDecider = \"CrimeScene\" + index;\r\n const Section35LocationIndex = this.Section35Locations.findIndex(x => x.id === Section35.id);\r\n const MainLocationPolygonIndex = this.MainLocationPolygon.findIndex(x => x.id === Section35.id);\r\n if (!ckecked) {\r\n const deletedSection35 = this.Section35LocationsToShow.splice(Section35LocationIndex, 1, null);\r\n const deletedMainLocationPolygon = this.MainLocationPolygonToShow.splice(MainLocationPolygonIndex, 1, null);\r\n } else {\r\n let existingSection35 = this.Section35Locations[Section35LocationIndex]\r\n this.Section35LocationsToShow[Section35LocationIndex] = Section35\r\n // this.CrimeSceneLocationsToShow.splice(CrimeSceneLocationIndex, 0, existingCrimescene);\r\n\r\n let existingMainLocationPolygon = this.MainLocationPolygon[MainLocationPolygonIndex]\r\n this.MainLocationPolygonToShow[MainLocationPolygonIndex] = existingMainLocationPolygon\r\n // this.MainLocationPolygonToShow.splice(CrimeSceneLocationIndex, 0, existingMainLocationPolygon);\r\n }\r\n}\r\n\r\n//#endregion\r\n\r\n\r\nLaunchCSTProtocolClicked(){\r\n this._router.navigate([`/cst-protocol-launch/${this.incident.id}`]);\r\n}\r\n\r\n\r\nImmediateTagClicked(){\r\n this._router.navigate(['immediate-response', this.incident.id]);\r\n}\r\n\r\nCSTTagClicked(){\r\n this._router.navigate(['cst-protocol', this.incident.id]);\r\n}\r\n\r\n\r\n // #region LoadScript\r\n \r\n loadJquerySlider(){\r\n let body = document.body;\r\n let script = document.createElement('script');\r\n script.innerHTML = '';\r\n script.src = 'assets/js/jquerySlider.js';\r\n script.async = true;\r\n script.defer = true;\r\n body.appendChild(script);\r\n script.id = 'jquerySliderScriptTag'\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._loadScriptService.RemoveScript('incident-DetailsScriptTag');\r\n this._loadScriptService.RemoveScript('jquerySliderScriptTag');\r\n }\r\n //#endregion\r\n}\r\n","\r\n\r\n
\r\n
\r\n

Incident Detail

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

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

\r\n {{incident.title}}\r\n

\r\n
\r\n\r\n
\r\n {{incident.address}}\r\n\r\n \r\n Scaled down\r\n \r\n\r\n \r\n Pending\r\n \r\n\r\n \r\n Immediate\r\n \r\n\r\n \r\n CST\r\n \r\n
\r\n \r\n
\r\n

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

{{incident.offencegroup}}

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

{{incident.subgroup}}

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

{{incident.incidentDate | date : \"dd/MM/yyyy\"}}     \r\n {{incident.incidentDate | date : \"HH:mm\"}}

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

{{incident.address}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sent on {{incident.lastUpdatedAt | date:'HH:mm dd/MM/yy'}}\r\n
\r\n
\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n 0 ? '../../assets/images/true-icon.png' : '../../assets/images/unchecked-icon.png'\">\r\n \r\n
  • \r\n
  • \r\n \r\n 0 ? '../../assets/images/true-icon.png' : '../../assets/images/unchecked-icon.png'\">\r\n \r\n
  • \r\n
  • \r\n \r\n 0 ? '../../assets/images/true-icon.png' : '../../assets/images/unchecked-icon.png'\">\r\n \r\n
  • \r\n
  • \r\n \r\n 0 ? '../../assets/images/true-icon.png' : '../../assets/images/unchecked-icon.png'\">\r\n \r\n
  • \r\n
  • \r\n \r\n 0 ? '../../assets/images/true-icon.png' : '../../assets/images/unchecked-icon.png'\">\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Incident location
\r\n
\r\n
\r\n Last updated {{incident.lastUpdatedAt | date:'HH:mm dd/MM/yy'}}\r\n
\r\n
\r\n
\r\n

{{incident.address}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{crimeScene.name}}
\r\n
{{'Crime Scene ' + (i + 1)}}
\r\n
\r\n
\r\n Last updated {{crimeScene.modifyDate | date:'HH:mm dd/MM/yy'}}\r\n
\r\n
\r\n
\r\n

{{crimeScene.description}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{policeCordon.name}}
\r\n
{{'Police Cordon ' + (i + 1)}}
\r\n
\r\n
\r\n

Last updated {{policeCordon.modifyDate | date:'HH:mm dd/MM/yy'}}

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

{{policeCordon.description}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{RendezvousPoint.name}}
\r\n
{{'Rendezvous Point ' + (i + 1)}}
\r\n
\r\n
\r\n

Last updated {{RendezvousPoint.modifyDate | date:'HH:mm dd/MM/yy'}}

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

{{RendezvousPoint.description}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n
\r\n Sent on {{partnermessage.date | date:'dd/MM/yy HH:mm'}}\r\n
\r\n
\r\n

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

No partner message has been sent for this incident

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n","import { UserProfileService } from '../core/services/user-profile.service';\r\nimport { Marker, MouseEvent } from \"@agm/core\";\r\nimport { Component, ElementRef, OnInit, ViewChild } from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport {\r\n CommonType,\r\n IncidentDTO,\r\n Markers,\r\n} from \"../Models/incident.modal\";\r\nimport { IncidentService } from '../initial-incident-form/incident.service'\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { ApiErrorService } from \"../core/services/api-error.service\";\r\nimport { AuthenticatedUserForGrouping } from '../Models/Members/AuthenticatedUserGroups';\r\nimport { UrlHelperService } from '../core/services/url-helper.service';\r\nimport { DateService } from '../core/services/date.service';\r\nimport { GooglemapService } from '../core/services/googlemap.service';\r\nimport { IirService } from '../bcu/components/iir/iir.service';\r\nimport { StringHelperService } from '../core/services/string-helper.service';\r\n\r\n@Component({\r\n selector: \"app-la-new-incident\",\r\n templateUrl: \"./la-new-incident.component.html\",\r\n styleUrls: [\"./la-new-incident.component.css\"],\r\n})\r\nexport class LANewIncidentComponent implements OnInit {\r\n\r\n INVALID_DATE_ERRORMESSAGE = \"Invalid Date\";\r\n\r\n newIncidentForm: FormGroup;\r\n isFormLoaded = false;\r\n isSubmitted = false;\r\n markers: Markers[] = [];\r\n // CreateIncidentDTO: CreateIncidentDTO = new CreateIncidentDTO();\r\n\r\n Days: CommonType[] = [];\r\n Months: CommonType[] = [];\r\n Years: CommonType[] = [];\r\n dateNotValidErrorMessage : string = \"\";\r\n\r\n //#region map related fields\r\n lat: any;\r\n lng: any;\r\n zoom = 14;\r\n postCodeForSaving: string;\r\n //#endregion\r\n\r\n authenticatedUserForGrouping: AuthenticatedUserForGrouping;\r\n isBCURegionLoaded = false;\r\n\r\n @ViewChild(\"search\")\r\n public searchElementRef: ElementRef;\r\n\r\n constructor(\r\n private _fb: FormBuilder,\r\n private _activatedRoute: ActivatedRoute,\r\n private _stringHelperService: StringHelperService,\r\n private _iirService: IirService,\r\n private _router: Router,\r\n private _titleService: Title,\r\n private _incidentService: IncidentService,\r\n private _toastr: ToastrService,\r\n private _apiErrorService: ApiErrorService,\r\n private _userProfileService: UserProfileService,\r\n public _urlHelperService: UrlHelperService,\r\n private _dateService: DateService,\r\n private _googleMapService: GooglemapService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n\r\n this.InitForm();\r\n this.InitilizeAuthenticatedUserGroups();\r\n this.InitializeDateTime();\r\n this.GetLocation();\r\n this.isFormLoaded = true;\r\n }\r\n\r\n // applyRequiredValidation() {\r\n // this.searchElementRef.nativeElement.required = true;\r\n // }\r\n\r\n ngAfterViewInit() {\r\n\r\n let timerId = setInterval(() => {\r\n if (this.searchElementRef){\r\n\r\n this._googleMapService.AutocompleteInitialize(this.searchElementRef.nativeElement, (place) => {\r\n this.lat = place.geometry.location.lat();\r\n this.lng = place.geometry.location.lng();\r\n\r\n this.markers[0].lat = this.lat;\r\n this.markers[0].lng = this.lng;\r\n }, \r\n (addresses, place) => {\r\n if (addresses && addresses[0]) {\r\n const address = this._googleMapService.GetPostCodeAndFormattedAddress(addresses);\r\n \r\n this.newIncidentForm.patchValue({\r\n location: place.formatted_address,\r\n });\r\n\r\n this.postCodeForSaving = address.postCode;\r\n } else {\r\n console.log(\"Not found\");\r\n }\r\n });\r\n clearInterval(timerId);\r\n }\r\n }, 1000);\r\n \r\n }\r\n\r\n InitForm() {\r\n this.newIncidentForm = this._fb.group({\r\n title: [null, Validators.required],\r\n time: [null, Validators.required],\r\n day: [null, Validators.required],\r\n month: [null, Validators.required],\r\n year: [null, Validators.required],\r\n location: [null, Validators.required],\r\n incidentDetail: [null, Validators.required],\r\n peopleDisplaced: [null],\r\n OffenceCategory: [null, Validators.required],\r\n method: [null, Validators.required],\r\n localAuthority: [null, Validators.required],\r\n //postCode: [null, Validators.required],\r\n });\r\n }\r\n\r\n InitilizeAuthenticatedUserGroups(){\r\n let timerId = setInterval(() => {\r\n const userWithRegion = this._userProfileService.GetAuthenticatedUserGroups();\r\n\r\n if (userWithRegion){\r\n this.authenticatedUserForGrouping = userWithRegion;\r\n\r\n if (this.authenticatedUserForGrouping && this.authenticatedUserForGrouping.region){\r\n const userGroupName = this.authenticatedUserForGrouping.region.groups.find(x => x.isAuthenticatedUserGroup)?.organizationGroupName;\r\n if (!this._stringHelperService.IsNullOrWhiteSpace(userGroupName)){\r\n this.newIncidentForm.patchValue({\r\n localAuthority: userGroupName,\r\n });\r\n }\r\n else{\r\n this.newIncidentForm.patchValue({\r\n localAuthority:\r\n this.authenticatedUserForGrouping.region.groups[0].organizationGroupName,\r\n });\r\n }\r\n \r\n this.isBCURegionLoaded = true;\r\n\r\n clearInterval(timerId);\r\n }\r\n }\r\n }, 100);\r\n }\r\n\r\n //#region getters\r\n get title() {\r\n return this.newIncidentForm.get(\"title\") as FormControl;\r\n }\r\n\r\n get day() {\r\n return this.newIncidentForm.get(\"day\") as FormControl;\r\n }\r\n\r\n get month() {\r\n return this.newIncidentForm.get(\"month\") as FormControl;\r\n }\r\n\r\n get year() {\r\n return this.newIncidentForm.get(\"year\") as FormControl;\r\n }\r\n\r\n get time() {\r\n return this.newIncidentForm.get(\"time\") as FormControl;\r\n }\r\n\r\n get location() {\r\n return this.newIncidentForm.get(\"location\") as FormControl;\r\n }\r\n\r\n get incidentDetail() {\r\n return this.newIncidentForm.get(\"incidentDetail\") as FormControl;\r\n }\r\n\r\n get peopleDisplaced() {\r\n return this.newIncidentForm.get(\"peopleDisplaced\") as FormControl;\r\n }\r\n\r\n get OffenceCategory() {\r\n return this.newIncidentForm.get(\"OffenceCategory\") as FormControl;\r\n }\r\n\r\n get method() {\r\n return this.newIncidentForm.get(\"method\") as FormControl;\r\n }\r\n\r\n get localAuthority() {\r\n return this.newIncidentForm.get(\"localAuthority\") as FormControl;\r\n }\r\n //#endregion\r\n\r\n\r\n DateChangedHandler(){\r\n this.IsDateValid();\r\n }\r\n\r\n MonthChangedHandler(){\r\n if (this._stringHelperService.IsAnyNullOrWhiteSpace(this.month.value, this.year.value)){\r\n this.dateNotValidErrorMessage = this.INVALID_DATE_ERRORMESSAGE;\r\n return;\r\n }\r\n this.ReInitializeDays(+this.month.value, +this.year.value);\r\n this.IsDateValid();\r\n }\r\n\r\n YearChangedHandler(){\r\n if (this._stringHelperService.IsAnyNullOrWhiteSpace(this.month.value, this.year.value)){\r\n this.dateNotValidErrorMessage = this.INVALID_DATE_ERRORMESSAGE;\r\n return;\r\n }\r\n\r\n this.ReInitializeDays(+this.month.value, +this.year.value);\r\n this.IsDateValid();\r\n }\r\n\r\n ReInitializeDays(month: number, year: number){\r\n this.Days = this._dateService.GetDatesInMonth(month, year);\r\n }\r\n\r\n IsDateValid(){\r\n if (this._dateService.IsValidDate(+this.day.value, +this.month.value, +this.year.value)){\r\n this.dateNotValidErrorMessage = \"\";\r\n }\r\n else{\r\n this.dateNotValidErrorMessage = this.INVALID_DATE_ERRORMESSAGE;\r\n }\r\n }\r\n\r\n DayTrackBy(day) {\r\n return day.id;\r\n }\r\n\r\n\r\n InitializeDateTime() {\r\n const today = new Date();\r\n this.Days = this._dateService.GetDatesInMonth((today.getMonth() + 1), today.getFullYear());\r\n this.Months = this._dateService.GetMonths();\r\n this.Years = this._dateService.GetYears();\r\n\r\n const dateTime = this._dateService.GetDateTimeForIncident(today);\r\n this.newIncidentForm.patchValue({\r\n time: dateTime.time,\r\n day: dateTime.day,\r\n month: dateTime.month,\r\n year: dateTime.year,\r\n });\r\n }\r\n\r\n GetLocation() {\r\n this._googleMapService.GetCurrentLocation((position: any) => {\r\n if (!this.lat || !this.lng){\r\n this.lat = position.coords.latitude;\r\n this.lng = position.coords.longitude;\r\n const marker = this._iirService.InstanciateMainRedMarker(this.lat, this.lng, true);\r\n this.markers[0] = marker;\r\n }\r\n }, (addresses: any) => {\r\n if (addresses && addresses[0]) {\r\n const address = this._googleMapService.GetPostCodeAndFormattedAddress(addresses);\r\n \r\n this.newIncidentForm.patchValue({\r\n location: address.formattedAddress,\r\n });\r\n\r\n this.postCodeForSaving = address.postCode;\r\n } else {\r\n console.log(\"Not found\");\r\n }\r\n });\r\n }\r\n\r\n mapClicked($event: MouseEvent) {\r\n // this.lat = $event.coords.lat;\r\n // this.lng = $event.coords.lng;\r\n //this._googleMapService.MapClicked($event, (addresses) => {\r\n // if (results[0]) {\r\n // this.currentLocation = results[0].formatted_address;\r\n // console.log(this.currentLocation);\r\n // } else {\r\n // console.log(\"Not found\");\r\n // }\r\n //});\r\n }\r\n\r\n MarkerDragEnd(m: Marker, $event: MouseEvent) {\r\n this._googleMapService.MarkerDragEnd(m, $event, () => {\r\n this.lat = $event.coords.lat;\r\n this.lng = $event.coords.lng;\r\n }, \r\n (addresses) => {\r\n const address = this._googleMapService.GetPostCodeAndFormattedAddress(addresses);\r\n\r\n this.newIncidentForm.patchValue({\r\n location: address.formattedAddress\r\n });\r\n\r\n this.postCodeForSaving = address.postCode;\r\n });\r\n }\r\n\r\n IsIncidentDateTimeNotValid(){\r\n return this._stringHelperService.IsAnyNullOrWhiteSpace(this.time.value, this.day.value, this.month.value, this.year.value)\r\n || !this._dateService.IsValidDate(+this.day.value, +this.month.value, +this.year.value)\r\n }\r\n\r\n\r\n onSubmit() {\r\n this.isSubmitted = true;\r\n if (this.newIncidentForm.invalid) {\r\n return;\r\n }\r\n\r\n if (this.IsIncidentDateTimeNotValid()){\r\n this.dateNotValidErrorMessage = this.INVALID_DATE_ERRORMESSAGE;\r\n return;\r\n }\r\n else{\r\n this.dateNotValidErrorMessage = \"\";\r\n }\r\n\r\n let incident = new IncidentDTO();\r\n\r\n incident.title = this.title.value;\r\n\r\n const incidentDate = this._dateService.CreateDateTimeInstance(this.time.value, this.day.value, this.month.value, this.year.value);\r\n incident.incidentDate = this._dateService.ConvertDateToSend(incidentDate);\r\n\r\n incident.incidentDescription = this.incidentDetail.value;\r\n incident.address = this.location.value;\r\n incident.postcode = this.postCodeForSaving;\r\n incident.status = 0;\r\n incident.latitude = this.lat.toString();\r\n incident.longitude = this.lng.toString();\r\n\r\n incident.bcuregionid = this.authenticatedUserForGrouping.region.id;;\r\n incident.spotDetails = this.localAuthority.value;\r\n\r\n const group = this.authenticatedUserForGrouping.region.groups.find(x => x.organizationGroupName === this.localAuthority.value);\r\n if (group){\r\n incident.group = group.organizationGroupId;\r\n }\r\n else{\r\n incident.group = this.authenticatedUserForGrouping.region.groups[0].organizationGroupId;\r\n }\r\n\r\n // incident.cadnumber = this.CADNumber.value;\r\n // incident.spotDetails = this.CreateIncidentDTO.LocalAuthority;\r\n incident.offencegroup = this.OffenceCategory.value;\r\n incident.subgroup = this.method.value;\r\n incident.peopledisplaced = this.peopleDisplaced.value ?? false;\r\n incident.id = undefined;\r\n\r\n debugger;\r\n\r\n this._incidentService.saveUpdateIncident(incident).subscribe(\r\n (response) => {\r\n if (response && response.data && response.statusCode == 200) {\r\n this._toastr.success(response.message, \"Success\");\r\n this._router.navigate([\"home-dashboard\"]);\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n

New incident

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

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

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Title is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Time is required\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n Day is required\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n Day is required\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n Year is required\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n {{dateNotValidErrorMessage}}\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Local Authority is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Location is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Incident Detail is required\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Offence category is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Method is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { ApiErrorService } from '../core/services/api-error.service';\r\nimport { IncidentAction } from '../Models/IncidentforAction.model';\r\nimport { LocalAuthorityActionsResponseService } from './local-authority-actions-response.service';\r\n\r\n@Component({\r\n selector: 'app-local-authority-actions-response',\r\n templateUrl: './local-authority-actions-response.component.html',\r\n styleUrls: ['./local-authority-actions-response.component.css']\r\n})\r\nexport class LocalAuthorityActionsResponseComponent implements OnInit {\r\n IncidentAction: any[] = []\r\n constructor(\r\n private _localAuthorityActionsResponseService: LocalAuthorityActionsResponseService, \r\n private _toastr: ToastrService,\r\n private _apiErrorService: ApiErrorService\r\n ) { }\r\n IncidentListLoad: boolean = false;\r\n SelectAllAction: boolean = false\r\n UpdateMemberTaskStatusLoad: boolean = false;\r\n ngOnInit() {\r\n this.getIncidentListforAction();\r\n }\r\n getIncidentListforAction() {\r\n const self = this;\r\n self.IncidentListLoad = true;\r\n let userId='89178377-4F02-4680-BD56-08DAB1BA903F';\r\n self._localAuthorityActionsResponseService.getIncidentListforAction(userId).pipe(finalize(() => {\r\n self.IncidentListLoad = false;\r\n })).subscribe(res => {\r\n if (res != null && res.statusCode == 200) {\r\n this.IncidentAction = res.data;\r\n // console.table(this.IncidentAction)\r\n this.IncidentAction.forEach(element => {\r\n element.select = false;\r\n });\r\n }\r\n }, \r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n })\r\n }\r\n changeIncidentSelect(event: any, item: IncidentAction) {\r\n if (event) {\r\n item.select = true\r\n } else {\r\n item.select = false\r\n }\r\n let getSelectLength = this.IncidentAction.filter(x => x.select)\r\n if (getSelectLength.length == this.IncidentAction.length) {\r\n this.SelectAllAction = true;\r\n } else {\r\n this.SelectAllAction = false;\r\n }\r\n }\r\n changeSelectAll(event) {\r\n this.IncidentAction.forEach(element => {\r\n if (event) {\r\n element.select = true;\r\n } else {\r\n element.select = false;\r\n }\r\n });\r\n }\r\n IncidentAccept() {\r\n let SelectItem = this.IncidentAction.filter(x => x.select)\r\n if (SelectItem.length == 0) {\r\n this._toastr.warning(\"Please select incident\");\r\n return;\r\n }\r\n //Accepted = 1,\r\n let taskMemberId =Array.prototype.map.call(SelectItem, function(item) { return item.taskMemberId; }).join(\",\");\r\n this.UpdateMemberTaskStatus(taskMemberId, 1)\r\n }\r\n IncidentDecline() {\r\n let SelectItem = this.IncidentAction.filter(x => x.select)\r\n if (SelectItem.length == 0) {\r\n this._toastr.warning(\"Please select incident\");\r\n return;\r\n }\r\n //Declined = 2,\r\n let taskMemberId =Array.prototype.map.call(SelectItem, function(item) { return item.taskMemberId; }).join(\",\");\r\n this.UpdateMemberTaskStatus(taskMemberId, 2)\r\n }\r\n IncidentComplete() {\r\n let SelectItem = this.IncidentAction.filter(x => x.select)\r\n if (SelectItem.length == 0) {\r\n this._toastr.warning(\"Please select incident\");\r\n return;\r\n }\r\n //Complete = 4,\r\n let taskMemberId =Array.prototype.map.call(SelectItem, function(item) { return item.taskMemberId; }).join(\",\");\r\n this.UpdateMemberTaskStatus(taskMemberId, 4)\r\n }\r\n UpdateMemberTaskStatus(taskMemberId: any, taskStatus: any) {\r\n const self = this;\r\n self.UpdateMemberTaskStatusLoad = true;\r\n self._localAuthorityActionsResponseService.UpdateMemberTaskStatus(taskMemberId, taskStatus).pipe(finalize(() => {\r\n self.UpdateMemberTaskStatusLoad = false\r\n })).subscribe(res => {\r\n if (res != null && res.statusCode == 200) {\r\n this.getIncidentListforAction();\r\n }\r\n }, \r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n })\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \"\"\r\n

New Incident

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

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

\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Your Incident Actions\r\n \r\n
0\">\r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
ActionIncidentCategoryAction24hrweek 1month 1month 30\"\r\n class=\"table-checkbox form-check-input\"\r\n [(ngModel)]=\"SelectAllAction\"\r\n (change)=\"changeSelectAll($event.target.checked)\"\r\n type=\"checkbox\"\r\n value=\"\" />
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{item.incidentTitle}}\r\n {{item.category}}{{item.task}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
No\r\n Incident Found
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from '../core/interceptors/api.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocalAuthorityActionsResponseService {\r\n\r\n constructor(\r\n private _apiService: ApiService\r\n ) { }\r\n getIncidentListforAction(userId:any) {\r\n const url = \"/BCU/GetBCUChecklist/\"+`${userId}`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n UpdateMemberTaskStatus(taskMemberId:any,taskStatus:any) {\r\n const url = \"/BCU/UpdateMemberTaskStatus/\"+`${taskMemberId}`+\"/\"+`${taskStatus}`;\r\n return this._apiService.post(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-local-authority-cst-protocol',\r\n templateUrl: './local-authority-cst-protocol.component.html',\r\n styleUrls: ['./local-authority-cst-protocol.component.css']\r\n})\r\nexport class LocalAuthorityCstProtocolComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Action24hrweek 1month 1month 3Action
Communications
\"user-profile\"\r\n\r\n Hydra Group\r\n Share partner information (police, VRP etc)\r\n
\r\n \r\n \r\n
\r\n
\"user-profile\"\r\n\r\n Hydra Group\r\n Refer to Daily Risk Management meetin\r\n Mult-agency Safeguarding Hub.\r\n
\r\n \r\n \r\n
\r\n
\"user-profile\"\r\n\r\n Hydra Group\r\n Refer to Gold group/ critical incident meeting\r\n
\r\n \r\n \r\n
\r\n
\"user-profile\"\r\n\r\n Hydra Group\r\n Confirm on social media channels\r\n
\r\n \r\n \r\n
\r\n
\"user-profile\"\r\n\r\n Hydra Group\r\n Monitor social media\r\n
\r\n \r\n \r\n
\r\n
\"user-profile\"\r\n\r\n Hydra Group\r\n Liaise with Police Media team\r\n & Issue joint updates \r\n
\r\n \r\n \r\n
\r\n
\"user-profile\"\r\n\r\n Hydra Group\r\n Share support services and materials.\r\n
\r\n \r\n \r\n
\r\n
\"user-profile\"\r\n\r\n Hydra Group\r\n Monitor community tension\r\n
\r\n \r\n \r\n
\r\n
\"user-profile\"\r\n\r\n Hydra Group\r\n Promote support services\r\n
\r\n \r\n \r\n
\r\n
\"user-profile\"\r\n\r\n Hydra Group\r\n Milestones and anniversaries -\r\n use SIM anniversary manager.\r\n
\r\n \r\n \r\n
\r\n
Safeguarding and support
\"user-profile\"\r\n\r\n Hydra Group\r\n Gather safeguarding information\r\n
\r\n \r\n \r\n
\r\n
\"user-profile\"\r\n\r\n Hydra Group\r\n Prepare referral for DRM meeting.\r\n
\r\n \r\n \r\n
\r\n
\"user-profile\"\r\n\r\n Hydra Group\r\n Safeguarding and support.\r\n
\r\n \r\n \r\n
\r\n
\"user-profile\"\r\n\r\n Hydra Group\r\n Promote how to access resources\r\n messaging on comms channels\r\n
\r\n \r\n \r\n
\r\n
\"user-profile\"\r\n\r\n Hydra Group\r\n Check capacity of support organisations\r\n
\r\n \r\n \r\n
\r\n
\r\n Work with safeguarding practitioner to map\r\n associates and those at risk\r\n
\r\n \r\n \r\n
\r\n
Hospital
\"user-profile\"\r\n\r\n Hydra Group\r\n Gather safeguarding information\r\n
\r\n \r\n \r\n
\r\n
Community
\"user-profile\"\r\n\r\n Hydra Group\r\n Gather safeguarding information\r\n
\r\n \r\n \r\n
\r\n
Partnership work
\"user-profile\"\r\n\r\n Hydra Group\r\n Gather safeguarding information\r\n
\r\n \r\n \r\n
\r\n
Education settings
\"user-profile\"\r\n\r\n Hydra Group\r\n Gather safeguarding information\r\n
\r\n \r\n \r\n
\r\n
Deploy Resource
\"user-profile\"\r\n\r\n Hydra Group\r\n Gather safeguarding information\r\n
\r\n \r\n \r\n
\r\n
Family
\"user-profile\"\r\n\r\n Hydra Group\r\n Gather safeguarding information\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { CognitoService } from \"src/app/Authentication/cognito.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Component, OnDestroy } from \"@angular/core\";\r\nimport { BCURegionDTO } from \"../Models/BCURegionDTO.Model\";\r\nimport { NavbarService } from \"./navbar.service\";\r\nimport { ApiErrorService } from '../core/services/api-error.service';\r\nimport { UserProfileService } from '../core/services/user-profile.service';\r\nimport { AuthenticatedUserForGrouping } from '../Models/Members/AuthenticatedUserGroups';\r\nimport { Subscription } from 'rxjs';\r\nimport { MemberProfileDetailsDTO } from '../Models/Messages/MessageTemplateDTO';\r\nimport { StringHelperService } from '../core/services/string-helper.service';\r\nimport { AppStartService } from \"../core/services/app-start.service\";\r\nimport { UrlHelperService } from \"../core/services/url-helper.service\";\r\n\r\n@Component({\r\n selector: \"app-nav-menu\",\r\n templateUrl: \"./nav-menu.component.html\",\r\n styleUrls: [\"./nav-menu.component.css\"],\r\n})\r\nexport class NavMenuComponent implements OnDestroy {\r\n isExpanded = false;\r\n isLaUser: boolean = false;\r\n isBCUUser: boolean = false;\r\n\r\n \r\n simHelpUrl: string;\r\n\r\n usersRegionsAndGroups: AuthenticatedUserForGrouping;\r\n selectedRegion: BCURegionDTO;\r\n\r\n BCURegionDTO: BCURegionDTO;\r\n \r\n RouteEvenComplitionSubscrtiption = new Subscription();\r\n\r\n CurrentUrlChangesSubscription= new Subscription();\r\n CurrentUserChangesSubscription= new Subscription();\r\n\r\n currentPageHelpUrl: string;\r\n currentPageUrl: string;\r\n currentUser: MemberProfileDetailsDTO;\r\n\r\n navmenuClass: string;\r\n\r\n constructor(\r\n private _appStartService: AppStartService, \r\n private _router: Router, \r\n private _cognitoService: CognitoService,\r\n private _navbarService: NavbarService,\r\n private _apiErrorService: ApiErrorService,\r\n private _userProfileService: UserProfileService,\r\n private _stringHelperService: StringHelperService,\r\n public _urlHelperService: UrlHelperService\r\n ) {}\r\n\r\n async ngOnInit() {\r\n this.CurrentUrlChangesSubscription = this._appStartService.currentUrlChanged.subscribe((currentUrl) => {\r\n if (currentUrl){\r\n this.navmenuClass = this._navbarService.navbarClass(currentUrl);\r\n this._navbarService.navbarClassSubject.next(this.navmenuClass);\r\n //this.navbarClass(currentUrl);\r\n this.currentPageHelpUrl = this._navbarService.GetCurrentPageHelpURL(currentUrl);\r\n this.currentPageUrl = currentUrl;\r\n }\r\n });\r\n\r\n this.simHelpUrl = this._urlHelperService.GetSimHelpURL();\r\n let user: any;\r\n if (!this._appStartService.IsCognitoUserLoaded){\r\n user = await this._cognitoService.GetUser();\r\n }\r\n else{\r\n user = this._appStartService.currentCognitoUser;\r\n }\r\n if (this._stringHelperService.IsNullOrWhiteSpace(user.attributes['custom:roles'])){\r\n await this._cognitoService.SignOut();\r\n }\r\n else{\r\n this.isLaUser = this._cognitoService.IsLaUser(user.attributes['custom:roles']);\r\n this.isBCUUser = this._cognitoService.IsBCUUser(user.attributes['custom:roles']);\r\n \r\n this.GetUserRegionsAndGroups();\r\n \r\n this.GetRegion();\r\n }\r\n this.currentUser = this._appStartService.currentUser;\r\n }\r\n\r\n \r\n\r\n navbarClass(route: string){\r\n this.navmenuClass = this._navbarService.navbarClass(route);\r\n this._navbarService.navbarClassSubject.next(this.navmenuClass);\r\n }\r\n\r\n\r\n GetUserRegionsAndGroups(){\r\n\r\n let timerId = setInterval(() => {\r\n const userWithRegion = this._userProfileService.GetAuthenticatedUserGroups();\r\n if (userWithRegion){\r\n this.usersRegionsAndGroups = userWithRegion;\r\n if (this.usersRegionsAndGroups && this.usersRegionsAndGroups.region) {\r\n this.selectedRegion = this.usersRegionsAndGroups.region;\r\n }\r\n \r\n if (this.selectedRegion){\r\n clearInterval(timerId);\r\n }\r\n }\r\n }, 100);\r\n }\r\n\r\n collapse() {\r\n this.isExpanded = false;\r\n }\r\n toggle() {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n\r\n GetRegion() {\r\n this._navbarService.getRegionList().subscribe(res => {\r\n if (res != null && res.statusCode == 200) {\r\n this.BCURegionDTO = res.data;\r\n this.setBCURegionDTO(this.BCURegionDTO)\r\n // this.BCURegionDTO.forEach(element => {\r\n // element.selected = false\r\n // });\r\n // if (this.BCURegionDTO != null && this.BCURegionDTO.length > 0) {\r\n // if (this.SelectedBCURegionDTO == null || this.SelectedBCURegionDTO.id == null) {\r\n // this.BCURegionDTO[0].selected = true\r\n // this.setBCURegionDTO(this.BCURegionDTO[0])\r\n // this.SelectedBCURegionDTO = this.BCURegionDTO[0];\r\n // } else {\r\n // this.BCURegionDTO.forEach(element => {\r\n // if (element.id == this.SelectedBCURegionDTO.id)\r\n // element.selected = true\r\n // });\r\n // }\r\n // }\r\n }\r\n }, \r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n })\r\n }\r\n\r\n setBCURegionDTO(SelectedBCURegionDTO: BCURegionDTO) {\r\n this._navbarService.setSelectedBCURegionDTO(SelectedBCURegionDTO)\r\n }\r\n\r\n // $('.humburg').click(function(){\r\n // $('.header-dashboard').toggleClass('active');\r\n // // $('.header-dashboard').toggleClass('active');\r\n \r\n // })\r\n \r\n // $(\".sidebar_closebtn\").click(function(){\r\n // $('.header-dashboard').removeClass('active');\r\n // })\r\n\r\n async btnSignoutClicked() {\r\n await this._cognitoService.SignOut();\r\n }\r\n\r\n // btnSignInClicked() {\r\n // this.isSignedIn = true;\r\n // }\r\n\r\n HamburgToggle(event, headerDiv: HTMLDivElement){\r\n event.stopPropagation();\r\n headerDiv.classList.toggle('active');\r\n }\r\n\r\n SidebarCloseBtnClicked(headerDiv: HTMLDivElement){\r\n headerDiv.classList.remove('active');\r\n }\r\n\r\n closeSideBar(){\r\n const headerDivs = document.getElementsByClassName('header-dashboard');\r\n if (headerDivs && headerDivs.length > 0){\r\n headerDivs[0]?.classList.remove('active');\r\n }\r\n }\r\n\r\n ChangePasswordClicked(){\r\n this._router.navigate([this._urlHelperService.GetChangePasswordUrl()]);\r\n this.closeSideBar();\r\n }\r\n\r\n\r\n BCUDashboardClicked(){\r\n this._router.navigate([this._urlHelperService.BcuUserDashboardUrl()]);\r\n this.closeSideBar();\r\n }\r\n\r\n LaHomeDashboardClicked(){\r\n this._router.navigate([this._urlHelperService.LaUserDashboardUrl()]);\r\n this.closeSideBar();\r\n }\r\n\r\n LaDashboardClicked(){\r\n this._router.navigate([this._urlHelperService.La2UserDashboardUrl()]);\r\n this.closeSideBar();\r\n }\r\n\r\n HelpFromHamburgerClicked(){\r\n if (this.isBCUUser){\r\n \r\n }\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n\r\n if (this.CurrentUrlChangesSubscription){\r\n this.CurrentUrlChangesSubscription.unsubscribe();\r\n }\r\n\r\n if (this.CurrentUserChangesSubscription){\r\n this.CurrentUserChangesSubscription.unsubscribe();\r\n }\r\n \r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \"vru-logo\"\r\n
\r\n
\r\n \"sim-logo\"\r\n
\r\n
\r\n
    \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n
  • \r\n
    \r\n \r\n Help\r\n \"profile-ah-icon\"\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n\r\n
\r\n\r\n
\r\n \r\n \"profile-ah-icon\"\r\n {{currentUser.firstName + ' ' + currentUser.familyName}}\r\n \r\n \r\n
    \r\n \r\n\r\n
  • \r\n
    \r\n Dashboard\r\n
    \r\n
  • \r\n\r\n
  • \r\n
    \r\n \r\n Help\r\n \r\n
    \r\n
  • \r\n\r\n
  • \r\n
    \r\n Dashboard\r\n
    \r\n
  • \r\n\r\n \r\n\r\n
  • \r\n
    \r\n Change password\r\n
    \r\n
  • \r\n \r\n\r\n
  • \r\n \r\n\r\n \r\n
  • \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from '../core/interceptors/api.service';\r\nimport { BCURegionDTO } from '../Models/BCURegionDTO.Model';\r\nimport { environment } from 'src/environments/environment';\r\nimport { UrlHelperService } from '../core/services/url-helper.service';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavbarService {\r\n\r\n BCURegionDTO: BCURegionDTO = new BCURegionDTO();\r\n navbarClassSubject = new BehaviorSubject(\"container\");\r\n // isSignupRoute = false;\r\n\r\n constructor(\r\n private _apiService: ApiService,\r\n private _urlHelperService: UrlHelperService\r\n ) { }\r\n\r\n getRegionList() {\r\n const url = \"/BCU/RegionList\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n setSelectedBCURegionDTO(BCURegionDTO: BCURegionDTO) {\r\n localStorage.setItem(\"BCURegionDTO\", JSON.stringify(BCURegionDTO))\r\n }\r\n\r\n getSelectedBCURegionDTO(): BCURegionDTO {\r\n let obj = localStorage.getItem(\"BCURegionDTO\")\r\n this.BCURegionDTO = JSON.parse(obj);\r\n return this.BCURegionDTO;\r\n }\r\n setPageTitle(title: any) {\r\n var documet_title = document.getElementsByTagName('title');\r\n if (documet_title != null) {\r\n documet_title[0].innerHTML = title\r\n }\r\n }\r\n\r\n\r\n GetCurrentPageHelpURL(route: string): string{\r\n if (route === this._urlHelperService.BcuUserDashboardUrl()){\r\n return environment.PCR_help_BCU_dashboard_URL;\r\n }\r\n else if (route === this._urlHelperService.BcuUserContactUrl()){\r\n return environment.PCR_help_BCU_Contacts_URL;\r\n }\r\n else {\r\n return environment.PCR_help_LA_dashboard_URL;\r\n }\r\n \r\n }\r\n\r\n navbarClass(route: string){\r\n if (route === this._urlHelperService.BcuUserDashboardUrl()){\r\n return 'mx-sm-4 mx-2';\r\n }\r\n else{\r\n return 'container';\r\n }\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-assign-member-popup',\r\n templateUrl: './assign-member-popup.component.html',\r\n styleUrls: ['./assign-member-popup.component.css']\r\n})\r\nexport class AssignMemberPopupComponent implements OnInit {\r\n\r\n members: {name: string, avatar: string}[] = [];\r\n\r\n membersLoaded = false;\r\n\r\n constructor(\r\n private _dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) private _data: any\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n const members = this._data.members as {name: string, avatar: string}[];\r\n if (members == null || members == undefined || members.length <= 0){\r\n this._dialogRef.close(null);\r\n }\r\n\r\n this.members.push(...members);\r\n this.membersLoaded = true;\r\n }\r\n\r\n memberClicked(selectedMember: {name: string, avatar: string}){\r\n this._dialogRef.close(selectedMember.name);\r\n }\r\n\r\n closeMapClicked() {\r\n this._dialogRef.close(null);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n

Assign member

\r\n
\r\n \"profile-ah-icon\"\r\n {{member.name}}\r\n
\r\n \r\n
","import { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ConfirmDialogModel, ConfirmationDialogComponent } from './confirmation-dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfirmationDialogServiceService {\r\n\r\n constructor(public dialog: MatDialog) { }\r\n\r\n confirmDialog(title: string, message: string): Observable {\r\n // const message = `Are you sure you want to do this?`;\r\n\r\n const dialogData = new ConfirmDialogModel(title, message);\r\n\r\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\r\n data: dialogData\r\n });\r\n\r\n return dialogRef.afterClosed();\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-confirmation-dialog',\r\n templateUrl: './confirmation-dialog.component.html',\r\n styleUrls: ['./confirmation-dialog.component.css']\r\n})\r\nexport class ConfirmationDialogComponent implements OnInit {\r\n\r\n title: string;\r\n message: string;\r\n\r\n constructor(\r\n private _dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) private _data: ConfirmDialogModel\r\n ) {\r\n // Update view with given values\r\n this.title = this._data.title;\r\n this.message = this._data.message;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onConfirm(): void {\r\n // Close the dialog, return true\r\n this._dialogRef.close(true);\r\n }\r\n\r\n onDismiss(): void {\r\n // Close the dialog, return false\r\n this._dialogRef.close(false);\r\n }\r\n\r\n}\r\n\r\n/**\r\n * Class to represent confirm dialog model.\r\n *\r\n * It has been kept here to keep it as part of shared component.\r\n */\r\nexport class ConfirmDialogModel {\r\n\r\n constructor(public title: string, public message: string) {\r\n }\r\n}\r\n","

\r\n {{title}}\r\n

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

{{message}}

\r\n
\r\n\r\n
\r\n \r\n \r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ConfirmationModelService } from './confirmation-model.service';\r\n\r\n@Component({\r\n selector: 'app-confirmation-modal',\r\n templateUrl: './confirmation-modal.component.html',\r\n styleUrls: ['./confirmation-modal.component.css']\r\n})\r\nexport class ConfirmationModalComponent implements OnInit {\r\n\r\n constructor(\r\n private _confirmationModelService: ConfirmationModelService\r\n ){}\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n @Input() message: string;\r\n @Input() isOpen: boolean;\r\n \r\n\r\n onCancel(){\r\n this._confirmationModelService.onCancelEvent.emit(false);\r\n }\r\n\r\n onConfirm(){\r\n this._confirmationModelService.onConfirmEvent.emit(true);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
Confirmation
\r\n \r\n
\r\n
\r\n

{{ message }}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { EventEmitter, Injectable, Output } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfirmationModelService {\r\n\r\n constructor() { }\r\n\r\n @Output() onConfirmEvent: EventEmitter = new EventEmitter();\r\n @Output() onCancelEvent: EventEmitter = new EventEmitter();\r\n}\r\n","import { LocationDTO } from './../../Models/incident.modal';\r\nimport { DrawMapService } from './draw-map.service';\r\nimport { Component, Inject, OnInit, ViewChild } from \"@angular/core\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { Markers } from \"src/app/Models/incident.modal\";\r\nimport { MapForm } from \"src/app/Models/MapForm\";\r\nimport { IncidentFormLocationEntity } from 'src/app/Models/IncidentFormLocationEntity';\r\nimport { Marker, MouseEvent } from \"@agm/core\";\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { GooglemapService } from 'src/app/core/services/googlemap.service';\r\n\r\n@Component({\r\n selector: \"app-draw-map\",\r\n templateUrl: \"./draw-map.component.html\",\r\n styleUrls: [\"./draw-map.component.css\"],\r\n})\r\nexport class DrawMapComponent implements OnInit {\r\n @ViewChild('mapForm', { static: true }) mapForm: NgForm;\r\n\r\n //#region input fields and labels\r\n drawingType: string;\r\n //#endregion\r\n\r\n //#region form\r\n mapData: MapForm = new MapForm();\r\n isDuplicateName : boolean;\r\n isEdit : boolean;\r\n id : string;\r\n\r\n isInvalidMap: boolean = false;\r\n\r\n isMapReady = false;\r\n isSubmitted = false;\r\n\r\n incidentId: string;\r\n //#endregion\r\n\r\n //#region map\r\n InitialLatitude: number;\r\n InitialLongitude: number;\r\n InitialZoom: number;\r\n markerIconUrl: string;\r\n color: string;\r\n closed: boolean;\r\n\r\n marker: Markers;\r\n\r\n drawingManager: any;\r\n\r\n pointList: any[] = [];\r\n existingLocations : IncidentFormLocationEntity[] = [];\r\n existingRVPMarkers : IncidentFormLocationEntity[] = [];\r\n LocationToBeUpdate : IncidentFormLocationEntity;\r\n\r\n editable = false;\r\n polygonDrawn: boolean = false;\r\n\r\n RVPLatitude : number;\r\n RVPLongitude : number;\r\n\r\n HeadingText: string = \"\";\r\n \r\n //#endregion\r\n\r\n constructor(\r\n private _dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public _initialInfo: any,\r\n private _drawMapService: DrawMapService,\r\n private _toastr: ToastrService,\r\n private _apiErrorService: ApiErrorService,\r\n private _googleMapService: GooglemapService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.incidentId = this._initialInfo.dialogInfo.incidentId;\r\n if (!this.incidentId){\r\n this._dialogRef.close();\r\n }\r\n this.InitialLatitude = this._initialInfo.dialogInfo.latitude;\r\n this.InitialLongitude = this._initialInfo.dialogInfo.longitude;\r\n this.InitialZoom = this._initialInfo.dialogInfo.zoom;\r\n this.drawingType = this._initialInfo.dialogInfo.drawingType;\r\n\r\n if (this.drawingType == \"CrimeScene\"){\r\n this.HeadingText = \"Crime scene\"\r\n }\r\n else if (this.drawingType == \"PoliceCordon\") {\r\n this.HeadingText = \"Police Cordon\"\r\n }\r\n else if (this.drawingType == \"RendezvousPoint\"){\r\n this.HeadingText = \"RVP\"\r\n }\r\n else if (this.drawingType == \"section60Location\") {\r\n this.HeadingText = \"Section 60\"\r\n }\r\n else if (this.drawingType == \"section35Location\") {\r\n this.HeadingText = \"Section 35\"\r\n }\r\n\r\n this.color = this._initialInfo.dialogInfo.color;\r\n this.existingLocations = this._initialInfo.dialogInfo.existingLocations\r\n this.existingRVPMarkers = this._initialInfo.dialogInfo.existingRVPMarkers\r\n this.isEdit = this._initialInfo.dialogInfo.isEdit;\r\n this.LocationToBeUpdate = this._initialInfo.dialogInfo.LocationToBeUpdate;\r\n this.id = this._initialInfo.dialogInfo.id;\r\n this.closed = this._initialInfo.dialogInfo.closed ?? false;\r\n this.marker = this._initialInfo.dialogInfo.marker;\r\n\r\n if (this.marker){\r\n this.mapData.Name = this.LocationToBeUpdate?.name;\r\n this.mapData.Description = this.LocationToBeUpdate?.description;\r\n let cordinatesArray = [];\r\n cordinatesArray.push({lat: this.marker.lat, lng: this.marker.lng});\r\n this.pointList.push(cordinatesArray);\r\n }\r\n\r\n else {\r\n if (this.isEdit){\r\n this.mapData.Name = this.LocationToBeUpdate?.name;\r\n this.mapData.Description = this.LocationToBeUpdate?.description;\r\n const array = [...this.LocationToBeUpdate?.pathList];\r\n this.pointList.push(array);\r\n }\r\n }\r\n\r\n this.isMapReady = true;\r\n }\r\n\r\n\r\n //#region polygon\r\n\r\n onMapReadyForCrimeSceneOnlyShowMap($event: any) {\r\n const options = {\r\n drawingControl: true,\r\n drawingControlOptions: {\r\n drawingModes: [\"polygon\"],\r\n },\r\n polygonOptions: {\r\n draggable: true,\r\n editable: true,\r\n },\r\n drawingMode: \"polygon\",\r\n };\r\n\r\n this._googleMapService.OverlayCompletehandler($event, options, (path) => {\r\n let latLngArray: { lat: number; lng: number }[] = [];\r\n const len = path.getLength();\r\n for (let i = 0; i < len; i++) {\r\n latLngArray.push(path.getAt(i).toJSON());\r\n }\r\n this.pointList.push(latLngArray);\r\n this.editable = false;\r\n this.isInvalidMap = false;\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n \r\n\r\n\r\n //#region RVP marker\r\n\r\n mapClicked($event: MouseEvent) {\r\n // (this.RVPLatitude = $event.coords.lat), (this.RVPLongitude = $event.coords.lng);\r\n // this._googleMapService.MapClicked($event, (addresses) => {\r\n\r\n // })\r\n }\r\n\r\n\r\n markerDragEnd(m: Marker, $event: MouseEvent) {\r\n this.pointList[0][0].lat = $event.coords.lat;\r\n this.pointList[0][0].lng = $event.coords.lng;\r\n\r\n this.isInvalidMap = false;\r\n }\r\n\r\n\r\n\r\n //#endregion\r\n\r\n markerDragEndLocation($event: MouseEvent) {\r\n let obj = $event.coords;\r\n this.updateLocationPointList(obj);\r\n }\r\n\r\n updateLocationPointList(path) {\r\n \r\n this.pointList.forEach((element) => {\r\n element.LocationDTOItem.forEach((sub) => {\r\n if (sub.mapShow) {\r\n sub.selected = true;\r\n sub.locationPoints = [];\r\n sub.locationPoints.push(path);\r\n }\r\n });\r\n });\r\n }\r\n\r\n \r\n \r\n\r\n nameChange(event: any){\r\n if (event != null && event != undefined && event != ''){\r\n if (this.isEdit){\r\n if (!this.existingLocations.find(x => x.name == null || x.name == undefined)){\r\n const isPolyNameDuplicate = this.existingLocations.filter(x => x.name.toLowerCase() === event.toLowerCase() && x.id != this.id).length > 0 ? true : false;\r\n const isRVPMarkerDuplicate = this.existingRVPMarkers.filter(x => x.name.toLowerCase() === event.toLowerCase() && x.id != this.id).length > 0 ? true : false;\r\n this.isDuplicateName = isPolyNameDuplicate || isRVPMarkerDuplicate\r\n }\r\n }\r\n else{\r\n if (!this.existingLocations.find(x => x.name == null || x.name == undefined)){\r\n const isPolyNameDuplicate = this.existingLocations.findIndex(x => x.name.toLowerCase() === event.toLowerCase()) == -1 ? false : true;\r\n const isRVPMarkerDuplicate = this.existingRVPMarkers.findIndex(x => x.name.toLowerCase() === event.toLowerCase()) == -1 ? false : true;\r\n this.isDuplicateName = isPolyNameDuplicate || isRVPMarkerDuplicate\r\n }\r\n }\r\n if (this.isDuplicateName){\r\n this.mapForm.form.setErrors({ 'invalid': true });\r\n }\r\n }\r\n }\r\n\r\n RemoveLocations(){\r\n this.pointList = [];\r\n this.isInvalidMap = true\r\n }\r\n\r\n onSubmit(formData: MapForm) {\r\n this.isSubmitted = true;\r\n if (!this.pointList || this.pointList.length == 0){\r\n this.isInvalidMap = true;\r\n return;\r\n }\r\n let randomId : string\r\n \r\n let result = {\r\n id: this.isEdit ? this.id : randomId,\r\n name: formData.Name,\r\n description: formData.Description,\r\n locations: this.pointList[0],\r\n color: this.color,\r\n locationDTO: new LocationDTO()\r\n };\r\n\r\n if (this.isEdit){\r\n result.id = this.id;\r\n }\r\n\r\n let locationDTO = new LocationDTO();\r\n locationDTO.type = this._drawMapService.LocationTypeDesider(this.drawingType);\r\n locationDTO.name = result.name;\r\n locationDTO.closed = false;\r\n locationDTO.description = result.description;\r\n locationDTO.locationPoints = this.pointList[0];\r\n if (this.isEdit){\r\n locationDTO.id = this.id;\r\n locationDTO.closed = this.closed;\r\n }\r\n result.locationDTO = locationDTO;\r\n\r\n this._drawMapService.saveUpdateLocation(locationDTO, this.incidentId).subscribe(response => {\r\n if (response && response.statusCode == 200 && response.data){\r\n result.locationDTO.id = response.data;\r\n result.id = response.data;\r\n this._dialogRef.close(result);\r\n }\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n\r\n \r\n }\r\n\r\n closeMapClicked(){\r\n this._dialogRef.close();\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Name is required\r\n \r\n \r\n Name is already exist\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n Map is invalid\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from 'src/app/core/interceptors/api.service';\r\nimport { LocationDTO } from 'src/app/Models/incident.modal';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DrawMapService {\r\n\r\n constructor(private _apiService: ApiService) {}\r\n\r\n saveUpdateLocation(LocationSectionDTO: LocationDTO, incidentId: string) {\r\n const url = `/BCU/Location/Map/Save/${incidentId}`;\r\n return this._apiService.post(url, LocationSectionDTO).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n\r\n LocationTypeDesider(locatuionType : string) : number{\r\n let result : number;\r\n switch (locatuionType) {\r\n case 'PoliceCordon':\r\n result = 0;\r\n break;\r\n\r\n case 'RendezvousPoint':\r\n result = 1;\r\n break;\r\n\r\n case 'CrimeScene':\r\n result = 2;\r\n break;\r\n\r\n default:\r\n result = 0;\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-error-confirmation-box',\r\n templateUrl: './error-confirmation-box.component.html',\r\n styleUrls: ['./error-confirmation-box.component.css']\r\n})\r\nexport class ErrorConfirmationBoxComponent implements OnInit {\r\n\r\n tital: string;\r\n body: string;\r\n\r\n constructor(\r\n private _dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) private _data: any\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.tital = this._data.tital\r\n this.body = this._data.body\r\n }\r\n\r\n btnCloseClicked(){\r\n this._dialogRef.close();\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n
\r\n

\r\n \r\n

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

{{body}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { Marker, MouseEvent } from '@agm/core';\r\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IncidentFormLocationEntity } from 'src/app/Models/IncidentFormLocationEntity';\r\nimport { MapForm } from 'src/app/Models/MapForm';\r\nimport { Markers, LocationDTO } from 'src/app/Models/incident.modal';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { GooglemapService } from 'src/app/core/services/googlemap.service';\r\nimport { StringHelperService } from 'src/app/core/services/string-helper.service';\r\nimport { DrawMapComponent } from '../draw-map/draw-map.component';\r\nimport { LocationType } from 'src/app/Enum/LocationType.enum';\r\nimport { IncidentDrawMapService } from './incident-draw-map.service';\r\n\r\n@Component({\r\n selector: 'app-incident-draw-map',\r\n templateUrl: './incident-draw-map.component.html',\r\n styleUrls: ['./incident-draw-map.component.css']\r\n})\r\nexport class IncidentDrawMapComponent implements OnInit {\r\n @ViewChild('mapForm', { static: true }) mapForm: NgForm;\r\n\r\n get RendezvousPointLocation() {\r\n return LocationType.RendezvousPointLocation;\r\n }\r\n //#region input fields and labels\r\n drawingType: string;\r\n //#endregion\r\n\r\n //#region form\r\n mapData: MapForm = new MapForm();\r\n isDuplicateName : boolean;\r\n isEdit : boolean;\r\n id : string;\r\n\r\n isInvalidMap: boolean = false;\r\n\r\n isMapReady = false;\r\n isSubmitted = false;\r\n\r\n incidentId: string;\r\n //#endregion\r\n\r\n //#region map\r\n InitialLatitude: number;\r\n InitialLongitude: number;\r\n InitialZoom: number;\r\n markerIconUrl: string;\r\n color: string;\r\n closed: boolean;\r\n\r\n marker: Markers;\r\n\r\n drawingManager: any;\r\n\r\n pointList: any[] = [];\r\n existingAllPolygon : IncidentFormLocationEntity[] = [];\r\n existingRVPMarkers : IncidentFormLocationEntity[] = [];\r\n LocationToBeUpdate : IncidentFormLocationEntity;\r\n\r\n editable = false;\r\n polygonDrawn: boolean = false;\r\n\r\n RVPLatitude : number;\r\n RVPLongitude : number;\r\n\r\n HeadingText: string = \"\";\r\n \r\n //#endregion\r\n\r\n constructor(\r\n private _dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public _initialInfo: any,\r\n private _incidentDrawMapService: IncidentDrawMapService,\r\n private _toastr: ToastrService,\r\n private _apiErrorService: ApiErrorService,\r\n private _stringHelperService: StringHelperService,\r\n private _googleMapService: GooglemapService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.incidentId = this._initialInfo.incidentId;\r\n if (!this._stringHelperService.IsValidGuid(this.incidentId)){\r\n this._dialogRef.close();\r\n }\r\n\r\n this.InitialLatitude = this._initialInfo.latitude;\r\n this.InitialLongitude = this._initialInfo.longitude;\r\n this.InitialZoom = this._initialInfo.zoom;\r\n this.drawingType = this._initialInfo.drawingType;\r\n\r\n if (!this._stringHelperService.IsNullOrWhiteSpace(this.drawingType)){\r\n this.HeadingText = this._incidentDrawMapService.GetHeadingText(this.drawingType);\r\n }\r\n\r\n this.color = this._initialInfo.color;\r\n this.existingAllPolygon = this._initialInfo.existingAllPolygon\r\n this.existingRVPMarkers = this._initialInfo.existingRVPMarkers\r\n this.isEdit = this._initialInfo.isEdit;\r\n this.LocationToBeUpdate = this._initialInfo.LocationToBeUpdate;\r\n this.id = this._initialInfo.id;\r\n this.closed = this._initialInfo.closed ?? false;\r\n this.marker = this._initialInfo.marker;\r\n\r\n this.mapData.Name = this.LocationToBeUpdate?.name;\r\n this.mapData.Description = this.LocationToBeUpdate?.description;\r\n\r\n if (this.marker){\r\n let cordinatesArray = [];\r\n cordinatesArray.push({lat: this.marker.lat, lng: this.marker.lng});\r\n this.pointList.push(cordinatesArray);\r\n }\r\n else {\r\n if (this.isEdit){\r\n const array = [...this.LocationToBeUpdate?.pathList];\r\n this.pointList.push(array);\r\n }\r\n }\r\n\r\n this.isMapReady = true;\r\n }\r\n\r\n\r\n //#region polygon\r\n\r\n onMapReadyForCrimeSceneOnlyShowMap($event: any) {\r\n const options = {\r\n drawingControl: true,\r\n drawingControlOptions: {\r\n drawingModes: [\"polygon\"],\r\n },\r\n polygonOptions: {\r\n draggable: true,\r\n editable: true,\r\n },\r\n drawingMode: \"polygon\",\r\n };\r\n\r\n this._googleMapService.OverlayCompletehandler($event, options, (path) => {\r\n const latLngArray = this._incidentDrawMapService.CreatePointArrayForPolygon(path);\r\n this.pointList.push(latLngArray);\r\n this.editable = false;\r\n this.isInvalidMap = false;\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n \r\n\r\n\r\n //#region RVP marker\r\n\r\n mapClicked($event: MouseEvent) {\r\n // (this.RVPLatitude = $event.coords.lat), (this.RVPLongitude = $event.coords.lng);\r\n // this._googleMapService.MapClicked($event, (addresses) => {\r\n\r\n // })\r\n }\r\n\r\n\r\n markerDragEnd(m: Marker, $event: MouseEvent) {\r\n this.pointList[0][0].lat = $event.coords.lat;\r\n this.pointList[0][0].lng = $event.coords.lng;\r\n\r\n this.isInvalidMap = false;\r\n }\r\n\r\n\r\n\r\n //#endregion\r\n\r\n markerDragEndLocation($event: MouseEvent) {\r\n let path = $event.coords;\r\n\r\n this.pointList.forEach((element) => {\r\n element.LocationDTOItem.forEach((sub) => {\r\n if (sub.mapShow) {\r\n sub.selected = true;\r\n sub.locationPoints = [];\r\n sub.locationPoints.push(path);\r\n }\r\n });\r\n });\r\n\r\n }\r\n\r\n \r\n \r\n\r\n nameChange(event: string){\r\n if (!this._stringHelperService.IsNullOrWhiteSpace(event)){\r\n if (this.isEdit){\r\n const isPolyNameDuplicate = this.existingAllPolygon.filter(x => x.name?.toLowerCase() === event.toLowerCase() && x.id != this.id).length > 0 ? true : false;\r\n const isRVPMarkerDuplicate = this.existingRVPMarkers.filter(x => x.name?.toLowerCase() === event.toLowerCase() && x.id != this.id).length > 0 ? true : false;\r\n this.isDuplicateName = isPolyNameDuplicate || isRVPMarkerDuplicate\r\n }\r\n else{\r\n const isPolyNameDuplicate = this.existingAllPolygon.findIndex(x => x.name?.toLowerCase() === event.toLowerCase()) == -1 ? false : true;\r\n const isRVPMarkerDuplicate = this.existingRVPMarkers.findIndex(x => x.name?.toLowerCase() === event.toLowerCase()) == -1 ? false : true;\r\n this.isDuplicateName = isPolyNameDuplicate || isRVPMarkerDuplicate\r\n }\r\n if (this.isDuplicateName){\r\n this.mapForm.form.setErrors({ 'invalid': true });\r\n }\r\n }\r\n }\r\n\r\n RemoveLocations(){\r\n this.pointList = [];\r\n this.isInvalidMap = true\r\n }\r\n\r\n onSubmit(formData: MapForm) {\r\n this.isSubmitted = true;\r\n if (!this.pointList || this.pointList.length == 0){\r\n this.isInvalidMap = true;\r\n return;\r\n }\r\n\r\n document.getElementById('save-spinner').style.display = 'block';\r\n document.getElementById('btn-save').style.display = 'none';\r\n\r\n let result = {\r\n id: this.isEdit ? this.id : null,\r\n name: formData.Name,\r\n description: formData.Description,\r\n locations: this.pointList[0],\r\n color: this.color,\r\n locationDTO: new LocationDTO()\r\n };\r\n\r\n if (this.isEdit){\r\n result.id = this.id;\r\n }\r\n\r\n let locationDTO = new LocationDTO();\r\n locationDTO.type = this._incidentDrawMapService.LocationTypeDesider(this.drawingType);\r\n locationDTO.name = result.name;\r\n locationDTO.closed = false;\r\n locationDTO.description = result.description;\r\n locationDTO.locationPoints = this.pointList[0];\r\n\r\n if (this.isEdit){\r\n locationDTO.id = this.id;\r\n locationDTO.closed = this.closed;\r\n }\r\n result.locationDTO = locationDTO;\r\n\r\n this._incidentDrawMapService.saveUpdateLocation(locationDTO, this.incidentId).subscribe(response => {\r\n document.getElementById('save-spinner').style.display = 'none';\r\n document.getElementById('btn-save').style.display = 'block';\r\n\r\n if (response && response.statusCode == 200 && response.data){\r\n result.locationDTO.id = response.data;\r\n result.id = response.data;\r\n this._dialogRef.close(result);\r\n }\r\n },\r\n (error) => {\r\n document.getElementById('save-spinner').style.display = 'none';\r\n document.getElementById('btn-save').style.display = 'block';\r\n this._apiErrorService.ShowError(error);\r\n });\r\n\r\n \r\n }\r\n\r\n closeMapClicked(){\r\n this._dialogRef.close();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Name is required\r\n \r\n \r\n Name is already exist\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n Map is invalid\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { LocationType } from 'src/app/Enum/LocationType.enum';\r\nimport { LocationDTO } from 'src/app/Models/incident.modal';\r\nimport { ApiService } from 'src/app/core/interceptors/api.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IncidentDrawMapService {\r\n\r\n constructor(private _apiService: ApiService) {}\r\n\r\n saveUpdateLocation(LocationSectionDTO: LocationDTO, incidentId: string) {\r\n const url = `/BCU/Location/Map/Save/${incidentId}`;\r\n return this._apiService.post(url, LocationSectionDTO).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n\r\n LocationTypeDesider(locationType : string) : number{\r\n let result : number;\r\n switch (locationType) {\r\n case LocationType.PoliceCordonLocation:\r\n result = 0;\r\n break;\r\n\r\n case LocationType.RendezvousPointLocation:\r\n result = 1;\r\n break;\r\n\r\n case LocationType.CrimeSceneLocation:\r\n result = 2;\r\n break;\r\n\r\n default:\r\n result = 0;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n\r\n GetHeadingText(locationType: string): string{\r\n let result : string;\r\n switch (locationType) {\r\n case LocationType.CrimeSceneLocation:\r\n result = \"Crime scene\";\r\n break;\r\n\r\n case LocationType.PoliceCordonLocation:\r\n result = \"Police Cordon\";\r\n break;\r\n\r\n case LocationType.RendezvousPointLocation:\r\n result = \"RVP\";\r\n break;\r\n\r\n case LocationType.Section60Location:\r\n result = \"Section 60\";\r\n break;\r\n\r\n case LocationType.Section35Location:\r\n result = \"Section 35\";\r\n break;\r\n\r\n default:\r\n result = \"\";\r\n }\r\n\r\n return result;\r\n }\r\n\r\n CreatePointArrayForPolygon(path: any){\r\n let points : { lat: number; lng: number }[] = [];\r\n const len = path.getLength();\r\n for (let i = 0; i < len; i++) {\r\n points.push(path.getAt(i).toJSON());\r\n }\r\n return points;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-incident-message-approve',\r\n templateUrl: './incident-message-approve.component.html',\r\n styleUrls: ['./incident-message-approve.component.css']\r\n})\r\nexport class IncidentMessageApproveComponent implements OnInit {\r\n\r\n constructor(\r\n public _dialogRef: MatDialogRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n \r\n

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

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

Jan 21, 2022, 11:38:35 AM

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"rd-icon\"\r\n Peter Dickenson      (pen)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \"rd-icon\"\r\n Peter Dickenson\r\n
\r\n\r\n
\r\n \"rd-icon\"\r\n Joanne Smith\r\n
\r\n
\r\n \"rd-icon\"\r\n Mary Jame\r\n
\r\n
\r\n \"rd-icon\"\r\n Joanne Smith\r\n
\r\n
\r\n \"rd-icon\"\r\n Andrew Downie\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"rd-icon\"\r\n Peter Dickenson\r\n
\r\n
\r\n \"rd-icon\"\r\n Joanne Smith\r\n
\r\n
\r\n \"rd-icon\"\r\n Mary Jame\r\n
\r\n
\r\n \"rd-icon\"\r\n Joanne Smith\r\n
\r\n
\r\n \"rd-icon\"\r\n Andrew Downie\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Attempted Murder/firearms discharge,
51-89 Rochdale Rd, London E17 8JW, UK

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

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh\r\n euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad\r\n minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis.

\r\n

Lorem ipsum dolor sit amet, cons ectetuer adipiscing elit, sed diam nonummy\r\n nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi\r\n enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl\r\n ut aliquip ex ea commodo consequat.

\r\n

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh\r\n euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad\r\n minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut\r\n aliquip ex ea commodo consequat. Duis

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-incident-message',\r\n templateUrl: './incident-message.component.html',\r\n styleUrls: ['./incident-message.component.css']\r\n})\r\nexport class IncidentMessageComponent implements OnInit {\r\n\r\n constructor(\r\n public _dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public _messageInfo: any\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n //console.log(this._messageInfo);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

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

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

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

{{ _messageInfo.messageInfo.sent| date: 'MMM d, yyyy, h:mm:ss a' }}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"rd-icon\"\r\n {{_messageInfo.messageInfo.from}}      \r\n (approved by Xxxx\r\n Xxxxxx)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \"rd-icon\"\r\n {{to.to}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{_messageInfo.messageInfo.subject}}

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

\r\n {{_messageInfo.messageInfo.content}}\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { EmergencyNoteDTO } from './../../Models/EmergencyPlanningModels/LAEmergencyPlanningActions';\r\nimport { CognitoService } from './../../Authentication/cognito.service';\r\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { IncidentNoteDTO } from 'src/app/Models/Notes/IncidentNoteDTO';\r\nimport { NotesOverlayService } from './notes-overlay.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IncidentNoteCreateDTO } from 'src/app/Models/Notes/IncidentNoteCreateDTO';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { AppStartService } from 'src/app/core/services/app-start.service';\r\n\r\n@Component({\r\n selector: 'app-notes-overlay',\r\n templateUrl: './notes-overlay.component.html',\r\n styleUrls: ['./notes-overlay.component.css']\r\n})\r\nexport class NotesOverlayComponent implements OnInit {\r\n\r\n incidentTitle: string;\r\n incidentId: string;\r\n noteType: string;\r\n taskId: number;\r\n noteData: IncidentNoteDTO[];\r\n emergencyTaskMemberId: number;\r\n isNotesLoaded = false;\r\n notesForm: FormGroup;\r\n currentlySignedInUser : any;\r\n \r\n\r\n constructor(\r\n public _dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) private _data: any,\r\n private _fb: FormBuilder,\r\n private _notesOverlayService: NotesOverlayService,\r\n private _toastr: ToastrService,\r\n private _apiErrorService: ApiErrorService,\r\n private _appStartService: AppStartService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n //console.log(this._data);\r\n this.InitForm();\r\n this.incidentTitle = this._data.incidentTitle;\r\n this.noteData = this._data.noteData;\r\n this.incidentId = this._data.incidentId;\r\n this.taskId = this._data.taskId;\r\n this.noteType = this._data.noteType;\r\n this.emergencyTaskMemberId = this._data.emergencyTaskMemberId;\r\n this.isNotesLoaded = true;\r\n\r\n this.currentlySignedInUser = this._appStartService.currentCognitoUser;\r\n\r\n // this._cognitoService.GetUser()\r\n // .then(user => {\r\n // if (user){\r\n // //console.log(user);\r\n // this.currentlySignedInUser = user;\r\n // }\r\n // })\r\n // .catch((err) => {\r\n // console.log(err);\r\n // });\r\n // this._notesOverlayService.getMessageLog().subscribe(x => console.log(x), (err) => {console.log(err);})\r\n }\r\n\r\n InitForm() {\r\n this.notesForm = this._fb.group({\r\n noteToBeAdd: [null, Validators.required]\r\n });\r\n }\r\n\r\n get noteToBeAdd() {\r\n return this.notesForm.get(\"noteToBeAdd\") as FormControl;\r\n }\r\n\r\n onSubmit(){\r\n if (this.notesForm.invalid){\r\n this._toastr.error(\"Data is Invalid\");\r\n return;\r\n }\r\n\r\n \r\n\r\n if (this.noteType === \"CST\"){\r\n let incidentNoteCreateDTO = new IncidentNoteCreateDTO();\r\n incidentNoteCreateDTO.date = new Date();\r\n incidentNoteCreateDTO.message = this.noteToBeAdd.value;\r\n incidentNoteCreateDTO.taskId = this.taskId;\r\n incidentNoteCreateDTO.incidentId = this.incidentId;\r\n incidentNoteCreateDTO.createdById = this.currentlySignedInUser.username;\r\n\r\n this._notesOverlayService.AddCSTTaskNote(incidentNoteCreateDTO).subscribe(response => {\r\n if (!response || !response.data || response.statusCode != 200){\r\n return;\r\n }\r\n \r\n console.log();\r\n this._toastr.success(\"Note created successfully\", \"Success\");\r\n this._dialogRef.close(true);\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n }\r\n else if (this.noteType === \"EMERGENCY\"){\r\n let emergencyNoteDTO = new EmergencyNoteDTO();\r\n emergencyNoteDTO.createdById = this.currentlySignedInUser.username;\r\n emergencyNoteDTO.date = new Date();\r\n emergencyNoteDTO.message = this.noteToBeAdd.value;\r\n emergencyNoteDTO.emergencyTaskMemberId = this.emergencyTaskMemberId;\r\n\r\n this._notesOverlayService.AddEmergencyTaskNote(emergencyNoteDTO).subscribe(response => {\r\n if (!response || !response.data || response.statusCode != 200){\r\n return;\r\n }\r\n \r\n console.log(response.data);\r\n this._toastr.success(\"Note created successfully\", \"Success\");\r\n this._dialogRef.close(true);\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n

Notes for {{incidentTitle}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Note is required\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

0\">Log

\r\n
\r\n

Sent on {{note.date | date:'HH:mm dd/MM/yy'}}

\r\n
\r\n

{{note.message}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from 'src/app/core/interceptors/api.service';\r\nimport { EmergencyNoteDTO } from 'src/app/Models/EmergencyPlanningModels/LAEmergencyPlanningActions';\r\nimport { IncidentNoteCreateDTO } from 'src/app/Models/Notes/IncidentNoteCreateDTO';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotesOverlayService {\r\n\r\n constructor(private _apiService: ApiService) { }\r\n\r\n getMessageLog() {\r\n const url = \"/messagequeue/logs\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n AddEmergencyTaskNote(emergencyNoteDTO: EmergencyNoteDTO){\r\n const url = `/La/EmergencyPlanning/Notes/Add`;\r\n return this._apiService.post(url, emergencyNoteDTO).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n AddCSTTaskNote(incidentNoteCreateDTO: IncidentNoteCreateDTO){\r\n const url = `/La/Notes/Add`;\r\n return this._apiService.post(url, incidentNoteCreateDTO).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { MessageQueueDTO } from './../../Models/incident.modal';\r\nimport { MessageGroupEnum, ToInformation } from './../../Models/la-Team-messages/LATeamMessagingDashboard';\r\nimport { MessageDeliveryChannelEnum } from './../../Enum/MessageDeliveryChannelEnum.enum';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { StakeholderCategoryList, StakeholderProfileCreateDTO } from 'src/app/Models/Stakeholder/Stakeholder';\r\nimport { IncidentMessageSendService } from '../../team/incident-message-send/incident-message-send.service';\r\nimport { StakeholderMembersService } from 'src/app/Stakeholder/stakeholder-members/stakeholder-members.service';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { AppStartService } from 'src/app/core/services/app-start.service';\r\n\r\n@Component({\r\n selector: 'app-stakeholder-message-send',\r\n templateUrl: './stakeholder-message-send.component.html',\r\n styleUrls: ['./stakeholder-message-send.component.css']\r\n})\r\nexport class StakeholderMessageSendComponent implements OnInit {\r\n\r\n isSubmitted= false;\r\n sendMessageForm : FormGroup;\r\n messagedata : MessageQueueDTO;\r\n overlayData: {messageType : string, incidentId : string}\r\n currentlySignedInUser : any;\r\n currentlySignedInUserName : any;\r\n \r\n stakeHoldersCategory: StakeholderCategoryList[] = [];\r\n stakeHoldersMembers: StakeholderProfileCreateDTO[] = [];\r\n\r\n messsageToFromIndividuals : {name: string; memberId: string, avatar: string, jobTitle: string, organisationName: string}[] = [];\r\n messsageToFromGroup : {name: string; memberId: string, avatar: string, jobTitle: string, organisationName: string}[] = [];\r\n messsageTofinal: {name: string; memberId: string, avatar: string, jobTitle: string, organisationName: string}[] = [];\r\n\r\n indivualMemeberList: {name: string; memberId: string, avatar: string, jobTitle: string, organisationName: string}[] = [];\r\n\r\n isCategoryLoaded = false;\r\n isStackholdersLoaded = false;\r\n\r\n constructor(\r\n private _dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) private _data: any,\r\n private _fb : FormBuilder,\r\n private _incidentMessageSendService : IncidentMessageSendService,\r\n private _toastr : ToastrService,\r\n private _stakeholderMembersService: StakeholderMembersService,\r\n private _apiErrorService: ApiErrorService,\r\n private _appStartService: AppStartService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.overlayData = this._data.messageData;\r\n\r\n this._incidentMessageSendService.GetStakeHolderCategories().subscribe((response => {\r\n if (response && response.data && response.statusCode == 200){\r\n //console.log(response.data);\r\n\r\n this.stakeHoldersCategory = response.data;\r\n\r\n this.isCategoryLoaded = true;\r\n }\r\n }));\r\n\r\n this._stakeholderMembersService.GetStakeHolderMembers().subscribe((response => {\r\n if (response && response.data && response.statusCode == 200){\r\n\r\n //console.log(response.data);\r\n this.stakeHoldersMembers = response.data;\r\n\r\n if (this.stakeHoldersMembers && this.stakeHoldersMembers.length > 0){\r\n for (const stakeHolder of this.stakeHoldersMembers) {\r\n if (!this.indivualMemeberList.find(x => x.memberId === stakeHolder.id)){\r\n this.indivualMemeberList.push({avatar: stakeHolder.avatar, memberId: stakeHolder.id, name: `${stakeHolder.firstName} ${stakeHolder.familyName}`, jobTitle: stakeHolder.jobTitle, organisationName: stakeHolder.organisationName});\r\n }\r\n }\r\n }\r\n\r\n \r\n this.isStackholdersLoaded = true;\r\n }\r\n }));\r\n\r\n this.initializForm();\r\n\r\n if (this.overlayData.messageType == \"SMS\"){\r\n this.sendMessageForm.controls.subject.clearValidators();\r\n this.sendMessageForm.controls.subject.updateValueAndValidity();\r\n }\r\n\r\n this.currentlySignedInUser = this._appStartService.currentCognitoUser;\r\n this.currentlySignedInUserName = `${this._appStartService.currentCognitoUser.attributes.given_name} ${this._appStartService.currentCognitoUser.attributes.family_name}`;\r\n\r\n // this._cognitoService.GetUser()\r\n // .then(user => {\r\n // if (user){\r\n // this.currentlySignedInUser = user;\r\n // this.currentlySignedInUserName = user.attributes.given_name + \" \" + user.attributes.family_name;\r\n // }\r\n // })\r\n // .catch((err) => {\r\n // console.log(err);\r\n // });\r\n\r\n this.sendMessageForm.controls[\"toGroup\"].valueChanges.subscribe(x => {\r\n if (x == '' || x == null || x == undefined){\r\n return;\r\n }\r\n\r\n this.sendMessageForm.controls[\"toGroup\"].setValue('');\r\n \r\n const selectedCategory = this.stakeHoldersCategory.find(category => category.id === +x);\r\n if (!selectedCategory){\r\n return;\r\n }\r\n\r\n if (selectedCategory.stakeholders && selectedCategory.stakeholders.length > 0){\r\n for (const member of selectedCategory.stakeholders) {\r\n\r\n const memberToBeAddInGroup = {name: `${member.firstName} ${member.familyName}`, memberId: member.id, avatar: member.avatar, jobTitle: member.jobTitle, organisationName: member.organisationName};\r\n if (!this.messsageToFromGroup.find(item => item.memberId == memberToBeAddInGroup.memberId)){\r\n this.messsageToFromGroup.push(memberToBeAddInGroup);\r\n }\r\n\r\n if (this.indivualMemeberList.findIndex(x => x.memberId === member.id) !== -1){\r\n this.indivualMemeberList = this.indivualMemeberList.filter((x) => {\r\n return x.memberId !== member.id;\r\n });\r\n }\r\n\r\n // if (this.messsageToFromIndividuals.findIndex(x => x.memberId === member.id) !== -1){\r\n // this.messsageToFromIndividuals = this.messsageToFromIndividuals.filter((x) => {\r\n // return x.memberId !== member.id;\r\n // });\r\n // }\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n initializForm(){\r\n this.sendMessageForm = this._fb.group({\r\n 'subject' : [null, [Validators.required]],\r\n 'messageContent' : [null, [Validators.required]],\r\n 'toGroup' : [null],\r\n });\r\n }\r\n\r\n removeAllFromToGroupListClicked(){\r\n this.messsageToFromGroup = [];\r\n this.initializeIndivualMemeberList();\r\n }\r\n\r\n\r\n removeFromToListClicked(obj: {name: string, memberId: string, avatar: string, jobTitle: string, organisationName: string}){\r\n if (obj){\r\n this.messsageToFromGroup = this.messsageToFromGroup.filter(x => !(x.memberId === obj.memberId));\r\n\r\n if (!(this.stakeHoldersMembers.findIndex(x => x.id === obj.memberId) === -1) && this.IsAvailableInIndiavidualListOrMesssageToFromIndividuals(obj)){\r\n this.indivualMemeberList.push(obj);\r\n }\r\n }\r\n }\r\n\r\n removeAllFromToIndividualListClicked(){\r\n this.messsageToFromIndividuals = [];\r\n this.initializeIndivualMemeberList();\r\n }\r\n\r\n removeFromToIndividualListClicked(obj: {name: string; memberId: string, avatar: string, jobTitle: string, organisationName: string}){\r\n this.messsageToFromIndividuals = this.messsageToFromIndividuals.filter(x => !(x.memberId === obj.memberId));\r\n this.indivualMemeberList.push(obj);\r\n }\r\n\r\n\r\n IndividualMemeberSelected(memeber: {name: string; memberId: string, avatar: string, jobTitle: string, organisationName: string}){\r\n if (!memeber){\r\n return;\r\n }\r\n\r\n const member = this.indivualMemeberList.find(data => data.memberId == memeber.memberId);\r\n if (!member){\r\n return;\r\n }\r\n\r\n if (this.messsageToFromIndividuals.findIndex(x => x.memberId == member.memberId) == -1){\r\n this.messsageToFromIndividuals.push(member);\r\n\r\n this.indivualMemeberList = this.indivualMemeberList.filter((data) => {\r\n return data.memberId !== memeber.memberId;\r\n });\r\n }\r\n }\r\n\r\n initializeIndivualMemeberList(){\r\n for (const teamMember of this.stakeHoldersMembers) {\r\n if (this.IsAvailableInIndiavidualListOrMesssageToFromIndividuals(\r\n {\r\n name: `${teamMember.firstName} ${teamMember.familyName}`, \r\n memberId: teamMember.id, \r\n avatar: teamMember.avatar, \r\n jobTitle: teamMember.jobTitle,\r\n organisationName: teamMember.organisationName\r\n })){\r\n this.indivualMemeberList.push(\r\n {\r\n name: `${teamMember.firstName} ${teamMember.familyName}`, \r\n memberId: teamMember.id, \r\n avatar: teamMember.avatar,\r\n jobTitle: teamMember.jobTitle,\r\n organisationName: ''\r\n });\r\n }\r\n }\r\n }\r\n\r\n IsAvailableInIndiavidualListOrMesssageToFromIndividuals(member: {name: string; memberId: string, avatar: string, jobTitle: string, organisationName: string}){\r\n return this.messsageToFromIndividuals.findIndex(x => x.memberId === member.memberId) === -1\r\n && this.indivualMemeberList.findIndex(x => x.memberId === member.memberId) == -1\r\n }\r\n\r\n onSubmit(){\r\n this.isSubmitted = true;\r\n\r\n if (this.sendMessageForm.invalid){\r\n return;\r\n }\r\n\r\n if ((this.messsageToFromGroup.length + this.messsageToFromIndividuals.length) <= 0){\r\n return;\r\n }\r\n\r\n if (this.messsageToFromGroup.length > 0){\r\n for (const member of this.messsageToFromGroup) {\r\n if (this.messsageTofinal.findIndex(x => x.memberId === member.memberId) == -1){\r\n this.messsageTofinal.push(member);\r\n }\r\n } \r\n }\r\n\r\n if (this.messsageToFromIndividuals.length > 0){\r\n for (const member of this.messsageToFromIndividuals) {\r\n if (this.messsageTofinal.findIndex(x => x.memberId === member.memberId) == -1){\r\n this.messsageTofinal.push(member);\r\n }\r\n } \r\n }\r\n\r\n if (this.messsageTofinal.length <= 0){\r\n return;\r\n }\r\n\r\n\r\n const sendMessageSpinner = document.getElementById('send-message-spinner');\r\n if (sendMessageSpinner){\r\n sendMessageSpinner.style.display = 'block'\r\n }\r\n const btnSend = document.getElementById('btn-send');\r\n if (btnSend){\r\n btnSend.style.display = 'none'\r\n }\r\n\r\n this.messagedata = new MessageQueueDTO();\r\n \r\n this.messagedata.to = this.messsageTofinal.map(x => x.memberId);\r\n this.messagedata.message = this.sendMessageForm?.controls?.messageContent.value;\r\n this.messagedata.subject = this.sendMessageForm?.controls?.subject.value;\r\n if(this.overlayData.messageType == 'Mail'){\r\n this.messagedata.deliveryChannel = MessageDeliveryChannelEnum.Email\r\n }\r\n else if (this.overlayData.messageType == 'SMS'){\r\n this.messagedata.deliveryChannel = MessageDeliveryChannelEnum.SMS\r\n }\r\n else{\r\n this.messagedata.deliveryChannel = MessageDeliveryChannelEnum.None\r\n }\r\n this.messagedata.from = this.currentlySignedInUser.username;\r\n this.messagedata.messageGroup = MessageGroupEnum.Stakeholder;\r\n this.messagedata.relatedIncidentId = this.overlayData.incidentId;\r\n \r\n\r\n this._incidentMessageSendService.getMessageQueueLogs(this.messagedata, 2)\r\n .subscribe((response) => {\r\n\r\n const sendMessageSpinner = document.getElementById('send-message-spinner');\r\n if (sendMessageSpinner){\r\n sendMessageSpinner.style.display = 'none'\r\n }\r\n const btnSend = document.getElementById('btn-send');\r\n if (btnSend){\r\n btnSend.style.display = 'block'\r\n }\r\n\r\n if (response.data == true){\r\n\r\n let toInfo : ToInformation[] = [];\r\n for (const messageTo of this.messsageTofinal) {\r\n const to = new ToInformation();\r\n to.avatar = messageTo.avatar;\r\n if (this.overlayData.messageType === \"SMS\"){\r\n to.to = this.stakeHoldersMembers.find(x => x.id == messageTo.memberId)?.phoneNo\r\n }\r\n else{\r\n to.to = this.stakeHoldersMembers.find(x => x.id == messageTo.memberId)?.email\r\n }\r\n toInfo.push(to);\r\n }\r\n\r\n const fromInfo = `${this.currentlySignedInUser.attributes?.given_name} ${this.currentlySignedInUser.attributes?.family_name}`;\r\n\r\n // = this.messsageTo.map(x => { to: x.memberId; avatar: x.avatar});\r\n const result = {...this.messagedata, toInfo:toInfo, fromInfo: fromInfo }\r\n\r\n this._dialogRef.close(result);\r\n }\r\n else{\r\n this._toastr.error(\"Something went wrong!\");\r\n console.log(response);\r\n }\r\n }, \r\n (error) => {\r\n \r\n const sendMessageSpinner = document.getElementById('send-message-spinner');\r\n if (sendMessageSpinner){\r\n sendMessageSpinner.style.display = 'none'\r\n }\r\n const btnSend = document.getElementById('btn-send');\r\n if (btnSend){\r\n btnSend.style.display = 'block'\r\n }\r\n\r\n this._apiErrorService.ShowError(error);\r\n });\r\n \r\n }\r\n\r\n}","\r\n
\r\n
\r\n
\r\n
\r\n

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

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

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"rd-icon\"\r\n {{currentlySignedInUserName}}\r\n      (pen)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n 0\">Clear all\r\n 0\" \r\n (click)=\"removeAllFromToGroupListClicked()\" \r\n class=\"name-close showHand left-margin\">\r\n [ x ]\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"rd-icon\"\r\n
\r\n {{to.name}}\r\n [ x ]\r\n

{{to.jobTitle}}

\r\n

{{to.organisationName}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n 0\">Clear all\r\n 0\" \r\n (click)=\"removeAllFromToIndividualListClicked()\" \r\n class=\"name-close showHand left-margin\">[ x ]\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
    \r\n
  • \r\n
    \r\n
    \r\n \"icon\"\r\n
    \r\n {{indivualMemeber.name}}\r\n \r\n

    {{indivualMemeber.jobTitle}}

    \r\n

    {{indivualMemeber.organisationName}}

    \r\n
    \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \"rd-icon\"\r\n
\r\n {{member.name}}\r\n [ x ]\r\n

{{member.jobTitle}}

\r\n

{{member.organisationName}}

\r\n
\r\n \r\n
\r\n
\r\n \r\n Members are required\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Subject is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Message is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-page-not-found',\r\n templateUrl: './page-not-found.component.html',\r\n styleUrls: ['./page-not-found.component.css']\r\n})\r\nexport class PageNotFoundComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

page-not-found!

\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ChangePasswordComponent } from '../Authentication/change-password/change-password.component';\r\nimport { BCUAuthGuard } from '../bcu/Authentication/BCUAuthGuard';\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"change-password\",\r\n component: ChangePasswordComponent,\r\n data: {\r\n title: \"Change Password\",\r\n },\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class SharedRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SharedRoutingModule } from './shared-routing.module';\r\nimport { ChangePasswordComponent } from '../Authentication/change-password/change-password.component';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ChangePasswordComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n SharedRoutingModule\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","import { ToastrService } from 'ngx-toastr';\r\nimport { MemberType } from '../../Enum/MemberType.enum';\r\nimport { TeamMember } from '../../Models/Team-member/TeamMemberDTO';\r\nimport { AddTeamMemberService } from './add-team-member.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { UserRole } from 'src/app/Enum/UserRole.enum';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { UserProfileService } from 'src/app/core/services/user-profile.service';\r\n\r\n@Component({\r\n selector: 'app-add-team-member',\r\n templateUrl: './add-team-member.component.html',\r\n styleUrls: ['./add-team-member.component.css']\r\n})\r\nexport class AddTeamMemberComponent implements OnInit {\r\n\r\n teamMemberForm: FormGroup;\r\n isSubmitted: boolean;\r\n isEdit: boolean = false;\r\n //options = Object.keys(UserRole).filter(f => {isNaN(Number(f)) && (UserRole.SuperAdmin || UserRole.SuperAdmin)});\r\n\r\n constructor(\r\n private _dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public _data: any,\r\n private _fb: FormBuilder,\r\n private _addTeamMemberService: AddTeamMemberService,\r\n private _toastr: ToastrService,\r\n private _apiErrorService: ApiErrorService,\r\n private _userProfileService: UserProfileService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n // console.log(this._data)\r\n // this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n\r\n if (this._data.memberProfile == null){\r\n this.isEdit = false;\r\n }\r\n else{\r\n this.isEdit = true;\r\n }\r\n\r\n this.InitForm();\r\n\r\n if (this.isEdit){\r\n let isIncluded = false;\r\n if (this._data.memberProfile.role){\r\n isIncluded = [UserRole[UserRole.GroupAdmin], UserRole[UserRole.GroupMember], UserRole[UserRole.GroupCommunicator]].includes(this._data.memberProfile.role);\r\n }\r\n \r\n this.teamMemberForm.patchValue({\r\n firstName: this._data.memberProfile.firstName,\r\n givenName: this._data.memberProfile.givenName,\r\n role: isIncluded ? this._data.memberProfile.role : null,\r\n employer: this._data.memberProfile.employer,\r\n jobTitle: this._data.memberProfile.jobTitle,\r\n phone: this._data.memberProfile.phone,\r\n email: this._data.memberProfile.email,\r\n policeIIR: this._data.memberProfile.incidentAlert,\r\n location: this._data.memberProfile.locationAlert,\r\n partnerMessage: this._data.memberProfile.partnerMessage,\r\n section60: this._data.memberProfile.section60Alert,\r\n section35: this._data.memberProfile.section35Alert,\r\n protocolLaunch: this._data.memberProfile.incidentLaunchIfNotTeam,\r\n dashboardContact: this._data.memberProfile.dashboardContact,\r\n });\r\n }\r\n }\r\n\r\n InitForm() {\r\n this.teamMemberForm = this._fb.group({\r\n firstName: [null, Validators.required],\r\n givenName: [null, Validators.required],\r\n role: [null, Validators.required],\r\n employer: [null, Validators.required],\r\n phone: [null, [Validators.required, Validators.pattern(/^\\+[1-9]\\d{1,14}$/)]],\r\n email: [null, [Validators.required, Validators.email]],\r\n policeIIR: [null],\r\n location: [null],\r\n partnerMessage: [null],\r\n section60: [null],\r\n section35: [null],\r\n dashboardContact: [null],\r\n protocolLaunch: [null],\r\n jobTitle: [null],\r\n });\r\n }\r\n\r\n //#region form-getters\r\n\r\n public get firstName(){\r\n return this.teamMemberForm.controls.firstName as FormControl;\r\n }\r\n\r\n public get givenName(){\r\n return this.teamMemberForm.controls.givenName as FormControl;\r\n }\r\n\r\n public get role(){\r\n return this.teamMemberForm.controls.role as FormControl;\r\n }\r\n\r\n public get employer(){\r\n return this.teamMemberForm.controls.employer as FormControl;\r\n }\r\n\r\n public get phone(){\r\n return this.teamMemberForm.controls.phone as FormControl;\r\n }\r\n\r\n public get email(){\r\n return this.teamMemberForm.controls.email as FormControl;\r\n }\r\n\r\n public get policeIIR(){\r\n return this.teamMemberForm.controls.policeIIR as FormControl;\r\n }\r\n\r\n public get location(){\r\n return this.teamMemberForm.controls.location as FormControl;\r\n }\r\n\r\n public get partnerMessage(){\r\n return this.teamMemberForm.controls.partnerMessage as FormControl;\r\n }\r\n\r\n public get section60(){\r\n return this.teamMemberForm.controls.section60 as FormControl;\r\n }\r\n \r\n public get section35(){\r\n return this.teamMemberForm.controls.section35 as FormControl;\r\n }\r\n\r\n public get dashboardContact(){\r\n return this.teamMemberForm.controls.dashboardContact as FormControl;\r\n }\r\n\r\n public get protocolLaunch(){\r\n return this.teamMemberForm.controls.protocolLaunch as FormControl;\r\n }\r\n\r\n public get jobTitle(){\r\n return this.teamMemberForm.controls.jobTitle as FormControl;\r\n }\r\n\r\n //#endregion\r\n\r\n onSubmit(){\r\n this.isSubmitted = true;\r\n if (this.teamMemberForm.invalid){\r\n return;\r\n }\r\n\r\n let teamMember = new TeamMember();\r\n teamMember.familyName = this.givenName.value;\r\n teamMember.firstName = this.firstName.value;\r\n teamMember.email = this.email.value;\r\n teamMember.phoneNo = this.phone.value;\r\n teamMember.employer = this.employer.value;\r\n teamMember.memberType = MemberType.Member;\r\n teamMember.roles = +UserRole[this.role.value];\r\n teamMember.incidentAlert = this.policeIIR.value == true ? true : false;\r\n teamMember.locationAlert = this.location.value == true ? true : false;\r\n teamMember.partnerMessage = this.partnerMessage.value == true ? true : false;\r\n teamMember.section60Alert = this.section60.value == true ? true : false;\r\n teamMember.section35Alert = this.section35.value == true ? true : false;\r\n teamMember.dashboardContact = this.dashboardContact.value == true ? true : false;\r\n teamMember.jobTitle = this.jobTitle.value;\r\n teamMember.incidentLaunchIfNotTeam = this.protocolLaunch.value == true ? true : false;\r\n teamMember.avatar = this._data?.memberProfile?.avatar;\r\n //teamMember.groups = 4;\r\n teamMember.MemberCategoryId = 26;\r\n\r\n teamMember.groups = this._userProfileService.GetAuthenticatedUserGroup()?.organizationGroupId;\r\n\r\n if (this.isEdit){\r\n teamMember.id = this._data.memberProfile.id;\r\n }\r\n teamMember.sendJoiningEmail = true;\r\n //console.log(JSON.stringify(teamMember));\r\n if (this.isEdit){\r\n this._addTeamMemberService.EditTeamMember(teamMember).subscribe(response => {\r\n //console.log(response);\r\n \r\n this._toastr.success(\"Member is Updated Successfully\");\r\n this._addTeamMemberService.teamMemberSubject.next([teamMember, true]);\r\n this._dialogRef.close();\r\n }, \r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n }\r\n else{\r\n this._addTeamMemberService.AddTeamMember(teamMember).subscribe(response => {\r\n //console.log(response);\r\n \r\n this._toastr.success(\"Member is added Successfully\");\r\n this._addTeamMemberService.teamMemberSubject.next([teamMember, false]);\r\n this._dialogRef.close();\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n }\r\n\r\n }\r\n\r\n}","\r\n\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n
\r\n Add team member \r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"user\"\r\n \r\n
\r\n \r\n \r\n Role is required\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"user\"\r\n \r\n \r\n
\r\n \r\n \r\n First name is required\r\n
\r\n \r\n
\r\n
\r\n \"user\"\r\n \r\n
\r\n \r\n \r\n Given name is required\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"user-rol\"\r\n \r\n
\r\n \r\n \r\n Job Title is required\r\n
\r\n
\r\n
\r\n \"user-id\"\r\n \r\n
\r\n \r\n \r\n Employer is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Local_Authority_blue\"\r\n \r\n
\r\n \r\n
\r\n Mobile is required
\r\n
\r\n Invalid mobile number (formate example: '+1234567890')
\r\n
\r\n
\r\n
\r\n \"blue-mail-icon\"\r\n \r\n
\r\n \r\n \r\n Email is required\r\n \r\n Invalid Email id\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Alert preferences\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from 'src/app/core/interceptors/api.service';\r\nimport { TeamMember } from 'src/app/Models/Team-member/TeamMemberDTO';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AddTeamMemberService {\r\n\r\n teamMemberSubject = new Subject<[TeamMember, boolean]>();\r\n\r\n constructor(\r\n private _apiService: ApiService\r\n ) { }\r\n\r\n AddTeamMember(teamember : TeamMember) {\r\n const url = `/la/TeamMember/Save`;\r\n return this._apiService.post(url, teamember).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n EditTeamMember(teamember : TeamMember) {\r\n const url = `/la/TeamMember/update`;\r\n return this._apiService.put(url, teamember).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetCategories() {\r\n const url = `/la/TeamMember/Categories`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { ToInformation } from '../../Models/la-Team-messages/LATeamMessagingDashboard';\r\nimport { MessageQueueDTO } from '../../Models/incident.modal';\r\nimport { IncidentMessageSendService } from './incident-message-send.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MessageDeliveryChannelEnum, MessageGroupEnum } from 'src/app/Models/la-Team-messages/LATeamMessagingDashboard';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { MemberProfile } from 'src/app/Models/Members/MemberProfile';\r\nimport { Member } from 'src/app/Models/Members/Member';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { AppStartService } from 'src/app/core/services/app-start.service';\r\nimport { MemberForMessage } from 'src/app/Models/Messages/MessageTemplateDTO';\r\n\r\n@Component({\r\n selector: 'app-incident-message-send',\r\n templateUrl: './incident-message-send.component.html',\r\n styleUrls: ['./incident-message-send.component.css']\r\n})\r\nexport class IncidentMessageSendComponent implements OnInit {\r\n\r\n isSubmitted= false;\r\n sendMessageForm : FormGroup;\r\n messagedata : MessageQueueDTO;\r\n\r\n messsageToGroup : MemberForMessage[] = [];\r\n messsageToIndividuals : MemberForMessage[] = [];\r\n messsageTofinal: MemberForMessage[] = [];\r\n indivualMemeberList: MemberForMessage[] = [];\r\n\r\n overlayData: { messageType : string, incidentId : string }\r\n currentlySignedInUser : any;\r\n currentlySignedInUserName : any;\r\n \r\n toGroupOptions: {name: string; id: string}[] = [\r\n {id : '0', name : 'All team members'},\r\n {id : '1', name : 'All incident team members'}\r\n ];\r\n\r\n incidentTeamMembers : MemberProfile[];\r\n allTeamMembers : Member[];\r\n\r\n isIncidentTeamLoaded = false;\r\n isOrgenizationTeamLoaded = false;\r\n\r\n constructor(\r\n private _dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) private _data: any,\r\n private _fb : FormBuilder,\r\n private _incidentMessageSendService : IncidentMessageSendService,\r\n private _toastr : ToastrService,\r\n private _apiErrorService: ApiErrorService,\r\n private _appStartService: AppStartService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.overlayData = this._data.messageData;\r\n\r\n this._incidentMessageSendService.GetIncidentTeam(this.overlayData.incidentId)\r\n .subscribe(response => {\r\n this.incidentTeamMembers = response.data;\r\n this.isIncidentTeamLoaded = true;\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n \r\n this._incidentMessageSendService.GetAllTeamMembers()\r\n .subscribe(response => {\r\n console.log(response);\r\n this.allTeamMembers = response.data;\r\n for (const teamMember of this.allTeamMembers) {\r\n this.indivualMemeberList.push(this._incidentMessageSendService.CreateMemberForMessageInstance(\r\n `${teamMember.firstName} ${teamMember.familyName}`, teamMember.id, teamMember.avatar, teamMember.jobTitle\r\n ))\r\n }\r\n this.isOrgenizationTeamLoaded = true;\r\n }, \r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n });\r\n\r\n this.InitializeForm();\r\n\r\n // this.sendMessageForm.controls[\"subSelector\"].setValue('0');\r\n // this.sendMessageForm.controls[\"primeSelector\"].setValue('0');\r\n\r\n if (this.overlayData.messageType == \"SMS\"){\r\n this.sendMessageForm.controls.subject.clearValidators();\r\n this.sendMessageForm.controls.subject.updateValueAndValidity();\r\n }\r\n\r\n this.currentlySignedInUser = this._appStartService.currentCognitoUser;\r\n this.currentlySignedInUserName = `${this._appStartService.currentCognitoUser.attributes.given_name} ${this._appStartService.currentCognitoUser.attributes.family_name}`;\r\n\r\n this.sendMessageForm.controls[\"toGroup\"].valueChanges.subscribe(x => {\r\n if (x == '0'){\r\n this.sendMessageForm.controls[\"toGroup\"].setValue('');\r\n\r\n for (const incidentTeamMeber of this.allTeamMembers) {\r\n if (this.messsageToGroup.findIndex(x => x.memberId == incidentTeamMeber.id) == -1){\r\n this.messsageToGroup.push(\r\n this._incidentMessageSendService.CreateMemberForMessageInstance(\r\n `${incidentTeamMeber.firstName} ${incidentTeamMeber.familyName}`, incidentTeamMeber.id, incidentTeamMeber.avatar, incidentTeamMeber.jobTitle\r\n ));\r\n\r\n this.indivualMemeberList = this.indivualMemeberList.filter((data) => {\r\n return data.memberId !== incidentTeamMeber.id;\r\n });\r\n }\r\n }\r\n\r\n }\r\n else if (x == '1'){\r\n this.sendMessageForm.controls[\"toGroup\"].setValue('');\r\n\r\n for (const incidentTeamMeber of this.incidentTeamMembers) {\r\n if (this.messsageToGroup.findIndex(x => x.memberId == incidentTeamMeber.id) == -1){\r\n this.messsageToGroup.push(\r\n this._incidentMessageSendService.CreateMemberForMessageInstance(\r\n `${incidentTeamMeber.firstName} ${incidentTeamMeber.familyName}`, incidentTeamMeber.id, incidentTeamMeber.avatar, incidentTeamMeber.jobTitle\r\n ));\r\n\r\n this.indivualMemeberList = this.indivualMemeberList.filter((data) => {\r\n return data.memberId !== incidentTeamMeber.id;\r\n });\r\n }\r\n }\r\n\r\n }\r\n \r\n });\r\n\r\n \r\n }\r\n\r\n InitializeForm(){\r\n this.sendMessageForm = this._fb.group({\r\n 'subject' : [null, [Validators.required]],\r\n 'messageContent' : [null, [Validators.required]],\r\n 'toGroup' : [null],\r\n });\r\n }\r\n\r\n\r\n RemoveAllFromToGroupListClicked(){\r\n this.messsageToGroup = [];\r\n this.InitializeIndivualMemeberList();\r\n }\r\n\r\n IsAvailableInIndiavidualListOrMesssageToFromIndividuals(member: MemberForMessage){\r\n return this.messsageToIndividuals.findIndex(x => x.memberId === member.memberId) === -1\r\n && this.indivualMemeberList.findIndex(x => x.memberId === member.memberId) == -1\r\n }\r\n\r\n\r\n RemoveFromToGroupListClicked(obj: MemberForMessage){\r\n this.messsageToGroup = this.messsageToGroup.filter(x => !(x.memberId === obj.memberId));\r\n // this.messsageToIndividuals = this.messsageToIndividuals.filter(x => !(x.memberId === obj.memberId));\r\n if (this.IsAvailableInIndiavidualListOrMesssageToFromIndividuals(obj)){\r\n this.indivualMemeberList.push(obj);\r\n }\r\n }\r\n\r\n RemoveAllFromToIndividualListClicked(){\r\n this.messsageToIndividuals = [];\r\n this.InitializeIndivualMemeberList();\r\n }\r\n\r\n\r\n RemoveFromToIndividualListClicked(obj: MemberForMessage){\r\n this.messsageToIndividuals = this.messsageToIndividuals.filter(x => !(x.memberId === obj.memberId));\r\n this.indivualMemeberList.push(obj);\r\n }\r\n\r\n InitializeIndivualMemeberList(){\r\n for (const teamMember of this.allTeamMembers) {\r\n if (this.IsAvailableInIndiavidualListOrMesssageToFromIndividuals(this._incidentMessageSendService.CreateMemberForMessageInstance(\r\n `${teamMember.firstName} ${teamMember.familyName}`, teamMember.id, teamMember.avatar, teamMember.jobTitle\r\n ))){\r\n this.indivualMemeberList.push(this._incidentMessageSendService.CreateMemberForMessageInstance(\r\n `${teamMember.firstName} ${teamMember.familyName}`, teamMember.id, teamMember.avatar, teamMember.jobTitle\r\n ));\r\n }\r\n }\r\n }\r\n\r\n IndividualMemeberSelected(memeber: MemberForMessage){\r\n if (!memeber){\r\n return;\r\n }\r\n\r\n const member = this.indivualMemeberList.find(data => data.memberId == memeber.memberId);\r\n if (!member){\r\n return;\r\n }\r\n\r\n if (this.messsageToIndividuals.findIndex(x => x.memberId == member.memberId) == -1){\r\n this.messsageToIndividuals.push(member);\r\n\r\n this.indivualMemeberList = this.indivualMemeberList.filter((data) => {\r\n return data.memberId !== memeber.memberId;\r\n });\r\n }\r\n }\r\n\r\n onSubmit(){\r\n this.isSubmitted = true;\r\n if (this.sendMessageForm.invalid){\r\n return;\r\n }\r\n \r\n if ((this.messsageToGroup.length + this.messsageToIndividuals.length) <= 0){\r\n return;\r\n }\r\n\r\n if (this.messsageToGroup.length > 0){\r\n for (const member of this.messsageToGroup) {\r\n if (this.messsageTofinal.findIndex(x => x.memberId === member.memberId) == -1){\r\n this.messsageTofinal.push(member);\r\n }\r\n } \r\n }\r\n\r\n if (this.messsageToIndividuals.length > 0){\r\n for (const member of this.messsageToIndividuals) {\r\n if (this.messsageTofinal.findIndex(x => x.memberId === member.memberId) == -1){\r\n this.messsageTofinal.push(member);\r\n }\r\n }\r\n }\r\n\r\n if (this.messsageTofinal.length <= 0){\r\n return;\r\n }\r\n\r\n const sendMessageSpinner = document.getElementById('send-message-spinner');\r\n if (sendMessageSpinner){\r\n sendMessageSpinner.style.display = 'block'\r\n }\r\n const btnSend = document.getElementById('btn-send');\r\n if (btnSend){\r\n btnSend.style.display = 'none'\r\n }\r\n\r\n this.messagedata = new MessageQueueDTO();\r\n // this.messagedata.to = this.messsageTo;\r\n \r\n // this.messagedata.to = ['3fa85f64-5717-4562-b3fc-2c963f66afa6'];\r\n \r\n this.messagedata.to = this.messsageTofinal.map(x => x.memberId);\r\n this.messagedata.message = this.sendMessageForm?.controls?.messageContent.value;\r\n this.messagedata.subject = this.sendMessageForm?.controls?.subject.value;\r\n if(this.overlayData.messageType == 'Mail'){\r\n this.messagedata.deliveryChannel = MessageDeliveryChannelEnum.Email\r\n }\r\n else if (this.overlayData.messageType == 'SMS'){\r\n this.messagedata.deliveryChannel = MessageDeliveryChannelEnum.SMS\r\n }\r\n else{\r\n this.messagedata.deliveryChannel = MessageDeliveryChannelEnum.None\r\n }\r\n this.messagedata.from = this.currentlySignedInUser.username;\r\n this.messagedata.messageGroup = MessageGroupEnum.Team;\r\n this.messagedata.relatedIncidentId = this.overlayData.incidentId;\r\n\r\n // this.messagedata.groupName = 'asd';\r\n // this.messagedata.logoUrl = 'asdad';\r\n // this.messagedata.toDeliveryAddresses = ['asd', 'xcv'];\r\n // this.messagedata.activeDateTime = new Date();\r\n // this.messagedata.relatedIncidentId = \"3fa85f64-5717-4562-b3fc-2c963f66afa6\";\r\n\r\n this._incidentMessageSendService.getMessageQueueLogs(this.messagedata, 1)\r\n .subscribe((response) => {\r\n\r\n const sendMessageSpinner = document.getElementById('send-message-spinner');\r\n if (sendMessageSpinner){\r\n sendMessageSpinner.style.display = 'none'\r\n }\r\n const btnSend = document.getElementById('btn-send');\r\n if (btnSend){\r\n btnSend.style.display = 'block'\r\n }\r\n\r\n if (response.data == true){\r\n\r\n let toInfo : ToInformation[] = [];\r\n for (const messageTo of this.messsageTofinal) {\r\n const to = new ToInformation();\r\n to.avatar = messageTo.avatar;\r\n if (this.overlayData.messageType === \"SMS\"){\r\n to.to = this.allTeamMembers.find(x => x.id == messageTo.memberId)?.phoneNo\r\n }\r\n else{\r\n to.to = this.allTeamMembers.find(x => x.id == messageTo.memberId)?.email\r\n }\r\n toInfo.push(to);\r\n }\r\n\r\n const fromInfo = this.currentlySignedInUserName;\r\n\r\n // = this.messsageTo.map(x => { to: x.memberId; avatar: x.avatar});\r\n const result = {...this.messagedata, toInfo:toInfo, fromInfo: fromInfo }\r\n this._dialogRef.close(result);\r\n }\r\n else{\r\n this._toastr.error(\"Something went wrong!\");\r\n console.log(response);\r\n }\r\n }, \r\n (error) => {\r\n const sendMessageSpinner = document.getElementById('send-message-spinner');\r\n if (sendMessageSpinner){\r\n sendMessageSpinner.style.display = 'none'\r\n }\r\n const btnSend = document.getElementById('btn-send');\r\n if (btnSend){\r\n btnSend.style.display = 'block'\r\n }\r\n\r\n this._apiErrorService.ShowError(error);\r\n });\r\n \r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n

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

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

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"rd-icon\"\r\n {{currentlySignedInUserName}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n 0\">Clear all\r\n 0\"\r\n (click)=\"RemoveAllFromToGroupListClicked()\" \r\n class=\"name-close showHand left-margin\">[ x ]\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \"rd-icon\"\r\n
\r\n {{to.name}}\r\n [ x ]\r\n

{{to.jobTitle}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n 0\">Clear all\r\n 0\" \r\n (click)=\"RemoveAllFromToIndividualListClicked()\" \r\n class=\"name-close showHand left-margin\">[ x ]\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
    \r\n
  • \r\n
    \r\n
    \r\n \"icon\"\r\n
    \r\n {{indivualMemeber.name}}\r\n \r\n

    {{indivualMemeber.jobTitle}}

    \r\n
    \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \"rd-icon\"\r\n
\r\n {{member.name}}\r\n [ x ]\r\n

{{member.jobTitle}}

\r\n
\r\n \r\n
\r\n
\r\n \r\n Members are required\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Subject is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Message is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { ApiService } from \"src/app/core/interceptors/api.service\";\r\nimport { MessageQueueDTO } from \"src/app/Models/incident.modal\";\r\nimport { MemberForMessage } from \"src/app/Models/Messages/MessageTemplateDTO\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class IncidentMessageSendService {\r\n constructor(private _apiService: ApiService) {}\r\n\r\n CreateMemberForMessageInstance(fullName: string, memberId: string, avatar: string, jobTitle: string){\r\n let memberForMessage = new MemberForMessage();\r\n memberForMessage.name = fullName;\r\n memberForMessage.memberId = memberId;\r\n memberForMessage.avatar = avatar;\r\n memberForMessage.jobTitle = jobTitle;\r\n return memberForMessage;\r\n }\r\n\r\n GetIncidentTeam(id: string) {\r\n const url = `/la/IncidentTeam/${id}`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetAllTeamMembers(){\r\n const url = \"/La/TeamMembers\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n\r\n GetStakeHolderCategories() {\r\n const url = `/Manager/Members/Categories/Stakeholders`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetStakeHolder() {\r\n const url = `/Manager/Members/Categories/Member`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetStakeHolderTeamMembers(groupId: number = 4) {\r\n const url = `/Manager/Stakeholders/ListStakeholdersByGroup/${groupId}`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n \r\n\r\n getMessageQueueLogs(messageQueueDTO: MessageQueueDTO, memberType: number) {\r\n const url = `/la/enqueue/${memberType}`;\r\n let body;\r\n if (\r\n messageQueueDTO.toDeliveryAddresses == undefined ||\r\n messageQueueDTO.toDeliveryAddresses.length <= 0\r\n ) {\r\n body = {\r\n activeDateTime: messageQueueDTO.activeDateTime,\r\n from: messageQueueDTO.from,\r\n to: [...messageQueueDTO.to],\r\n subject: messageQueueDTO.subject,\r\n message: messageQueueDTO.message,\r\n relatedIncidentId: messageQueueDTO.relatedIncidentId,\r\n messageGroup: messageQueueDTO.messageGroup,\r\n deliveryChannel: messageQueueDTO.deliveryChannel,\r\n groupName: messageQueueDTO.groupName,\r\n logoUrl: messageQueueDTO.logoUrl,\r\n };\r\n\r\n \r\n } else {\r\n body = {\r\n activeDateTime: messageQueueDTO.activeDateTime,\r\n from: messageQueueDTO.from,\r\n to: [...messageQueueDTO.to],\r\n subject: messageQueueDTO.subject,\r\n message: messageQueueDTO.message,\r\n relatedIncidentId: messageQueueDTO.relatedIncidentId,\r\n messageGroup: messageQueueDTO.messageGroup,\r\n deliveryChannel: messageQueueDTO.deliveryChannel,\r\n groupName: messageQueueDTO.groupName,\r\n logoUrl: messageQueueDTO.logoUrl,\r\n toDeliveryAddresses: [...messageQueueDTO.toDeliveryAddresses],\r\n };\r\n }\r\n\r\n return this._apiService.post(url, body).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { Subscription } from \"rxjs\";\r\nimport { AddTeamMemberService } from \"./../add-team-member/add-team-member.service\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { OnDestroy } from \"@angular/core\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { TeamMembersService } from \"./team-members.service\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { MemberProfile } from \"src/app/Models/Members/MemberProfile\";\r\nimport { AddTeamMemberComponent } from \"../add-team-member/add-team-member.component\";\r\nimport { UserRole } from \"src/app/Enum/UserRole.enum\";\r\nimport { TeamMember } from \"src/app/Models/Team-member/TeamMemberDTO\";\r\nimport { ApiErrorService } from \"src/app/core/services/api-error.service\";\r\nimport { UrlHelperService } from \"src/app/core/services/url-helper.service\";\r\nimport { UserProfileService } from \"src/app/core/services/user-profile.service\";\r\n\r\n@Component({\r\n selector: \"app-team-members\",\r\n templateUrl: \"./team-members.component.html\",\r\n styleUrls: [\"./team-members.component.css\"],\r\n})\r\nexport class TeamMembersComponent implements OnInit, OnDestroy {\r\n // teamMemberForm: FormGroup;\r\n // isSubmitted: boolean;\r\n teamMembers: MemberProfile[];\r\n isMembersLoading: boolean = true;\r\n teamMemberSubjectSubscription: Subscription;\r\n \r\n\r\n constructor(\r\n private _activatedRoute: ActivatedRoute,\r\n private _titleService: Title,\r\n private _teamMembersService: TeamMembersService,\r\n private _toastr: ToastrService,\r\n private _dialog: MatDialog,\r\n private _addTeamMemberSevice: AddTeamMemberService,\r\n private _apiErrorService: ApiErrorService,\r\n public _urlHelperService: UrlHelperService,\r\n private _userProfileService: UserProfileService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n\r\n this.teamMemberSubjectSubscription =\r\n this._addTeamMemberSevice.teamMemberSubject.subscribe((teamMember) => {\r\n let newTeamMember = new MemberProfile();\r\n newTeamMember.employer = teamMember[0].employer;\r\n newTeamMember.familyName = teamMember[0].familyName;\r\n //newTeamMember.Groups = teamMember[0].groups;\r\n newTeamMember.id = teamMember[0].id;\r\n newTeamMember.IsEmailVerified = teamMember[0].isEmailVerified;\r\n newTeamMember.IsPhoneNoVerified = teamMember[0].isPhoneNoVerified;\r\n newTeamMember.jobTitle = teamMember[0].jobTitle;\r\n newTeamMember.MemberCategoryId = teamMember[0].MemberCategoryId;\r\n newTeamMember.memberType = teamMember[0].memberType;\r\n //newTeamMember.Statutory = teamMember[0].Statutory;\r\n //newTeamMember.User = teamMember[0].User;\r\n newTeamMember.avatar = teamMember[0].avatar;\r\n newTeamMember.dashboardContact = teamMember[0].dashboardContact;\r\n newTeamMember.email = teamMember[0].email;\r\n newTeamMember.firstName = teamMember[0].firstName;\r\n newTeamMember.givenName = teamMember[0].familyName;\r\n newTeamMember.incidentAlert = teamMember[0].incidentAlert;\r\n newTeamMember.incidentLaunchIfNotTeam =\r\n teamMember[0].incidentLaunchIfNotTeam;\r\n newTeamMember.locationAlert = teamMember[0].locationAlert;\r\n //newTeamMember.organisationGroupid = teamMember[0].organisationGroupid;\r\n newTeamMember.partnerMessage = teamMember[0].partnerMessage;\r\n newTeamMember.phone = teamMember[0].phoneNo;\r\n newTeamMember.role = UserRole[+teamMember[0].roles];\r\n newTeamMember.section35Alert = teamMember[0].section35Alert;\r\n newTeamMember.section60Alert = teamMember[0].section60Alert;\r\n\r\n if (teamMember[1]) {\r\n this.teamMembers.map((item, index) => {\r\n if (item.id === newTeamMember.id) {\r\n this.teamMembers.splice(index, 1, newTeamMember);\r\n }\r\n });\r\n } else {\r\n this.teamMembers.push(newTeamMember);\r\n }\r\n });\r\n\r\n this._teamMembersService.GetTeamMembersDashboard().subscribe(\r\n (response) => {\r\n if (!response || !response.data || response.statusCode != 200) {\r\n this._toastr.error(\"Something went wrong\");\r\n return;\r\n }\r\n\r\n this.teamMembers = response.data;\r\n this.isMembersLoading = false;\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n\r\n // InitForm() {\r\n // this.teamMemberForm = this._fb.group({\r\n // firstName: [null, Validators.required],\r\n // givenName: [null, Validators.required],\r\n // role: [null, Validators.required],\r\n // employer: [null, Validators.required],\r\n // phone: [null, [Validators.required, Validators.pattern(\"[0-9]{3}-[0-9]{3}-[0-9]{4}\")]],\r\n // email: [null, [Validators.required, Validators.email]],\r\n // alertPreferences: [null, Validators.required]\r\n // });\r\n // }\r\n\r\n // onSubmit(){\r\n // this.isSubmitted = true;\r\n // }\r\n\r\n teamMemberEditClicked(memberProfile: MemberProfile) {\r\n this._dialog.open(AddTeamMemberComponent, {\r\n data: { memberProfile: memberProfile },\r\n });\r\n }\r\n\r\n GrayRoleIconVisibility(role: string): boolean {\r\n if (\r\n [UserRole.SystemAdmin, UserRole.SuperAdmin, UserRole.GroupAdmin].includes(\r\n UserRole[role]\r\n )\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n\r\n teamMemeberCheckboxChnaged(checkboxName: string, memberProfile : MemberProfile, event: Event, innerIndex: number){\r\n const updateMemberSpinner = document.getElementById('update-member-spinner' + innerIndex);\r\n const editButtonDiv = document.getElementById('update-member-spinner' + innerIndex);\r\n if (updateMemberSpinner){\r\n document.getElementById('update-member-spinner' + innerIndex).style.display = 'block';\r\n }\r\n if (editButtonDiv){\r\n document.getElementById('edit-button-div' + innerIndex).style.display = 'none';\r\n }\r\n \r\n\r\n console.log(event);\r\n const checkbox = event.target as HTMLInputElement;\r\n if (checkboxName === 'incidentAlert'){\r\n memberProfile.incidentAlert = checkbox.checked;\r\n }\r\n else if (checkboxName === 'locationAlert'){\r\n memberProfile.locationAlert = checkbox.checked;\r\n }\r\n else if (checkboxName === 'section60Alert'){\r\n memberProfile.section60Alert = checkbox.checked;\r\n }\r\n else if (checkboxName === 'section35Alert'){\r\n memberProfile.section35Alert = checkbox.checked;\r\n }\r\n else if (checkboxName === 'partnerMessage'){\r\n memberProfile.partnerMessage = checkbox.checked;\r\n }\r\n else if (checkboxName === 'incidentLaunchIfNotTeam'){\r\n memberProfile.incidentLaunchIfNotTeam = checkbox.checked;\r\n }\r\n else if (checkboxName === 'dashboardContact'){\r\n memberProfile.dashboardContact = checkbox.checked;\r\n }\r\n\r\n if (memberProfile.id == null || memberProfile.id == undefined || memberProfile.id == ''){\r\n return;\r\n }\r\n\r\n let teamMember = new TeamMember();\r\n teamMember.familyName = memberProfile.givenName;\r\n teamMember.firstName = memberProfile.firstName;\r\n teamMember.email = memberProfile.email;\r\n teamMember.phoneNo = memberProfile.phone;\r\n teamMember.employer = memberProfile.employer;\r\n teamMember.memberType = memberProfile.memberType;\r\n teamMember.roles = UserRole[memberProfile.role];\r\n teamMember.incidentAlert = memberProfile.incidentAlert;\r\n teamMember.locationAlert = memberProfile.locationAlert;\r\n teamMember.partnerMessage = memberProfile.partnerMessage;\r\n teamMember.section60Alert = memberProfile.section60Alert;\r\n teamMember.section35Alert = memberProfile.section35Alert;\r\n teamMember.jobTitle = memberProfile.jobTitle;\r\n teamMember.incidentLaunchIfNotTeam = memberProfile.incidentLaunchIfNotTeam;\r\n teamMember.avatar = memberProfile.avatar;\r\n teamMember.dashboardContact = memberProfile.dashboardContact;\r\n teamMember.groups = this._userProfileService.GetAuthenticatedUserGroup()?.organizationGroupId;\r\n teamMember.MemberCategoryId = memberProfile.MemberCategoryId;\r\n teamMember.id = memberProfile.id;\r\n\r\n this._addTeamMemberSevice.EditTeamMember(teamMember).subscribe(x => {\r\n this._addTeamMemberSevice.teamMemberSubject.next([teamMember, true]);\r\n\r\n const updateMemberSpinner = document.getElementById('update-member-spinner' + innerIndex);\r\n const editButtonDiv = document.getElementById('update-member-spinner' + innerIndex);\r\n if (updateMemberSpinner){\r\n document.getElementById('update-member-spinner' + innerIndex).style.display = 'none';\r\n }\r\n if (editButtonDiv){\r\n document.getElementById('edit-button-div' + innerIndex).style.display = 'block';\r\n }\r\n \r\n }, \r\n (error) => {\r\n\r\n checkbox.checked = !checkbox.checked;\r\n\r\n const updateMemberSpinner = document.getElementById('update-member-spinner' + innerIndex);\r\n const editButtonDiv = document.getElementById('update-member-spinner' + innerIndex);\r\n if (updateMemberSpinner){\r\n document.getElementById('update-member-spinner' + innerIndex).style.display = 'none';\r\n }\r\n if (editButtonDiv){\r\n document.getElementById('edit-button-div' + innerIndex).style.display = 'block';\r\n }\r\n \r\n this._apiErrorService.ShowError(error);\r\n\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.teamMemberSubjectSubscription){\r\n this.teamMemberSubjectSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n\r\n

Team

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

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
First nameGiven nameJob titleEmailMobile\"Police\"location-black\"\"search-person\"\"ection-35\"\"partner-msg\"\"rocket-black\"\"rocket-black\"
\r\n
\r\n \"rd-icon\"\r\n {{teamMember.firstName}}\r\n \"profile\"\r\n
\r\n
{{teamMember.givenName}}{{teamMember.jobTitle}}\r\n \r\n \"mail-icon-new\"\r\n \r\n \"\"\r\n \r\n \r\n \"phone-icon-new\"\r\n \r\n \"\"\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
    \r\n
  • Edit
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from 'src/app/core/interceptors/api.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TeamMembersService {\r\n\r\n constructor(\r\n private _apiService: ApiService\r\n ) { }\r\n\r\n GetTeamMembersDashboard() {\r\n const url = `/la/teammember/dashboard`;\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { ToastrService } from 'ngx-toastr';\r\nimport { TeamMessagingDashboardService } from \"./team-messaging-dashboard.service\";\r\nimport { IncidentMessageSendComponent } from \"../incident-message-send/incident-message-send.component\";\r\nimport { IncidentMessageComponent } from \"../../overlays/incident-message/incident-message.component\";\r\nimport { LoadScriptService } from \"../../home-dashboard/load-script.service\";\r\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { LATeamMessage, LATeamMessagingDashboard } from \"../../Models/la-Team-messages/LATeamMessagingDashboard\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport { ErrorConfirmationBoxComponent } from 'src/app/overlays/error-confirmation-box/error-confirmation-box.component';\r\nimport { ApiErrorService } from 'src/app/core/services/api-error.service';\r\nimport { UrlHelperService } from 'src/app/core/services/url-helper.service';\r\n\r\n@Component({\r\n selector: \"app-team-messaging-dashboard\",\r\n templateUrl: \"./team-messaging-dashboard.component.html\",\r\n styleUrls: [\"./team-messaging-dashboard.component.css\"],\r\n})\r\nexport class TeamMessagingDashboardComponent implements OnInit, OnDestroy {\r\n teamMessagesIncedents: LATeamMessagingDashboard[] = [];\r\n isLoading = true;\r\n\r\n constructor(\r\n private _activatedRoute: ActivatedRoute,\r\n private _titleService: Title,\r\n private _loadScriptService: LoadScriptService,\r\n private _teamMessagingDashboardService: TeamMessagingDashboardService,\r\n private _dialog: MatDialog,\r\n private _toastr: ToastrService,\r\n private _apiErrorService: ApiErrorService,\r\n public _urlHelperService: UrlHelperService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this._titleService.setTitle(this._activatedRoute.snapshot.data.title);\r\n this._loadScriptService.LoadScript(\"team-messaging-dashboardScriptTag\");\r\n\r\n this.GetTeamMessagingDashboard();\r\n }\r\n\r\n GetTeamMessagingDashboard(){\r\n this._teamMessagingDashboardService.GetTeamMessagingDashboard().pipe(tap(() => this.isLoading = false)).subscribe(\r\n (response) => {\r\n this.teamMessagesIncedents = this._teamMessagingDashboardService.SortIncidents(response.data);\r\n },\r\n (error) => {\r\n this._apiErrorService.ShowError(error);\r\n }\r\n );\r\n }\r\n\r\n\r\n IncidentMessageClicked(message: LATeamMessage) {\r\n this._dialog.open(IncidentMessageComponent, {\r\n data: { messageInfo: message }\r\n });\r\n }\r\n\r\n SendMessageClicked(messageType: string, incidentId: string) {\r\n if (!messageType || !incidentId){\r\n return;\r\n }\r\n\r\n let messageData = { messageType : messageType, incidentId : incidentId }\r\n this._dialog.open(IncidentMessageSendComponent, {\r\n minHeight: '100px',\r\n minWidth : '100px',\r\n data: { messageData: messageData }\r\n })\r\n .afterClosed().subscribe(result => {\r\n if (!result){\r\n return;\r\n }\r\n\r\n this.isLoading = true;\r\n\r\n const messageQueueDTO = result;\r\n\r\n this._dialog.open(ErrorConfirmationBoxComponent, {\r\n width: 'auto',\r\n panelClass: 'custom-dialog-container',\r\n data: { tital: \"Message sent\", body: \"Your message has been sent\" }\r\n });\r\n\r\n const teamMessageIncidentIndex = this.teamMessagesIncedents.findIndex(x => x.incidentId == incidentId);\r\n if (teamMessageIncidentIndex != -1){\r\n let laTeamMessage = new LATeamMessage();\r\n laTeamMessage.content = messageQueueDTO.message;\r\n laTeamMessage.from = messageQueueDTO.fromInfo;\r\n laTeamMessage.sent = new Date();\r\n laTeamMessage.subject = messageQueueDTO.subject;\r\n laTeamMessage.to = messageQueueDTO.toInfo;\r\n laTeamMessage.type = messageQueueDTO.deliveryChannel?.toString();\r\n this.teamMessagesIncedents[teamMessageIncidentIndex].messages.push(laTeamMessage);\r\n }\r\n\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._loadScriptService.RemoveScript(\"team-messaging-dashboardScriptTag\");\r\n }\r\n}","\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n

Team Messges

\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n Team Messges\r\n Partner Messages\r\n IIR Messagess\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n No messsages sent yet.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
MessagesTime
{{message.type === \"1\" ? \"Mail\": \"SMS\"}}   {{message.content | sorterString}}{{message.sent | date: 'HH:mm, MMMM d'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiService } from '../../core/interceptors/api.service';\r\nimport { LATeamMessagingDashboard } from 'src/app/Models/la-Team-messages/LATeamMessagingDashboard';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TeamMessagingDashboardService {\r\n\r\n constructor(\r\n private _apiService: ApiService\r\n ) { }\r\n\r\n GetMessageQueueLogs() {\r\n const url = \"/MessageQueue/logs\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n GetTeamMessagingDashboard() {\r\n const url = \"/la/TeamMessaging/Dashboard\";\r\n return this._apiService.get(url).pipe(\r\n map((data) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n SortIncidents(incidents: LATeamMessagingDashboard[]){\r\n return incidents.sort((a, b) => {\r\n const aDate = new Date(a.dateTime);\r\n const bDate = new Date(b.dateTime);\r\n return bDate.getTime() - aDate.getTime();\r\n });\r\n }\r\n \r\n}\r\n","//// This file can be replaced during build by using the `fileReplacements` array.\r\n//// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n//// The list of file replacements can be found in `angular.json`.\r\n\r\n//export const environment = {\r\n// production: false,\r\n// api_url: \"https://localhost:44319/api/1\",\r\n\r\n// cognito: {\r\n// userPoolId: \"eu-west-2_DdR68mbed\",\r\n// userPoolWebClientId: \"4hinoifq4mrs73k46j5tfhvqqd\",\r\n// AWSCognitoSignInURL: \"http://localhost:4200/account/login\",\r\n// AWSCognitoSignOut: \"http://localhost:4200/account/logout\",\r\n// AWSDomain: \"authv2.seriousincidentmanager.com\",\r\n// AWSProjectRegion: \"eu-west-2\",\r\n// AWSCognitoRegion: \"eu-west-2\",\r\n// AWSAppsyncAuthenticationType: \"AMAZON_COGNITO_USER_POOLS\",\r\n// Scope: [\r\n// \"phone\",\r\n// \"email\",\r\n// \"openid\",\r\n// \"profile\",\r\n// \"aws.cognito.signin.user.admin\"\r\n// ],\r\n// ResponseType: \"code\",\r\n// Options: {\r\n// AdvancedSecurityDataCollectionFlag: false\r\n// },\r\n// awsLoginUrl:\r\n// \"https://authv2.seriousincidentmanager.com/login?client_id=4hinoifq4mrs73k46j5tfhvqqd&response_type=code&scope=aws.cognito.signin.user.admin+email+openid+phone+profile&redirect_uri=http://localhost:4200/account/login\"\r\n// },\r\n\r\n// PCR_help_URL: \"https://help.seriousincidentmanager.com/police-control-room\",\r\n// PCR_help_BCU_dashboard_URL: \"https://help.seriousincidentmanager.com/police-control-room/dashboard/\",\r\n// PCR_help_BCU_IIR_URL: \"https://help.seriousincidentmanager.com/police-control-room/initial-incident-form/\",\r\n// PCR_help_BCU_Contacts_URL: \"https://help.seriousincidentmanager.com/police-control-room/contacts/\",\r\n// PCR_help_LA_dashboard_URL: \"https://help.seriousincidentmanager.com/local-authorities/\",\r\n//};\r\n\r\n///*\r\n// * In development mode, to ignore zone related error stack frames such as\r\n// * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n// * import the following file, but please comment it out in production mode\r\n// * because it will have performance impact when throw error\r\n// */\r\n//// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n\r\n////production\r\nvar production = true;\r\nvar api = 'https://api.seriousincidentmanager.com/api/1'\r\nvar userpool = 'eu-west-2_DdR68mbed'\r\nvar id = '4hinoifq4mrs73k46j5tfhvqqd'\r\nvar returnurl = 'https://app.seriousincidentmanager.com/'\r\nvar awsdomain = 'authv2.seriousincidentmanager.com'\r\n\r\n//production - prod 2\r\n//var production = false;\r\n//var api = 'https://api.prod-2.simuk-dev.uk/api/1'\r\n//var userpool = 'eu-west-2_DdR68mbed'\r\n//var id = '4hinoifq4mrs73k46j5tfhvqqd'\r\n//var returnurl = 'https://app.prod-2.simuk-dev.uk/'\r\n//var awsdomain = 'authv2.seriousincidentmanager.com'\r\n\r\n////////local\r\n//var production = false;\r\n//var api = 'https://localhost:44319/api/1'\r\n//var userpool = 'eu-west-2_DdR68mbed'\r\n//var id = '4hinoifq4mrs73k46j5tfhvqqd'\r\n//var returnurl = 'http://localhost:4200/'\r\n//var awsdomain = 'authv2.seriousincidentmanager.com'\r\n\r\n////stage\r\n//var production = false;\r\n//var api = 'https://devapi.simuk-dev.uk/api/1'\r\n//var userpool = 'eu-west-2_DdR68mbed'\r\n//var id = '4hinoifq4mrs73k46j5tfhvqqd'\r\n//var returnurl = 'https://devapp.simuk-dev.uk/'\r\n//var awsdomain = 'authv2.seriousincidentmanager.com'\r\n\r\n//dev\r\n//var production = false;\r\n//var api = 'https://localhost:44319/api/1'\r\n//var userpool = 'eu-west-2_c5C05AGi0'\r\n//var id = '34rvlp75u8gebfere0p99u6ij2'\r\n//var returnurl = 'http://localhost:4200/'\r\n//var awsdomain = 'authv2dev.seriousincidentmanager.com'\r\n\r\nvar auth = 'https://' + awsdomain + '/login?client_id=' + id + '&response_type=code&scope=aws.cognito.signin.user.admin+email+openid+phone+profile&redirect_uri=' + returnurl + 'account/login'\r\n\r\nexport const environment = {\r\n production: production,\r\n api_url: api, \r\n\r\n cognito: {\r\n userPoolId: userpool,\r\n userPoolWebClientId: id,\r\n AWSCognitoSignInURL: returnurl + \"account/login\",\r\n AWSCognitoSignOut: returnurl + \"account/logout\",\r\n AWSDomain: awsdomain,\r\n AWSProjectRegion: \"eu-west-2\",\r\n AWSCognitoRegion: \"eu-west-2\",\r\n AWSAppsyncAuthenticationType: \"AMAZON_COGNITO_USER_POOLS\",\r\n Scope: [\r\n \"phone\",\r\n \"email\",\r\n \"openid\",\r\n \"profile\",\r\n \"aws.cognito.signin.user.admin\"\r\n ],\r\n ResponseType: \"code\",\r\n Options: {\r\n AdvancedSecurityDataCollectionFlag: false\r\n },\r\n awsLoginUrl:\r\n auth\r\n },\r\n\r\n PCR_help_URL: \"https://help.seriousincidentmanager.com/police-control-room\",\r\n PCR_help_BCU_dashboard_URL: \"https://help.seriousincidentmanager.com/police-control-room/dashboard/\",\r\n PCR_help_BCU_IIR_URL: \"https://help.seriousincidentmanager.com/police-control-room/initial-incident-form/\",\r\n PCR_help_BCU_Contacts_URL: \"https://help.seriousincidentmanager.com/police-control-room/contacts/\",\r\n PCR_help_LA_dashboard_URL: \"https://help.seriousincidentmanager.com/local-authorities/\",\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { Amplify } from 'aws-amplify';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nconst oauth = {\r\n domain: environment.cognito.AWSDomain,\r\n userPoolId : environment.cognito.userPoolId,\r\n userPoolWebClientId: environment.cognito.userPoolWebClientId,\r\n scope: environment.cognito.Scope,\r\n redirectSignIn: environment.cognito.AWSCognitoSignInURL,\r\n redirectSignOut: environment.cognito.AWSCognitoSignOut,\r\n responseType: environment.cognito.ResponseType,\r\n options: environment.cognito.Options\r\n}\r\n\r\nconst awsmobile = {\r\n aws_project_region: environment.cognito.AWSProjectRegion,\r\n aws_cognito_region: environment.cognito.AWSCognitoRegion,\r\n aws_user_pools_id: environment.cognito.userPoolId,\r\n aws_user_pools_web_client_id: environment.cognito.userPoolWebClientId,\r\n aws_appsync_authenticationType: environment.cognito.AWSAppsyncAuthenticationType,\r\n oauth: oauth,\r\n};\r\n\r\nAmplify.configure(awsmobile);\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","/* (ignored) */"],"sourceRoot":""}