{"version":3,"file":"main.9f2dd188cef10961.js","mappings":"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;;;;;;;;;;;;ACA1B;AACyB;AAC/B;AACV;AACT;AAC4D;AACrD;AACQ;AACS;AAClB;AACoB;AAClB;AACkB;AAChB;AACjB;AACY;AAC8B;AACD;AACF;AACN;AAChB;AACH;AACA;AACgB;AACf;AACA;AACM;AACP;AACG;AACgB;AACG;AACoB;AACH;AAC5B;AACW;AACrB;AACc;AACA;AAClB;AACS;AAC+B;AACR;AAChB;AACN;AACkB;AACX;AACc;AACjB;AACW;AACE;AACF;AACd;AACpB;AAC0B;AACD;AAC+C;AACL;AACnB;AACY;AACpD;AACW;AACgC;AACQ;AACA;AACP;AACT;AACW;AACY;AACvD;AACwC;AACb;AACV;AACb;AACyC;AACa;AACjC;AACoB;AACA;AACA;AACA;AACF;AACiB;AACnB;AACM;AACZ;AAC+B;AAChE;AACiC;AACa;AACV;AACM;AACW;AACd;AACzC;AACM;AACkC;AACtC;AACQ;AACiC;AACQ;AAClB;AAChC;AACe;AAC0B;AACkB;AAChD;AACuB;AACV;AACqB;AACY;AACG;AACvC;AACb;AACK;AACe;AACb;AAC6B;AAC3B;AAClB;AACwB;AAC9B;AACP;AACG;AACU;AAC+C;AACyB;AACL;AACL;AACc;AACyB;;;;AAG1J;AACA;AACA;AACA;AA6JM,MAAOga,SAAS;AAATA,SAAS;mBAATA,SAAS;AAAA;AAATA,SAAS;QAATA,SAAS;EAAAC,YAFN3I,wDAAY;AAAA;AAEf0I,SAAS;aA3CP,CACPnH,8DAAS,EACTC,kFAAmB,EACnBC,gEAAY,EACZC,kFAAqB,EACrBG,6DAAW,EACXuG,+DAAW,EACXjG,gEAAY,EACZK,uEAAe,EACfD,iEAAY,EACZa,8DAAa,EACb7W,gEAAY,EACZkW,mEAAa,EACb0F,iFAAoB,EACpB9F,iFAAoB,EACpBC,iEAAY,EACZ;IACIsG,OAAO,EAAEjH,oEAAiB;IAC1BkH,QAAQ,EAAER,uFAAqB;IAC/BS,KAAK,EAAE;GACV,EACDjB,wEAAe,EACf;IACIe,OAAO,EAAEjH,oEAAiB;IAC1BkH,QAAQ,EAAEf,6EAAkB;IA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CAAC;EAChC;;AA3pBWt6B,YAAY;mBAAZA,YAAY;AAAA;AAAZA,YAAY;SAAZA,YAAY;EAAAhW,SAAZgW,YAAY;AAAA;AA+pBlB,MAAM+oD,sBAAsB,GAAe,CAChD/oD,YAAY,CACb;;;;;;;;;;;;;;;ACtrBM,MAAM5W,WAAW,GAAG;EACvB4/D,UAAU,EAAE,IAAI;EACXx/D,MAAM,EAAE,2CAA2C;EACnDD,OAAO,EAAE,kEAAkE;EAC3EE,MAAM,EAAC;CACb;;;;;;;;;;;;;;;;;ACL4C;AAGF;AACY;AAEzD,IAAIL,6EAAsB,EAAE;EAC1B6/D,6DAAc,EAAE;;AAIlBC,sEAAAA,EAAwB,CAACC,eAAe,CAAC/iD,sDAAS,CAAC,CAChDw7C,KAAK,CAAC7hC,GAAG,IAAIzxB,OAAO,CAACC,GAAG,CAACwxB,GAAG,CAAC,CAAC;;;;;;;;;;ACZjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/AppConfig.ts","./src/app/admin/admin.component.ts","./src/app/admin/admin.component.html","./src/app/admin/amazon-connect-contact-flows-add-edit/amazon-connect-contact-flows-add-edit.component.ts","./src/app/admin/amazon-connect-contact-flows-add-edit/amazon-connect-contact-flows-add-edit.component.html","./src/app/admin/amazon-connect-contact-flows/amazon-connect-contact-flows.component.ts","./src/app/admin/amazon-connect-contact-flows/amazon-connect-contact-flows.component.html","./src/app/admin/amazon-connect-settings/amazon-connect-settings.component.ts","./src/app/admin/amazon-connect-settings/amazon-connect-settings.component.html","./src/app/admin/canned-responses-add-edit/canned-responses-add-edit.component.ts","./src/app/admin/canned-responses-add-edit/canned-responses-add-edit.component.html","./src/app/admin/canned-responses/canned-responses.component.ts","./src/app/admin/canned-responses/canned-responses.component.html","./src/app/admin/chat-user-edit/chat-user-edit.component.ts","./src/app/admin/chat-user-edit/chat-user-edit.component.html","./src/app/admin/mentor-add-edit/mentor-add-edit.component.ts","./src/app/admin/mentor-add-edit/mentor-add-edit.component.html","./src/app/admin/mentor-management/mentor-management.component.ts","./src/app/admin/mentor-management/mentor-management.component.html","./src/app/admin/mentor-skill-mapping/mentor-skill-mapping.component.ts","./src/app/admin/mentor-skill-mapping/mentor-skill-mapping.component.html","./src/app/admin/settings/settings.component.ts","./src/app/admin/settings/settings.component.html","./src/app/admin/user-management/user-management.component.ts","./src/app/admin/user-management/user-management.component.html","./src/app/admin/voucher-add-edit/voucher-add-edit.component.ts","./src/app/admin/voucher-add-edit/voucher-add-edit.component.html","./src/app/admin/vouchers/vouchers.component.ts","./src/app/admin/vouchers/vouchers.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/app.routing.ts","./src/app/auth/guards/auth.guard.ts","./src/app/auth/guards/authadmin.guard.ts","./src/app/auth/guards/authclient.guard.ts","./src/app/auth/guards/pendingchanges.guard.ts","./src/app/auth/helpers/CustomHttpInterceptor.ts","./src/app/auth/login/login.component.html","./src/app/auth/login/login.component.ts","./src/app/auth/logout/logout.component.ts","./src/app/auth/logout/logout.component.html","./src/app/auth/passwordreset/passwordreset.component.ts","./src/app/auth/passwordreset/passwordreset.component.html","./src/app/auth/register/register.component.html","./src/app/auth/register/register.component.ts","./src/app/caching/cache-entry.ts","./src/app/caching/cache-map.service.ts","./src/app/caching/caching-interceptor.ts","./src/app/client-window/client-window.component.ts","./src/app/client-window/client-window.component.html","./src/app/client/client-feedback/client-feedback.component.ts","./src/app/client/client-feedback/client-feedback.component.html","./src/app/client/client-not-found/client-not-found.component.ts","./src/app/client/client-not-found/client-not-found.component.html","./src/app/client/client-previous-ticket/client-previous-ticket.component.ts","./src/app/client/client-previous-ticket/client-previous-ticket.component.html","./src/app/client/client.component.ts","./src/app/client/client.component.html","./src/app/client/register-chat-bell/register-chat-bell.component.ts","./src/app/client/register-chat-bell/register-chat-bell.component.html","./src/app/client/register-chat-edu/register-chat-edu.component.ts","./src/app/client/register-chat-edu/register-chat-edu.component.html","./src/app/client/register-chat-msp/register-chat-msp.component.ts","./src/app/client/register-chat-msp/register-chat-msp.component.html","./src/app/client/register-chat-tti/register-chat-tti.component.ts","./src/app/client/register-chat-tti/register-chat-tti.component.html","./src/app/client/register-user-bell/register-user-bell.component.ts","./src/app/client/register-user-bell/register-user-bell.component.html","./src/app/client/register-user-edu/register-user-edu.component.ts","./src/app/client/register-user-edu/register-user-edu.component.html","./src/app/client/register-user-msp/register-user-msp.component.ts","./src/app/client/register-user-msp/register-user-msp.component.html","./src/app/directive/debounce-click-directive.directive.ts","./src/app/home/all-cannedresponses-modal/all-cannedresponses-modal.component.ts","./src/app/home/all-cannedresponses-modal/all-cannedresponses-modal.component.html","./src/app/home/all-tickets-modal/all-tickets-modal.component.ts","./src/app/home/all-tickets-modal/all-tickets-modal.component.html","./src/app/home/all-transcripts-modal/all-transcripts-modal.component.ts","./src/app/home/all-transcripts-modal/all-transcripts-modal.component.html","./src/app/home/chat-close-form/chat-close-form.component.ts","./src/app/home/chat-close-form/chat-close-form.component.html","./src/app/home/chat-message-transcript/chat-message-transcript.component.ts","./src/app/home/chat-message-transcript/chat-message-transcript.component.html","./src/app/home/chat-message/chat-message.component.ts","./src/app/home/chat-message/chat-message.component.html","./src/app/home/chat-nav-bar/chat-nav-bar.component.ts","./src/app/home/chat-nav-bar/chat-nav-bar.component.html","./src/app/home/chat-page/chat-page.component.ts","./src/app/home/chat-page/chat-page.component.html","./src/app/home/chat-panel/chat-panel.component.ts","./src/app/home/chat-panel/chat-panel.component.html","./src/app/home/chat-panel/comp-holder.directive.ts","./src/app/home/chat-panel/componentItem.ts","./src/app/home/chat-panel/iframe/iframe.component.ts","./src/app/home/chat-panel/iframe/iframe.component.html","./src/app/home/chat-room-member/chat-room-member.component.html","./src/app/home/chat-room-member/chat-room-member.component.ts","./src/app/home/chat-room-members/chat-room-members.component.ts","./src/app/home/chat-room-members/chat-room-members.component.html","./src/app/home/chat-room-notification/chat-room-notification.component.ts","./src/app/home/chat-room-notification/chat-room-notification.component.html","./src/app/home/chat-room-notifications/chat-room-notifications.component.ts","./src/app/home/chat-room-notifications/chat-room-notifications.component.html","./src/app/home/chat-room-to-be-closed/chat-room-to-be-closed.component.ts","./src/app/home/chat-room-to-be-closed/chat-room-to-be-closed.component.html","./src/app/home/chat-room/chat-room.component.ts","./src/app/home/chat-room/chat-room.component.html","./src/app/home/chat-rooms/chat-rooms.component.ts","./src/app/home/chat-rooms/chat-rooms.component.html","./src/app/home/chat-volume-modal/chat-volume-modal.component.ts","./src/app/home/chat-volume-modal/chat-volume-modal.component.html","./src/app/home/chat-window-members/chat-window-members.component.ts","./src/app/home/chat-window-members/chat-window-members.component.html","./src/app/home/chat-window/chat-window.component.ts","./src/app/home/chat-window/chat-window.component.html","./src/app/home/confirm-info/confirm-info.component.ts","./src/app/home/confirm-info/confirm-info.component.html","./src/app/home/confirm/confirm.component.ts","./src/app/home/confirm/confirm.component.html","./src/app/home/contact-modal/contact-modal.component.ts","./src/app/home/contact-modal/contact-modal.component.html","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/home/notice/notice.component.ts","./src/app/home/notice/notice.component.html","./src/app/home/pipes/GroupByPipe.ts","./src/app/home/pipes/distinct-users.pipe.ts","./src/app/home/pipes/from-now.pipe.ts","./src/app/home/pipes/room-color.pipe.ts","./src/app/home/pipes/safe.pipe.ts","./src/app/home/pipes/time-diff-pipe.pipe.ts","./src/app/home/pipes/typing-linkify.pipe.ts","./src/app/home/pipes/typing.pipe.ts","./src/app/home/transcript-modal/transcript-modal.component.ts","./src/app/home/transcript-modal/transcript-modal.component.html","./src/app/home/user-info-window/user-info-window.component.ts","./src/app/home/user-info-window/user-info-window.component.html","./src/app/home/user-settings/user-settings.component.ts","./src/app/home/user-settings/user-settings.component.html","./src/app/home/util/uuid.ts","./src/app/image-upload-modal/image-upload-modal.component.ts","./src/app/image-upload-modal/image-upload-modal.component.html","./src/app/maintenance/maintenance.component.html","./src/app/maintenance/maintenance.component.ts","./src/app/modals/fullscreen-image-modal/fullscreen-image-modal.component.ts","./src/app/modals/fullscreen-image-modal/fullscreen-image-modal.component.html","./src/app/model/ChatPersonalizationFactory.ts","./src/app/model/ClientFactory.ts","./src/app/model/MappingFieldArray.model.ts","./src/app/model/MappingFields.model.ts","./src/app/model/MessageAttachment.model.ts","./src/app/model/MessageAttachmentFactory.model.ts","./src/app/model/ResponseDataImage.model.ts","./src/app/model/RoomFactory.ts","./src/app/model/SignalRStatus.ts","./src/app/model/TicketDataFactory.ts","./src/app/model/TicketDraftFactory.ts","./src/app/model/TicketFactory.ts","./src/app/model/UserRole.model.ts","./src/app/model/amazonconnectcontactflow.model.ts","./src/app/model/amazonconnectsettings.model.ts","./src/app/model/cannedresponse.model.ts","./src/app/model/chatpersonalization.model.ts","./src/app/model/chatuser.model.ts","./src/app/model/client.model.ts","./src/app/model/clientcourse.model.ts","./src/app/model/contact.model.ts","./src/app/model/createTicket.model.ts","./src/app/model/decryptedUserInfo.model.ts","./src/app/model/genericselectitem.model.ts","./src/app/model/maintenancemode.model.ts","./src/app/model/message.model.ts","./src/app/model/messageFactory.ts","./src/app/model/messageType.ts","./src/app/model/registerChatEduModel.ts","./src/app/model/registerChatMspModel.ts","./src/app/model/room.model.ts","./src/app/model/statusType.ts","./src/app/model/ticket.ts","./src/app/model/ticketCreatedStatusEnum.ts","./src/app/model/ticketData.ts","./src/app/model/ticketDraft.ts","./src/app/model/user.ts","./src/app/model/userFactory.ts","./src/app/model/userchattopic.model.ts","./src/app/model/usersInfo.ts","./src/app/model/voucher.model.ts","./src/app/service/admin.service.ts","./src/app/service/alert.service.ts","./src/app/service/authentication.service.ts","./src/app/service/chatservice.ts","./src/app/service/customization.service.ts","./src/app/service/error-log.service.ts","./src/app/service/issueservice.ts","./src/app/service/localization.service.ts","./src/app/service/mentorspinner.service.ts","./src/app/service/messages.service.ts","./src/app/service/msal.service.ts","./src/app/service/pagerservice.ts","./src/app/service/rhub.service.ts","./src/app/service/rooms.service.ts","./src/app/service/ticket.service.ts","./src/app/service/users.service.ts","./src/environments/environment.azureprod.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { Inject, Injectable } from '@angular/core';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../environments/environment';\r\n\r\n@Injectable()\r\nexport class AppConfig {\r\n\r\n private config: Object = null;\r\n private env: Object = null;\r\n public logoURL: Object = null;\r\n public origin: Object = null;\r\n public apikey: Object=null;\r\n\r\n constructor() {\r\n this.logoURL = environment.logoURL;\r\n this.origin = environment.origin;\r\n this.apikey = environment.apikey;\r\n }\r\n\r\n /**\r\n * Use to get the data found in the second file (config file)\r\n */\r\n public getConfig(key: any) {\r\n return this.config[key];\r\n }\r\n\r\n /**\r\n * Use to get the data found in the first file (env file)\r\n */\r\n public getEnv(key: any) {\r\n return this.env[key];\r\n }\r\n\r\n /**\r\n * This method:\r\n * a) Loads \"env.json\" to get the current working environment (e.g.: 'production', 'development')\r\n * b) Loads \"config.[env].json\" to get all env's variables (e.g.: 'config.development.json')\r\n */\r\n public load() {\r\n this.logoURL = environment.logoURL;\r\n this.origin = environment.origin;\r\n this.apikey = environment.apikey;\r\n }\r\n}","import { Component, OnInit, ViewChild, ViewContainerRef, ComponentFactoryResolver, ReflectiveInjector, Input } from '@angular/core';\nimport { IssueService } from '../service/issueservice';\n\n\nimport { ComponentItem } from '../home/chat-panel/componentItem';\nimport { User } from '../model/user';\nimport { ChatService } from '../service/chatservice';\nimport { MessagesService } from '../service/messages.service';\nimport { RoomsService } from '../service/rooms.service';\nimport { Room } from '../model/room.model';\nimport { AdminService } from '../service/admin.service';\nimport { AlertService } from '../service/alert.service';\nimport { AuthenticationService } from '../service/authentication.service';\nimport { CookieService } from 'ngx-cookie-service';\nimport {Router} from '@angular/router';\nimport { MaintenanceMode } from '../model/maintenancemode.model';\n\n@Component({\n selector: 'app-admin',\n templateUrl: './admin.component.html',\n styleUrls: ['./admin.component.css'],\n providers: [IssueService,AdminService]\n})\n\nexport class AdminComponent implements OnInit {\n currentComponent = null;\n data: any;\n email: any;\n user: any;\n menuComponents: ComponentItem[];\n currentUser: User;\n currentRoom: Room;\n returnUrl: string;\n loading = false;\n loadingImage: string;\n public isAuthenticated = false;\n private CONST_GMSMENTORS_GROUPID: number = 1;\n private maintenanceMode: MaintenanceMode;\n \n constructor(\n public cookieService:CookieService,\n public chatService: ChatService,\n public messageService: MessagesService,\n public roomService: RoomsService,\n public adminService:AdminService,\n public alertService:AlertService,\n public authenticationService:AuthenticationService,\n private router:Router) {\n\n this.adminService.CheckIfMaintenanceModeIsEnabled(this.CONST_GMSMENTORS_GROUPID).subscribe(\n data => {\n this.maintenanceMode = data[0];\n if (!this.maintenanceMode.loginAllowed) {\n this.router.navigate(['/maintenance'], { queryParams: { q: this.CONST_GMSMENTORS_GROUPID } });\n }else{\n if (this.router.url == \"/admin\"){\n this.router.navigate(['/admin/mentors']);\n }\n }\n }); \n }\n\n ngOnInit() {\n }\n\n logout() { \n this.cookieService.deleteAll();\n localStorage.removeItem('currentUser');\n localStorage.removeItem('currentAdminUser');\n localStorage.removeItem('currAuthor');\n this.authenticationService.logout();\n this.router.navigate(['/admin']);\n window.location.reload();\n }\n}\n\n\n\n","
\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges, SimpleChange, NgModule } from '@angular/core';\nimport { AdminService } from '../../service/admin.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { AmazonConnectContactFlow } from '../../model/amazonconnectcontactflow.model';\n\n@Component({\n selector: 'app-admin-amazon-connect-contact-flows-add-edit',\n templateUrl: './amazon-connect-contact-flows-add-edit.component.html',\n styleUrls: ['./amazon-connect-contact-flows-add-edit.component.css']\n})\n\n\nexport class AmazonConnectContactFlowsAddEditComponent implements OnInit {\n public contactFlow: AmazonConnectContactFlow;\n public disableSaveButton: Boolean;\n public isSlideToggleChecked = false;\n\n myform: UntypedFormGroup = new UntypedFormGroup({\n name: new UntypedFormControl('', [Validators.required]),\n lineOfBusiness: new UntypedFormControl('', [Validators.required]),\n contactFlowId: new UntypedFormControl('', [Validators.required]),\n isActive: new UntypedFormControl('', [Validators.required]),\n });\n\n constructor(\n private adminService: AdminService,\n private route: ActivatedRoute,\n private router: Router) {\n if (this.route.snapshot.paramMap.get(\"id\") != null) {\n this.getAmazonConnectContactFlowDetails(this.route.snapshot.paramMap.get(\"id\"));\n } else {\n this.contactFlow = new AmazonConnectContactFlow();\n }\n }\n\n ngOnInit() { }\n\n getAmazonConnectContactFlowDetails(id: any): void {\n this.adminService.GetAmazonConnectContactFlowById(id).subscribe(data => {\n if (data) {\n this.contactFlow = data[0];\n\n this.myform.setValue({\n name: this.contactFlow.name,\n lineOfBusiness: this.contactFlow.lineOfBusiness,\n contactFlowId: this.contactFlow.contactFlowId,\n isActive: this.contactFlow.isActive,\n });\n\n this.isSlideToggleChecked = this.contactFlow.isActive;\n } else {\n this.router.navigateByUrl('admin/amazonconnectcontactflows'); // no messing with query parameters!\n }\n });\n }\n\n onCloseClick() {\n this.router.navigateByUrl('admin/amazonconnectcontactflows');\n }\n\n onSaveClick(model: any) {\n if (this.myform.invalid) {\n return;\n }\n\n this.disableSaveButton = true;\n var newContactFlow = new AmazonConnectContactFlow();\n\n newContactFlow.key = this.contactFlow.key;\n newContactFlow.name = model.name;\n newContactFlow.lineOfBusiness = model.lineOfBusiness;\n newContactFlow.contactFlowId = model.contactFlowId;\n newContactFlow.isActive = model.isActive;\n\n if (this.contactFlow.key != 0) {\n this.adminService.UpdateAmazonConnectContactFlow(newContactFlow)\n .subscribe(data => {\n this.disableSaveButton = false;\n alert(\"Changes successfuly saved!\");\n },\n error => {\n this.disableSaveButton = false;\n console.log();\n alert(error.error);\n });\n }\n else {\n this.adminService.CreateAmazonConnectContactFlow(newContactFlow)\n .subscribe(data => {\n this.disableSaveButton = false;\n alert(\"Successfuly saved!\");\n this.router.navigateByUrl('admin/amazonconnectcontactflows');\n },\n error => {\n this.disableSaveButton = false;\n console.log(error.error);\n alert(error.error);\n });\n }\n }\n}\n\n","

\n\n
\n\n \n \n \n\n
\n \n \n \n
\n
Name\n is required field!
\n
\n
\n\n
\n \n \n \n
\n
\n Contact Flow ID is required field!
\n
\n
\n\n
\n \n \n TELCO\n MSP\n EDU\n \n \n
\n \n
\n \n

Is Active

\n
\n \n \n
\n
\n
\n\n
\n\n
\n  \n \n
\n\n
","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { AdminService } from '../../service/admin.service';\nimport { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { Observable, BehaviorSubject, Subject } from 'rxjs';\nimport { ComponentItem } from '../../home/chat-panel/componentItem';\nimport { CompHolderDirective } from '../../home/chat-panel/comp-holder.directive';\nimport { ConfirmComponent } from '../../home/confirm/confirm.component';\nimport { MatLegacyDialog as MatDialog, MatLegacyDialogConfig as MatDialogConfig } from \"@angular/material/legacy-dialog\";\nimport { MatLegacyPaginator as MatPaginator } from \"@angular/material/legacy-paginator\";\nimport { AmazonConnectContactFlow } from '../../model/amazonconnectcontactflow.model';\n\n@Component({\n selector: 'app-admin-amazon-connect-contact-flows',\n templateUrl: './amazon-connect-contact-flows.component.html',\n styleUrls: ['./amazon-connect-contact-flows.component.css']\n})\n\nexport class AmazonConnectContactFlowsComponent implements OnInit {\n defaultPageNumber: number = 1;\n defaultPageSize: number = 100;\n allItems: any[] = [];\n perPage: number = 10;\n fullLength: number;\n currentPage: number;\n totalPages: number;\n public userId: string;\n dataSource: AmazonContactFlowsDataSource;\n displayedColumns = [\"name\", \"lineOfBusiness\", \"contactFlowId\", \"status\", \"edit\", \"delete\"];\n\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\n @ViewChild('input', { static: false }) input: ElementRef;\n @ViewChild(CompHolderDirective, { static: true }) adHost: CompHolderDirective;\n\n menuComponents: ComponentItem[];\n public showParentComponent: Boolean = true;\n public showChildComponent: Boolean;\n public showSpinner: Boolean;\n\n constructor(private adminService: AdminService, private dialog: MatDialog) {\n\n }\n\n ngOnInit() {\n this.ngOnInitPage(); \n }\n\n ngOnInitPage() {\n this.dataSource = new AmazonContactFlowsDataSource(this.adminService);\n this.dataSource.loadData(this.defaultPageNumber, this.defaultPageSize);\n }\n\n onDeleteClick(contactFlowKey: any) {\n this.openDialogDelete(contactFlowKey);\n }\n\n openDialogDelete(contactFlowKey: any) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n var warningMessage = \"Are you sure you want to delete the contact flow? Note that this will disrupt tasks creation in Symbee Connect!\";\n\n const dialogRef = this.dialog.open(ConfirmComponent, {\n height: '300px',\n width: '400px',\n data: { warningMessage: warningMessage }\n });\n\n dialogRef.afterClosed().subscribe(\n result => {\n if (result) {\n this.showSpinner = true;\n this.adminService.DeleteAmazonConnectContactFlow(contactFlowKey).subscribe(data => {\n this.dataSource.loadData(this.defaultPageNumber, this.defaultPageSize);\n this.showSpinner = false;\n });\n }\n }\n );\n }\n\n onPageChanged(paginator: any) {\n this.dataSource.loadData(paginator.pageIndex + 1, paginator.pageSize);\n }\n\n getLineOfBusiness(lineOfBusiness: number): string | undefined {\n switch (lineOfBusiness) {\n case LineOfBusiness.Telco:\n return \"TELCO\";\n case LineOfBusiness.Msp:\n return \"MSP\";\n case LineOfBusiness.Edu:\n return \"EDU\";\n default:\n return undefined;\n }\n }\n}\n\nenum LineOfBusiness {\n Telco = 1,\n Msp = 2,\n Edu = 3\n}\n\nexport class AmazonContactFlowsDataSource implements DataSource {\n private subject = new BehaviorSubject([]);\n constructor(private adminService: AdminService) { }\n\n connect(collectionViewer: CollectionViewer): Observable {\n return this.subject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer) {\n this.subject.complete();\n }\n\n loadData(pageIndex: number, pageSize: number) {\n this.adminService.GetAmazonConnectContactFlows(pageIndex, pageSize).subscribe(data => {\n this.subject.next(data);\n });\n }\n}\n\n","

Amazon Connect Contact Flows


\n\n\n \n\n\n
\n
\n
\n
\n \n
\n\n
\n\n \n \n Name \n {{contactflow.name}} \n \n \n Line of business \n \n {{getLineOfBusiness(contactflow.lineOfBusiness)}} \n \n \n Contact Flow Id \n {{contactflow.contactFlowId}} \n \n \n Status\n \n
\n

Active

\n
\n
\n

Inactive

\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n Delete\n \n \n \n\n \n \n \n
\n \n \n
\n
\n\n
\n \n
","import { Component, OnInit,ViewChild, ElementRef } from '@angular/core';\nimport { AdminService } from '../../service/admin.service';\nimport { ComponentItem } from '../../home/chat-panel/componentItem';\nimport { CompHolderDirective } from '../../home/chat-panel/comp-holder.directive';\nimport { MatLegacyPaginator as MatPaginator } from \"@angular/material/legacy-paginator\";\nimport { AmazonConnectSettings } from '../../model/amazonconnectsettings.model';\nimport { FormControl, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\n\n@Component({\n selector: 'app-admin-amazon-connect-settings',\n templateUrl: './amazon-connect-settings.component.html',\n styleUrls: ['./amazon-connect-settings.component.css']\n})\n\nexport class AmazonConnectSettingsComponent implements OnInit {\n\n @ViewChild(MatPaginator,{static:false}) paginator: MatPaginator;\n @ViewChild('input',{static:false}) input: ElementRef;\n @ViewChild(CompHolderDirective,{static:true}) adHost: CompHolderDirective;\n\n menuComponents: ComponentItem[];\n public showParentComponent: Boolean = true;\n public showChildComponent: Boolean;\n public showSpinner: Boolean = true;\n myform: UntypedFormGroup;\n public isSlideToggleChecked = false;\n public amazonConnectSettings:AmazonConnectSettings;\n\n constructor(private adminService:AdminService) { }\n\n ngOnInit() {\n this.showSpinner = true;\n\n this.loadSettings();\n\n this.myform = new UntypedFormGroup({\n description: new UntypedFormControl('', Validators.required),\n instanceId: new UntypedFormControl('', Validators.required),\n tasksCreationEnabled: new UntypedFormControl('', Validators.nullValidator)\n });\n\n this.showSpinner = false;\n }\n\n updateSettings(data:any){\n this.adminService.UpdateAmazonConnectSettings(data).subscribe(data => {\n alert(data.toString());\n window.location.reload();\n });\n }\n\n loadSettings() {\n this.adminService.GetAmazonConnectSettings().subscribe(data => {\n this.amazonConnectSettings = data[0];\n this.isSlideToggleChecked = this.amazonConnectSettings.tasksCreationEnabled;\n this.myform.setValue({\n description: this.amazonConnectSettings.description, \n instanceId: this.amazonConnectSettings.instanceId,\n tasksCreationEnabled : this.amazonConnectSettings.tasksCreationEnabled\n });\n });\n }\n}\n\n","\n \n\n\n

Amazon Connect Settings


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

Tasks Creation Enabled

\n
\n\n \n \n\n
\n
\n
\n\n
\n \n
\n\n
","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges, SimpleChange } from '@angular/core';\nimport { AdminService } from '../../service/admin.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CannedResponse } from '../../model/cannedresponse.model';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\n\n@Component({\n selector: 'app-admin-canned-responses-add-edit',\n templateUrl: './canned-responses-add-edit.component.html',\n styleUrls: ['./canned-responses-add-edit.component.css']\n})\n\nexport class AdminCannedResponsesAddEditComponent implements OnInit {\n cannedResponse: CannedResponse;\n disableSaveButton: Boolean;\n\n myform: UntypedFormGroup = new UntypedFormGroup({\n // name: new UntypedFormControl('', [Validators.required]),\n description: new UntypedFormControl('', [Validators.required]),\n responseText: new UntypedFormControl('', [Validators.required]),\n tags: new UntypedFormControl(''),\n });\n\n constructor(\n private adminService: AdminService,\n private route: ActivatedRoute,\n private router: Router) {\n\n if (this.route.snapshot.paramMap.get(\"id\") != null) {\n this.getCannedResponseDetails(this.route.snapshot.paramMap.get(\"id\"));\n\n } else {\n this.cannedResponse = new CannedResponse();\n }\n }\n\n ngOnInit() { }\n\n getCannedResponseDetails(id: any): void {\n this.adminService.GetCannedResponseById(id).subscribe(data => {\n if (data) {\n this.cannedResponse = data[0];\n\n this.myform.setValue({\n // name: this.cannedResponse.description,\n description: this.cannedResponse.description,\n responseText: this.cannedResponse.text,\n tags: this.cannedResponse.tags,\n });\n } else {\n this.router.navigateByUrl('admin/cannedresponses'); // no messing with query parameters!\n }\n });\n }\n\n onCloseClick() {\n this.router.navigateByUrl('admin/cannedresponses');\n }\n\n onSaveClick(model: any) {\n\n if (this.myform.invalid) {\n return;\n }\n\n this.disableSaveButton = true;\n\n var newCannedResponse = new CannedResponse();\n\n newCannedResponse.id = this.cannedResponse.id;\n newCannedResponse.name = model.description;\n newCannedResponse.description = model.description;\n newCannedResponse.text = model.responseText;\n newCannedResponse.tags = model.tags;\n\n if (this.cannedResponse.id != \"-1\") {\n this.adminService.UpdateCannedResponse(newCannedResponse)\n .subscribe(data => {\n this.disableSaveButton = false;\n alert(\"Changes successfuly saved!\");\n },\n error => {\n this.disableSaveButton = false;\n console.log();\n alert(error.error);\n });\n }\n else {\n this.adminService.CreateCannedResponse(newCannedResponse)\n .subscribe(data => {\n this.disableSaveButton = false;\n alert(\"Successfuly saved!\");\n this.router.navigateByUrl('admin/cannedresponses');\n },\n error => {\n this.disableSaveButton = false;\n console.log(error.error);\n alert(error.error);\n });\n }\n }\n}\n\n","

\n\n
\n\n \n \n \n \n
\n \n \n \n
\n
Description is required field!
\n
\n
\n\n
\n \n \n \n
\n
Text is required field!
\n
\n
\n\n
\n \n \n \n
\n \n
\n\n
\n  \n \n
\n\n
\n","import { Component, OnInit,ViewChild, ElementRef } from '@angular/core';\nimport { AdminService } from '../../service/admin.service';\nimport { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { Observable , BehaviorSubject , Subject } from 'rxjs';\nimport { ComponentItem } from '../../home/chat-panel/componentItem';\nimport { CompHolderDirective } from '../../home/chat-panel/comp-holder.directive';\nimport { CannedResponse } from '../../model/cannedresponse.model';\nimport { ConfirmComponent } from '../../home/confirm/confirm.component';\nimport {MatLegacyDialog as MatDialog,MatLegacyDialogConfig as MatDialogConfig} from \"@angular/material/legacy-dialog\";\nimport { MatLegacyPaginator as MatPaginator } from \"@angular/material/legacy-paginator\";\n@Component({\n selector: 'app-admin-canned-responses',\n templateUrl: './canned-responses.component.html',\n styleUrls: ['./canned-responses.component.css']\n})\n\nexport class AdminCannedResponsesComponent implements OnInit {\n defaultPageNumber: number = 1;\n defaultPageSize: number = 10;\n defaultSearchCriteria: string = \"\";\n allItems: any[] = [];\n perPage: number = 10;\n fullLength: number;\n currentPage: number;\n totalPages: number;\n public userId: string;\n dataSource: CannedResponsesDataSource;\n displayedColumns = [\"id\", \"description\",\"text\",\"tags\", \"edit\", \"delete\"];\n\n @ViewChild(MatPaginator,{static:false}) paginator: MatPaginator;\n @ViewChild('input',{static:false}) input: ElementRef;\n @ViewChild(CompHolderDirective,{static:true}) adHost: CompHolderDirective;\n\n menuComponents: ComponentItem[];\n public showParentComponent: Boolean = true;\n public showChildComponent: Boolean;\n private searchCriteria$ = \"\";\n public showSpinner: Boolean = true;\n\n constructor(private adminService: AdminService, private dialog: MatDialog){\n \n }\n\n ngOnInit() {\n this.ngOnInitPage();\n this.showSpinner = false;\n }\n\n ngOnInitPage() {\n this.dataSource = new CannedResponsesDataSource(this.adminService);\n this.dataSource.loadCannedResponses(this.defaultPageNumber, this.defaultPageSize, this.defaultSearchCriteria);\n }\n\n onSearchClick(searchCriteria: string) {\n this.showSpinner = true;\n\n if (searchCriteria) {\n this.searchCriteria$ = searchCriteria;\n } else {\n this.searchCriteria$ = \"\";\n }\n\n this.countCannedResponses(this.searchCriteria$);\n this.dataSource.loadCannedResponses(this.defaultPageNumber, this.defaultPageSize, this.searchCriteria$);\n this.showSpinner = false;\n }\n\n countCannedResponses(searchCriteria: string) {\n this.adminService.CountCannedResponses(searchCriteria).subscribe(data => {\n this.fullLength = data;\n });\n }\n\n onDeleteClick(cannedResponseId:any){\n this.openDialogDelete(cannedResponseId);\n }\n\n openDialogDelete(cannedResponseId:any) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n var warningMessage = \"Are you sure you want to delete the canned response?\";\n\n const dialogRef = this.dialog.open(ConfirmComponent, {\n height: '300px',\n width: '400px',\n data: { warningMessage: warningMessage}\n });\n\n dialogRef.afterClosed().subscribe(\n result => {\n if (result) {\n this.showSpinner = true;\n this.adminService.DeleteCannedResponse(cannedResponseId).subscribe(data => {\n this.countCannedResponses(this.defaultSearchCriteria);\n this.dataSource.loadCannedResponses(this.defaultPageNumber, this.defaultPageSize, this.defaultSearchCriteria);\n this.showSpinner = false; \n });\n }\n }\n );\n }\n\n \n onPageChanged(paginator: any) {\n this.dataSource.loadCannedResponses(paginator.pageIndex + 1, paginator.pageSize, this.searchCriteria$);\n }\n\n \n}\n\nexport class CannedResponsesDataSource implements DataSource {\n private cannedResponsesSubject = new BehaviorSubject([]);\n constructor(private adminService: AdminService) { }\n\n connect(collectionViewer: CollectionViewer): Observable {\n return this.cannedResponsesSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer) {\n this.cannedResponsesSubject.complete();\n }\n\n loadCannedResponses(pageIndex: number, pageSize: number, searchCriteria: string) {\n this.adminService.GetCannedResponses(pageIndex, pageSize, searchCriteria).subscribe(data => {\n this.cannedResponsesSubject.next(data);\n });\n }\n}\n\n\n","
\n
\n
\n
\n \n \n \n \n \n
\n \n
\n\n \n \n \n \n \n \n ID \n {{response.id}} \n \n \n \n Description \n {{response.description}} \n \n \n Text \n {{response.text}} \n \n \n Tags \n {{response.tags}} \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n
\n
\n\n
\n\n
\n","import { Component, OnInit, Input, Output, EventEmitter,OnChanges, SimpleChanges, SimpleChange} from '@angular/core';\r\nimport { ChatUser } from '../../model/chatuser.model';\r\n\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { AdminService } from '../../service/admin.service';\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { UsersService } from '../../service/users.service';\r\n//import { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\r\nimport { UntypedFormGroup, Validators, UntypedFormControl } from '@angular/forms';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { customB1Validator } from '../../directive/customB1Validor';\r\n\r\n@Component({\r\n selector: 'app-chat-user-edit',\r\n templateUrl: './chat-user-edit.component.html',\r\n styleUrls: ['./chat-user-edit.component.css']\r\n })\r\n\r\n export class AdminChatUserEditComponent implements OnInit {\r\n\r\n public chatUser:ChatUser\r\n @Output() onChatUserCloseClick = new EventEmitter();\r\n public fileList:any;\r\n public chatUserLogo = new BehaviorSubject(null);\r\n public chatUserLogo$;\r\n hideActivateButton: boolean = false;\r\n hideRegisterButton: boolean = false;\r\n loading: boolean = false;\r\n b1pattern = \"^b1([a-zA-Z]{4}[0-9]{2})$\";\r\n emailPattern = \"[a-zA-Z0-9.-_-]{1,}@[0-9a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}\";\r\n myform: UntypedFormGroup;\r\n invalidB1:boolean = false;\r\n\r\n constructor(\r\n private spinnerService: NgxSpinnerService,\r\n private adminService:AdminService,\r\n private userService: UsersService,\r\n private route: ActivatedRoute,\r\n private router:Router){\r\n this.getChatUserDetails()\r\n }\r\n \r\n \r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n getChatUserDetails(): void {\r\n const id = this.route.snapshot.paramMap.get(\"id\");\r\n this.adminService.GetUserDetails(id).subscribe(data => {\r\n if (data){\r\n this.chatUser = data[0];\r\n this.chatUserLogo$ = this.chatUser.logo;\r\n\r\n if(this.chatUser.clientType==0)\r\n {\r\n\r\n this.myform = new UntypedFormGroup({\r\n email: new UntypedFormControl('', Validators.compose([\r\n Validators.required,\r\n Validators.pattern(this.emailPattern)\r\n ])),\r\n b1number: new UntypedFormControl('', \r\n Validators.compose([\r\n Validators.required,\r\n Validators.pattern(this.b1pattern)\r\n ]))\r\n });\r\n }else\r\n {\r\n\r\n this.myform = new UntypedFormGroup({\r\n email: new UntypedFormControl('', Validators.compose([\r\n Validators.required,\r\n Validators.pattern(this.emailPattern)\r\n ])),\r\n b1number: new UntypedFormControl()\r\n });\r\n\r\n }\r\n\r\n \r\n\r\n }else {\r\n this.router.navigateByUrl('admin/users'); // no messing with query parameters!\r\n }\r\n });\r\n }\r\n\r\n onCloseClick(){\r\n this.router.navigateByUrl('admin/users');\r\n }\r\n\r\n onSaveClick(){\r\n\r\n if (this.myform.invalid) {\r\n alert(\"Please check your input values!\")\r\n return;\r\n }\r\n\r\n if (this.fileList != null){\r\n if (this.fileList.length > 0) { \r\n let file: File = this.fileList[0]; \r\n let formData: FormData = new FormData(); \r\n let fileName = file.name.split(\".\");\r\n let extension = fileName[1];\r\n let imageFullName = this.chatUser.id + \".\" + extension;\r\n formData.append('uploadFile', file, imageFullName); \r\n this.adminService.UploadLogo(formData)\r\n .subscribe(data => {\r\n this.chatUserLogo.next(data.toString());\r\n this.chatUserLogo$ = this.chatUserLogo.getValue();\r\n },\r\n error => console.log(error) );\r\n }\r\n }\r\n \r\n this.adminService.UpdateUser(this.chatUser)\r\n .subscribe(data => {\r\n this.chatUser.isAtDown = false;\r\n alert(\"Changes successfuly saved!\");\r\n },\r\n error => { console.log(error); alert(\"Problem occurred while saving changes, please try again.\") });\r\n \r\n }\r\n\r\n onRegisterClick(event: any):void {\r\n this.spinnerService.show();\r\n //this is used if AT was down at the time the user was created.\r\n this.loading = true;\r\n this.adminService.RegisterUserInAt(this.chatUser).subscribe(data => {\r\n this.loading = false;\r\n this.hideRegisterButton = true;\r\n this.spinnerService.hide();\r\n alert(\"This user has been registered successfully\");\r\n },\r\n error => {console.log(error); alert(\"A problem occured while registering this user, please try again.\"); this.spinnerService.hide();});\r\n }\r\n\r\n onCancelActivationClick(){\r\n //this is used if AT was down at the time the user was created.\r\n this.adminService.CancelRegistration(this.chatUser);\r\n }\r\n\r\n onActivateClick(){\r\n this.spinnerService.show();\r\n this.adminService.ActivateUser(this.chatUser).subscribe(data => {\r\n this.spinnerService.hide();\r\n this.hideActivateButton = true;\r\n alert(\"This user has been registered successfully\");\r\n },\r\n error => {console.log(error); alert(\"A problem occured while registering this user, please try again.\"); this.spinnerService.hide(); });\r\n }\r\n\r\n fileChange(event) { \r\n this.fileList = event.target.files;\r\n } \r\n\r\n }\r\n","\r\n

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

This user was created when AutoTask was down.
Please register this user if you find the information provided to be authentic.

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

This user hasn't been activated. If you find the information above to be authentic, click \"Activate\".

\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, Input, Output, EventEmitter,OnChanges, SimpleChanges, SimpleChange} from '@angular/core';\r\nimport { ChatUser } from '../../model/chatuser.model';\r\n\r\nimport {\r\n MatLegacyInputModule as MatInputModule\r\n } from \"@angular/material/legacy-input\";\r\nimport {\r\n MatLegacyProgressSpinnerModule as MatProgressSpinnerModule\r\n } from \"@angular/material/legacy-progress-spinner\";\r\nimport {\r\n MatSortModule\r\n } from \"@angular/material/sort\";\r\nimport {\r\n MatLegacyTableModule as MatTableModule\r\n } from \"@angular/material/legacy-table\";\r\nimport {\r\n MatLegacyFormFieldModule as MatFormFieldModule, MatLegacyFormField as MatFormField\r\n } from \"@angular/material/legacy-form-field\";\r\nimport {\r\n MatLegacyButtonModule as MatButtonModule\r\n } from \"@angular/material/legacy-button\";\r\n \r\nimport {MatLegacyCheckboxModule as MatCheckboxModule} from \"@angular/material/legacy-checkbox\";\r\nimport { MatLegacyPaginatorModule as MatPaginatorModule } from \"@angular/material/legacy-paginator\";\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { AdminService } from '../../service/admin.service';\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { UserRole } from '../../model/UserRole.model';\r\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-mentor-add-edit',\r\n templateUrl: './mentor-add-edit.component.html',\r\n styleUrls: ['./mentor-add-edit.component.css']\r\n })\r\n\r\n export class AdminMentorAddEditComponent implements OnInit {\r\n\r\n public mentorUser:ChatUser;\r\n public userRoles:Array;\r\n public fileList:any;\r\n public mentorUserLogo = new BehaviorSubject(null);\r\n public mentorUserLogo$;\r\n emailPattern = \"[a-zA-Z0-9.-_-]{1,}@[0-9a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}\";\r\n \r\n myform : UntypedFormGroup= new UntypedFormGroup({\r\n name: new UntypedFormControl('', [Validators.required]),\r\n displayName: new UntypedFormControl(''),\r\n email: new UntypedFormControl('', Validators.compose([\r\n Validators.required,\r\n Validators.pattern(this.emailPattern)\r\n ])),\r\n role: new UntypedFormControl('', [Validators.required])\r\n \r\n });\r\n isValidFormSubmitted = null;\r\n disableSignInButton: boolean = false;\r\n \r\n\r\n constructor(\r\n private adminService:AdminService,\r\n private route: ActivatedRoute,\r\n private router:Router){\r\n this.getMentorRoles();\r\n \r\n if (this.route.snapshot.paramMap.get(\"id\") != null){\r\n this.getMentorDetails(this.route.snapshot.paramMap.get(\"id\"));\r\n \r\n }else {\r\n this.mentorUser = new ChatUser();\r\n }\r\n }\r\n \r\n ngOnInit() {\r\n \r\n \r\n }\r\n\r\n getMentorDetails(id:any): void {\r\n this.adminService.GetUserDetails(id).subscribe(data => {\r\n if (data){\r\n this.mentorUser = data[0];\r\n this.mentorUserLogo$ = this.mentorUser.logo;\r\n \r\n this.myform.setValue({\r\n name: this.mentorUser.name, \r\n displayName: this.mentorUser.displayName,\r\n email:this.mentorUser.email,\r\n role:this.mentorUser.role,\r\n });\r\n }else {\r\n this.router.navigateByUrl('admin/mentors'); // no messing with query parameters!\r\n }\r\n }); \r\n }\r\n\r\n getMentorRoles(): void {\r\n this.adminService.GetUserRoles().subscribe(data => {\r\n if (data){\r\n this.userRoles=data;\r\n }\r\n }); \r\n }\r\n\r\n onCloseClick(){\r\n this.router.navigateByUrl('admin/mentors');\r\n }\r\n\r\n onSaveClick(model:any){\r\n \r\n if (this.myform.invalid) {\r\n return;\r\n }\r\n this.disableSignInButton=true;\r\n\r\n var newMewntor= new ChatUser();\r\n newMewntor.id=this.mentorUser.id;\r\n newMewntor.name=model.name;\r\n newMewntor.displayName=model.displayName;\r\n newMewntor.email=model.email;\r\n newMewntor.role=model.role;\r\n\r\n if (this.mentorUser.id != \"-1\"){\r\n if (this.fileList != null){\r\n if (this.fileList.length > 0) { \r\n let file: File = this.fileList[0]; \r\n let formData: FormData = new FormData(); \r\n let fileName = file.name.split(\".\");\r\n let extension = fileName[1];\r\n let imageFullName = this.mentorUser.id + \".\" + extension;\r\n formData.append('uploadFile', file, imageFullName); \r\n this.adminService.UploadLogo(formData)\r\n .subscribe(data => {\r\n this.mentorUserLogo.next(data.toString());\r\n this.mentorUserLogo$ = this.mentorUserLogo.getValue();\r\n this.disableSignInButton=false;\r\n },\r\n error =>{\r\n console.log(error)\r\n this.disableSignInButton=false; \r\n } );\r\n }\r\n }\r\n }\r\n \r\n if (this.mentorUser.id != \"-1\"){\r\n this.adminService.UpdateUser(newMewntor)\r\n .subscribe(data => {\r\n this.disableSignInButton=false; \r\n alert(\"Changes successfuly saved!\");\r\n \r\n },\r\n error => { \r\n this.disableSignInButton=false; \r\n \r\n console.log();\r\n alert(error.error); \r\n });\r\n }\r\n else {\r\n this.adminService.CreateUser(newMewntor)\r\n .subscribe(data => {\r\n this.disableSignInButton=false; \r\n \r\n alert(\"Successfuly saved!\");\r\n },\r\n error => { \r\n this.disableSignInButton=false; \r\n \r\n console.log(error.error); \r\n alert(error.error); \r\n });\r\n }\r\n \r\n \r\n }\r\n\r\n fileChange(event) { \r\n this.fileList = event.target.files;\r\n }\r\n\r\n onSendInvitationClick(){\r\n this.adminService.ReInviteUser(this.mentorUser)\r\n .subscribe(data => {\r\n alert(\"Success!\");\r\n },\r\n error => { console.log(error); alert(\"Problem occurred while creating mentor, please try again.\") });\r\n }\r\n\r\n }\r\n","

\r\n\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
FullName 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
Email is required!
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n Role\r\n \r\n \r\n {{rle.name}}\r\n \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
\r\n\r\n
\r\n","import { Component, OnInit, ComponentFactoryResolver, ViewChild, ElementRef } from '@angular/core';\nimport { AdminService } from '../../service/admin.service';\nimport { ChatUser } from '../../model/chatuser.model';\nimport { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { Observable , BehaviorSubject , Subject } from 'rxjs';\nimport {\n MatLegacyInputModule as MatInputModule\n} from \"@angular/material/legacy-input\";\nimport {\n MatLegacyProgressSpinnerModule as MatProgressSpinnerModule\n} from \"@angular/material/legacy-progress-spinner\";\nimport {\n MatSortModule\n} from \"@angular/material/sort\";\nimport {\n MatLegacyTableModule as MatTableModule\n} from \"@angular/material/legacy-table\";\nimport {\n MatLegacyFormFieldModule as MatFormFieldModule\n} from \"@angular/material/legacy-form-field\";\nimport {\n MatIconModule\n} from \"@angular/material/icon\";\nimport {\n MatLegacyButtonModule as MatButtonModule\n} from \"@angular/material/legacy-button\";\n\nimport {MatLegacyCheckboxModule as MatCheckboxModule} from \"@angular/material/legacy-checkbox\";\n\nimport {MatLegacyDialog as MatDialog,MatLegacyDialogConfig as MatDialogConfig} from \"@angular/material/legacy-dialog\";\n\n\nimport { MatLegacyPaginator as MatPaginator } from \"@angular/material/legacy-paginator\";\n\nimport { ComponentItem } from '../../home/chat-panel/componentItem';\nimport { CompHolderDirective } from '../../home/chat-panel/comp-holder.directive';\nimport { Router } from '@angular/router';\nimport { ConfirmComponent } from '../../home/confirm/confirm.component';\n\n@Component({\n selector: 'app-admin-mentor-management',\n templateUrl: './mentor-management.component.html',\n styleUrls: ['./mentor-management.component.css']\n})\n\nexport class AdminMentorsManagementComponent implements OnInit {\n defaultPageNumber: number = 1;\n defaultPageSize: number = 10;\n defaultSearchCriteria: string = \"\";\n allItems: any[] = [];\n perPage: number = 10;\n fullLength: number;\n currentPage: number;\n totalPages: number;\n currentClickedUser: any;\n public userId: string;\n public chatUsers: ChatUser[];\n dataSource: ChatUserDataSource;\n displayedColumns = [\"id\", \"name\", \"email\", \"role\",\"edit\",\"logout\", \"delete\"];\n\n @ViewChild(MatPaginator,{static:false}) paginator: MatPaginator;\n @ViewChild('input',{static:false}) input: ElementRef;\n @ViewChild(CompHolderDirective,{static:true}) adHost: CompHolderDirective;\n\n menuComponents: ComponentItem[];\n public showParentComponent: Boolean = true;\n public showChildComponent: Boolean;\n public chatUserObject: ChatUser;\n private searchCriteria$ = \"\";\n public showSpinner: Boolean = true;\n\n constructor(\n private adminService: AdminService, \n public componentFactoryResolver: ComponentFactoryResolver,\n private router:Router,\n private dialog: MatDialog) {\n this.countUsers(this.defaultSearchCriteria);\n }\n\n onChatUserCloseClickHandled(data: any) {\n this.ngOnInitPage();\n this.showChildComponent = false;\n this.showParentComponent = true;\n }\n\n ngOnInit() {\n this.ngOnInitPage();\n this.showSpinner = false;\n }\n\n ngOnInitPage() {\n this.dataSource = new ChatUserDataSource(this.adminService);\n this.dataSource.loadChatUsers(this.defaultPageNumber, this.defaultPageSize, this.defaultSearchCriteria);\n }\n\n onPageChanged(paginator: any) {\n this.dataSource.loadChatUsers(paginator.pageIndex + 1, paginator.pageSize, this.searchCriteria$);\n }\n\n countUsers(searchCriteria: string) {\n this.adminService.CountUsers(searchCriteria,true, false, false).subscribe(data => {\n this.fullLength = data;\n });\n }\n\n onEdit(data: any) {\n this.showParentComponent = false;\n this.chatUserObject = data;\n this.showChildComponent = true;\n }\n\n onSearchClick(searchCriteria: string) {\n this.showSpinner = true;\n\n if (searchCriteria) {\n this.searchCriteria$ = searchCriteria;\n } else {\n this.searchCriteria$ = \"\";\n }\n\n this.countUsers(this.searchCriteria$);\n this.dataSource.loadChatUsers(this.defaultPageNumber, this.defaultPageSize, this.searchCriteria$);\n this.showSpinner = false;\n }\n\n onCreateNewClick(){\n this.router.navigate(['./add']);\n return false;\n }\n\n onLogoutClick(userId:any,name:any){\n this.openDialogRemoveActiveSessions(userId,name);\n }\n\n onDeleteClick(userId:any,name:any){\n this.openDialogDelete(userId,name);\n }\n\n openDialogRemoveActiveSessions(userId:any,name:any) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n var warningMessage = \"This will remove all active sessions for mentor '\" + name + \"' Are you sure you want to proceed?\";\n const dialogRef = this.dialog.open(ConfirmComponent, {\n height: '300px',\n width: '400px',\n data: { warningMessage: warningMessage}\n });\n\n dialogRef.afterClosed().subscribe(\n result => {\n if (result) {\n this.showSpinner = true;\n this.adminService.ClearActiveSessions(userId).subscribe(data => {\n this.showSpinner = false;\n alert(\"Success\"); \n });\n }\n }\n );\n }\n\n openDialogDelete(userId:any,name:any) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n var warningMessage = \"Are you sure you want to deactivate mentor \" + name + \"?\";\n const dialogRef = this.dialog.open(ConfirmComponent, {\n height: '300px',\n width: '400px',\n data: { warningMessage: warningMessage}\n });\n\n dialogRef.afterClosed().subscribe(\n result => {\n if (result) {\n this.showSpinner = true;\n this.adminService.DeactivateUser(userId).subscribe(data => {\n alert(\"Success\");\n this.countUsers(this.defaultSearchCriteria);\n this.dataSource.loadChatUsers(this.defaultPageNumber, this.defaultPageSize, this.defaultSearchCriteria);\n this.showSpinner = false; \n });\n }\n }\n );\n }\n}\n\nexport class ChatUserDataSource implements DataSource {\n private chatUsersSubject = new BehaviorSubject([]);\n constructor(private adminService: AdminService) { }\n\n connect(collectionViewer: CollectionViewer): Observable {\n return this.chatUsersSubject.asObservable();\n }\n disconnect(collectionViewer: CollectionViewer) {\n this.chatUsersSubject.complete();\n }\n\n loadChatUsers(pageIndex: number, pageSize: number, searchCriteria: string) {\n this.adminService.GetUsers(pageIndex, pageSize, searchCriteria, true, false, false).subscribe(data => {\n this.chatUsersSubject.next(data);\n });\n }\n}\n\n\n","
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n ID \r\n {{user.id}} \r\n \r\n \r\n Full Name \r\n {{user.name}} \r\n \r\n \r\n E-Mail Address \r\n {{user.email}} \r\n \r\n \r\n Role \r\n {{user.role}} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \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';\n\n@Component({\n selector: 'app-admin-mentor-skill-mapping',\n templateUrl: './mentor-skill-mapping.component.html',\n styleUrls: ['./mentor-skill-mapping.component.css']\n})\nexport class AdminMentorSkillMappingComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n","
\r\n

Mentor Skill Mapping

\r\n\r\n
\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms';\nimport { AdminService } from '../../service/admin.service';\n\n@Component({\n selector: 'app-admin-settings',\n templateUrl: './settings.component.html',\n styleUrls: ['./settings.component.css']\n})\nexport class AdminSettingsComponnent implements OnInit {\n \n myform: UntypedFormGroup;\n currentPassword: string;\n newPassword: string;\n confirmNewPassword: string;\n\n constructor(private adminService:AdminService) { }\n\n ngOnInit() {\n this.myform = new UntypedFormGroup({\n currentPassword: new UntypedFormControl('', Validators.required),\n newPassword: new UntypedFormControl('', Validators.required),\n confirmNewPassword: new UntypedFormControl('', Validators.required),\n });\n }\n\n changePassword(data:any){\n this.adminService.UpdatePassword(data).subscribe(data => {\n alert(data.toString());\n window.location.reload();\n });\n }\n\n}\n\n\n","

\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \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, ComponentFactoryResolver, ViewChild, ElementRef } from '@angular/core';\nimport { AdminService } from '../../service/admin.service';\nimport { ChatUser } from '../../model/chatuser.model';\nimport { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { Observable , BehaviorSubject , Subject } from 'rxjs';\n\n\nimport {\n MatLegacyInputModule as MatInputModule\n} from \"@angular/material/legacy-input\";\nimport {\n MatLegacyProgressSpinnerModule as MatProgressSpinnerModule\n} from \"@angular/material/legacy-progress-spinner\";\nimport {\n MatSortModule\n} from \"@angular/material/sort\";\nimport {\n MatLegacyTableModule as MatTableModule\n} from \"@angular/material/legacy-table\";\nimport {\n MatLegacyFormFieldModule as MatFormFieldModule\n} from \"@angular/material/legacy-form-field\";\nimport {\n MatIconModule\n} from \"@angular/material/icon\";\n\nimport { MatLegacyPaginatorModule as MatPaginatorModule,MatLegacyPaginator as MatPaginator } from \"@angular/material/legacy-paginator\";\nimport { ComponentItem } from '../../home/chat-panel/componentItem';\nimport { CompHolderDirective } from '../../home/chat-panel/comp-holder.directive';\nimport { AdminChatUserEditComponent } from '../chat-user-edit/chat-user-edit.component';\n\n@Component({\n selector: 'app-admin-user-management',\n templateUrl: './user-management.component.html',\n styleUrls: ['./user-management.component.css']\n})\n\nexport class AdminUsersManagementComponent implements OnInit {\n defaultPageNumber: number = 1;\n defaultPageSize: number = 10;\n defaultSearchCriteria: string = \"\";\n allItems: any[] = [];\n perPage: number = 10;\n fullLength: number;\n currentPage: number;\n totalPages: number;\n currentClickedUser: any;\n public userId: string;\n public chatUsers: ChatUser[];\n dataSource: ChatUserDataSource;\n displayedColumns = [\"id\", \"name\", \"email\", \"edit\",\"unban\"];\n\n PendingActivationFilter: boolean = false;\n AtDownStateFilter: boolean = false;\n\n @ViewChild(MatPaginator,{static:false}) paginator: MatPaginator;\n @ViewChild('input',{static:false}) input: ElementRef;\n @ViewChild(CompHolderDirective,{static:true}) adHost: CompHolderDirective;\n\n menuComponents: ComponentItem[];\n public showParentComponent: Boolean = true;\n public showChildComponent: Boolean;\n public chatUserObject: ChatUser;\n private searchCriteria$ = \"\";\n public showSpinner: Boolean = true;\n\n constructor(private adminService: AdminService, public componentFactoryResolver: ComponentFactoryResolver) {\n this.countUsers(this.defaultSearchCriteria);\n }\n\n onChatUserCloseClickHandled(data: any) {\n this.ngOnInitPage();\n this.showChildComponent = false;\n this.showParentComponent = true;\n }\n\n ngOnInit() {\n this.menuComponents = [\n new ComponentItem(AdminChatUserEditComponent, { title: \"Chat User Edit\" })\n ];\n this.ngOnInitPage();\n this.showSpinner = false;\n }\n\n ngOnInitPage() {\n this.dataSource = new ChatUserDataSource(this.adminService);\n this.dataSource.loadChatUsers(this.defaultPageNumber, this.defaultPageSize, this.defaultSearchCriteria, this.PendingActivationFilter, this.AtDownStateFilter);\n }\n\n onPageChanged(paginator: any) {\n this.dataSource.loadChatUsers(paginator.pageIndex + 1, paginator.pageSize, this.searchCriteria$, this.PendingActivationFilter, this.AtDownStateFilter);\n }\n\n countUsers(searchCriteria: string) {\n this.adminService.CountUsers(searchCriteria,false, this.PendingActivationFilter, this.AtDownStateFilter).subscribe(data => {\n this.fullLength = data;\n });\n }\n\n onEdit(data: any) {\n this.showParentComponent = false;\n this.chatUserObject = data;\n this.showChildComponent = true;\n }\n\n onSearchClick(searchCriteria: string) {\n this.showSpinner = true;\n if (searchCriteria) {\n this.searchCriteria$ = searchCriteria;\n } else {\n this.searchCriteria$ = \"\";\n }\n\n this.countUsers(this.searchCriteria$);\n this.dataSource.loadChatUsers(this.defaultPageNumber, this.defaultPageSize, this.searchCriteria$, this.PendingActivationFilter, this.AtDownStateFilter);\n this.showSpinner = false;\n }\n\n unbanUser(user:ChatUser){\n this.adminService.UnbanUser(user.id).subscribe(data => {\n if (data.status == 200){\n alert(\"Success!\");\n user.isBanned = false;\n }\n });\n }\n} \n\nexport class ChatUserDataSource implements DataSource {\n private chatUsersSubject = new BehaviorSubject([]);\n constructor(private adminService: AdminService) { }\n\n connect(collectionViewer: CollectionViewer): Observable {\n return this.chatUsersSubject.asObservable();\n }\n disconnect(collectionViewer: CollectionViewer) {\n this.chatUsersSubject.complete();\n }\n\n loadChatUsers(pageIndex: number, pageSize: number, searchCriteria: string, pendingActivationFilted: boolean, atDownStateFilter: boolean) {\n this.adminService.GetChatUsers(pageIndex, pageSize, searchCriteria, false, pendingActivationFilted, atDownStateFilter).subscribe(data => {\n this.chatUsersSubject.next(data);\n });\n }\n}\n\n\n","
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n Pending Activation\r\n AutoTask Down Time\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n UUID \r\n {{user.id}} \r\n \r\n \r\n Name \r\n {{user.name}} \r\n \r\n \r\n E-Mail \r\n {{user.email}} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \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, Input, Output, EventEmitter, OnChanges, SimpleChanges, SimpleChange } from '@angular/core';\r\nimport {MatLegacyInputModule as MatInputModule} from \"@angular/material/legacy-input\";\r\nimport {MatLegacyPaginatorModule as MatPaginatorModule} from \"@angular/material/legacy-paginator\";\r\nimport {MatLegacyProgressSpinnerModule as MatProgressSpinnerModule} from \"@angular/material/legacy-progress-spinner\";\r\nimport {MatSortModule} from \"@angular/material/sort\";\r\nimport {MatLegacyTableModule as MatTableModule} from \"@angular/material/legacy-table\";\r\nimport {MatLegacyFormFieldModule as MatFormFieldModule, MatLegacyFormField as MatFormField} from \"@angular/material/legacy-form-field\";\r\nimport {MatLegacyButtonModule as MatButtonModule} from \"@angular/material/legacy-button\";\r\nimport {MatLegacyCheckboxModule as MatCheckboxModule} from \"@angular/material/legacy-checkbox\";\r\nimport { AdminService } from '../../service/admin.service';\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { Voucher } from '../../model/voucher.model';\r\nimport { GenericSelectItem } from '../../model/genericselectitem.model';\r\nimport { UntypedFormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-voucher-add-edit',\r\n templateUrl: './voucher-add-edit.component.html',\r\n styleUrls: ['./voucher-add-edit.component.css']\r\n})\r\n\r\nexport class AdminVoucherAddEditComponent implements OnInit {\r\n\r\n public checked: Boolean;\r\n public disableInputs: Boolean = false;\r\n public date;\r\n public voucher: Voucher;\r\n public isPartnerSelected: Boolean = false;\r\n public partners: GenericSelectItem[];\r\n public childClients: GenericSelectItem[];\r\n public noOfVouchers: Number = 10;\r\n public selectedClient: string;\r\n\r\n public courses = new UntypedFormControl();\r\n public coursesList;\r\n public displayCourses: Boolean = false;\r\n private selectedCourses : string = \"\";\r\n\r\n constructor(\r\n private adminService: AdminService,\r\n private route: ActivatedRoute,\r\n private router: Router) {\r\n\r\n if (this.route.snapshot.paramMap.get(\"voucherId\") != null) {\r\n this.getVoucherDetails(this.route.snapshot.paramMap.get(\"voucherId\"));\r\n } else {\r\n this.voucher = new Voucher();\r\n this.date = new UntypedFormControl(new Date(this.voucher.expiryDate));\r\n this.loadPartners();\r\n }\r\n\r\n if (this.route.snapshot.paramMap.get(\"clientName\") != null) {\r\n this.selectedClient = this.route.snapshot.paramMap.get(\"clientName\");\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n numbersOnly(event): boolean {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n getVoucherDetails(id: any): void {\r\n this.adminService.GetVoucherDetails(id).subscribe(data => {\r\n if (data) {\r\n this.voucher = data[0];\r\n this.disableInputs = true;\r\n this.date = new UntypedFormControl(new Date(this.voucher.expiryDate));\r\n } else {\r\n this.router.navigateByUrl('admin/vouchers');\r\n }\r\n });\r\n }\r\n\r\n onCloseClick() {\r\n this.router.navigateByUrl('admin/vouchers');\r\n }\r\n\r\n onSaveClick() {\r\n if (this.voucher.clientId == -1)\r\n return;\r\n\r\n if (this.voucher.voucherId != \"-1\") {\r\n this.adminService.UpdateVoucher(this.voucher)\r\n .subscribe(data => {\r\n alert(\"Changes successfuly saved!\");\r\n },\r\n error => {\r\n alert(error.text());\r\n });\r\n }\r\n else {\r\n this.voucher.expiryDate = new Date(this.voucher.expiryDate);\r\n this.adminService.CreateVoucher(this.voucher, this.noOfVouchers,this.selectedCourses)\r\n .subscribe(data => {\r\n alert(\"Successfuly saved!\");\r\n },\r\n error => {\r\n alert(error.text());\r\n });\r\n }\r\n }\r\n\r\n onPartnerChange(event) {\r\n if (event.isUserInput) {\r\n this.voucher.clientId = Number(event.source.value);\r\n // this.loadChildClients(event.source.value);\r\n\r\n if (this.voucher.type == 1){\r\n this.getCourses(this.voucher.clientId);\r\n }\r\n\r\n }\r\n }\r\n\r\n onClientChange(event) {\r\n if (event.isUserInput) {\r\n this.voucher.clientId = Number(event.source.value);\r\n }\r\n }\r\n\r\n loadPartners() {\r\n this.adminService.GetPartners(\"Edu\").subscribe(data => {\r\n this.partners = data;\r\n });\r\n }\r\n\r\n loadChildClients(partnerId: any) {\r\n this.adminService.GetChildClients(partnerId).subscribe(data => {\r\n if (data == \"undefined\" || data == undefined) {\r\n this.isPartnerSelected = false;\r\n } else {\r\n this.isPartnerSelected = true;\r\n }\r\n this.childClients = data;\r\n });\r\n }\r\n\r\n onVoucherTypeChange(event:any){\r\n if (event == \"1\"){\r\n this.getCourses(Number(event));\r\n }else{\r\n this.coursesList = null;\r\n this.displayCourses = false;\r\n }\r\n }\r\n\r\n private getCourses(clientId: Number){\r\n this.selectedCourses = \"\";\r\n this.adminService.GetCoursesForClient(this.voucher.clientId)\r\n .subscribe(data => {\r\n if (data != undefined){\r\n this.coursesList = data;\r\n this.displayCourses = true;\r\n }else{\r\n this.coursesList = null;\r\n this.displayCourses = false;\r\n } \r\n });\r\n }\r\n\r\n onCoursesChange(event:any){\r\n if (event.length > 0){\r\n this.selectedCourses = \"\";\r\n for (var i=0; i< event.length; i++){\r\n this.selectedCourses += event[i] + \",\";\r\n }\r\n }else{\r\n this.selectedCourses = \"\";\r\n }\r\n }\r\n\r\n}\r\n","
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ partner.viewValue }}\r\n \r\n \r\n \r\n\r\n
\r\n\r\n \r\n \r\n \r\n {{client.viewValue}}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n
\r\n\r\n \r\n \r\n Dashboard\r\n Bundle\r\n Room\r\n Exam\r\n \r\n \r\n\r\n
\r\n\r\n \r\n \r\n {{course.name}} - {{course.code}}\r\n \r\n \r\n\r\n
\r\n\r\n
0\" style=\"opacity: 0.5\">\r\n Courses: {{voucher.courses}}\r\n
\r\n\r\n \r\n Test Voucher\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, ComponentFactoryResolver, ViewChild, ElementRef } from '@angular/core';\nimport { AdminService } from '../../service/admin.service';\nimport { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { Observable , BehaviorSubject } from 'rxjs';\nimport {MatLegacyInputModule as MatInputModule} from \"@angular/material/legacy-input\";\nimport {MatLegacyPaginatorModule as MatPaginatorModule,MatLegacyPaginator as MatPaginator} from \"@angular/material/legacy-paginator\";\nimport {MatLegacyProgressSpinnerModule as MatProgressSpinnerModule} from \"@angular/material/legacy-progress-spinner\";\nimport {MatSortModule} from \"@angular/material/sort\";\nimport {MatLegacyTableModule as MatTableModule} from \"@angular/material/legacy-table\";\nimport {MatLegacyFormFieldModule as MatFormFieldModule, MatLegacyFormField as MatFormField} from \"@angular/material/legacy-form-field\";\nimport {MatIconModule} from \"@angular/material/icon\";\nimport { ComponentItem } from '../../home/chat-panel/componentItem';\nimport { CompHolderDirective } from '../../home/chat-panel/comp-holder.directive';\nimport { Router } from '@angular/router';\nimport { Voucher } from '../../model/voucher.model';\n\n@Component({\n selector: 'app-admin-vouchers',\n templateUrl: './vouchers.component.html',\n styleUrls: ['./vouchers.component.css']\n})\n\nexport class AdminVouchersManagement implements OnInit {\n defaultPageNumber: number = 1;\n defaultPageSize: number = 10;\n defaultSearchCriteria: string = \"\";\n allItems: any[] = [];\n perPage: number = 10;\n fullLength: number;\n currentPage: number;\n totalPages: number;\n public vouchers: Voucher[];\n dataSource: VoucherDataSource;\n displayedColumns = [\"voucherId\", \"clientName\", \"redeemedByUser\",\"validFor\", \"expiryDate\",\"details\"];\n\n @ViewChild(MatPaginator,{static:false}) paginator: MatPaginator;\n @ViewChild('input',{static:false}) input: ElementRef;\n @ViewChild(CompHolderDirective,{static:true}) adHost: CompHolderDirective;\n\n menuComponents: ComponentItem[];\n public showChildComponent: Boolean;\n public voucherObject: Voucher;\n private searchCriteria$ = \"\";\n public showSpinner: Boolean = true;\n\n constructor(\n private adminService: AdminService, \n public componentFactoryResolver: ComponentFactoryResolver,\n private router:Router) {\n this.countVouchers(this.defaultSearchCriteria);\n }\n\n ngOnInit() {\n this.ngOnInitPage();\n this.showSpinner = false;\n }\n\n ngOnInitPage() {\n this.dataSource = new VoucherDataSource(this.adminService);\n this.dataSource.loadVouchers(this.defaultPageNumber, this.defaultPageSize, this.defaultSearchCriteria);\n }\n\n onPageChanged(paginator: any) {\n this.dataSource.loadVouchers(paginator.pageIndex + 1, paginator.pageSize, this.searchCriteria$);\n }\n\n countVouchers(searchCriteria: string) {\n this.adminService.CountVouchers(searchCriteria).subscribe(data => {\n this.fullLength = data;\n });\n }\n\n onSearchClick(searchCriteria: string) {\n this.showSpinner = true;\n if (searchCriteria) {\n this.searchCriteria$ = searchCriteria;\n } else {\n this.searchCriteria$ = \"\";\n }\n\n this.countVouchers(this.searchCriteria$);\n this.dataSource.loadVouchers(this.defaultPageNumber, this.defaultPageSize, this.searchCriteria$);\n this.showSpinner = false;\n }\n\n onCreateNewClick(){\n this.router.navigate(['./add']);\n return false;\n }\n}\n\nexport class VoucherDataSource implements DataSource {\n private vouchersSubject = new BehaviorSubject([]);\n constructor(private adminService: AdminService) { }\n\n connect(collectionViewer: CollectionViewer): Observable {\n return this.vouchersSubject.asObservable();\n }\n disconnect(collectionViewer: CollectionViewer) {\n this.vouchersSubject.complete();\n }\n\n loadVouchers(pageIndex: number, pageSize: number, searchCriteria: string) {\n this.adminService.GetVouchers(pageIndex, pageSize, searchCriteria).subscribe(data => {\n this.vouchersSubject.next(data);\n });\n }\n}\n\n\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n UUID \r\n {{voucher.voucherId}} \r\n \r\n \r\n Client \r\n {{voucher.clientName}} \r\n \r\n \r\n Redeemed By \r\n {{voucher.redeemedByUser}} \r\n \r\n \r\n Valid For \r\n {{voucher.validFor}} \r\n \r\n \r\n Expires At \r\n {{voucher.expiryDate}} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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, NgZone } from '@angular/core';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// import { \n// HubService, \n// Hub, \n// HubSubscription, \n// HubWrapper \n// } from 'ngx-signalr-hubservice';\nimport { Observable } from 'rxjs';\n\n\nimport { UsersService } from './service/users.service';\nimport { ChatService } from './service/chatservice';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { JwtInterceptor } from './auth/helpers/jwt.interceptor';\nimport { Router, ActivatedRoute, NavigationEnd} from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport {Location} from '@angular/common';\n\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html', \n styleUrls: ['./app.component.css']\n})\n\nexport class AppComponent{\n\n templateParam: string = \"false\";\n clientParam: string = \"\";\n\n constructor(\n private activatedRoute: ActivatedRoute, private router: Router, private location: Location) {\n \n }\n\n ngOnInit(): void {\n this.router.events.pipe(filter((event: any) => event instanceof NavigationEnd)).subscribe(event => {\n\n if(event.url.includes(\"/client?\")){\n this.templateParam = \"client\";\n }\n\n if(event.url.includes(\"/maintenance\")){\n this.templateParam = \"maintenance\";\n }\n \n });\n\n this.activatedRoute.queryParams.subscribe(params => {\n if (params['isWidget']) {\n this.templateParam = \"true\";\n }\n });\n }\n\n \n GetBackgroundColor(){\n let currentUserAdmin = JSON.parse(localStorage.getItem('currentAdminUser'));\n let clientType = localStorage.getItem('clientType');\n\n if (clientType == null && currentUserAdmin != null){\n return \"#0061AA\"; // mentor chat page (after auth)\n }\n else{\n return \"#f5f5f5\"; \n }\n }\n}\n","
\r\n\r\n\r\n","import { BrowserModule, HammerModule } from '@angular/platform-browser';\nimport { NgModule, ErrorHandler, APP_INITIALIZER, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AppComponent } from './app.component';\nimport { MatLegacySlideToggleModule as MatSlideToggleModule } from '@angular/material/legacy-slide-toggle';\nimport { HomeComponent } from './home/home.component';\nimport { LoginComponent } from './auth/login/login.component';\nimport { RegisterComponent } from './auth/register/register.component';\nimport { AuthGuard } from './auth/guards/auth.guard';\nimport { PendingChangesGuard } from './auth/guards/pendingchanges.guard';\nimport { AlertService } from './service/alert.service';\nimport { AuthenticationService } from './service/authentication.service';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { routing } from './app.routing';\nimport { ChatService } from './service/chatservice';\nimport { ChatMessageComponent } from './home/chat-message/chat-message.component';\nimport { ChatNavBarComponent } from './home/chat-nav-bar/chat-nav-bar.component';\nimport { ChatWindowComponent } from './home/chat-window/chat-window.component';\nimport { ChatPageComponent } from './home/chat-page/chat-page.component';\nimport { FromNowPipe } from './home/pipes/from-now.pipe';\nimport { PagerService } from './service/pagerservice';\nimport {ImageCropperModule } from 'ngx-image-cropper';\nimport { CustomizationService } from './service/customization.service'\nimport { UsersService } from './service/users.service';\nimport { RoomsService } from './service/rooms.service';\nimport { MessagesService } from './service/messages.service';\nimport { IssueService } from './service/issueservice';\nimport { TicketService } from './service/ticket.service';\nimport { ChatRoomComponent } from './home/chat-room/chat-room.component';\nimport { ChatRoomsComponent } from './home/chat-rooms/chat-rooms.component';\nimport { ChatRoomMembersComponent } from './home/chat-room-members/chat-room-members.component';\nimport { ChatRoomMemberComponent } from './home/chat-room-member/chat-room-member.component';\nimport { LogoutComponent } from './auth/logout/logout.component';\nimport { UserSettings } from './home/user-settings/user-settings.component';\nimport { GroupByPipe } from './home/pipes/GroupByPipe';\nimport { NgbModule, NgbNavModule } from '@ng-bootstrap/ng-bootstrap';\nimport { DistinctUsersPipe } from './home/pipes/distinct-users.pipe';\nimport { CookieService } from 'ngx-cookie-service';\nimport { ClientComponent } from './client/client.component';\nimport { MatLegacyDialogModule as MatDialogModule } from \"@angular/material/legacy-dialog\";\nimport {MatLegacyCardModule as MatCardModule} from \"@angular/material/legacy-card\";\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\nimport { MatNativeDateModule } from \"@angular/material/core\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\nimport { ConfirmComponent } from './home/confirm/confirm.component';\nimport { ConfirmInfoComponent } from './home/confirm-info/confirm-info.component';\nimport { NoticeComponent } from './home/notice/notice.component';\nimport { ChatPanelComponent } from './home/chat-panel/chat-panel.component';\nimport { CompHolderDirective } from './home/chat-panel/comp-holder.directive';\nimport { IframeComponent } from './home/chat-panel/iframe/iframe.component';\nimport { APP_BASE_HREF, CommonModule } from '@angular/common';\nimport { ToastrModule } from 'ngx-toastr';\nimport { TimeDiffPipePipe } from './home/pipes/time-diff-pipe.pipe';\nimport { ContextMenuModule } from '@perfectmemory/ngx-contextmenu';\nimport { ChatRoomNotificationsComponent } from './home/chat-room-notifications/chat-room-notifications.component';\nimport { ChatRoomToBeClosedComponent } from './home/chat-room-to-be-closed/chat-room-to-be-closed.component';\nimport { ChatCloseFormComponent } from './home/chat-close-form/chat-close-form.component';\nimport { ChatWindowMembersComponent } from './home/chat-window-members/chat-window-members.component';\nimport { SafePipe } from './home/pipes/safe.pipe';\nimport { RoomColorPipe } from './home/pipes/room-color.pipe';\nimport { UserInfoWindowComponent } from './home/user-info-window/user-info-window.component';\nimport { RegisterChatBellComponent } from './client/register-chat-bell/register-chat-bell.component';\nimport { RegisterUserBellComponent } from './client/register-user-bell/register-user-bell.component';\nimport { TranscriptModalComponent } from './home/transcript-modal/transcript-modal.component';\nimport { ContactModalComponent } from './home/contact-modal/contact-modal.component';\nimport { ChatVolumeModalComponent } from './home/chat-volume-modal/chat-volume-modal.component';\nimport { AllTranscriptsModalComponent } from './home/all-transcripts-modal/all-transcripts-modal.component';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { ClientFeedbackComponent } from './client/client-feedback/client-feedback.component';\nimport { ClientWindowComponent } from './client-window/client-window.component';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { AdminComponent } from './admin/admin.component';\nimport { AdminUsersManagementComponent } from './admin/user-management/user-management.component';\nimport { AdminMentorSkillMappingComponent } from './admin/mentor-skill-mapping/mentor-skill-mapping.component';\nimport { AdminSettingsComponnent } from './admin/settings/settings.component';\nimport { RegisterChatMspComponent } from './client/register-chat-msp/register-chat-msp.component';\nimport { RegisterUserMspComponent } from './client/register-user-msp/register-user-msp.component';\nimport { RegisterChatEduComponent } from './client/register-chat-edu/register-chat-edu.component';\nimport { RegisterUserEduComponent } from './client/register-user-edu/register-user-edu.component';\nimport { AllTicketsModalComponent } from './home/all-tickets-modal/all-tickets-modal.component';\nimport { FullScreenImageModalComponent } from './modals/fullscreen-image-modal/fullscreen-image-modal.component';\nimport { ImageUploadModalComponent } from './image-upload-modal/image-upload-modal.component';\nimport { MatLegacyPaginatorModule as MatPaginatorModule } from \"@angular/material/legacy-paginator\";\nimport { MatLegacyInputModule as MatInputModule } from \"@angular/material/legacy-input\";\nimport { MatLegacyProgressSpinnerModule as MatProgressSpinnerModule } from \"@angular/material/legacy-progress-spinner\";\nimport { MatSortModule } from \"@angular/material/sort\";\nimport { MatLegacyTableModule as MatTableModule } from \"@angular/material/legacy-table\";\nimport { MatLegacyFormFieldModule as MatFormFieldModule } from \"@angular/material/legacy-form-field\";\nimport { MatLegacyButtonModule as MatButtonModule } from \"@angular/material/legacy-button\";\nimport { MatLegacyCheckboxModule as MatCheckboxModule } from \"@angular/material/legacy-checkbox\";\nimport { MatLegacySelect, MatLegacySelectModule as MatSelectModule } from \"@angular/material/legacy-select\";\nimport { MatLegacyTooltipModule as MatTooltipModule } from \"@angular/material/legacy-tooltip\";\nimport {MatMenuModule} from \"@angular/material/menu\";\nimport { MatSliderModule } from '@angular/material/slider'; \nimport { AdminChatUserEditComponent } from './admin/chat-user-edit/chat-user-edit.component';\nimport { AdminService } from './service/admin.service';\nimport { AuthGuardAdmin } from './auth/guards/authadmin.guard';\nimport { AdminMentorAddEditComponent } from './admin/mentor-add-edit/mentor-add-edit.component';\nimport { AdminMentorsManagementComponent } from './admin/mentor-management/mentor-management.component';\nimport { PasswordResetComponent } from './auth/passwordreset/passwordreset.component';\nimport { TypingPipe } from './home/pipes/typing.pipe';\nimport { TypingLinkifyPipe } from './home/pipes/typing-linkify.pipe';\nimport { ClientNotFoundComponent } from './client/client-not-found/client-not-found.component';\nimport { ClientPreviousTicketComponent } from './client/client-previous-ticket/client-previous-ticket.component';\nimport { AuthGuardClient } from './auth/guards/authclient.guard';\nimport { DebounceClickDirective } from './directive/debounce-click-directive.directive';\nimport { AdminVouchersManagement } from './admin/vouchers/vouchers.component';\nimport { AdminVoucherAddEditComponent } from './admin/voucher-add-edit/voucher-add-edit.component';\nimport { ChatRoomNotificationComponent } from './home/chat-room-notification/chat-room-notification.component';\nimport { ChatMessageTranscriptComponent } from './home/chat-message-transcript/chat-message-transcript.component';\nimport { MaintenanceComponent } from './maintenance/maintenance.component';\nimport { CacheMapService } from './caching/cache-map.service';\nimport { CachingInterceptor } from './caching/caching-interceptor';\nimport { ErrorLogService, GlobalErrorHandler } from './service/error-log.service';\nimport { LocalizationService } from './service/localization.service';\nimport { RegisterChatTtiComponent } from './client/register-chat-tti/register-chat-tti.component';\nimport { MentorSpinnerService } from './service/mentorspinner.service';\nimport { MsalService } from './service/msal.service';\nimport { CustomHttpInterceptor } from './auth/helpers/CustomHttpInterceptor';\nimport { NgxSpinnerModule } from \"ngx-spinner\";\nimport { AppConfig } from './AppConfig';\nimport { DatePipe } from '@angular/common';\nimport {MatIconModule} from '@angular/material/icon';\nimport { AdminCannedResponsesComponent } from './admin/canned-responses/canned-responses.component';\nimport { AdminCannedResponsesAddEditComponent } from './admin/canned-responses-add-edit/canned-responses-add-edit.component';\nimport { AllCannedResponsesModalComponent } from './home/all-cannedresponses-modal/all-cannedresponses-modal.component';\nimport { AmazonConnectSettingsComponent } from './admin/amazon-connect-settings/amazon-connect-settings.component';\nimport { AmazonConnectContactFlowsComponent } from './admin/amazon-connect-contact-flows/amazon-connect-contact-flows.component';\nimport { AmazonConnectContactFlowsAddEditComponent } from './admin/amazon-connect-contact-flows-add-edit/amazon-connect-contact-flows-add-edit.component';\n\n\n// export function initConfig(config: AppConfig) {\n// const res = () => config.load();\n// return res;\n// }\n\n@NgModule({\n declarations: [\n AppComponent,\n HomeComponent,\n LoginComponent,\n RegisterComponent,\n ChatMessageComponent,\n ChatRoomComponent,\n ChatRoomsComponent,\n ChatRoomMembersComponent,\n ChatNavBarComponent,\n ChatWindowComponent,\n ChatPageComponent,\n FromNowPipe,\n GroupByPipe,\n LogoutComponent,\n UserSettings,\n DistinctUsersPipe,\n ClientComponent,\n ConfirmComponent,\n ConfirmInfoComponent,\n NoticeComponent,\n ChatPanelComponent,\n CompHolderDirective,\n IframeComponent,\n TimeDiffPipePipe,\n ChatRoomMemberComponent,\n ChatRoomNotificationsComponent,\n ChatCloseFormComponent,\n ChatWindowMembersComponent,\n ChatRoomToBeClosedComponent,\n SafePipe,\n UserInfoWindowComponent,\n RegisterChatBellComponent,\n RegisterUserBellComponent,\n RoomColorPipe,\n TranscriptModalComponent,\n ContactModalComponent,\n ChatVolumeModalComponent,\n AllTranscriptsModalComponent,\n AllTicketsModalComponent,\n FullScreenImageModalComponent,\n ImageUploadModalComponent,\n ClientFeedbackComponent,\n ClientWindowComponent,\n AdminComponent,\n AdminUsersManagementComponent,\n AdminMentorSkillMappingComponent,\n AdminSettingsComponnent,\n RegisterChatMspComponent,\n RegisterUserMspComponent,\n RegisterChatEduComponent,\n RegisterUserEduComponent,\n AdminChatUserEditComponent,\n AdminMentorAddEditComponent,\n AdminMentorsManagementComponent,\n PasswordResetComponent,\n TypingPipe,\n TypingLinkifyPipe,\n ClientNotFoundComponent,\n ClientPreviousTicketComponent,\n DebounceClickDirective,\n AdminVouchersManagement,\n AdminVoucherAddEditComponent,\n ChatRoomNotificationComponent,\n ChatMessageTranscriptComponent,\n RegisterChatTtiComponent,\n MaintenanceComponent,\n AdminCannedResponsesComponent,\n AdminCannedResponsesAddEditComponent,\n AllCannedResponsesModalComponent,\n AmazonConnectSettingsComponent,\n AmazonConnectContactFlowsComponent,\n AmazonConnectContactFlowsAddEditComponent\n ],\n imports: [\n MatIconModule,\n BrowserModule,\n HammerModule ,\n BrowserAnimationsModule,\n MatSlideToggleModule,\n FormsModule,\n routing,\n HttpClientModule,\n NgbModule,\n NgbNavModule,\n CommonModule,\n ContextMenuModule,\n ReactiveFormsModule,\n NgxPaginationModule,\n FontAwesomeModule,\n MatTableModule,\n MatPaginatorModule,\n MatSortModule,\n MatProgressSpinnerModule,\n MatFormFieldModule,\n MatInputModule,\n MatButtonModule,\n MatCheckboxModule,\n MatSelectModule,\n MatTooltipModule,\n MatCardModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatDialogModule,\n MatMenuModule,\n MatSliderModule,\n // DeviceDetectorModule.forRoot(),\n ToastrModule.forRoot(),\n NgxSpinnerModule,\n ImageCropperModule \n ],\n providers: [\n AuthGuard,\n PendingChangesGuard,\n AlertService,\n AuthenticationService,\n ChatService,\n MsalService,\n PagerService,\n MessagesService,\n RoomsService,\n CookieService,\n IssueService,\n TicketService,\n MentorSpinnerService,\n CustomizationService,\n UsersService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: CustomHttpInterceptor,\n multi: true\n },\n CacheMapService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: CachingInterceptor,\n multi: true\n },\n AdminService,\n AuthGuardAdmin,\n AuthGuardClient,\n MatDatepickerModule,\n {\n provide: ErrorHandler,\n useClass: GlobalErrorHandler,\n },\n ErrorLogService,\n LocalizationService,\n AppConfig,\n DatePipe,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Routes, RouterModule } from '@angular/router';\nimport { HomeComponent } from './home/home.component';\nimport { AuthGuard } from './auth/guards/auth.guard';\nimport { PendingChangesGuard } from './auth/guards/pendingchanges.guard';\nimport { LoginComponent } from './auth/login/login.component';\nimport { RegisterComponent } from './auth/register/register.component';\nimport { ClientComponent } from './client/client.component';\nimport { AdminComponent } from './admin/admin.component';\nimport { AdminUsersManagementComponent } from './admin/user-management/user-management.component';\nimport { AdminChatUserEditComponent } from './admin/chat-user-edit/chat-user-edit.component';\nimport { AdminMentorSkillMappingComponent } from './admin/mentor-skill-mapping/mentor-skill-mapping.component';\nimport { AdminSettingsComponnent } from './admin/settings/settings.component';\nimport { RegisterChatMspComponent } from './client/register-chat-msp/register-chat-msp.component';\nimport { AuthGuardAdmin } from './auth/guards/authadmin.guard';\nimport { AdminMentorAddEditComponent } from './admin/mentor-add-edit/mentor-add-edit.component';\nimport { AdminMentorsManagementComponent } from './admin/mentor-management/mentor-management.component';\nimport { PasswordResetComponent } from './auth/passwordreset/passwordreset.component';\nimport { AuthGuardClient } from './auth/guards/authclient.guard';\nimport { ClientFeedbackComponent } from './client/client-feedback/client-feedback.component';\nimport { AdminVouchersManagement } from './admin/vouchers/vouchers.component';\nimport { AdminVoucherAddEditComponent } from './admin/voucher-add-edit/voucher-add-edit.component';\nimport { ChatCloseFormComponent } from './home/chat-close-form/chat-close-form.component';\nimport { MaintenanceComponent } from './maintenance/maintenance.component';\nimport { AdminCannedResponsesComponent } from './admin/canned-responses/canned-responses.component';\nimport { AdminCannedResponsesAddEditComponent } from './admin/canned-responses-add-edit/canned-responses-add-edit.component';\nimport { AmazonConnectSettingsComponent } from './admin/amazon-connect-settings/amazon-connect-settings.component';\nimport { AmazonConnectContactFlowsComponent } from './admin/amazon-connect-contact-flows/amazon-connect-contact-flows.component';\nimport { AmazonConnectContactFlowsAddEditComponent } from './admin/amazon-connect-contact-flows-add-edit/amazon-connect-contact-flows-add-edit.component';\n\nconst appRoutes: Routes = [\n {\n path: '', component: HomeComponent, canActivate: [AuthGuard]\n , children: [\n {\n path: 'close',\n component: ChatCloseFormComponent,\n canDeactivate: [PendingChangesGuard]\n }]\n },\n { path: 'login', component: LoginComponent },\n { path: 'register', component: RegisterComponent },\n\n {\n path: 'client',\n component: ClientComponent,\n canActivate: [AuthGuardClient],\n children: [\n {\n path: 'registerchatmsp',\n component: RegisterChatMspComponent\n }\n ]\n },\n\n {\n path: 'admin',\n component: AdminComponent,\n canActivate: [AuthGuardAdmin],\n children: [\n {\n path: '',\n component: AdminComponent\n },\n\n {\n path: 'mentors',\n component: AdminMentorsManagementComponent\n },\n\n {\n path: 'mentors/add',\n component: AdminMentorAddEditComponent\n },\n\n {\n path: 'mentors/edit/:id',\n component: AdminMentorAddEditComponent\n },\n\n {\n path: 'users',\n component: AdminUsersManagementComponent\n },\n\n {\n path: 'users/edit/:id',\n component: AdminChatUserEditComponent\n },\n\n {\n path: 'mappings',\n component: AdminMentorSkillMappingComponent\n },\n\n {\n path: 'settings',\n component: AdminSettingsComponnent\n },\n\n {\n path: 'vouchers',\n component: AdminVouchersManagement\n },\n\n {\n path: 'vouchers/add',\n component: AdminVoucherAddEditComponent\n },\n\n {\n path: 'vouchers/details/:voucherId/',\n component: AdminVoucherAddEditComponent\n },\n\n {\n path: 'vouchers/details/:voucherId/:clientName',\n component: AdminVoucherAddEditComponent\n },\n {\n path: 'cannedresponses',\n component: AdminCannedResponsesComponent\n },\n\n {\n path: 'cannedresponses/add',\n component: AdminCannedResponsesAddEditComponent\n },\n\n {\n path: 'cannedresponses/edit/:id',\n component: AdminCannedResponsesAddEditComponent\n },\n\n {\n path: 'amazonconnectsettings',\n component: AmazonConnectSettingsComponent\n },\n\n {\n path: 'amazonconnectcontactflows',\n component: AmazonConnectContactFlowsComponent\n },\n\n {\n path: 'amazonconnectcontactflows/add',\n component: AmazonConnectContactFlowsAddEditComponent\n },\n\n {\n path: 'amazonconnectcontactflows/edit/:id',\n component: AmazonConnectContactFlowsAddEditComponent\n },\n ]\n },\n\n { path: 'passwordreset', component: PasswordResetComponent },\n\n // testing purpose only\n { path: 'feedback', component: ClientFeedbackComponent },\n\n { path: 'maintenance', component: MaintenanceComponent },\n\n // otherwise redirect to home\n { path: '**', redirectTo: '' }\n];\n\nexport const routing = RouterModule.forRoot(appRoutes, {});\n\n\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n\n constructor(private router: Router) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n\n if (localStorage.getItem('currentUser')) {\n // logged in so return true (only for mentors)\n let currentUser = JSON.parse(localStorage.getItem('currentUser'));\n let proceed: Boolean = false;\n\n if (currentUser.hasMentorAccess != undefined)\n proceed = currentUser.hasMentorAccess.toLowerCase() == 'true' && currentUser.hasMentorAccess != null ? true : false;\n\n if (currentUser.isMentor != undefined)\n proceed = currentUser.isMentor;\n\n if (proceed) {\n return true;\n } else {\n if (localStorage.getItem('clientParams')) {\n var clientParams = JSON.parse(localStorage.getItem('clientParams'));\n this.router.navigateByUrl(clientParams.baseUrl);\n return false;\n }\n }\n }\n\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\n return false;\n }\n}","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class AuthGuardAdmin implements CanActivate {\r\n\r\n constructor(private router: Router) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n\r\n if (localStorage.getItem('currentAdminUser')) {\r\n let currentAdminUser = JSON.parse(localStorage.getItem('currentAdminUser'));\r\n if (currentAdminUser != null) {\r\n if (currentAdminUser.role.toUpperCase() == 'ADMIN' \r\n || currentAdminUser.role.toUpperCase() == 'MSP ADMIN' \r\n || currentAdminUser.role.toUpperCase() == 'TELCO ADMIN')\r\n return true;\r\n }\r\n }\r\n\r\n this.router.navigate(['login'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class AuthGuardClient implements CanActivate {\r\n\r\n constructor(private router: Router) { \r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n // authenticated mentor should not have access to the client section\r\n // authenticated user should not open the same link in multiple browsers (vase stop)\r\n\r\n let prevent = false;\r\n\r\n if (localStorage.getItem('currentUser')) {\r\n let currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n if (currentUser != null) {\r\n if (currentUser.isMentor){\r\n prevent = true;\r\n }\r\n } \r\n }\r\n \r\n if (prevent){\r\n this.router.navigate(['']);\r\n }\r\n else {\r\n return true;\r\n }\r\n \r\n }\r\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Router, CanDeactivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { ChatCloseFormComponent } from '../../home/chat-close-form/chat-close-form.component';\n\nexport interface ComponentCanDeactivate {\n canDeactivate: () => boolean | Observable | Promise;\n }\n\n\n@Injectable()\nexport class PendingChangesGuard implements CanDeactivate {\n\n \n\n canDeactivate(component: ChatCloseFormComponent, \n route: ActivatedRouteSnapshot, \n state: RouterStateSnapshot) {\n\n let url: string = state.url;\n console.log('Url: '+ url);\n\n return component.canDeactivate ? component.canDeactivate() : true;\n }\n}","import { Observable } from 'rxjs';\r\nimport { Location } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpInterceptor } from '@angular/common/http';\r\nimport { HttpRequest } from '@angular/common/http';\r\nimport { HttpHandler } from '@angular/common/http';\r\nimport { HttpEvent } from '@angular/common/http';\r\n\r\nimport { HttpHeaders } from '@angular/common/http';\r\n\r\nimport { AppConfig } from '../../AppConfig';\r\n\r\n@Injectable()\r\nexport class CustomHttpInterceptor implements HttpInterceptor {\r\n constructor(private config: AppConfig) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n let token = localStorage.getItem('BearerToken');\r\n\r\n if (token !== '' && token != '' && token != null) { \r\n\r\n var contentType='';\r\n if (request.headers.has('Content-Type'))\r\n contentType = request.headers.get('Content-Type');\r\n\r\n var req=request;\r\n if(request.url.includes('api/autotask/upload')){\r\n req = request.clone({\r\n url:request.url,\r\n setHeaders: {\r\n \r\n //'Content-Type' :'application/x-www-form-urlencoded',\r\n // 'Accept': 'z',\r\n //'Authorization': `Bearer ${token}`,\r\n 'Authorization': `${token}`\r\n \r\n },\r\n });\r\n }else\r\n {\r\n req = request.clone({\r\n url:request.url,\r\n setHeaders: {\r\n 'Content-Type': (contentType != '' ? contentType : 'application/json'),\r\n //'Content-Type' :'application/x-www-form-urlencoded',\r\n // 'Accept': 'z',\r\n //'Authorization': `Bearer ${token}`,\r\n 'Authorization': `${token}`\r\n \r\n },\r\n });\r\n }\r\n \r\n \r\n return next.handle(req);\r\n \r\n }\r\n \r\n\r\n return next.handle(request);\r\n }\r\n\r\n}","
\n\n \n

Helpdesk Chat

\n
\n
\n \n \n
Email address is required
\n
\n
\n \n \n
Password is required
\n
\n
\n \n
\n
\n
\n
\n {{appVersion}}\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AuthenticationService } from '../../service/authentication.service';\nimport { AdminService } from '../../service/admin.service';\nimport { MaintenanceMode } from '../../model/maintenancemode.model';\n\n@Component({\n templateUrl: 'login.component.html',\n selector: 'signin',\n styleUrls: ['login.component.css']\n})\n\nexport class LoginComponent implements OnInit {\n model: any = {};\n loading = false;\n returnUrl: string;\n fullImagePath: string;\n loadingImage: string;\n messageClass;\n message;\n public showErrorMessage: Boolean = false;\n public errorMessage: string = \"\";\n deviceInfo = null;\n deviceType: string;\n deviceTypeMessage: string;\n appVersion: string = \"\";\n private CONST_GMSMENTORS_GROUPID: number = 1;\n private maintenanceMode: MaintenanceMode;\n public showLoginForm: Boolean = false;\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private authenticationService: AuthenticationService,\n private adminService: AdminService) {\n }\n\n ngOnInit() {\n this.adminService.CheckIfMaintenanceModeIsEnabled(this.CONST_GMSMENTORS_GROUPID).subscribe(\n data => {\n this.maintenanceMode = data[0];\n if (!this.maintenanceMode.loginAllowed) {\n this.router.navigate(['/maintenance'], { queryParams: { q: this.CONST_GMSMENTORS_GROUPID } });\n } else {\n this.showLoginForm = true;\n this.authenticationService.logout();\n this.fullImagePath = 'assets/images/logo.png';\n this.loadingImage = 'assets/images/gears.gif';\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\n\n const subGetAppVersion = this.adminService.GetAppVersion().subscribe((data) => {\n this.appVersion = \"v\" + data.toString().replace('\"', '').replace('\"', '');\n });\n\n this.appVersion = \"v1.0\";\n }\n });\n }\n\n login() {\n this.showErrorMessage = false;\n this.loading = true;\n this.authenticationService.login(this.model.username, this.model.password)\n .subscribe(\n data => {\n let proceed = data.hasMentorAccess.toLowerCase() == 'true' && data.hasMentorAccess != null ? true : false;\n if (proceed) {\n this.router.navigate([this.returnUrl]);\n }\n else {\n this.errorMessage = \"You don't have access to this section!\";\n this.showErrorMessage = true;\n this.loading = false;\n }\n\n },\n error => {\n this.errorMessage = error.error.error_description;\n this.showErrorMessage = true;\n this.loading = false;\n });\n }\n\n\n checkActiveSessions(data: any) {\n const isDesktop = true;\n const isMobile = false;\n const isTablet = false;\n\n if (isDesktop) {\n this.deviceType = \"1\";\n this.deviceTypeMessage = \" from web browser!\";\n }\n\n if (isMobile || isTablet) {\n this.deviceType = \"2\";\n this.deviceTypeMessage = \" from mobile browser!\";\n }\n\n this.adminService.CheckActiveSessions(data.userName, this.deviceType)\n .subscribe(\n data => {\n var logOn = data.text().toLowerCase() == 'true' ? true : false;\n if (logOn) {\n this.router.navigate([this.returnUrl]);\n } else {\n this.authenticationService.logout();\n this.errorMessage = \"You are already signed in\" + this.deviceTypeMessage\n this.showErrorMessage = true;\n this.loading = false;\n }\n },\n error => {\n this.loading = false;\n }\n );\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatLegacyDialog as MatDialog, MatLegacyDialogConfig as MatDialogConfig } from \"@angular/material/legacy-dialog\";\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AlertService } from '../../service/alert.service';\nimport { AuthenticationService } from '../../service/authentication.service';\nimport { ChatService } from '../../service/chatservice';\nimport { ChatVolumeModalComponent } from '../../home/chat-volume-modal/chat-volume-modal.component';\n@Component({\n selector: 'app-logout',\n templateUrl: './logout.component.html',\n styleUrls: ['./logout.component.css']\n})\n\nexport class LogoutComponent implements OnInit {\n model: any = {};\n loading = false;\n returnUrl: string;\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private authenticationService: AuthenticationService,\n private alertService: AlertService,\n private dialog: MatDialog,\n private chatService: ChatService ) { }\n\n ngOnInit() {\n // reset login status\n //this.authenticationService.logout();\n\n // get return url from route parameters or default to '/'\n //testsetset\n }\n\n logout() { \n this.loading = true;\n this.chatService.LogOut(); \n }\n\n \n}\n\n","\n \n\n \n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AdminService } from '../../service/admin.service';\nimport { UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms';\n\n@Component({\n \n templateUrl: 'passwordreset.component.html',\n selector: 'passwordreset',\n styleUrls: ['passwordreset.component.css']\n})\n\nexport class PasswordResetComponent implements OnInit {\n myform: UntypedFormGroup;\n password: string;\n confirmPassword: string;\n showPasswordResetForm:boolean = false;\n fullImagePath:string;\n private userId:string;\n private token:string;\n\n constructor(\n private route: ActivatedRoute,\n private adminService:AdminService,\n private router:Router) { \n\n }\n\n ngOnInit() {\n this.fullImagePath = 'assets/images/logo.png';\n\n this.myform = new UntypedFormGroup({\n password: new UntypedFormControl('', [Validators.required, Validators.minLength(6)]),\n confirmPassword: new UntypedFormControl('', [Validators.required, Validators.minLength(6)]),\n });\n\n if (this.route.snapshot.queryParams[\"userId\"] != undefined \n && this.route.snapshot.queryParams[\"token\"] != undefined){\n this.userId = this.route.snapshot.queryParams[\"userId\"];\n this.token = this.route.snapshot.queryParams[\"token\"];\n this.validateUserToken(this.userId,this.token);\n }else {\n this.router.navigate(['login']);\n }\n }\n\n validateUserToken(userid:any,token:any){\n this.adminService.ValidateUserToken(userid,token).subscribe(data => {\n if (data.status == 200 && data.text() == \"validtoken\"){\n this.showPasswordResetForm = true;\n }\n });\n }\n\n changePassword(data:any){\n\n if (data.password != data.confirmPassword){\n alert(\"Passwords don't match!\");\n return false;\n }\n\n var obj = {};\n obj[\"userid\"] = this.userId;\n obj[\"token\"] = this.token;\n obj[\"password\"] = data.password;\n obj[\"confirmPassword\"] = data.confirmPassword;\n\n this.adminService.UpdateMentorPassword(obj).subscribe(data => {\n \n if (data == \"updated\"){\n alert(\"Password successfuly changed. Redirecting to the login page...\");\n this.router.navigate([\"login\"]);\n }\n });\n }\n \n}\n","
\n\n
\n\n \n\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n
\n\n
\n
\n ","
\n

Register

\n
\n
\n \n \n
First Name is required
\n
\n
\n \n \n
Last Name is required
\n
\n
\n \n \n
Username is required
\n
\n
\n \n \n
Password is required
\n
\n
\n \n \n Cancel\n
\n
\n
\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { AlertService } from '../../service/alert.service';\nimport { UsersService } from '../../service/users.service';\n\n\n\n@Component({ \n templateUrl: 'register.component.html'\n})\n\nexport class RegisterComponent {\n model: any = {};\n loading = false;\n \n constructor(\n private router: Router,\n private userService: UsersService,\n private alertService: AlertService) { }\n\n register() {\n this.loading = true;\n this.userService.create(this.model)\n .subscribe(\n data => {\n this.alertService.success('Registration successful', true);\n this.router.navigate(['/login']);\n },\n error => {\n this.alertService.error(error);\n this.loading = false;\n });\n }\n}\n","import { HttpResponse } from '@angular/common/http';\r\n\r\nexport interface CacheEntry {\r\n url: string; //Request URL whose response is to be cached. \r\n response: HttpResponse\r\n entryTime: number;\r\n}\r\n\r\nexport const MAX_CACHE_AGE = 60*60 * 1000; // in milliseconds ","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpResponse } from '@angular/common/http';\r\nimport { Cache } from './cache';\r\nimport { CacheEntry, MAX_CACHE_AGE } from './cache-entry';\r\n\r\n@Injectable()\r\nexport class CacheMapService implements Cache {\r\n cacheMap = new Map();\r\n get(req: HttpRequest): HttpResponse | null {\r\n const entry = this.cacheMap.get(req.urlWithParams);\r\n if (!entry) {\r\n return null;\r\n }\r\n const isExpired = (Date.now() - entry.entryTime) > MAX_CACHE_AGE;\r\n return isExpired ? null : entry.response;\r\n }\r\n put(req: HttpRequest, res: HttpResponse): void {\r\n const entry: CacheEntry = { url: req.urlWithParams, response: res, entryTime: Date.now() };\r\n this.cacheMap.set(req.urlWithParams, entry);\r\n this.deleteExpiredCache();\r\n }\r\n private deleteExpiredCache() {\r\n this.cacheMap.forEach(entry => {\r\n if ((Date.now() - entry.entryTime) > 3600000) {\r\n this.cacheMap.delete(entry.url);\r\n }\r\n })\r\n }\r\n} ","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpResponse, HttpHandler } from '@angular/common/http';\r\n\r\nimport { tap } from 'rxjs/operators';\r\nimport { CacheMapService } from './cache-map.service';\r\nimport { of } from 'rxjs';\r\n\r\n\r\nconst CACHABLE_URL = \"/api\";\r\n\r\n@Injectable()\r\nexport class CachingInterceptor implements HttpInterceptor {\r\n constructor(private cache: CacheMapService) {}\r\n\r\n intercept(req: HttpRequest, next: HttpHandler) {\r\n if (!this.isRequestCachable(req)) { \r\n return next.handle(req); \r\n }\r\n const cachedResponse = this.cache.get(req);\r\n if (cachedResponse !== null) {\r\n return of(cachedResponse);\r\n }\r\n return next.handle(req).pipe(\r\n tap(event => {\r\n if (event instanceof HttpResponse && this.isRequestCachable(req)) {\r\n this.cache.put(req, event); \r\n }\r\n })\r\n );\r\n }\r\n private isRequestCachable(req: HttpRequest) {\r\n //if(req.url.indexOf(\"/api/autotask/download\") > -1) return true;\r\n\r\n return false;\r\n //return (req.method === 'GET') && (req.url.indexOf(CACHABLE_URL) > -1);\r\n }\r\n} ","\nimport {interval as observableInterval, fromEvent as observableFromEvent, Observable, Subject, BehaviorSubject,ReplaySubject , \n timer, from,combineLatest, of } from 'rxjs';\n\nimport {map, takeUntil, debounceTime, throttleTime , bufferTime,count,take,takeWhile, mergeMap, tap, toArray } from 'rxjs/operators';\nimport {\n Component,\n Inject,\n ElementRef,\n OnInit,\n ChangeDetectionStrategy,\n ViewContainerRef,\n Input,\n NgZone,\n ViewChild,\n OnDestroy\n} from '@angular/core';\n\nimport { AlertService } from '../service/alert.service';\n\n\nimport { UsersService } from '../service/users.service';\nimport { ChatService } from '../service/chatservice';\nimport { Room } from '../model/room.model';\nimport { User } from '../model/user';\nimport { RoomsService } from '../service/rooms.service';\nimport { Message } from '../model/message.model';\nimport { MessagesService } from '../service/messages.service';\n//import { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n// import { ToastsManager } from 'ng2-toastr/ng2-toastr';\nimport { ToastrService } from 'ngx-toastr';\nimport { RoomFactory } from '../model/RoomFactory';\nimport { UserFactory } from '../model/userFactory';\nimport { MessageType } from '../model/messageType';\nimport { Howl, Howler } from 'howler';\nimport { AuthenticationService } from '../service/authentication.service';\n//import { defineComponent } from '@angular/core/src/render3';\nimport { LocalizationService } from '../service/localization.service';\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { DomSanitizer, SafeResourceUrl, SafeUrl } from '@angular/platform-browser';\nimport { MentorSpinnerService } from '../service/mentorspinner.service';\n\nimport { CustomizationService } from '../service/customization.service';\nimport { AppConfig } from '../AppConfig';\nimport {\n messageFactory\n} from '../model/messageFactory';\n\nimport { ChatPersonalization } from '../model/chatpersonalization.model';\nimport { DatePipe } from '@angular/common'\nimport { MessageAttachment } from '../model/MessageAttachment.model';\nimport { MatLegacyDialogConfig as MatDialogConfig, MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';\nimport { TicketService } from '../service/ticket.service';\nimport { ImageUploadModalComponent } from '../image-upload-modal/image-upload-modal.component';\nimport { uuid } from '../home/util/uuid';\n\n@Component({\n selector: 'app-client-window',\n templateUrl: './client-window.component.html',\n styleUrls: ['./client-window.component.css'],\n\n})\nexport class ClientWindowComponent implements OnInit,OnDestroy {\n\n\n @Input() data: any;\n messages: Observable;\n currentRoom: Room;\n draftMessage: Message;\n currentUser: User;\n isMessagePrivate: boolean = false;\n nickName: string = '';\n isHidden: boolean;\n paramWidget: boolean = false;\n typingMessage: string = \"\";\n public typingUsrs: Array = [];\n private subjectKeyDown: Subject = new BehaviorSubject('');\n public keyUp = new Subject();\n messagesToPrint: Array = [];\n showChatColor: boolean = false;\n hideEndChatButton: boolean = true;\n public logoFullPath: string = '';\n public colorFileFullPath: string = '';\n public chatColor: string = '#0061AA';\n //localization - s\n private pageName = \"ClientWindowComponent\";\n public pageTranslation: any = \"\";\n \n //localization - e\n localLang: any = \"en\";\n private onDestroy$: ReplaySubject = new ReplaySubject(1);\n intervalMs:number = 1000;\n //firstInterval:number=60;\n //secondInterval:number=4*this.firstInterval;\n sumInterval:number=0;\n sumInterval1:number=0;\n sumInterval2:number=0;\n intervalMap = new Map();\n private intervalStop = false;\n private intervalStop1 = false;\n private intervalStop2 = false;\n public twoCombined = new Observable();\n public personalizationRetrived = new BehaviorSubject(false);\n public pageTranslated = new BehaviorSubject(false);\n @ViewChild('textInput',{static:false}) textInput: ElementRef;\n messageAttachmentSubject: BehaviorSubject = new BehaviorSubject([]);\n messageAttachments:Observable=this.messageAttachmentSubject.asObservable();\n messageAttachmentsArray:MessageAttachment[]=[];\n hasMessageAttachments:boolean=false;\n public logoRetrived = new BehaviorSubject(false);\n\n constructor(\n public mspinnerService: MentorSpinnerService,\n private alertService: AlertService,\n private activatedRoute: ActivatedRoute,\n private localizationService: LocalizationService,\n private customizationService: CustomizationService,\n public messagesService: MessagesService,\n public roomsService: RoomsService,\n public userService: UsersService,\n public chatService: ChatService,\n public toastr: ToastrService,\n public vcr: ViewContainerRef,\n public el: ElementRef,\n private ngZone: NgZone,\n private sanitizer: DomSanitizer,\n private authenticationService: AuthenticationService,\n private config: AppConfig,\n public ticketService: TicketService,\n\t\tprivate dialog: MatDialog,\n public datepipe: DatePipe){\n \n this.intervalMap.set(25, \"25secondsWaiting\"); \n this.intervalMap.set(60, \"1minuteWaiting\"); \n this.intervalMap.set(180, \"2minuteWaiting\");\n\n // this.colorFileFullPath = this.config.logoURL + this.userService.getClientIdParam().toString() + '.txt';\n //this.chatColor = this.customizationService.getPersonalizedColor(this.colorFileFullPath);\n //this.logoFullPath = customizationService.getNoCacheImage(this.config.logoURL + this.userService.getClientIdParam().toString() + '.png');\n\n const subAllItems = this.ticketService.downloadPartnerLogoFile('partners-logos', this.userService.getClientIdParam().toString() + '.png').\n pipe(takeUntil(this.onDestroy$)).subscribe(\n apiResponse => {\n\n if(apiResponse.size>0)\n {\n var url = URL.createObjectURL(apiResponse);\n this.logoFullPath = url;\n }else\n {\n this.logoFullPath ='assets/images/logo.png';\n }\n \n this.logoRetrived.next(true);\n },error => { console.log(error)\n this.logoFullPath ='assets/images/logo.png';\n this.logoRetrived.next(true);\n });\n \nthis.userService.cpSubject.pipe(takeUntil(this.onDestroy$)).subscribe(\n (data: ChatPersonalization) => {\n \n this.chatColor= data.colorCode;\n this.personalizationRetrived.next(true);\n //\n });\n\n \n // this.twoCombined= this.pageTranslated.pipe(takeUntil(this.onDestroy$),combineLatest(\n // this.personalizationRetrived, (pageT: boolean, personalizationR: boolean) => {\n\n // return pageT&&personalizationR;\n // }),);\n\n combineLatest([this.pageTranslated, this.personalizationRetrived, this.logoRetrived]).subscribe(\n ([pageT, personalizationR, logoReturned]) => {\n \n this.twoCombined=of(pageT && personalizationR && logoReturned);\n });\n\n // this.userService.GetChatPersonalization(Number(this.userService.getClientIdParam()),this.userService.getClientTypeParam())\n // .takeUntil(this.onDestroy$).subscribe((personalization:any)=>\n // {\n // this.chatColor=personalization.colorCode;\n // if(personalization.logo && personalization.logo!='')\n // {\n // this.logoFullPath=this.config.logoURL +personalization.logo;\n // }else\n // {\n // this.logoFullPath= 'assets/images/logo.png';\n // }\n \n // });\n this.SetLocalization();\n\n // this.toastr.setRootViewContainerRef(vcr);\n\n const keyUpEvent = observableFromEvent(el.nativeElement, 'keyup');\n const result = keyUpEvent.pipe(takeUntil(this.onDestroy$)).pipe(throttleTime(4000));\n result.pipe(takeUntil(this.onDestroy$)).subscribe(x => {\n this.chatService.StartTyping(this.currentRoom.id, this.isMessagePrivate);\n });\n }\n ngOnDestroy(): void {\n this.onDestroy$.next(true);\n this.onDestroy$.complete();\n }\n\n ngOnInit(): void {\n\n this.userService.currentUser.pipe(\n takeUntil(this.onDestroy$)).subscribe(\n (user: User) => {\n this.currentUser = user;\n });\n \n this.messages = this.roomsService.currentRoomMessagesForClient.pipe(takeUntil(this.onDestroy$),map(messages=>{\n let mesgs= messages.filter(mess=>!(mess.msgType==MessageType.System && mess.author.id==this.currentUser.id))\n return mesgs;\n }\n ),);\n\n this.draftMessage = new Message();\n this.draftMessage.text = '';\n\n this.messagesService.newMessageNotification.pipe(takeUntil(this.onDestroy$)).subscribe((rez) => {\n this.ngZone.run(() => {\n var sound = new Howl({\n src: ['assets/audio/definite.mp3']\n });\n\n sound.play();\n });\n });\n\n this.roomsService.currentRoom.pipe(takeUntil(this.onDestroy$)).subscribe(\n (room: Room) => {\n this.currentRoom = room;\n this.currentRoom.name = this.currentRoom.name.substr(0, this.currentRoom.name.indexOf(\"/\"));\n });\n\n this.userService.currentUser.pipe(\n takeUntil(this.onDestroy$)).subscribe(\n (user: User) => {\n if (user != null) {\n this.currentUser = user;\n if (user.isMentor)\n this.isHidden = true;\n else\n this.isHidden = false;\n\n }\n else {\n this.currentUser = UserFactory.createEmptyUser();\n }\n });\n\n this.messages.pipe(\n takeUntil(this.onDestroy$)).subscribe(\n (messages: Array) => {\n this.ngZone.run(() => {\n setTimeout(() => {\n this.scrollToBottom();\n this.showChatColor = true;\n this.hideEndChatButton = false;\n });\n });\n\n\n this.messagesToPrint = new Array();\n messages.filter(m => m.msgType === MessageType.Default).forEach(item => {\n this.messagesToPrint.push(item);\n })\n });\n\n let intervalObservable = observableInterval(25000).pipe(takeWhile(() => !this.intervalStop))\n .subscribe(() => {\n \n console.log(25);\n //var getValue=this.messages.getValue();\n this.messages.pipe(take(1)).subscribe( (messages: Array) => {\n \n if(messages.length>0)\n {\n let msgFiltered = messages.filter(mess=>(mess.author.id!=this.currentUser.id \n && (mess.orgMsgType==MessageType.Default || mess.orgMsgType==MessageType.System)));\n if(msgFiltered.length===0)\n {\n this.sendPleaseWaitMessage(this.intervalMap.get(25));\n this.intervalStop=true;\n }else\n {\n this.intervalStop=true;\n }\n }\n });\n \n });\n\n let intervalObservable1 = observableInterval(60000).pipe(takeWhile(() => !this.intervalStop1))\n .subscribe(() => {\n \n console.log(60);\n //var getValue=this.messages.getValue();\n \n this.messages.pipe(take(1)).subscribe( (messages: Array) => {\n\n if(messages.length>0)\n {\n let msgFiltered = messages.filter(mess=>(mess.author.id!=this.currentUser.id \n && (mess.orgMsgType==MessageType.Default || mess.orgMsgType==MessageType.System)));\n if(msgFiltered.length===0)\n {\n \n this.sendPleaseWaitMessage(this.intervalMap.get(60));\n this.intervalStop1=true;\n }else\n {\n this.intervalStop1=true;\n }\n }\n \n });\n \n });\n\n\n let intervalObservable2 = observableInterval(180000).pipe(takeWhile(() => !this.intervalStop2))\n .subscribe(() => {\n \n console.log(180);\n //var getValue=this.messages.getValue();\n this.messages.pipe(take(1)).subscribe( (messages: Array) => {\n \n if(messages.length>0)\n {\n let msgFiltered = messages.filter(mess=>(mess.author.id!=this.currentUser.id \n && (mess.orgMsgType==MessageType.Default || mess.orgMsgType==MessageType.System)));\n if(msgFiltered.length===0)\n {\n \n this.sendPleaseWaitMessage(this.intervalMap.get(180));\n this.intervalStop2=true;\n }else\n {\n this.intervalStop2=true;\n }\n } \n \n });\n \n });\n\n\n this.userService.emailTransciptErr.pipe(takeUntil(this.onDestroy$)).subscribe(() => {\n window.alert(\"Email sending failed. Please make sure that the e-mail provided is valid.\");\n });\n\n this.userService.emailTranscriptSuccess.pipe(takeUntil(this.onDestroy$)).subscribe(() => {\n window.alert(\"Email has been sent. Please check your inbox for the email transcript.\");\n });\n\n this.messagesService.typingNotification.pipe(takeUntil(this.onDestroy$)).subscribe((usr) => {\n if (usr === null) return;\n if (this.typingUsrs.findIndex(s => s.name == usr.name) === -1) {\n\n this.typingUsrs.push(usr);\n clearTimeout(timer);\n var timer = setTimeout(() => {\n var index = this.typingUsrs.findIndex(s => s.name == usr.name);\n if (index !== -1) {\n this.typingUsrs.splice(index, 1);\n }\n }, 6000);\n\n }\n });\n\n\n\n this.messagesService.typingNotificationCancel.pipe(\n takeUntil(this.onDestroy$)).subscribe((usr) => {\n if (usr === null) return;\n var index = this.typingUsrs.findIndex(s => s.name == usr.name);\n if (index !== -1) {\n this.typingUsrs.splice(index, 1);\n }\n }); \n }\n\n addElementToObservableArray(item) {\n this.messageAttachments.pipe(take(1)).subscribe(val => {\n console.log(val)\n const newArr = [...val, item];\n this.messageAttachmentsArray=newArr;\n\n if(this.messageAttachmentsArray.length>0)\n this.hasMessageAttachments=true;\n else\n this.hasMessageAttachments=false;\n\n //this.changeDetector.markForCheck();\n this.messageAttachmentSubject.next(newArr);\n })\n }\n\n removeAllArray() {\n this.messageAttachments.pipe(take(1)).subscribe(val => {\n //const arr = this.messageAttachmentSubject.getValue()\n const newArr = [];\n this.messageAttachmentsArray=newArr;\n if(this.messageAttachmentsArray.length>0)\n this.hasMessageAttachments=true;\n else\n this.hasMessageAttachments=false;\n\n\n this.messageAttachmentSubject.next(newArr)\n })\n }\n\n removeElementToObservableArray(item) {\n this.messageAttachments.pipe(take(1)).subscribe(val => {\n const newArr = this.messageAttachmentSubject.getValue()\n newArr.splice(item, 1);\n\n this.messageAttachmentsArray=newArr;\n if(this.messageAttachmentsArray.length>0)\n this.hasMessageAttachments=true;\n else\n this.hasMessageAttachments=false;\n\n this.messageAttachmentSubject.next(newArr)\n })\n }\n\n uploadImage(event: any)\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n\n const dialogRef = this.dialog.open(ImageUploadModalComponent, {\n height: 'auto',\n width: '600px',\n data: {}\n });\n\n const subDialogRef = dialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(\n val => {\n if (val !== null && val != undefined && val) {\n if (val.length === 0) {\n return;\n }\n let fileToUpload = val;\n const formData = new FormData();\n var fileName=fileToUpload.name;\n\n formData.append('file', fileToUpload, uuid()+'.png');\n formData.append('roomId',this.currentRoom.id);\n formData.append('userId',this.currentUser.id);\n formData.append('fileName',fileName);\n //formData.append('roomId',this.currentRoom.id);\n \n this.mspinnerService.ShowSpinner();\n this.ticketService.uploadImage(formData)\n .subscribe(result => {\n this.mspinnerService.HideSpinner();\n if (!result.HasError) {\n var attachment=new MessageAttachment(\n {\n ImageId: result.ImageUrl,\n ImageUri: result.ImageUrl,\n ThumbnailUri: result.ThumbUrl,\n ContainerName:result.ContainerName,\n FileName:fileName,\n MessageId:'',\n UserId:this.currentUser.id\n });\n this.messageAttachmentsArray.push(attachment);\n this.sendMessage(this.textInput.nativeElement.value);\n }\n \n },\n error => {\n this.mspinnerService.HideSpinner();\n this.userService.clientTostrErrorNotification.next(\"Error while uploading the image to chat. Please refresh the page and try again.\");\n });\n \n } else if (val !== null && val != undefined && val == false) {\n \n } else {\n \n }\n }\n );\n dialogRef.disableClose = false;\n }\n\n sendPleaseWaitMessage(timePassed:string){\n let msg = messageFactory.createClientInitMessage(timePassed);\n msg.room = this.currentRoom;\n msg.author = JSON.parse(localStorage.getItem('currAuthor'));\n this.chatService.sendPleaseWaitMessage(msg);\n }\n\n getBackground(image) {\n return this.sanitizer.bypassSecurityTrustStyle(`url(${image})`);\n }\n\n onEnter(event: any): void {\n this.sendMessage(this.textInput.nativeElement.value);\n this.textInput.nativeElement.value = '';\n event.preventDefault();\n }\n\n onCloseChat(event: any): void {\n this.chatService.closeRoom(this.currentRoom);\n event.preventDefault();\n }\n\n sendMessage(value: string): void {\n if (value.match(/^\\s*$/) && this.messageAttachmentsArray.length==0) {\n return;\n }\n if (value == null && this.messageAttachmentsArray.length==0) return;\n if (value === '' && this.messageAttachmentsArray.length==0) return;\n if (value.length <= 0 && this.messageAttachmentsArray.length==0) return;\n value = value.replace(\"<\", \"< \");\n\n this.draftMessage = new Message();\n this.draftMessage.text = value;\n\n const m: Message = this.draftMessage;\n\n m.author = JSON.parse(localStorage.getItem('currAuthor'));\n if (this.nickName !== '')\n m.author.userName = this.nickName;\n\n m.msgType = MessageType.Default;\n\n m.room = this.currentRoom;\n m.room.roomStatus = 4;\n if (m.author.isMentor)\n m.room.roomStatus = 3;\n\n m.isRead = true;\n m.isPrivate = this.isMessagePrivate;\n m.sentAt = new Date();\n\n \n\n m.messageAttachments=this.messageAttachmentsArray;\n if(m.messageAttachments.length>0)\n {\n this.mspinnerService.ShowSpinner();\n from(m.messageAttachments).pipe(\n mergeMap(module => this.ticketService.downloadFile(module.ContainerName,module.ThumbnailUri).pipe(\n tap(apiResponse => {\n //let objectURL = URL.createObjectURL(apiResponse); \n //module.ThumbnailUriUrl = apiResponse;\n let objectURL = URL.createObjectURL(apiResponse); \n module.ThumbnailUriUrl = objectURL;\n })\n )),\n toArray()\n ).pipe(takeUntil(this.onDestroy$)).subscribe(allResponses => {\n this.mspinnerService.HideSpinner();\n console.log(allResponses);\n \n \n this.chatService.sendMessage(m);\n this.messageAttachmentsArray=[];\n this.draftMessage = new Message();\n this.draftMessage.text = \"\";\n setTimeout(() => {\n this.scrollToBottom();\n });\n },\n error => {\n this.mspinnerService.HideSpinner();\n this.userService.clientTostrErrorNotification.next(\"Error while trying to display the image. Please refresh the page and try again.\");\n });\n\n }else\n {\n this.chatService.sendMessage(m);\n this.draftMessage = new Message();\n this.draftMessage.text = \"\";\n this.messageAttachmentsArray=[];\n setTimeout(() => {\n this.scrollToBottom();\n });\n }\n }\n\n sendEmailTranscript() {\n this.chatService.SendEmailTranscript(this.currentUser, this.currentRoom);\n }\n\n copyToClipboard() {\n let textToCopy = '';\n this.messagesToPrint.forEach((item) => {\n\n if (item.author != null && item.author != undefined && item.text != null && item.text != undefined && item.msgType != 1){\n var userType = \" (user) \";\n if(item.author.isMentor)\n userType = \" (mentor) \";\n\n textToCopy += item.author.name + userType + this.datepipe.transform(item.sentAt, 'HH:mm:ss a | MMM dd') + \":\" + '\\n' + item.text + '\\n\\n';\n } \n })\n let selBox = document.createElement('textarea');\n selBox.style.position = 'fixed';\n selBox.style.left = '0';\n selBox.style.top = '0';\n selBox.style.opacity = '0';\n selBox.value = textToCopy;\n document.body.appendChild(selBox);\n selBox.focus();\n selBox.select();\n document.execCommand('copy');\n document.body.removeChild(selBox);\n }\n\n printTranscript(event: any) {\n let printContents, popupWin;\n printContents = document.getElementById('print-content').innerHTML;\n popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');\n popupWin.document.open();\n popupWin.document.write(`\n \n \n Chat Transcript\n \n ${printContents}\n `\n );\n popupWin.document.close();\n }\n\n uploadAttachment(event: any) {\n \n }\n\n SetMsgNickname(nickname: string) {\n this.nickName = nickname;\n }\n\n scrollToBottom(): void {\n const scrollPane: any = this.el\n .nativeElement.querySelector('.msg-container-base');\n if(scrollPane)\n scrollPane.scrollTop = scrollPane.scrollHeight;\n }\n\n SetMsgType(): void {\n this.isMessagePrivate = !this.isMessagePrivate;\n }\n\n SetLocalization() {\n var localeFromUrl = this.userService.getClientLanguageParam();\n var locale = this.localizationService.ValidateLocale(localeFromUrl);\n this.localLang = locale;\n\n this.localizationService.GetLocalizationData().pipe(takeUntil(this.onDestroy$)).subscribe(data => {\n this.pageTranslation = data[0][this.pageName][locale];\n this.pageTranslated.next(this.pageTranslation);\n },\n error => { console.log(error) }, () => { });\n }\n\n trackByMessageID(msg: any): string {\n return msg.id;\n }\n\n}\n","
\r\n
\r\n\r\n
\r\n\r\n
\r\n

\r\n {{message.author.name}} (user) | {{message.sentAt | date: 'HH:mm:ss a'}} | {{message.sentAt | date: 'MMM dd'}} : \r\n
\r\n {{message.text}}\r\n
\r\n

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

\r\n {{message.author.name}} (mentor) | {{message.sentAt | date: 'HH:mm:ss a'}} | {{message.sentAt | date: 'MMM dd'}} : \r\n
\r\n {{message.text}}\r\n
\r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
{{currentRoom.name}}
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n

{{pageTranslation.DisclaimerHeader}}

\r\n

{{pageTranslation.DisclaimerBody}}

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

{{typingUsrs | typing: localLang}}

\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\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';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { BehaviorSubject } from 'rxjs';\nimport { LocalizationService } from '../../service/localization.service';\nimport { UsersService } from '../../service/users.service';\n\n@Component({\n selector: 'app-client-feedback',\n templateUrl: './client-feedback.component.html',\n styleUrls: ['./client-feedback.component.css']\n})\nexport class ClientFeedbackComponent implements OnInit {\n private pageName = \"ClientFeedback\";\n public pageTranslation: any = \"\";\n public pageTranslated = new BehaviorSubject(\"\");\n constructor(private userService: UsersService, private router: Router, private activatedRoute: ActivatedRoute, private localizationService: LocalizationService) {\n this.SetLocalization();\n }\n\n ngOnInit() {\n }\n\n onSurveyClick(surveyUrl: any, event: any) {\n var isWidget = this.userService.getClientWidgetParameter();;\n\n if (isWidget == \"true\") {\n window.open(surveyUrl, \"_blank\");\n window.location.reload();\n } else {\n event.preventDefault();\n setTimeout(function(){\n }, 2000);\n window.location.assign(surveyUrl);\n }\n localStorage.removeItem('isWidget');\n }\n\n SetLocalization() {\n var localeFromUrl = this.userService.getClientLanguageParam();\n var locale = this.localizationService.ValidateLocale(localeFromUrl);\n\n this.localizationService.GetLocalizationData().subscribe(data => {\n this.pageTranslation = data[0][this.pageName][locale];\n this.pageTranslated.next(this.pageTranslation);\n },\n error => { console.log(error) }, () => { });\n }\n\n}\n","
\r\n\r\n

{{pageTranslation.AreYouHappy}}

\r\n\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \"Gold\r\n \r\n {{pageTranslation.GreatJob}}
\r\n \r\n \"Green\r\n \r\n {{pageTranslation.NicelyDone}}
\r\n \r\n \"Yellow\r\n \r\n {{pageTranslation.RoomForImprovement}}
\r\n \r\n \"Red\r\n \r\n {{pageTranslation.NeedToTalk}}
\r\n
\r\n

{{pageTranslation.ValuableFeedback}}
{{pageTranslation.ClickYourExperience}}

\r\n\r\n
\r\n","import { Component, OnInit, ChangeDetectorRef, AfterViewInit, Input } from '@angular/core';\nimport { UsersService } from '../../service/users.service';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { BehaviorSubject } from 'rxjs';\nimport { LocalizationService } from '../../service/localization.service';\n\n@Component({\n selector: 'app-client-not-found',\n templateUrl: './client-not-found.component.html',\n styleUrls: ['./client-not-found.component.css']\n})\nexport class ClientNotFoundComponent implements OnInit {\n @Input() data: any;\n\n errMsg: string = \"\";\n public clientIdParam: string; public clientTypeParam: string;\n private pageName = \"ClientNotFoundComponent\";\n public pageTranslation: any = \"\";\n public pageTranslated = new BehaviorSubject(\"\");\n public showTryAgain:boolean=true;\n constructor(private userService: UsersService, private ref: ChangeDetectorRef, private activatedRoute: ActivatedRoute, private localizationService: LocalizationService) {\n \n }\n\n ngAfterViewInit(){}\n\n initiateErrorMessageText(errMsg: string){\n if(errMsg == \"403\"){\n this.errMsg = this.pageTranslation.UserPendingActivation;\n }\n else if(errMsg == \"409\"){\n this.errMsg = this.pageTranslation.AccountBanned;\n }\n else if(errMsg == \"401\") {\n this.errMsg = this.pageTranslation.AccountNotFound;\n }\n else if(errMsg == \"400\"){\n this.errMsg = this.pageTranslation.ContactYourProvider;\n }\n else if(errMsg == \"406\"){\n this.errMsg = this.pageTranslation.B1NotFound;\n }\n else if(errMsg == \"502\") {\n this.errMsg = this.pageTranslation.IvalidURL;\n }\n else if(errMsg == \"412\") {\n this.errMsg = this.pageTranslation.UserExists;\n }\n else if(errMsg == \"410\") {\n this.errMsg = this.pageTranslation.InvalidVoucher;\n }\n else if(errMsg == \"failed\"){\n this.errMsg = this.pageTranslation.IvalidURL;\n }\n else if(errMsg == \"notifyMentors\"){\n this.showTryAgain=false;\n this.errMsg = this.pageTranslation.NotifyMentors;\n }\n else if(errMsg == \"notifyMentorsBell\"){\n this.showTryAgain=false;\n this.errMsg = this.pageTranslation.NotifyMentorsBell;\n }\n else if(errMsg == \"440\"){\n this.errMsg = this.pageTranslation.UserAlreadyInChat;\n }\n }\n\n ngOnInit() {\n this.SetLocalization();\n }\n\n SetLocalization() {\n var localeFromUrl = this.userService.getClientLanguageParam();\n var locale = this.localizationService.ValidateLocale(localeFromUrl);\n\n this.localizationService.GetLocalizationData().subscribe(dt => {\n this.pageTranslation = dt[0][this.pageName][locale];\n this.pageTranslated.next(this.pageTranslation);\n this.initiateErrorMessageText(this.data);\n },\n error => { console.log(error) }, () => { });\n }\n\n ReloadPage(){\n document.location.reload();\n }\n}\n","
\r\n
{{pageTranslation.SomethingWentWrong}}
\r\n
\r\n\r\n

\r\n \r\n {{pageTranslation.PleaseTryAgain}} {{pageTranslation.Here}}\r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n","import { Component, OnInit, ChangeDetectorRef, AfterViewInit, Input, OnDestroy, Inject } from '@angular/core';\nimport { UsersService } from '../../service/users.service';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { BehaviorSubject, ReplaySubject } from 'rxjs';\nimport { LocalizationService } from '../../service/localization.service';\nimport { MatLegacyTableDataSource as MatTableDataSource } from \"@angular/material/legacy-table\";\nimport { MatLegacyPaginator as MatPaginator } from \"@angular/material/legacy-paginator\";\nimport { TicketService } from '../../service/ticket.service';\nimport { MentorSpinnerService } from '../../service/mentorspinner.service';\nimport { takeUntil } from 'rxjs/operators';\nimport { User } from '../../model/user';\nimport { ChatService } from '../../service/chatservice';\nimport { Ticket } from '../../model/ticket';\nimport {\n MatLegacyDialog as MatDialog,\n MatLegacyDialogConfig as MatDialogConfig,\n MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA,\n MatLegacyDialogRef as MatDialogRef\n} from \"@angular/material/legacy-dialog\";\n\n\n@Component({\n selector: 'app-previous-ticket',\n templateUrl: './client-previous-ticket.component.html',\n styleUrls: ['./client-previous-ticket.component.css']\n})\nexport class ClientPreviousTicketComponent implements OnInit, OnDestroy {\n @Input() data: any;\n\n errMsg: string = \"\";\n public clientIdParam: string; public clientTypeParam: string;\n private pageName = \"ClientPreviousTicketComponent\";\n public pageTranslation: any = \"\";\n public pageTranslated = new BehaviorSubject(false);\n public showTryAgain: boolean = true;\n displayedColumns = [\"ParentTicketNumber\", \"Title\", \"CreatedDateStr\", \"Select\"];\n displayedColumnsTelco = [\"Title\", \"CreatedDateStr\", \"Select\"];\n dataSource: any;\n currentUser: User;\n displayColumns: string = \"\";\n private onDestroy$: ReplaySubject = new ReplaySubject(1);\n constructor(private userService: UsersService, private ref: ChangeDetectorRef, private activatedRoute: ActivatedRoute, private localizationService: LocalizationService,\n private mspinnerService: MentorSpinnerService, private ticketService: TicketService, public chatService: ChatService,\n @Inject(MAT_DIALOG_DATA) data, private dialog: MatDialog, private dialogRef: MatDialogRef) {\n\n this.dataSource = new MatTableDataSource(data.ticketsArray);\n switch (this.userService.getClientTypeParam()) {\n case \"Telco\":\n this.displayColumns = \"telco\";\n break;\n case \"Msp\":\n this.displayColumns = \"msp\";\n break;\n case \"Edu\":\n this.displayColumns = \"telco\";\n break;\n\n }\n\n if (this.displayColumns == \"telco\") {\n this.displayedColumns = this.displayedColumnsTelco;\n }\n\n }\n ngOnDestroy(): void {\n this.onDestroy$.next(true);\n this.onDestroy$.complete();\n }\n\n ngAfterViewInit() { }\n\n ngOnInit() {\n this.SetLocalization();\n this.userService.currentUser.pipe(\n takeUntil(this.onDestroy$)).subscribe(\n (user: User) => {\n this.currentUser = user;\n });\n }\n\n SetLocalization() {\n \n }\n\n ContinueToChat() {\n this.chatService.connectToSignalR();\n }\n\n AssociateChat() {\n this.mspinnerService.ShowSpinner();\n\n const subGetTicketByUserPerMonth = this.ticketService.getTicketsByContact(this.currentUser.id,10)\n .subscribe((data: []) => {\n this.dataSource = new MatTableDataSource(data);\n this.mspinnerService.HideSpinner();\n });\n }\n\n clickedTicket(ticket: Ticket) {\n localStorage.setItem('previousTicketId', ticket.TicketNumber);\n this.chatService.connectToSignalR();\n this.dialogRef.close(true);\n }\n\n close() {\n this.dialogRef.close(false);\n }\n\n}\n","\n \n\n\n
\n\n \n \n\n \n TIcket Number \n {{element.ParentTicketNumber}} \n \n\n \n Ticket Title \n {{element.Title}} \n \n\n \n Date Created \n {{element.CreatedDateStr}} \n \n\n \n Action \n \n \n \n \n\n \n \n \n\n
","\nimport { concatMap, switchMap, take, takeUntil } from 'rxjs/operators';\nimport {\n Component,\n OnInit,\n ViewChild,\n ViewContainerRef,\n Input,\n OnDestroy,\n ComponentFactoryResolver\n} from '@angular/core';\n\n\nimport {\n ComponentItem\n} from '../home/chat-panel/componentItem';\nimport {\n RegisterChatBellComponent\n} from './register-chat-bell/register-chat-bell.component';\nimport {\n RegisterUserBellComponent\n} from './register-user-bell/register-user-bell.component';\nimport {\n RegisterChatTtiComponent\n} from './register-chat-tti/register-chat-tti.component';\nimport {\n IComponentHolder\n} from '../home/chat-panel/IComponentHolder';\nimport {\n CompHolderDirective\n} from '../home/chat-panel/comp-holder.directive';\nimport {\n UsersService\n} from '../service/users.service';\nimport {\n AlertService\n} from '../service/alert.service';\nimport {\n Router\n} from '@angular/router';\nimport {\n ChatWindowComponent\n} from '../home/chat-window/chat-window.component';\nimport {\n User\n} from '../model/user';\nimport {\n ChatService\n} from '../service/chatservice';\nimport {\n AuthenticationService\n} from '../service/authentication.service';\nimport {\n MessagesService\n} from '../service/messages.service';\nimport {\n Message\n} from '../model/message.model';\nimport {\n DecryptedUserInfo\n} from '../model/decryptedUserInfo.model';\nimport { RegisterChatEduModel } from '../model/registerChatEduModel';\nimport {\n messageFactory\n} from '../model/messageFactory';\nimport {\n RoomsService\n} from '../service/rooms.service';\nimport {\n Room\n} from '../model/room.model';\nimport {\n ClientFeedbackComponent\n} from './client-feedback/client-feedback.component';\nimport {\n ActivatedRoute,\n Params\n} from '@angular/router';\nimport {\n ClientWindowComponent\n} from '../client-window/client-window.component';\nimport {\n RegisterChatMspComponent\n} from './register-chat-msp/register-chat-msp.component';\nimport {\n RegisterUserMspComponent\n} from './register-user-msp/register-user-msp.component';\nimport {\n RegisterChatEduComponent\n} from './register-chat-edu/register-chat-edu.component';\nimport {\n RegisterUserEduComponent\n} from './register-user-edu/register-user-edu.component';\nimport {\n ClientNotFoundComponent\n} from './client-not-found/client-not-found.component';\n\nimport { MentorSpinnerService } from '../service/mentorspinner.service';\nimport { Observable, Subject, BehaviorSubject, ReplaySubject } from 'rxjs';\n// import { ToastsManager } from 'ng2-toastr/ng2-toastr';\nimport { ToastrService } from 'ngx-toastr';\nimport { ChatPersonalizationFactory } from '../model/ChatPersonalizationFactory';\nimport { UntypedFormGroup, FormBuilder, UntypedFormControl, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { ErrorLogService } from '../service/error-log.service';\nimport { ClientPreviousTicketComponent } from './client-previous-ticket/client-previous-ticket.component';\nimport { ConfirmComponent } from '../home/confirm/confirm.component';\nimport { MatLegacyDialog as MatDialog, MatLegacyDialogConfig as MatDialogConfig } from \"@angular/material/legacy-dialog\";\nimport { TicketService } from '../service/ticket.service';\nimport { AdminService } from '../service/admin.service';\nimport { MaintenanceMode } from '../model/maintenancemode.model';\nimport { RegisterChatMspModel } from '../model/registerChatMspModel';\n\n@Component({\n selector: 'app-client',\n templateUrl: './client.component.html',\n styleUrls: ['./client.component.css']\n})\n\n\nexport class ClientComponent implements OnInit, OnDestroy {\n private onDestroy$: ReplaySubject = new ReplaySubject(1);\n currentComponent = null;\n data: any;\n email: any;\n user: any;\n registerComponents: ComponentItem[];\n currentUser: User;\n currentRoom: Room;\n public connectedParam: boolean;\n public clientIdParam: number;\n public clientLanguageParam: string;\n public isWidget: boolean = false;\n\n @ViewChild(CompHolderDirective, { static: true }) adHost: CompHolderDirective;\n\n REGISTER_BELL_CHAT: number = 0;\n REGISTER_BELL_USER: number = 1;\n CHAT: number = 2;\n FEEDBACK: number = 3;\n REGISTER_MSP_CHAT: number = 4;\n REGISTER_MSP_USER: number = 5;\n CLIENT_NOT_FOUND: number = 6;\n REGISTER_EDU_CHAT: number = 7;\n REGISTER_EDU_USER: number = 8;\n REGISTER_TTI_USER: number = 9;\n MAINTENANCE_MODE: number = 10;\n PREVIOUS_TICKET: number = 10;\n\n CONST_MSP_GROUPID : number = 2;\n CONST_TELCO_GROUPID : number = 3;\n CONST_EDU_GROUPID : number = 4;\n\n MINUTES_UNTIL_AUTO_LOGOUT = 60 // in mins\n CHECK_INTERVAL = 1000 // in ms\n STORE_KEY = 'lastAction';\n emailPattern = \"[a-zA-Z0-9.-_-]{1,}@[0-9a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}\";\n maintenanceMode: MaintenanceMode;\n ConnectedToChat: Subject = new Subject();\n\n constructor(\n private mspinnerService: MentorSpinnerService,\n private spinnerService: NgxSpinnerService,\n public viewContainerRef: ViewContainerRef,\n private activatedRoute: ActivatedRoute,\n private componentFactoryResolver: ComponentFactoryResolver,\n private userService: UsersService,\n private msgService: MessagesService,\n private alertService: AlertService,\n private router: Router,\n private authenticationService: AuthenticationService,\n public chatService: ChatService,\n public messageService: MessagesService,\n public toastr: ToastrService,\n private errorService: ErrorLogService,\n private dialog: MatDialog,\n private ticketService: TicketService,\n public roomService: RoomsService,\n public adminService: AdminService ) {\n\n // this.toastr.setRootViewContainerRef(viewContainerRef);\n userService.urlReferer = document.referrer;\n\n let val = this.activatedRoute.snapshot.queryParams[\"val\"];\n if (val != undefined) {\n this.decryptTTIQueryParams(val);\n }\n else\n this.decryptQueryParams();\n\n this.userService.GetChatPersonalization(parseInt(this.userService.getClientIdParam()), this.userService.getClientTypeParam()).pipe(takeUntil(this.onDestroy$))\n .subscribe((data: any) => {\n let cp = ChatPersonalizationFactory.create(data);\n this.userService.cpSubject.next(cp);\n });\n\n this.userService.currentUser.pipe(\n takeUntil(this.onDestroy$)).subscribe(\n (user: User) => {\n this.currentUser = user;\n });\n\n this.getCurrentUser();\n\n this.chatService.ClientWindowInitialized.pipe(takeUntil(this.onDestroy$)).subscribe(\n (isInit: boolean) => {\n this.loadComponent(this.CHAT);\n });\n\n\n this.chatService.UserChatInitialized.pipe(takeUntil(this.onDestroy$)).subscribe(\n (isInit: boolean) => {\n\n this.messageService.clientInitMessage.pipe(takeUntil(this.onDestroy$)).subscribe((messageText: string) => {\n if (messageText.length <= 0) {\n errorService.logError('Init message is empty.');\n return;\n }\n let msg = messageFactory.createClientInitMessage(messageText);\n msg.room = this.currentRoom;\n msg.author = JSON.parse(localStorage.getItem('currAuthor'));\n localStorage.removeItem(\"clientInitMessage\")\n this.chatService.sendInitMessage(msg);\n });\n\n this.messageService.eduSendClassNameMessage.pipe(takeUntil(this.onDestroy$)).subscribe((messageText: string) => {\n if (messageText.length <= 0) {\n errorService.logError('Edu Init message is empty.');\n return;\n }\n let msg = messageFactory.createClientInitMessage(messageText);\n msg.room = this.currentRoom;\n msg.author = JSON.parse(localStorage.getItem('currAuthor'));\n this.chatService.sendCourseNameMessage(msg);\n });\n\n this.messageService.sendHostNameMessage.pipe(takeUntil(this.onDestroy$)).subscribe((messageText: string) => {\n\n if (messageText.length <= 0) return;\n let msg = messageFactory.createClientInitMessage(messageText);\n msg.room = this.currentRoom;\n msg.author = JSON.parse(localStorage.getItem('currAuthor'));\n this.chatService.sendHostNameMessage(msg);\n });\n });\n\n\n this.chatService.UserLeftRoom.pipe(takeUntil(this.onDestroy$)).subscribe(() => {\n\n //NOTE: refactor feedback, this should be removed!\n this.TempLogout();\n\n localStorage.setItem(\"isConnected\", \"false\");\n });\n\n this.roomService.currentRoom.pipe(takeUntil(this.onDestroy$)).subscribe(\n (room: Room) => {\n this.currentRoom = room;\n });\n\n this.userService.registeredUserData.pipe(takeUntil(this.onDestroy$)).subscribe(data => {\n\n if (!data) {\n\n switch (this.userService.getClientTypeParam()) {\n case \"Telco\":\n this.loadComponent(this.REGISTER_BELL_USER);\n break;\n case \"Msp\":\n this.loadComponent(this.REGISTER_MSP_USER);\n break;\n case \"Edu\":\n this.loadComponent(this.REGISTER_EDU_USER);\n break;\n case \"Guest\":\n this.loadComponent(this.REGISTER_TTI_USER)\n break;\n }\n this.spinnerService.hide();\n } else {\n if (localStorage.getItem('BearerToken') != '' && localStorage.getItem('BearerToken') != null) {\n //this.chatService.connectToSignalR();\n let currUser = JSON.parse(localStorage.getItem('currentUser'));\n this.userService.currentUser.next(currUser);\n this.ConnectedToChat.next(true);\n }\n else\n this.authenticationService.login(data.email, \"\")\n .subscribe(\n data1 => {\n localStorage.setItem(\"isConnected\", \"true\");\n //this.chatService.connectToSignalR();\n let currUser = JSON.parse(localStorage.getItem('currentUser'));\n this.userService.currentUser.next(currUser);\n this.ConnectedToChat.next(true);\n\n },\n error => {\n this.loadComponent(this.CLIENT_NOT_FOUND);\n localStorage.setItem(\"isConnected\", \"false\");\n\n });\n }\n });\n\n this.chatService.ShowSurveyFlag.pipe(takeUntil(this.onDestroy$)).subscribe(() => {\n this.TempLogout();\n localStorage.setItem(\"isConnected\", \"false\");\n });\n\n\n this.mspinnerService.spinnerState.pipe(takeUntil(this.onDestroy$)).subscribe(val => {\n if (val == true)\n this.spinnerService.show();\n else\n this.spinnerService.hide();\n });\n\n\n }\n\n getCurrentUser(): void {\n if (localStorage.getItem('currentUser')) {\n let currUser = JSON.parse(localStorage.getItem('currentUser'));\n this.userService.currentUser.next(currUser);\n }\n\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next(true);\n this.onDestroy$.complete();\n }\n\n private TempLogout() {\n\n switch (this.userService.getClientTypeParam()) {\n case \"Telco\":\n this.loadComponent(this.REGISTER_BELL_CHAT);\n break;\n case \"Msp\":\n this.loadComponent(this.REGISTER_MSP_CHAT);\n break;\n case \"Edu\":\n this.loadComponent(this.REGISTER_EDU_CHAT);\n break;\n case \"Guest\":\n this.loadComponent(this.REGISTER_TTI_USER)\n break;\n }\n this.authenticationService.logout();\n location.reload();\n }\n\n ngOnInit() {\n this.InitComponents();\n\n\n this.userService.clientNotFound.pipe(takeUntil(this.onDestroy$)).subscribe((errMsg) => {\n this.loadComponentWithData(this.CLIENT_NOT_FOUND, errMsg);\n });\n\n this.ConnectedToChat.pipe(takeUntil(this.onDestroy$),\n concatMap(()=> {\n this.mspinnerService.ShowSpinner();\n localStorage.removeItem(\"delayCurrentLogin\");\n localStorage.setItem('previousTicketOpen', 'true');\n return this.ticketService.getTicketsByContact(this.currentUser.id, 10);})).subscribe((data: []) => {\n\n this.mspinnerService.HideSpinner();\n if (localStorage.getItem('previousTicketOpen'))\n {\n if (data && data.length > 0) {\n \n this.spinnerService.hide();\n this.openConfirmDialog();\n } else\n this.chatService.connectToSignalR();\n }\n \n });\n \n\n if (this.activatedRoute.snapshot.queryParams[\"val\"] === undefined)\n this.Hangout();\n\n this.initListener();\n this.initInterval();\n\n this.userService.clientTostrSuccessNotification.pipe(takeUntil(this.onDestroy$))\n .subscribe((notificationText: string) => {\n this.toastr.success(notificationText, null, { timeOut: 8000 });\n });\n\n this.userService.clientTostrErrorNotification.pipe(takeUntil(this.onDestroy$))\n .subscribe((notificationText: string) => {\n this.toastr.error(notificationText, null, { timeOut: 8000 });\n });\n }\n\n openPreviousTicketDialog() {\n\n this.mspinnerService.ShowSpinner();\n\n this.ticketService.getTicketsByContact(this.currentUser.id, 10)\n .pipe(takeUntil(this.onDestroy$)).subscribe((data: []) => {\n\n var sliceNumber = 10;\n if (data.length < 10)\n sliceNumber = data.length;\n\n var lastFive = data.slice(0, sliceNumber);\n const dialogConfig = new MatDialogConfig();\n dialogConfig.autoFocus = true;\n\n dialogConfig.data = {\n ticketsArray: lastFive,\n userId: this.currentUser.id\n };\n\n dialogConfig.height = '600px';\n dialogConfig.width = '800px';\n dialogConfig.disableClose = true;\n this.mspinnerService.HideSpinner();\n\n const dialogRef = this.dialog.open(ClientPreviousTicketComponent, dialogConfig);\n\n const subDialogRef = dialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(\n val => {\n if (val !== null && val != undefined && val) {\n\n } else if (val !== null && val != undefined && val == false) {\n this.chatService.connectToSignalR();\n } else {\n this.chatService.connectToSignalR();\n }\n });\n dialogRef.disableClose = false;\n });\n\n }\n\n openConfirmDialog() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = false;\n dialogConfig.autoFocus = true;\n\n const dialogRef = this.dialog.open(ConfirmComponent, {\n height: '250px',\n width: '400px',\n data: { warningMessage: \"Is this chat session related to a previous one?\", showCancelButton: false }\n });\n\n const subDialogRef = dialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(\n val => {\n if (val !== null && val != undefined && val) {\n this.openPreviousTicketDialog();\n } else if (val !== null && val != undefined && val == false) {\n this.chatService.connectToSignalR();\n } else {\n this.chatService.connectToSignalR();\n }\n }\n );\n dialogRef.disableClose = false;\n }\n\n\n decryptTTIQueryParams(val: string): void {\n\n let clientTtiId = this.activatedRoute.snapshot.queryParams[\"id\"];\n localStorage.setItem(\"clientId\", clientTtiId);\n localStorage.setItem(\"clientLanguageParam\", this.activatedRoute.snapshot.queryParams[\"lang\"]);\n localStorage.setItem(\"isWidget\", JSON.stringify(this.isWidget));\n localStorage.setItem(\"clientType\", \"TTI\");\n\n this.userService.decryptUrlParam(val, clientTtiId).subscribe(item => {\n localStorage.setItem(\"ttiEmail\", item.Email);\n localStorage.setItem(\"ttiFirstName\", item.FirstName);\n localStorage.setItem(\"ttiLastName\", item.LastName);\n localStorage.setItem(\"ttiMessage\", item.Message);\n\n this.Hangout();\n\n }),\n error => {\n this.loadComponentWithData(this.CLIENT_NOT_FOUND, 'failed');\n };\n }\n\n decryptQueryParams(): void {\n try {\n let clientType = atob(this.activatedRoute.snapshot.queryParams[\"clientType\"]);\n let clientId = parseInt(atob(this.activatedRoute.snapshot.queryParams[\"clientId\"]));\n\n this.clientLanguageParam = \"en\";\n if (this.activatedRoute.snapshot.queryParams[\"lang\"] != undefined)\n this.clientLanguageParam = atob(this.activatedRoute.snapshot.queryParams[\"lang\"]);\n\n this.isWidget = false;\n if (this.activatedRoute.snapshot.queryParams[\"isWidget\"] != undefined)\n this.isWidget = (atob(this.activatedRoute.snapshot.queryParams[\"isWidget\"]) == \"true\");\n\n localStorage.setItem(\"clientLanguageParam\", this.clientLanguageParam);\n localStorage.setItem(\"isWidget\", JSON.stringify(this.isWidget));\n localStorage.setItem(\"clientType\", clientType);\n localStorage.setItem(\"clientId\", JSON.stringify(clientId));\n\n }\n catch (err) {\n this.loadComponentWithData(this.CLIENT_NOT_FOUND, 'failed');\n }\n }\n\n decryptEduRegistrationForm(): RegisterChatEduModel {\n\n var retModel = new RegisterChatEduModel();\n retModel.isUrlCreated = false;\n\n try {\n\n if (this.activatedRoute.snapshot.queryParams[\"email\"] != undefined)\n retModel.email = this.activatedRoute.snapshot.queryParams[\"email\"];\n\n if (this.activatedRoute.snapshot.queryParams[\"firstName\"] != undefined)\n retModel.firstName = this.activatedRoute.snapshot.queryParams[\"firstName\"];\n\n if (this.activatedRoute.snapshot.queryParams[\"lastName\"] != undefined)\n retModel.lastName = this.activatedRoute.snapshot.queryParams[\"lastName\"];\n\n if (this.activatedRoute.snapshot.queryParams[\"courseName\"] != undefined)\n retModel.courseName = this.activatedRoute.snapshot.queryParams[\"courseName\"];\n\n if (this.activatedRoute.snapshot.queryParams[\"message\"] != undefined)\n retModel.message = this.activatedRoute.snapshot.queryParams[\"message\"];\n\n if (retModel.firstName != undefined && retModel.lastName != undefined && retModel.email != undefined\n && retModel.message != undefined) {\n retModel.isUrlCreated = true;\n } else {\n return retModel;\n }\n\n\n var newform = new UntypedFormGroup({\n firstName: new UntypedFormControl(retModel.firstName, Validators.required),\n lastName: new UntypedFormControl(retModel.lastName, Validators.required),\n courseName: new UntypedFormControl(retModel.courseName),\n email: new UntypedFormControl(retModel.email, Validators.compose([\n Validators.required,\n Validators.pattern(this.emailPattern)\n ])),\n message: new UntypedFormControl(retModel.message, [Validators.required, this.noWhitespaceValidator]),\n isAtDown: new UntypedFormControl(false)\n });\n\n if (!newform.valid) {\n retModel.isUrlCreated = false;\n }\n\n }\n catch (err) {\n\n }\n\n return retModel;\n }\n\n\n decryptMspRegistrationForm(): RegisterChatMspModel {\n\n var retModel = new RegisterChatMspModel();\n retModel.isUrlCreated = false;\n\n try {\n\n if (this.activatedRoute.snapshot.queryParams[\"email\"] != undefined)\n retModel.email = this.activatedRoute.snapshot.queryParams[\"email\"];\n\n if (this.activatedRoute.snapshot.queryParams[\"firstName\"] != undefined)\n retModel.firstName = this.activatedRoute.snapshot.queryParams[\"firstName\"];\n\n if (this.activatedRoute.snapshot.queryParams[\"lastName\"] != undefined)\n retModel.lastName = this.activatedRoute.snapshot.queryParams[\"lastName\"];\n\n if (this.activatedRoute.snapshot.queryParams[\"hostName\"] != undefined)\n retModel.hostName = this.activatedRoute.snapshot.queryParams[\"hostName\"];\n\n if (this.activatedRoute.snapshot.queryParams[\"message\"] != undefined)\n retModel.message = this.activatedRoute.snapshot.queryParams[\"message\"];\n\n if (retModel.firstName != undefined && retModel.lastName != undefined && retModel.email != undefined\n && retModel.message != undefined) {\n retModel.isUrlCreated = true;\n } else {\n return retModel;\n }\n\n\n var newform = new UntypedFormGroup({\n firstName: new UntypedFormControl(retModel.firstName, Validators.required),\n lastName: new UntypedFormControl(retModel.lastName, Validators.required),\n courseName: new UntypedFormControl(retModel.hostName),\n email: new UntypedFormControl(retModel.email, Validators.compose([\n Validators.required,\n Validators.pattern(this.emailPattern)\n ])),\n message: new UntypedFormControl(retModel.message, [Validators.required, this.noWhitespaceValidator]),\n isAtDown: new UntypedFormControl(false)\n });\n\n if (!newform.valid) {\n retModel.isUrlCreated = false;\n }\n\n }\n catch (err) {\n\n }\n\n return retModel;\n }\n\n private Hangout(): void {\n\n if (JSON.parse(localStorage.getItem('isConnected'))) {\n\n if (localStorage.getItem('previousTicketOpen'))\n this.ConnectedToChat.next(true);\n else\n this.chatService.connectToSignalR();\n\n if(localStorage.getItem(\"clientInitMessage\"))\n this.messageService.clientInitMessage.next(localStorage.getItem(\"clientInitMessage\"));\n\n return;\n }\n\n switch (this.userService.getClientTypeParam()) {\n case \"Telco\":\n this.adminService.CheckIfMaintenanceModeIsEnabled(this.CONST_TELCO_GROUPID).subscribe(\n data => {\n this.maintenanceMode = data[0];\n if (this.maintenanceMode.loginAllowed) {\n this.loadComponent(this.REGISTER_BELL_CHAT);\n } else {\n this.router.navigate(['/maintenance'], { queryParams: { q: this.CONST_TELCO_GROUPID }});\n }\n });\n break;\n\n case \"Msp\":\n\n var mspModel = this.decryptMspRegistrationForm();\n\n if (mspModel.isUrlCreated) {\n this.registerMspUser(mspModel);\n break;\n }else\n {\n this.adminService.CheckIfMaintenanceModeIsEnabled(this.CONST_MSP_GROUPID).subscribe(\n data => {\n this.maintenanceMode = data[0];\n if (this.maintenanceMode.loginAllowed) {\n this.loadComponent(this.REGISTER_MSP_CHAT);\n } else {\n this.router.navigate(['/maintenance'], { queryParams: { q: this.CONST_MSP_GROUPID }});\n }\n });\n break;\n }\n\n case \"Edu\":\n var eduModel = this.decryptEduRegistrationForm();\n\n if (eduModel.isUrlCreated) {\n this.registerEduUser(eduModel);\n break;\n }\n else {\n this.adminService.CheckIfMaintenanceModeIsEnabled(this.CONST_EDU_GROUPID).subscribe(\n data => {\n this.maintenanceMode = data[0];\n if (this.maintenanceMode.loginAllowed) {\n this.loadComponent(this.REGISTER_EDU_CHAT);\n } else {\n this.router.navigate(['/maintenance'], { queryParams: { q: this.CONST_EDU_GROUPID }});\n }\n });\n\n break;\n }\n\n\n case \"Guest\":\n this.loadComponent(this.REGISTER_TTI_USER)\n break;\n case \"TTI\":\n\n let decrUserInfo = new DecryptedUserInfo(localStorage.getItem('ttiEmail'),\n localStorage.getItem('ttiFirstName'),\n localStorage.getItem('ttiLastName'),\n localStorage.getItem('ttiMessage'));\n\n this.userService.RegisterToChatGuest(new User(decrUserInfo)).subscribe(\n data => {\n this.userService.checkUser(decrUserInfo);\n this.messageService.clientInitMessage.next(decrUserInfo.message);\n }\n ,\n error => {\n this.spinnerService.hide();\n\n if (error.status == 404 || error.status == 417) {\n this.userService.checkUser(this.data);\n }\n else {\n this.userService.UserNotFound(error.status.toString());\n return;\n }\n\n });\n\n break;\n }\n }\n\n private InitComponents(): void {\n this.registerComponents = [\n new ComponentItem(RegisterChatBellComponent, {\n title: \"Register to chat\"\n }),\n new ComponentItem(RegisterUserBellComponent, {\n title: \"Register user\"\n }),\n new ComponentItem(ClientWindowComponent, {\n title: \"Chat\"\n }),\n new ComponentItem(ClientFeedbackComponent, {\n title: \"Feedback\"\n }),\n new ComponentItem(RegisterChatMspComponent, {\n title: \"Register to MSP chat\"\n }),\n new ComponentItem(RegisterUserMspComponent, {\n title: \"Register MSP user\"\n }),\n new ComponentItem(ClientNotFoundComponent, {\n title: \"ClientNotFoundMessage\"\n }),\n new ComponentItem(RegisterChatEduComponent, {\n title: \"Register to EDU chat\"\n }),\n new ComponentItem(RegisterUserEduComponent, {\n title: \"Register EDU user\"\n }),\n new ComponentItem(RegisterChatTtiComponent, {\n title: \"Register Tti user\"\n })\n ];\n }\n\n registerMspUser(mspModel: RegisterChatMspModel) {\n var usrModel = new User();\n usrModel.firstName = mspModel.firstName;\n usrModel.lastName = mspModel.lastName;\n usrModel.email = mspModel.email;\n usrModel.message = mspModel.message;\n\n this.userService.RegisterToChatMsp(usrModel)\n .subscribe(\n data => {\n\n this.router.navigate([], {\n queryParams: {\n 'firstName': null,\n 'lastName': null,\n 'hostName': null,\n 'email': null,\n 'message': null,\n },\n queryParamsHandling: 'merge'\n });\n\n this.alertService.success('User exists', true);\n this.data = true;\n this.userService.checkUser(mspModel);\n\n this.msgService.clientInitMessage.next(mspModel.message);\n\n if (mspModel.hostName)\n this.msgService.sendHostNameMessage.next(mspModel.hostName);\n },\n error => {\n this.mspinnerService.HideSpinner();\n if (error.status == 404) {\n this.alertService.error(\"User not found!\");\n this.data = false;\n }\n else {\n this.userService.UserNotFound(error.status.toString());\n return;\n }\n\n });\n\n\n }\n\n registerEduUser(eduModel: RegisterChatEduModel) {\n var usrModel = new User();\n usrModel.firstName = eduModel.firstName;\n usrModel.lastName = eduModel.lastName;\n usrModel.email = eduModel.email;\n usrModel.message = eduModel.message;\n\n this.userService.RegisterToChat(usrModel)\n .subscribe(\n data => {\n\n this.router.navigate([], {\n queryParams: {\n 'firstName': null,\n 'lastName': null,\n 'courseName': null,\n 'email': null,\n 'message': null,\n },\n queryParamsHandling: 'merge'\n });\n\n this.alertService.success('User exists', true);\n this.data = true;\n this.userService.checkUser(eduModel);\n\n this.msgService.clientInitMessage.next(eduModel.message);\n\n if (eduModel.courseName)\n this.msgService.eduSendClassNameMessage.next(eduModel.courseName);\n },\n error => {\n this.mspinnerService.HideSpinner();\n if (error.status == 404) {\n this.alertService.error(\"User not found!\");\n this.data = false;\n }\n else {\n this.userService.UserNotFound(error.status.toString());\n return;\n }\n\n });\n\n\n }\n\n loadComponent(currentAdIndex: number) {\n let componentItem = this.registerComponents[currentAdIndex];\n let componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentItem.component);\n let viewContainerRef = this.adHost.viewContainerRef;\n viewContainerRef.clear();\n let componentRef = viewContainerRef.createComponent(componentFactory);\n (componentRef.instance).data = componentItem.data;\n\n // if(currentAdIndex==7)\n // {\n // var eduModel=this.decryptEduRegistrationForm();\n // componentRef.instance.componentData = eduModel;\n // }\n\n }\n\n loadComponentWithData(currentAdIndex: number, data: string) {\n let componentItem = this.registerComponents[currentAdIndex];\n let componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentItem.component);\n let viewContainerRef = this.adHost.viewContainerRef;\n viewContainerRef.clear();\n let componentRef = viewContainerRef.createComponent(componentFactory);\n (componentRef.instance).data = data;\n }\n\n initListener() {\n document.body.addEventListener('click', () => this.reset());\n document.body.addEventListener('mouseover', () => this.reset());\n document.body.addEventListener('mouseout', () => this.reset());\n document.body.addEventListener('keydown', () => this.reset());\n document.body.addEventListener('keyup', () => this.reset());\n document.body.addEventListener('keypress', () => this.reset());\n }\n\n reset() {\n this.setLastAction(Date.now());\n }\n\n setLastAction(lastAction: number) {\n localStorage.setItem(this.STORE_KEY, lastAction.toString());\n }\n\n getLastAction() {\n return parseInt(localStorage.getItem(this.STORE_KEY));\n }\n\n initInterval() {\n setInterval(() => {\n this.check();\n }, this.CHECK_INTERVAL);\n }\n\n check() {\n const now = Date.now();\n const timeleft = this.getLastAction() + (this.MINUTES_UNTIL_AUTO_LOGOUT * 60 * 1000);\n const diff = timeleft - now;\n const isTimeout = diff < 0;\n\n if (localStorage.getItem('currentUser') && isTimeout) {\n\n localStorage.removeItem('lastAction');\n this.chatService.closeRoom(this.currentRoom);\n this.chatService.LogOut();\n alert(\"Your session has expired due to inactivity!\");\n }\n\n }\n\n public noWhitespaceValidator(control: UntypedFormControl) {\n const isWhitespace = (control.value || '').trim().length === 0;\n const isValid = !isWhitespace;\n return isValid ? null : {\n 'whitespace': true\n };\n }\n}\n","
\n \n \n
\n\n","\nimport { takeUntil} from 'rxjs/operators';\nimport { AfterViewInit, Component, OnInit, OnDestroy, Input, Injector, ViewChild, ViewContainerRef } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Observable , BehaviorSubject, ReplaySubject,combineLatest, of } from 'rxjs';\nimport { RegisterProcessComponent } from '../register-process';\nimport { AlertService } from '../../service/alert.service';\nimport { UsersService } from '../../service/users.service';\nimport { MappingFields } from '../../model/MappingFields.model';\nimport { UntypedFormGroup, UntypedFormBuilder, UntypedFormControl, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { User } from '../../model/user';\nimport { Message } from '../../model/message.model';\nimport { MessagesService } from '../../service/messages.service';\nimport { Room } from '../../model/room.model';\nimport { ChatService } from '../../service/chatservice';\nimport { RoomsService } from '../../service/rooms.service';\n\nimport { LocalizationService } from '../../service/localization.service';\nimport { MentorSpinnerService } from '../../service/mentorspinner.service';\n\nimport {CustomizationService} from '../../service/customization.service';\nimport { AppConfig } from '../../AppConfig';\nimport { ChatPersonalization } from '../../model/chatpersonalization.model';\nimport { ChatLabelSetup } from '../../model/ChatLabels.model';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { TicketService } from '../../service/ticket.service';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-register-chat-bell',\n templateUrl: './register-chat-bell.component.html',\n styleUrls: ['./register-chat-bell.component.css']\n})\nexport class RegisterChatBellComponent implements RegisterProcessComponent, OnDestroy {\n @Input() data: any;\n\n model: any = {};\n showSelected: boolean = false;\n messageText: string;\n draftMessage: Message;\n private onDestroy$: ReplaySubject = new ReplaySubject(1);\n messages: Observable;\n myform: UntypedFormGroup;\n currentRoom: Room;\n userObject: User[];\n isChatInit: boolean;\n paramWidget: boolean = false;\n showFormErrors: boolean = false;\n emailPattern = \"[a-zA-Z0-9.-_-]{1,}@[0-9a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}\";\n isValidFormSubmitted = null;\n b1pattern = \"^[bB]1([a-zA-Z]{4}[0-9]{2})$|^[0-9]{7}$|^[bB]1([0-9]{1}[a-zA-Z0-9]{5})\";\n aliantIdNumberPattern = \"^[0-9]{7}$\";\n disableSignInButton: boolean = false;\n public colorFileFullPath: string = '';\n public chatColor: string = '#0061AA';\n public butonTextColor:string='#FFFFFF';\n public clientIdParam: string; public clientTypeParam: string; public clientSubType: string = \"Central\";\n //localization - s\n private pageName = \"RegisterChatBellComponent\";\n public pageTranslation: any = \"\";\n public pageTranslated = new BehaviorSubject(false);\n public twoCombined = new Observable();\n public personalizationRetrived = new BehaviorSubject(false);\n //localization - e\n public customChatLabelsSetup : ChatLabelSetup;\n @ViewChild(\"myTooltip\") myTooltip: MatTooltip;\n public logoRetrived = new BehaviorSubject(false);\n public logoFullPath: SafeUrl = '';\n\n constructor(private customizationService: CustomizationService, public mspinnerService: MentorSpinnerService, private router: Router, private activatedRoute: ActivatedRoute, private localizationService: LocalizationService,\n private userService: UsersService, private alertService: AlertService, fb: UntypedFormBuilder, injector: Injector, \n public msgService: MessagesService, public chatService: ChatService, public roomsService: RoomsService,private config: AppConfig,\n private ticketService:TicketService,private sanitizer: DomSanitizer) {\n let clientId = userService.getClientIdParam();\n let clientType = userService.getClientTypeParam();\n \n const subAllItems = this.ticketService.downloadPartnerLogoFile('partners-logos', this.userService.getClientIdParam().toString() + '.png').\n pipe(takeUntil(this.onDestroy$)).subscribe(\n apiResponse => {\n\n if(apiResponse.size>0)\n {\n var url = URL.createObjectURL(apiResponse);\n this.logoFullPath = url;\n }else\n {\n this.logoFullPath ='assets/images/logo.png';\n }\n \n this.logoRetrived.next(true);\n },error => { console.log(error)\n this.logoFullPath ='assets/images/logo.png';\n this.logoRetrived.next(true);\n });\n\n //this.logoFullPath =customizationService.getNoCacheImage( this.config.logoURL + clientId.toString() + '.png');\n // this.colorFileFullPath = this.config.logoURL + this.userService.getClientIdParam().toString() + '.txt';\n\n // this.chatColor = customizationService.getPersonalizedColor(this.colorFileFullPath);\n // this.butonTextColor=userService.invertColor(this.chatColor,true);\n\n this.userService.cpSubject.subscribe(\n (data: ChatPersonalization) => {\n \n this.chatColor= data.colorCode;\n this.butonTextColor=userService.invertColor(data.colorCode,true);\n this.personalizationRetrived.next(true);\n //\n });\n\n \n // this.twoCombined= this.pageTranslated.pipe(combineLatest(\n // this.personalizationRetrived, (pageT: boolean, personalizationR: boolean) => {\n\n // return pageT&&personalizationR;\n // }));\n\n combineLatest([this.pageTranslated, this.personalizationRetrived, this.logoRetrived]).subscribe(\n ([pageT, personalizationR, logoReturned]) => {\n \n this.twoCombined=of(pageT && personalizationR && logoReturned);\n }); \n\n this.SetLocalization();\n\n this.clientIdParam = clientId;\n this.clientTypeParam = clientType;\n }\n\n ngOnInit() {\n this.activatedRoute.queryParams.subscribe(params => {\n if (params['isWidget']) {\n this.paramWidget = true;\n }\n\n });\n this.draftMessage = new Message();\n this.data = false;\n this.myform = new UntypedFormGroup({\n email: new UntypedFormControl('', Validators.compose([\n Validators.required,\n Validators.pattern(this.emailPattern)\n ])),\n b1number: new UntypedFormControl('', Validators.compose([\n Validators.required,\n Validators.pattern(this.b1pattern)\n ])),\n firstName: new UntypedFormControl(),\n lastName: new UntypedFormControl(),\n hostName: new UntypedFormControl(),\n message: new UntypedFormControl('', [Validators.required, this.noWhitespaceValidator]),\n isAtDown: new UntypedFormControl()\n });\n }\n\n public displayTooltip(event:string){\n\n if(event='mouseover')\n {\n this.myTooltip.disabled = false;\n this.myTooltip.show()\n\n }\n else\n {\n this.myTooltip.disabled = false;\n this.myTooltip.show()\n setTimeout(() => {\n this.myTooltip.disabled = true;\n }, 3000);\n \n }\n \n }\n\n public closeTooltip(){\n this.myTooltip.disabled = true;\n this.myTooltip.hide()\n }\n\n async delay(ms: number) {\n await new Promise(resolve => setTimeout(() => resolve(), ms)).then();\n }\n\n registerUser(model: any): void {\n\n this.isValidFormSubmitted = false;\n if (this.myform.invalid) {\n return;\n }\n\n this.isValidFormSubmitted = true;\n this.mspinnerService.ShowSpinner();\n let delayFlag: Boolean = false;\n\n if (localStorage.getItem(\"delayCurrentLogin\")) {\n delayFlag = true;\n }\n else {\n localStorage.setItem(\"delayCurrentLogin\", \"true\");\n }\n\n if (delayFlag) { \n this.delay(5000).then(() => {\n this.registerUserGo(model);\n });\n } else { \n this.registerUserGo(model);\n }\n\n }\n\n private registerUserGo(model: any) {\n\n this.myform.controls[\"isAtDown\"].setValue(false);\n model.isAtDown = false;\n model.email = model.email.trim();\n\n if(model.hostName != null)\n model.hostName = model.hostName.trim();\n\n this.userService.RegisterToChatTelco(model)\n .subscribe(\n data => {\n this.alertService.success('User exists', true);\n this.userService.checkUser(model);\n localStorage.setItem(\"clientInitMessage\",model.message);\n this.msgService.clientInitMessage.next(model.message);\n\n if(model.hostName){\n this.msgService.sendHostNameMessage.next(model.hostName);\n }\n\n this.data = true;\n },\n error => {\n this.mspinnerService.HideSpinner();\n if (localStorage.getItem(\"failedLogInAttempts\") == \"1\") {\n localStorage.removeItem(\"failedLogInAttempts\");\n this.userService.UserNotFound(\"notifyMentorsBell\");\n }\n else if (error.status == 404) {\n localStorage.setItem(\"failedLogInAttempts\", \"1\");\n this.alertService.error(\"User not found!\");\n this.data = false;\n this.userService.checkUser(this.data);\n this.userService.setAlreadyEnteredUserData(model);\n }\n else if (error.status == 417) {\n localStorage.setItem(\"failedLogInAttempts\", \"1\");\n this.alertService.error(\"User not found!\");\n this.data = false;\n this.userService.checkUser(this.data);\n this.myform.controls[\"isAtDown\"].setValue(true);\n model.isAtDown = true;\n this.userService.setAlreadyEnteredUserData(model);\n }\n else {\n localStorage.setItem(\"failedLogInAttempts\", \"1\");\n this.userService.UserNotFound(error.status.toString());\n return;\n }\n });\n }\n\n public noWhitespaceValidator(control: UntypedFormControl) {\n const isWhitespace = (control.value || '').trim().length === 0;\n const isValid = !isWhitespace;\n return isValid ? null : {\n 'whitespace': true\n };\n }\n\n SetLocalization() {\n var localeFromUrl = this.userService.getClientLanguageParam();\n var locale = this.localizationService.ValidateLocale(localeFromUrl);\n var clientId = Number.parseInt(this.userService.getClientIdParam());\n\n this.localizationService.GetLocalizationData().subscribe(data => {\n this.pageTranslation = data[0][this.pageName][locale];\n this.pageTranslated.next(this.pageTranslation);\n },error => { console.log(error) }, () => { });\n\n this.localizationService.GetCustomLabels(clientId,locale).subscribe(data => {\n this.customChatLabelsSetup = data;\n\n if(this.customChatLabelsSetup.Status == true){\n let customWelcomeToYourHelpDeskLbl = this.customChatLabelsSetup.Labels.filter(i => i.Type === 'WelcomeToYourHelpDesk');\n if(customWelcomeToYourHelpDeskLbl != null && customWelcomeToYourHelpDeskLbl != undefined && customWelcomeToYourHelpDeskLbl.length > 0){\n this.pageTranslation.PleaseSignIn = \"\";\n this.pageTranslation.WelcomeToYourHelpDesk = customWelcomeToYourHelpDeskLbl[0].Value;\n }\n\n let customSignInLbl = this.customChatLabelsSetup.Labels.filter(i => i.Type === 'SignIn');\n if(customSignInLbl != null && customSignInLbl != undefined && customSignInLbl.length > 0){\n this.pageTranslation.SignIn = customSignInLbl[0].Value;\n }\n }\n \n },error => { console.log(error) }, () => { });\n }\n\n notValid() {\n this.showFormErrors = true;\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next(true);\n this.onDestroy$.complete();\n }\n}\n"," \r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {{pageTranslation.ValidEmail}}\r\n
\r\n
{{pageTranslation.EmailRequired}}
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n {{pageTranslation.PleaseEnterValid}}
\r\n {{pageTranslation.PleaseClickHere}} {{pageTranslation.Here}}.\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
{{pageTranslation.FNameRequired}}
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
{{pageTranslation.LNameRequired}}
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n {{pageTranslation.MessageRequiered}}\r\n
\r\n
{{pageTranslation.ValidMessage}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n

{{pageTranslation.PoweredByGlobalMentoring}}

\r\n
\r\n
\r\n","\r\n\r\nimport { takeUntil} from 'rxjs/operators';\r\nimport { Component, OnInit, Input, Injector, ViewChild, ViewContainerRef, ComponentFactoryResolver, OnDestroy } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Observable , BehaviorSubject, ReplaySubject, of, combineLatest } from 'rxjs';\r\nimport { RegisterProcessComponent } from '../register-process';\r\nimport { AlertService } from '../../service/alert.service';\r\nimport { UsersService } from '../../service/users.service';\r\nimport { MappingFields } from '../../model/MappingFields.model';\r\nimport { UntypedFormGroup, UntypedFormBuilder, UntypedFormControl, ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { User } from '../../model/user';\r\nimport { Message } from '../../model/message.model';\r\nimport { MessagesService } from '../../service/messages.service';\r\nimport { Room } from '../../model/room.model';\r\nimport { ChatService } from '../../service/chatservice';\r\nimport { RoomsService } from '../../service/rooms.service';\r\nimport {MatLegacyFormFieldModule as MatFormFieldModule} from '@angular/material/legacy-form-field';\r\nimport { LocalizationService } from '../../service/localization.service';\r\nimport { MentorSpinnerService } from '../../service/mentorspinner.service';\r\nimport {CustomizationService} from '../../service/customization.service';\r\nimport { AppConfig } from '../../AppConfig';\r\nimport { ChatPersonalization } from '../../model/chatpersonalization.model';\r\nimport { RegisterChatEduModel } from '../../model/registerChatEduModel';\r\nimport { ChatLabelSetup } from '../../model/ChatLabels.model';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport { TicketService } from '../../service/ticket.service';\r\n\r\n@Component({\r\n selector: 'app-register-chat-edu',\r\n templateUrl: './register-chat-edu.component.html',\r\n styleUrls: ['./register-chat-edu.component.css']\r\n})\r\nexport class RegisterChatEduComponent implements RegisterProcessComponent, OnDestroy {\r\n [x: string]: any;\r\n @Input() data: any;\r\n\r\n model: any = {};\r\n showSelected: boolean = false;\r\n messageText: string;\r\n draftMessage: Message;\r\n paramWidget: boolean = false;\r\n messages: Observable;\r\n myform: UntypedFormGroup;\r\n currentRoom: Room;\r\n selectedIssue: MappingFields = new MappingFields();\r\n userObject: User[];\r\n isChatInit: boolean;\r\n showFormErrors: boolean = false;\r\n emailPattern = \"[a-zA-Z0-9.-_-]{1,}@[0-9a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}\";\r\n isValidFormSubmitted = null;\r\n disableSignInButton: boolean = false;\r\n \r\n public colorFileFullPath: string = '';\r\n public chatColor: string = '#0061AA';\r\n public butonTextColor:string='#FFFFFF';\r\n private pageName = \"RegisterChatEduComponent\";\r\n public pageTranslation: any = \"\";\r\n public twoCombined = new Observable();\r\n public personalizationRetrived = new BehaviorSubject(false);\r\n public pageTranslated = new BehaviorSubject(false);\r\n public componentData:RegisterChatEduModel;\r\n public customChatLabelsSetup : ChatLabelSetup;\r\n private onDestroy$: ReplaySubject = new ReplaySubject(1);\r\n public logoRetrived = new BehaviorSubject(false);\r\n public logoFullPath: SafeUrl = '';\r\n\r\n constructor(private customizationService: CustomizationService, private mspinnerService: MentorSpinnerService, \r\n private router: Router, private localizationService: LocalizationService, private activatedRoute: ActivatedRoute,\r\n private userService: UsersService, private alertService: AlertService, fb: UntypedFormBuilder, injector: Injector, \r\n public msgService: MessagesService, public chatService: ChatService,\r\n public roomsService: RoomsService, private config: AppConfig, public ticketService: TicketService,\r\n private sanitizer: DomSanitizer ) {\r\n \r\n\r\n const subAllItems = this.ticketService.downloadPartnerLogoFile('partners-logos', this.userService.getClientIdParam().toString() + '.png').\r\n pipe(takeUntil(this.onDestroy$)).subscribe(\r\n apiResponse => {\r\n\r\n if(apiResponse.size>0)\r\n {\r\n var url = URL.createObjectURL(apiResponse);\r\n this.logoFullPath = url;\r\n }else\r\n {\r\n this.logoFullPath ='assets/images/logo.png';\r\n }\r\n \r\n this.logoRetrived.next(true);\r\n },error => { console.log(error)\r\n this.logoFullPath ='assets/images/logo.png';\r\n this.logoRetrived.next(true);\r\n });\r\n //this.logoFullPath =customizationService.getNoCacheImage(this.config.logoURL + userService.getClientIdParam().toString() + '.png');\r\n // this.colorFileFullPath = this.config.logoURL + this.userService.getClientIdParam().toString() + '.txt';\r\n\r\n // this.chatColor = customizationService.getPersonalizedColor(this.colorFileFullPath);\r\n // this.butonTextColor=userService.invertColor(this.chatColor,true);\r\n\r\n this.userService.cpSubject.subscribe(\r\n (data: ChatPersonalization) => {\r\n \r\n this.chatColor= data.colorCode;\r\n this.butonTextColor=userService.invertColor(data.colorCode,true);\r\n this.personalizationRetrived.next(true);\r\n //\r\n });\r\n\r\n \r\n combineLatest([this.pageTranslated, this.personalizationRetrived, this.logoRetrived]).subscribe(\r\n ([pageT, personalizationR, logoReturned]) => {\r\n \r\n this.twoCombined=of(pageT && personalizationR && logoReturned);\r\n }); \r\n\r\n this.SetLocalization();\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n if (params['isWidget']) {\r\n this.paramWidget = true;\r\n } \r\n\r\n });\r\n this.draftMessage = new Message();\r\n this.data = false;\r\n this.myform = new UntypedFormGroup({\r\n firstName: new UntypedFormControl(),\r\n lastName: new UntypedFormControl(),\r\n hostName: new UntypedFormControl(),\r\n courseName: new UntypedFormControl(),\r\n email: new UntypedFormControl('', Validators.compose([\r\n Validators.required,\r\n Validators.pattern(this.emailPattern)\r\n ])),\r\n message: new UntypedFormControl('', [Validators.required, this.noWhitespaceValidator]),\r\n isAtDown: new UntypedFormControl()\r\n });\r\n\r\n if(this.componentData!=undefined)\r\n {\r\n this.myform.patchValue({\r\n firstName: this.componentData.firstName, \r\n lastName: this.componentData.lastName,\r\n email:this.componentData.email,\r\n courseName:this.componentData.courseName,\r\n message:this.componentData.message\r\n });\r\n\r\n this.draftMessage.text=this.componentData.message;\r\n }\r\n\r\n this.router.navigate([], {\r\n queryParams: {\r\n 'firstName': null,\r\n 'lastName': null,\r\n 'courseName': null,\r\n 'email': null,\r\n 'message': null,\r\n },\r\n queryParamsHandling: 'merge'\r\n });\r\n }\r\n\r\n registerUser(model: any): void {\r\n this.isValidFormSubmitted = false;\r\n if (this.myform.invalid) {\r\n return;\r\n }\r\n \r\n this.disableSignInButton = true;\r\n this.mspinnerService.ShowSpinner();\r\n this.isValidFormSubmitted = true;\r\n this.myform.controls[\"isAtDown\"].setValue(false);\r\n model.isAtDown = false;\r\n\r\n this.userService.RegisterToChat(model)\r\n .subscribe(\r\n data => { \r\n this.alertService.success('User exists', true);\r\n this.data = true;\r\n this.userService.checkUser(model);\r\n \r\n localStorage.setItem(\"clientInitMessage\",model.message);\r\n this.msgService.clientInitMessage.next(model.message);\r\n\r\n if(model.courseName)\r\n this.msgService.eduSendClassNameMessage.next(model.courseName);\r\n },\r\n error => {\r\n this.mspinnerService.HideSpinner();\r\n if (error.status == 404) {\r\n this.alertService.error(\"User not found!\");\r\n this.data = false;\r\n }\r\n else{\r\n this.userService.UserNotFound(error.status.toString());\r\n return;\r\n }\r\n \r\n });\r\n }\r\n\r\n notValid(){\r\n this.showFormErrors = true;\r\n }\r\n\r\n SetLocalization() {\r\n var localeFromUrl = this.userService.getClientLanguageParam();\r\n var locale = this.localizationService.ValidateLocale(localeFromUrl);\r\n var clientId = Number.parseInt(this.userService.getClientIdParam());\r\n\r\n this.localizationService.GetLocalizationData().subscribe(data => {\r\n this.pageTranslation = data[0][this.pageName][locale];\r\n this.pageTranslated.next(this.pageTranslation);\r\n },error => { console.log(error) }, () => { });\r\n\r\n this.localizationService.GetCustomLabels(clientId,locale).subscribe(data => {\r\n this.customChatLabelsSetup = data;\r\n\r\n if(this.customChatLabelsSetup.Status == true){\r\n let customWelcomeToYourHelpDeskLbl = this.customChatLabelsSetup.Labels.filter(i => i.Type === 'WelcomeToYourHelpDesk');\r\n if(customWelcomeToYourHelpDeskLbl != null && customWelcomeToYourHelpDeskLbl != undefined && customWelcomeToYourHelpDeskLbl.length > 0){\r\n this.pageTranslation.PleaseSignIn = \"\";\r\n this.pageTranslation.WelcomeToYourHelpDesk = customWelcomeToYourHelpDeskLbl[0].Value;\r\n }\r\n\r\n let customSignInLbl = this.customChatLabelsSetup.Labels.filter(i => i.Type === 'SignIn');\r\n if(customSignInLbl != null && customSignInLbl != undefined && customSignInLbl.length > 0){\r\n this.pageTranslation.SignIn = customSignInLbl[0].Value;\r\n }\r\n }\r\n \r\n },error => { console.log(error) }, () => { });\r\n }\r\n\r\n public noWhitespaceValidator(control: UntypedFormControl) {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : {\r\n 'whitespace': true\r\n };\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.onDestroy$.next(true);\r\n this.onDestroy$.complete();\r\n }\r\n\r\n}\r\n"," \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
{{pageTranslation.ValidEmail}}
\r\n
{{pageTranslation.EmailRequired}}
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
{{pageTranslation.FNameRequired}}
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
{{pageTranslation.LNameRequired}}
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n\r\n \r\n\r\n
\r\n
{{pageTranslation.MessageRequired}}
\r\n
{{pageTranslation.ValidMessage}}
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n

{{pageTranslation.PoweredByGlobalMentoring}}

\r\n
\r\n
\r\n","\nimport {ReplaySubject, combineLatest, of} from 'rxjs';\nimport { Component, OnInit, Input, Injector, ViewChild, ViewContainerRef, ComponentFactoryResolver, OnDestroy } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Observable, Subject , BehaviorSubject } from 'rxjs';\nimport { RegisterProcessComponent } from '../register-process';\nimport { AlertService } from '../../service/alert.service';\nimport { UsersService } from '../../service/users.service';\nimport { MappingFields } from '../../model/MappingFields.model';\nimport { UntypedFormGroup, UntypedFormBuilder, UntypedFormControl, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { User } from '../../model/user';\nimport { Message } from '../../model/message.model';\nimport { MessagesService } from '../../service/messages.service';\nimport { Room } from '../../model/room.model';\nimport { ChatService } from '../../service/chatservice';\nimport { RoomsService } from '../../service/rooms.service';\nimport { AdminService } from '../../service/admin.service';\nimport { LocalizationService } from '../../service/localization.service';\nimport { MentorSpinnerService } from '../../service/mentorspinner.service';\nimport { CustomizationService } from '../../service/customization.service';\nimport { MsalService } from '../../service/msal.service';\nimport { IssueService } from '../../service/issueservice';\nimport { AppConfig } from '../../AppConfig';\nimport { ChatPersonalization } from '../../model/chatpersonalization.model';\nimport { ChatLabelSetup } from '../../model/ChatLabels.model';\nimport { ChatLabel } from '../../model/ChatLabels.model';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { TicketService } from '../../service/ticket.service';\nimport { takeUntil } from 'rxjs/operators';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-register-chat-msp',\n templateUrl: './register-chat-msp.component.html',\n styleUrls: ['./register-chat-msp.component.css']\n})\nexport class RegisterChatMspComponent implements RegisterProcessComponent, OnDestroy {\n @Input() data: any;\n private onDestroy$: ReplaySubject = new ReplaySubject(1);\n model: any = {};\n showSelected: boolean = false;\n messageText: string;\n draftMessage: Message;\n paramWidget: boolean = false;\n messages: Observable;\n myform: UntypedFormGroup;\n currentRoom: Room;\n userObject: User[];\n isChatInit: boolean;\n emailPattern = \"[a-zA-Z0-9.-_-]{1,}@[0-9a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}\";\n isValidFormSubmitted = null;\n disableSignInButton: boolean = false;\n public logoFullPath: SafeUrl = '';\n public colorFileFullPath: string = '';\n public chatColor: string ;\n public butonTextColor: string;\n //localization - s\n private pageName = \"RegisterChatMspComponent\";\n public pageTranslation: any = \"\";\n public pageTranslated = new BehaviorSubject(false);\n public personalizationRetrived = new BehaviorSubject(false);\n public logoRetrived = new BehaviorSubject(false);\n public clientsBanned = new BehaviorSubject(false);\n public twoCombined = new Observable();\n public showVerificationCode:boolean=false;\n public showVerificationCodeError:boolean=false;\n public VerificationCodeError:string=\"\";\n public verificationReadonly:boolean=false;\n public showRegisterButton:boolean=true;\n //localization - e\npublic hasCustomChatLabels:boolean = false;\npublic customChatLabelsSetup : ChatLabelSetup;\n@ViewChild(\"myTooltip\") myTooltip: MatTooltip;\n\n\n constructor(private customizationService: CustomizationService, private mspinnerService: MentorSpinnerService, private router: Router,\n private userService: UsersService, private alertService: AlertService, fb: UntypedFormBuilder, injector: Injector, public msgService: MessagesService, public chatService: ChatService, public roomsService: RoomsService,\n private activatedRoute: ActivatedRoute,\n private localizationService: LocalizationService,\n private adminService: AdminService,\n private msalService: MsalService,\n private issueService: IssueService,\n private ticketService:TicketService,\n private config: AppConfig,\n private sanitizer: DomSanitizer) {\n\n \n }\n\n ngOnInit() {\n\n const subAllItems = this.ticketService.downloadPartnerLogoFile('partners-logos', this.userService.getClientIdParam().toString() + '.png').\n pipe(takeUntil(this.onDestroy$)).subscribe(\n apiResponse => {\n\n if(apiResponse.size>0)\n {\n var url = URL.createObjectURL(apiResponse);\n this.logoFullPath = url;\n }else\n {\n this.logoFullPath ='assets/images/logo.png';\n }\n \n this.logoRetrived.next(true);\n },error => { console.log(error)\n this.logoFullPath ='assets/images/logo.png';\n this.logoRetrived.next(true);\n });\n\n //this.logoFullPath = this.customizationService.getNoCacheImage(this.config.logoURL + this.userService.getClientIdParam().toString() + '.png');\n this.userService.cpSubject.subscribe(\n (data: ChatPersonalization) => {\n \n this.chatColor= data.colorCode;\n this.butonTextColor=this.userService.invertColor(data.colorCode,true);\n this.personalizationRetrived.next(true);\n });\n\n \n combineLatest([this.pageTranslated, this.personalizationRetrived, this.clientsBanned, this.logoRetrived]).subscribe(\n ([pageT, personalizationR, clientsBan, logoReturned]) => {\n \n this.twoCombined=of(pageT && personalizationR && clientsBan && logoReturned);\n });\n \n this.SetLocalization();\n\n this.activatedRoute.queryParams.subscribe(params => {\n if (params['isWidget']) {\n this.paramWidget = true;\n }\n });\n this.draftMessage = new Message();\n this.data = false;\n\n this.myform = new UntypedFormGroup({\n firstName: new UntypedFormControl(),\n lastName: new UntypedFormControl(),\n hostName: new UntypedFormControl(),\n email: new UntypedFormControl('', Validators.compose([\n Validators.required,\n Validators.pattern(this.emailPattern)\n ])),\n message: new UntypedFormControl('', [Validators.required, this.noWhitespaceValidator]),\n isAtDown: new UntypedFormControl(),\n verificationCode: new UntypedFormControl(),\n });\n }\n\n SetLocalization() {\n var localeFromUrl = this.userService.getClientLanguageParam();\n var locale = this.localizationService.ValidateLocale(localeFromUrl);\n var clientId = Number.parseInt(this.userService.getClientIdParam());\n\n \n\n this.localizationService.GetLocalizationData().subscribe(data => {\n this.pageTranslation = data[0][this.pageName][locale];\n this.pageTranslated.next(true);\n },error => { console.log(error) }, () => { });\n\n this.localizationService.GetBannedClients().subscribe(data => {\n if(data.includes(clientId.toString()))\n this.showRegisterButton=false;\n this.clientsBanned.next(true);\n },error => { console.log(error) }, () => { });\n\n this.localizationService.GetCustomLabels(clientId,locale).subscribe(data => {\n this.customChatLabelsSetup = data;\n\n if(this.customChatLabelsSetup.Status == true){\n let customWelcomeToYourHelpDeskLbl = this.customChatLabelsSetup.Labels.filter(i => i.Type === 'WelcomeToYourHelpDesk');\n if(customWelcomeToYourHelpDeskLbl != null && customWelcomeToYourHelpDeskLbl != undefined && customWelcomeToYourHelpDeskLbl.length > 0){\n this.pageTranslation.PleaseSignIn = \"\";\n this.pageTranslation.WelcomeToYourHelpDesk = customWelcomeToYourHelpDeskLbl[0].Value;\n }\n\n let customSignInLbl = this.customChatLabelsSetup.Labels.filter(i => i.Type === 'SignIn');\n if(customSignInLbl != null && customSignInLbl != undefined && customSignInLbl.length > 0){\n this.pageTranslation.SignIn = customSignInLbl[0].Value;\n }\n }\n \n },error => { console.log(error) }, () => { });\n }\n\n public displayTooltip(event:string){\n\n if(event='mouseover')\n {\n this.myTooltip.disabled = false;\n this.myTooltip.show()\n\n }\n else\n {\n this.myTooltip.disabled = false;\n this.myTooltip.show()\n setTimeout(() => {\n this.myTooltip.disabled = true;\n }, 3000);\n \n }\n \n }\n\n public closeTooltip(){\n this.myTooltip.disabled = true;\n this.myTooltip.hide()\n }\n\n\n login365(): void {\n this.disableSignInButton = true;\n this.mspinnerService.ShowSpinner();\n this.msalService.login(); \n this.msalService.authSubject.subscribe(() => {\n localStorage.setItem(\"isConnected\", \"true\");\n let currentUser = JSON.parse(localStorage.getItem('currentUser'));\n this.callRegisterToChatMsp(currentUser);\n });\n }\n\n resendCode(model: any):void{\n model.firstName = model.firstName.trim();\n model.lastName = model.lastName.trim();\n model.email = model.email.trim();\n\n this.mspinnerService.ShowSpinner();\n\n this.userService.ResendVerification(model)\n .subscribe(\n data => {\n this.mspinnerService.HideSpinner();\n this.userService.clientTostrSuccessNotification.next(\"A verification code has been sent to your email address!\");\n\n },\n error => {\n this.mspinnerService.HideSpinner();\n this.userService.clientTostrErrorNotification.next(\"Error sending verification code!\");\n });\n\n }\n\n registerUser(model: any): void {\n\n this.isValidFormSubmitted = false;\n if (this.myform.invalid) {\n return;\n }\n this.disableSignInButton = true;\n this.mspinnerService.ShowSpinner();\n this.isValidFormSubmitted = true;\n this.myform.controls[\"isAtDown\"].setValue(false);\n model.isAtDown = false;\n model.firstName = model.firstName.trim();\n model.lastName = model.lastName.trim();\n model.email = model.email.trim();\n \n if(model.hostName != null)\n model.hostName = model.hostName.trim();\n\n if(this.showVerificationCode)\n {\n model.verificationCode = model.verificationCode.trim();\n this.callRegisterVerificationChatMsp(model);\n }else\n {\n this.callRegisterToChatMsp(model);\n }\n }\n\n private callRegisterToChatMsp(model:any)\n {\n this.userService.RegisterToChatMsp(model)\n .subscribe(\n data => {\n this.alertService.success('User exists', true);\n this.userService.checkUser(model);\n localStorage.setItem(\"clientInitMessage\",model.message)\n this.msgService.clientInitMessage.next(model.message);\n\n if(model.hostName){\n this.msgService.sendHostNameMessage.next(model.hostName);\n }\n\n this.data = true;\n },\n error => {\n this.mspinnerService.HideSpinner();\n if (localStorage.getItem(\"failedLogInAttempts\") == \"1\" && error.status != 441) {\n this.userService.CreateFailedLoginTicket(model).subscribe(\n data => {\n },\n error => {\n });\n localStorage.removeItem(\"failedLogInAttempts\");\n this.userService.UserNotFound(\"notifyMentors\");\n }\n else if (error.status == 404) {\n localStorage.setItem(\"failedLogInAttempts\", \"1\");\n this.alertService.error(\"User not found!\");\n this.data = false;\n this.userService.checkUser(this.data);\n this.userService.setAlreadyEnteredUserData(model);\n }\n else if (error.status == 417) {\n localStorage.setItem(\"failedLogInAttempts\", \"1\");\n this.alertService.error(\"User not found!\");\n this.data = false;\n this.userService.checkUser(this.data);\n this.myform.controls[\"isAtDown\"].setValue(true);\n model.isAtDown = true;\n this.userService.setAlreadyEnteredUserData(model);\n }\n else if (error.status == 440) {\n this.userService.UserNotFound(error.status.toString()); \n }\n else if (error.status == 441) {\n this.showVerificationCode=true;\n this.disableSignInButton = false;\n this.verificationReadonly=true;\n localStorage.removeItem(\"failedLogInAttempts\");\n //localStorage.setItem(\"failedLogInAttempts\", \"0\");\n //this.userService.UserNotFound(error.status.toString()); \n }\n else {\n localStorage.setItem(\"failedLogInAttempts\", \"1\");\n this.userService.UserNotFound(error.status.toString());\n }\n });\n }\n\n private callRegisterVerificationChatMsp(model:any)\n {\n \n this.userService.RegisterMspWithVerification(model)\n .subscribe(\n data => {\n this.alertService.success('User exists', true);\n this.userService.checkUser(model);\n localStorage.setItem(\"clientInitMessage\",model.message)\n this.msgService.clientInitMessage.next(model.message);\n\n if(model.hostName){\n this.msgService.sendHostNameMessage.next(model.hostName);\n }\n\n this.data = true;\n\n },\n error => {\n this.mspinnerService.HideSpinner();\n this.showVerificationCodeError=true;\n \n if (error.status == 442) {\n this.VerificationCodeError=error.error.toString();\n this.showVerificationCodeError=true;\n this.disableSignInButton=false;\n }\n else {\n localStorage.setItem(\"failedLogInAttempts\", \"1\");\n this.userService.UserNotFound(error.status.toString());\n }\n });\n }\n\n public noWhitespaceValidator(control: UntypedFormControl) {\n const isWhitespace = (control.value || '').trim().length === 0;\n const isValid = !isWhitespace;\n return isValid ? null : {\n 'whitespace': true\n };\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next(true);\n this.onDestroy$.complete();\n }\n}\n"," \r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
{{pageTranslation.ValidEmail}}
\r\n
{{pageTranslation.EmailRequired}}
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
{{pageTranslation.FNameRequired}}
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
{{pageTranslation.LNameRequired}}
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n\r\n \r\n\r\n
\r\n
{{pageTranslation.MessageRequired}}
\r\n
{{pageTranslation.ValidMessage}}
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
{{pageTranslation.VereficationCodeRequiered}}
\r\n
{{VerificationCodeError}}
\r\n
\r\n
\r\n
\r\n
{{pageTranslation.VerificationCodeInfo}}
\r\n
\r\n
Didn't recive your code? Click here to resend it.
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n

Chat services are currently disabled.

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

{{pageTranslation.PoweredByGlobalMentoring}}

\r\n
\r\n
\r\n","import { AfterViewInit, Component, OnInit, OnDestroy, Input, Injector, ViewChild, ViewContainerRef, ComponentFactoryResolver } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Observable , BehaviorSubject } from 'rxjs';\nimport { RegisterProcessComponent } from '../register-process';\nimport { AlertService } from '../../service/alert.service';\nimport { UsersService } from '../../service/users.service';\nimport { MappingFields } from '../../model/MappingFields.model';\nimport { UntypedFormGroup, UntypedFormBuilder, UntypedFormControl, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { User } from '../../model/user';\nimport { Message } from '../../model/message.model';\nimport { MessagesService } from '../../service/messages.service';\nimport { Room } from '../../model/room.model';\nimport { ChatService } from '../../service/chatservice';\nimport { RoomsService } from '../../service/rooms.service';\nimport {MatLegacyInputModule as MatInputModule} from \"@angular/material/legacy-input\";\nimport {MatLegacyPaginatorModule as MatPaginatorModule} from \"@angular/material/legacy-paginator\";\nimport {MatLegacyProgressSpinnerModule as MatProgressSpinnerModule} from \"@angular/material/legacy-progress-spinner\";\nimport {MatSortModule} from \"@angular/material/sort\";\nimport {MatLegacyTableModule as MatTableModule} from \"@angular/material/legacy-table\";\nimport {MatLegacyFormFieldModule as MatFormFieldModule, MatLegacyFormField as MatFormField} from \"@angular/material/legacy-form-field\";\nimport {MatLegacyButtonModule as MatButtonModule} from \"@angular/material/legacy-button\";\nimport { LocalizationService } from '../../service/localization.service';\nimport { MentorSpinnerService } from '../../service/mentorspinner.service';\n\nimport {CustomizationService} from '../../service/customization.service';\nimport { AppConfig } from '../../AppConfig';\n\n@Component({\n selector: 'app-register-chat-tti',\n templateUrl: './register-chat-tti.component.html',\n styleUrls: ['./register-chat-tti.component.css']\n})\nexport class RegisterChatTtiComponent implements RegisterProcessComponent {\n\n @Input() data: any;\n\n model: any = {};\n showSelected: boolean = false;\n messageText: string;\n draftMessage: Message;\n messages: Observable;\n myform: UntypedFormGroup;\n currentRoom: Room;\n userObject: User[];\n isChatInit: boolean;\n paramWidget: boolean = false;\n showFormErrors: boolean = false;\n emailPattern = \"[a-zA-Z0-9.-_-]{1,}@[0-9a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}\";\n isValidFormSubmitted = null;\n disableSignInButton: boolean = false;\n public logoFullPath: string = 'assets/images/logo.png';\n public colorFileFullPath: string = '';\n public chatColor: string = '#0061AA';\n public clientIdParam: string; public clientTypeParam: string; public clientSubType: string = \"Central\";\n //localization - s\n private pageName = \"RegisterChatTtiComponent\";\n public pageTranslation: any = \"\";\n public pageTranslated = new BehaviorSubject(\"\");\n //localization - e\n\n constructor(private customizationService: CustomizationService, private spinnerService: MentorSpinnerService, private router: Router, private activatedRoute: ActivatedRoute, private localizationService: LocalizationService,\n private userService: UsersService, private alertService: AlertService, fb: UntypedFormBuilder, injector: Injector, public msgService: MessagesService, public chatService: ChatService, public roomsService: RoomsService, private config: AppConfig) {\n let clientId = userService.getClientIdParam();\n let clientType = userService.getClientTypeParam();\n \n this.logoFullPath =customizationService.getNoCacheImage(this.config.logoURL + clientId.toString() + '.png');\n \n this.colorFileFullPath = this.config.logoURL + this.userService.getClientIdParam().toString() + '.txt';\n\n this.chatColor = customizationService.getPersonalizedColor(this.colorFileFullPath);\n\n this.SetLocalization();\n\n this.clientIdParam = clientId;\n this.clientTypeParam = clientType;\n }\n\n ngOnInit() {\n this.activatedRoute.queryParams.subscribe(params => {\n if (params['isWidget']) {\n this.paramWidget = true;\n }\n\n\n });\n this.draftMessage = new Message();\n this.data = false;\n\n this.myform = new UntypedFormGroup({\n firstName: new UntypedFormControl(),\n lastName: new UntypedFormControl(),\n email: new UntypedFormControl('', Validators.compose([\n Validators.required,\n Validators.pattern(this.emailPattern)\n ])),\n message: new UntypedFormControl('', [Validators.required, this.noWhitespaceValidator]),\n isAtDown: new UntypedFormControl()\n });\n }\n\n async delay(ms: number) {\n await new Promise(resolve => setTimeout(() => resolve(), ms)).then();\n }\n\n registerUser(model: any): void {\n\n this.isValidFormSubmitted = false;\n if (this.myform.invalid) {\n return;\n }\n this.disableSignInButton = true;\n this.spinnerService.ShowSpinner();\n this.isValidFormSubmitted = true;\n\n let delayFlag: Boolean = false;\n\n if (localStorage.getItem(\"delayCurrentLogin\")) {\n delayFlag = true;\n }\n else {\n localStorage.setItem(\"delayCurrentLogin\", \"true\");\n }\n\n if (delayFlag) {\n this.delay(5000).then(() => {\n this.registerUserGo(model);\n });\n } else {\n this.registerUserGo(model);\n }\n\n }\n\n private registerUserGo(model: any) {\n this.myform.controls[\"isAtDown\"].setValue(false);\n model.isAtDown = false;\n\n model.email = model.email.trim();\n this.userService.RegisterToChatGuest(model)\n .subscribe(\n data => {\n this.alertService.success('User exists', true);\n this.userService.checkUser(model);\n this.msgService.clientInitMessage.next(model.message);\n this.data = true;\n },\n error => {\n this.spinnerService.HideSpinner();\n if (error.status == 404) {\n this.alertService.error(\"User not found!\");\n this.data = false;\n this.userService.checkUser(this.data);\n this.userService.setAlreadyEnteredUserData(model);\n }\n else if (error.status == 417) {\n this.alertService.error(\"User not found!\");\n this.data = false;\n this.userService.checkUser(this.data);\n this.myform.controls[\"isAtDown\"].setValue(true);\n model.isAtDown = true;\n this.userService.setAlreadyEnteredUserData(model);\n }\n else {\n this.userService.UserNotFound(error.status.toString());\n return;\n }\n });\n }\n\n public noWhitespaceValidator(control: UntypedFormControl) {\n const isWhitespace = (control.value || '').trim().length === 0;\n const isValid = !isWhitespace;\n return isValid ? null : {\n 'whitespace': true\n };\n }\n\n SetLocalization() {\n var localeFromUrl = this.userService.getClientLanguageParam();\n var locale = this.localizationService.ValidateLocale(localeFromUrl);\n\n this.localizationService.GetLocalizationData().subscribe(data => {\n this.pageTranslation = data[0][this.pageName][locale];\n this.pageTranslated.next(this.pageTranslation);\n },\n error => { console.log(error) }, () => { });\n }\n\n notValid() {\n this.showFormErrors = true;\n }\n\n}\n"," \n\n\n
\n
\n \n
\n\n
\n\n

\n

\n \n

\n

\n \n
\n \n
\n \n \n\n
\n
{{pageTranslation.ValidEmail}}
\n
{{pageTranslation.EmailRequired}}
\n
\n
\n\n \n
\n \n \n\n
\n
{{pageTranslation.FNameRequired}}
\n
\n
\n\n \n
\n \n \n\n
\n
{{pageTranslation.LNameRequired}}
\n
\n
\n\n \n
\n \n\n \n\n
\n
{{pageTranslation.MessageRequired}}
\n
{{pageTranslation.ValidMessage}}
\n
\n
\n\n
\n\n
\n \n\n
\n\n
\n

{{pageTranslation.PoweredByGlobalMentoring}}

\n
\n\n
","import { AfterViewInit, Component, OnInit, Input } from '@angular/core';\nimport { RegisterProcessComponent } from '../register-process';\nimport { Subscription , Subject, BehaviorSubject } from 'rxjs';\nimport { UsersService } from '../../service/users.service';\nimport { UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms';\nimport { AlertService } from '../../service/alert.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { MessagesService } from '../../service/messages.service';\nimport { LocalizationService } from '../../service/localization.service';\nimport { MentorSpinnerService } from '../../service/mentorspinner.service';\nimport {CustomizationService} from '../../service/customization.service';\nimport { AppConfig } from '../../AppConfig';\n\n@Component({\n selector: 'app-register-user-bell',\n templateUrl: './register-user-bell.component.html',\n styleUrls: ['./register-user-bell.component.css']\n})\nexport class RegisterUserBellComponent implements RegisterProcessComponent {\n @Input() data: any;\n myform: UntypedFormGroup;\n email: any;\n paramWidget: boolean = false;\n subscription: Subscription;\n public clientType: Subject = new BehaviorSubject(null);\n public clientTypeParam: string;\n mobnumPattern = /^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{4})$/; \n emailPattern = \"[a-zA-Z0-9.-_-]{1,}@[0-9a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}\";\n isValidFormSubmitted = null;\n disableSignInButton: boolean = false;\n clientSubType: string = \"Central\";\n public logoFullPath: string = '';\n public colorFileFullPath: string = '';\n public chatColor: string = '#0061AA';\n //localization - s\n private pageName = \"RegisterUserBellComponent\";\n public pageTranslation: any = \"\";\n public pageTranslated = new BehaviorSubject(\"\");\n //localization - e\n\n constructor(private customizationService: CustomizationService, private mspinnerService: MentorSpinnerService, private localizationService: LocalizationService, private userService: UsersService, private alertService: AlertService,private activatedRoute: ActivatedRoute, private msgService: MessagesService, private config: AppConfig) {\n let clientId = userService.getClientIdParam();\n let clientType = userService.getClientTypeParam();\n\n \n this.logoFullPath =customizationService.getNoCacheImage(this.config.logoURL + clientId.toString() + '.png');\n \n this.colorFileFullPath = this.config.logoURL + this.userService.getClientIdParam().toString() + '.txt';\n\n this.chatColor = customizationService.getPersonalizedColor(this.colorFileFullPath);\n this.SetLocalization();\n\n this.clientType.next(clientType);\n this.myform = new UntypedFormGroup({\n\n firstName: new UntypedFormControl(),\n lastName: new UntypedFormControl(),\n email: new UntypedFormControl('', [\n Validators.required,\n Validators.pattern(this.emailPattern)\n ]),\n b1number: new UntypedFormControl(),\n message: new UntypedFormControl(),\n address: new UntypedFormControl(),\n phone: new UntypedFormControl('', [\n Validators.required, \n Validators.pattern(this.mobnumPattern)\n ]),\n isAtDown: new UntypedFormControl()\n });\n\n this.subscription = this.userService.alreadyEntered.subscribe(t => { \n this.myform.controls[\"email\"].setValue(t.email);\n this.myform.controls[\"b1number\"].setValue(t.b1number);\n this.myform.controls[\"message\"].setValue(t.message);\n this.myform.controls[\"isAtDown\"].setValue(t.isAtDown);\n });\n }\n\n ngOnInit() {\n this.clientType.subscribe((clientType: string) => {\n this.clientTypeParam = clientType;\n });\n this.activatedRoute.queryParams.subscribe(params => {\n if (params['isWidget']) {\n this.paramWidget = true;\n } \n });\n }\n\n SetLocalization() {\n var localeFromUrl = this.userService.getClientLanguageParam();\n var locale = this.localizationService.ValidateLocale(localeFromUrl);\n\n this.localizationService.GetLocalizationData().subscribe(data => {\n this.pageTranslation = data[0][this.pageName][locale];\n this.pageTranslated.next(this.pageTranslation);\n },\n error => { console.log(error) }, () => { });\n }\n\n registerNewUser(model: any): void {\n\n this.isValidFormSubmitted = false;\n if (this.myform.invalid) {\n return;\n }\n this.isValidFormSubmitted = true;\n model.firstName = model.firstName.trim();\n model.lastName = model.lastName.trim();\n model.userType = this.clientTypeParam;\n this.disableSignInButton = true;\n //this.spinnerService.show();\n this.mspinnerService.ShowSpinner();\n\n if(model.isAtDown){\n this.userService.RegisterNewTelcoUserInAtDownTime(model)\n .subscribe(\n data => {\n this.alertService.success('User exists', true);\n this.data = true;\n this.userService.checkUser(model);\n this.msgService.clientInitMessage.next(model.message);\n },\n error => {\n this.mspinnerService.HideSpinner();\n if(error.status == 404){\n this.alertService.error(\"User not found!\");\n this.data = false;\n }\n else{\n this.userService.UserNotFound(error.status.toString());\n return;\n }\n });\n }\n else{\n this.userService.RegisterNewTelcoUser(model)\n .subscribe(\n data => {\n this.alertService.success('User exists', true);\n this.data = true;\n this.userService.checkUser(model);\n this.msgService.clientInitMessage.next(model.message);\n },\n error => {\n this.mspinnerService.HideSpinner();\n if(error.status == 404){\n this.alertService.error(\"User not found!\");\n this.data = false;\n }\n else{\n this.userService.UserNotFound(error.status.toString());\n return;\n }\n });\n }\n }\n}\n","\n
\n
\n \n
\n
\n
\n\n
\n\n \n
\n \n \n\n
\n
Please\n enter a valid email
\n
Email\n is required
\n
\n
\n\n \n
\n \n \n \n\n
\n
B1\n number is required
\n
\n
\n\n \n
\n \n \n\n
\n
{{pageTranslation.FNameRequired}}
\n
\n
\n\n \n
\n \n \n\n
\n
{{pageTranslation.LNameRequired}}
\n
\n
\n\n \n
\n \n \n\n
\n
\n {{pageTranslation.AddressRequired}}\n
\n
\n
\n\n \n
\n \n \n\n
\n
{{pageTranslation.ValidPhone}}
{{pageTranslation.PhoneExample}}
\n
{{pageTranslation.PhoneRequired}}
\n
\n
\n\n
\n\n
\n \n\n
\n
\n\n
\n

{{pageTranslation.PoweredByGlobalMentoring}}

\n\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { RegisterProcessComponent } from '../register-process';\r\nimport { Subscription , Subject, BehaviorSubject } from 'rxjs';\r\nimport { UsersService } from '../../service/users.service';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms';\r\nimport { AlertService } from '../../service/alert.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { MessagesService } from '../../service/messages.service';\r\nimport { LocalizationService } from '../../service/localization.service';\r\nimport { MentorSpinnerService } from '../../service/mentorspinner.service';\r\nimport {CustomizationService} from '../../service/customization.service';\r\nimport { AppConfig } from '../../AppConfig';\r\n\r\n@Component({\r\n selector: 'app-register-user-edu',\r\n templateUrl: './register-user-edu.component.html',\r\n styleUrls: ['./register-user-edu.component.css']\r\n})\r\n\r\nexport class RegisterUserEduComponent implements RegisterProcessComponent {\r\n [x: string]: any;\r\n @Input() data: any;\r\n myform: UntypedFormGroup;\r\n email: any;\r\n paramWidget: boolean = false;\r\n subscription: Subscription;\r\n public clientType: Subject = new BehaviorSubject(null);\r\n public clientTypeParam: string;\r\n\r\n emailPattern = \"[a-zA-Z0-9.-_-]{1,}@[0-9a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}\";\r\n voucherPattern = \"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\";\r\n isValidFormSubmitted = null;\r\n disableSignInButton: boolean = false;\r\n public logoFullPath: string = 'assets/images/logo.png';\r\n public colorFileFullPath: string = '';\r\n public chatColor: string = '#0061AA';\r\n \r\n private pageName = \"RegisterUserEduComponent\";\r\n public pageTranslation: any = \"\";\r\n public pageTranslated = new BehaviorSubject(\"\");\r\n\r\n constructor(private customizationService: CustomizationService, public mspinnerService: MentorSpinnerService, private localizationService: LocalizationService, private userService: UsersService, private alertService: AlertService, private activatedRoute: ActivatedRoute, private msgService: MessagesService, private config: AppConfig) {\r\n this.logoFullPath =customizationService.getNoCacheImage(this.config.logoURL + this.userService.getClientIdParam().toString() + '.png');\r\n \r\n this.colorFileFullPath = this.config.logoURL + this.userService.getClientIdParam().toString() + '.txt';\r\n\r\n this.chatColor = customizationService.getPersonalizedColor(this.colorFileFullPath);\r\n this.SetLocalization();\r\n let clientType = userService.getClientTypeParam();\r\n this.clientType.next(clientType);\r\n\r\n this.myform = new UntypedFormGroup({\r\n firstName: new UntypedFormControl(),\r\n lastName: new UntypedFormControl(),\r\n email: new UntypedFormControl('', [\r\n Validators.required,\r\n Validators.pattern(this.emailPattern)\r\n ]),\r\n voucher: new UntypedFormControl('', Validators.compose([\r\n Validators.required,\r\n Validators.pattern(this.voucherPattern)\r\n ])),\r\n message: new UntypedFormControl(),\r\n isAtDown: new UntypedFormControl()\r\n });\r\n\r\n this.subscription = this.userService.alreadyEntered.subscribe(t => {\r\n this.myform.controls[\"firstName\"].setValue(t.firstName);\r\n this.myform.controls[\"lastName\"].setValue(t.lastName);\r\n this.myform.controls[\"email\"].setValue(t.email);\r\n this.myform.controls[\"message\"].setValue(t.message);\r\n this.myform.controls[\"isAtDown\"].setValue(t.isAtDown);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n if (params['isWidget']) {\r\n this.paramWidget = true;\r\n } \r\n\r\n\r\n });\r\n this.clientType.subscribe((clientType: string) => {\r\n this.clientTypeParam = clientType;\r\n });\r\n\r\n }\r\n\r\n SetLocalization() {\r\n var localeFromUrl = this.userService.getClientLanguageParam();\r\n var locale = this.localizationService.ValidateLocale(localeFromUrl);\r\n\r\n this.localizationService.GetLocalizationData().subscribe(data => {\r\n this.pageTranslation = data[0][this.pageName][locale];\r\n this.pageTranslated.next(this.pageTranslation);\r\n },\r\n error => { console.log(error) }, () => { });\r\n }\r\n\r\n registerNewUser(model: any): void {\r\n this.isValidFormSubmitted = false;\r\n if (this.myform.invalid) {\r\n return;\r\n }\r\n this.isValidFormSubmitted = true;\r\n this.disableSignInButton = true;\r\n this.mspinnerService.ShowSpinner();\r\n model.userType = this.clientTypeParam;\r\n this.userService.RedeemVoucherToUser(model)\r\n .subscribe(\r\n data => {\r\n this.alertService.success('User exists', true);\r\n this.data = true;\r\n this.userService.checkUser(model);\r\n },\r\n error => {\r\n this.mspinnerService.HideSpinner();\r\n if (error.status == 404) {\r\n this.alertService.error(\"User not found!\");\r\n this.data = false;\r\n }\r\n else {\r\n this.userService.UserNotFound(error.status.toString());\r\n }\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
Firstname is required
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
Lastname is required
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
Please enter a valid email
\r\n
Email is required
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
{{pageTranslation.ValidVoucher}}
{{pageTranslation.VoucherFormat}}
\r\n
{{pageTranslation.VoucherRequired}}
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n

{{pageTranslation.PoweredByGlobalMentoring}}

\r\n \r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\nimport { RegisterProcessComponent } from '../register-process';\nimport { Subscription , Subject, BehaviorSubject } from 'rxjs';\nimport { UsersService } from '../../service/users.service';\nimport { UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms';\nimport { AlertService } from '../../service/alert.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { MessagesService } from '../../service/messages.service';\n\nimport { LocalizationService } from '../../service/localization.service';\nimport { MentorSpinnerService } from '../../service/mentorspinner.service';\nimport {CustomizationService} from '../../service/customization.service';\nimport { AppConfig } from '../../AppConfig';\n\n@Component({\n selector: 'app-register-user-msp',\n templateUrl: './register-user-msp.component.html',\n styleUrls: ['./register-user-msp.component.css']\n})\nexport class RegisterUserMspComponent implements RegisterProcessComponent {\n @Input() data: any;\n myform: UntypedFormGroup;\n email: any;\n subscription: Subscription;\n paramWidget: boolean = false;\n public clientType: Subject = new BehaviorSubject(null);\n public clientTypeParam: string;\n mobnumPattern = /^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{4})$/;\n emailPattern = \"[a-zA-Z0-9.-_-]{1,}@[0-9a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}\";\n isValidFormSubmitted = null;\n disableSignInButton: boolean = false;\n public logoFullPath: string = 'assets/images/logo.png';\n public colorFileFullPath: string = '';\n public chatColor: string = '#0061AA';\n //localization - s\n private pageName = \"RegisterUserMspComponent\";\n public pageTranslation: any = \"\";\n public pageTranslated = new BehaviorSubject(\"\");\n //localization - e\n\n constructor(private customizationService: CustomizationService, private mspinnerService: MentorSpinnerService, private localizationService: LocalizationService, private userService: UsersService, private alertService: AlertService, private activatedRoute: ActivatedRoute, private msgService: MessagesService, private config: AppConfig) {\n //this.logoFullPath = environment.logoURL + this.userService.getClientIdParam().toString() + '.jpg';\n this.logoFullPath =customizationService.getNoCacheImage(this.config.logoURL + this.userService.getClientIdParam().toString() + '.png');\n this.colorFileFullPath = this.config.logoURL + this.userService.getClientIdParam().toString() + '.txt';\n\n this.chatColor = customizationService.getPersonalizedColor(this.colorFileFullPath);\n this.SetLocalization();\n\n this.subscription = this.userService.registeredUserData.subscribe(t => { this.email = t; });\n\n let clientType = userService.getClientTypeParam();\n this.clientType.next(clientType);\n\n this.myform = new UntypedFormGroup({\n\n firstName: new UntypedFormControl(),\n lastName: new UntypedFormControl(),\n email: new UntypedFormControl('', [\n Validators.required,\n Validators.pattern(this.emailPattern)\n ]),\n address: new UntypedFormControl('', [Validators.required]),\n phone: new UntypedFormControl('', [\n Validators.required,\n Validators.pattern(this.mobnumPattern)\n ]),\n isAtDown: new UntypedFormControl(),\n message: new UntypedFormControl()\n });\n\n this.subscription = this.userService.alreadyEntered.subscribe(t => {\n this.myform.controls[\"firstName\"].setValue(t.firstName);\n this.myform.controls[\"lastName\"].setValue(t.lastName);\n this.myform.controls[\"email\"].setValue(t.email);\n this.myform.controls[\"isAtDown\"].setValue(t.isAtDown);\n this.myform.controls[\"message\"].setValue(t.message);\n });\n }\n\n ngOnInit() {\n this.clientType.subscribe((clientType: string) => {\n this.clientTypeParam = clientType;\n });\n this.activatedRoute.queryParams.subscribe(params => {\n if (params['isWidget']) {\n this.paramWidget = true;\n }\n\n });\n }\n\n SetLocalization() {\n var localeFromUrl = this.userService.getClientLanguageParam();\n var locale = this.localizationService.ValidateLocale(localeFromUrl);\n\n this.localizationService.GetLocalizationData().subscribe(data => {\n this.pageTranslation = data[0][this.pageName][locale];\n this.pageTranslated.next(this.pageTranslation);\n },\n error => { console.log(error) }, () => { });\n }\n\n registerNewUser(model: any): void {\n this.isValidFormSubmitted = false;\n if (this.myform.invalid) {\n return;\n }\n this.disableSignInButton = true;\n this.mspinnerService.ShowSpinner();\n this.isValidFormSubmitted = true;\n model.userType = this.clientTypeParam;\n\n if (model.isAtDown) {\n\n this.userService.RegisterNewMspUserInAtDownTime(model)\n .subscribe(\n data => {\n this.alertService.success('User exists', true);\n this.data = true;\n this.userService.checkUser(model);\n this.msgService.clientInitMessage.next(model.message);\n\n },\n error => {\n\n this.mspinnerService.HideSpinner();\n if (error.status == 404) {\n this.alertService.error(\"User not found!\");\n this.data = false;\n }\n else {\n this.userService.UserNotFound(error.status.toString());\n return;\n }\n\n });\n }\n }\n}\n","\n
\n
\n \n
\n
\n
\n \n
\n\n \n
\n \n \n\n
\n
{{pageTranslation.FNameRequired}}
\n
\n
\n\n \n
\n \n \n\n
\n
{{pageTranslation.LNameRequired}}
\n
\n
\n\n \n
\n \n \n\n
\n
{{pageTranslation.ValidEmail}}
\n
{{pageTranslation.EmailRequired}}
\n
\n
\n \n \n
\n \n \n\n
\n
{{pageTranslation.AddressRequired}}
\n
\n
\n\n \n
\n \n \n\n
\n
{{pageTranslation.ValidPhone}}
{{pageTranslation.PhoneExample}}
\n
{{pageTranslation.PhoneRequired}}
\n
\n
\n\n
\n\n
\n \n\n
\n
\n\n
\n

{{pageTranslation.PoweredByGlobalMentoring}}

\n \n
\n
\n","import { Directive, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subject , Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Directive({\n selector: '[appDebounceClick]'\n})\nexport class DebounceClickDirective implements OnInit, OnDestroy {\n @Input() debounceTime = 500;\n @Output() debounceClick = new EventEmitter();\n private clicks = new Subject();\n private subscription: Subscription;\n\n constructor() { }\n\n ngOnInit() {\n this.subscription = this.clicks.pipe(\n debounceTime(this.debounceTime)\n ).subscribe(e => this.debounceClick.emit(e));\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n @HostListener('click', ['$event'])\n clickEvent(event) {\n \n event.preventDefault();\n event.stopPropagation();\n this.clicks.next(event);\n \n \n }\n}\n","import {\n MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA,\n MatLegacyDialogRef as MatDialogRef\n} from \"@angular/material/legacy-dialog\";\nimport {MatLegacyTableDataSource as MatTableDataSource} from \"@angular/material/legacy-table\";\nimport { MatLegacyPaginator as MatPaginator } from \"@angular/material/legacy-paginator\";\nimport {\n Component,\n Inject,\n OnInit,\n OnDestroy,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport { AdminService } from \"../../service/admin.service\";\nimport { CannedResponse } from \"../../model/cannedresponse.model\";\nimport { ChatService } from \"../../service/chatservice\";\nimport {Clipboard} from '@angular/cdk/clipboard';\n\n@Component({\n selector: 'app-all-cannedresponses-modal',\n templateUrl: './all-cannedresponses-modal.component.html',\n styleUrls: ['./all-cannedresponses-modal.component.css'],\n})\n\nexport class AllCannedResponsesModalComponent implements OnInit, OnDestroy {\n allItems: Subject = new Subject();\n cannedResponses: any;\n selectedUserId: any;\n getMore: number = 0;\n displayedColumns = [\"Description\", \"Text\", \"Use in conversation\", \"Copy to clipboard\"];\n dataSource: any;\n noContentMessage: string = null;\n private onDestroy$: Subject = new Subject();\n @ViewChild(MatPaginator,{static:false}) paginator: MatPaginator;\n\n constructor(\n private dialogRef: MatDialogRef, \n public adminService: AdminService,\n @Inject(MAT_DIALOG_DATA) data, \n public viewContainerRef: ViewContainerRef,\n public chatService: ChatService,\n public clipBoard: Clipboard) {\n \n const subAllItems = this.allItems.subscribe(items => {\n if (typeof (data.cannedResponses) != 'string') {\n this.dataSource = new MatTableDataSource(data.cannedResponses);\n setTimeout(() => this.dataSource.paginator = this.paginator);\n } else {\n this.noContentMessage = data.cannedResponses;\n }\n });\n\n this.cannedResponses = data.cannedResponses;\n this.allItems.next(data);\n }\n\n ngOnInit() {\n }\n\n save() {\n this.dialogRef.close(true);\n }\n\n close() {\n this.dialogRef.close(false);\n }\n\n public ngOnDestroy(): void {\n this.close();\n this.onDestroy$.next();\n }\n\n ClickOnCannedResponse(cannedResponse: CannedResponse) {\n this.chatService.setCurrentChatMessage(cannedResponse.text);\n }\n\n ClickOnCopyToClipboard(cannedResponse: CannedResponse) {\n this.clipBoard.copy(cannedResponse.text);\n }\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.dataSource.filter = filterValue.trim().toLowerCase();\n }\n}\n","\n \n\n

Canned Responses

\n\n
\n\n
{{noContentMessage}}
\n\n \n Filter\n \n \n\n \n \n Description \n {{element.description}}\n \n\n \n Text \n {{element.text}} \n \n\n \n \n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
\n \n
\n
\n\n","\nimport {\n MatLegacyDialog as MatDialog,\n MatLegacyDialogConfig as MatDialogConfig,\n MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA,\n MatLegacyDialogRef as MatDialogRef\n} from \"@angular/material/legacy-dialog\";\nimport {MatLegacyTableDataSource as MatTableDataSource} from \"@angular/material/legacy-table\";\nimport { MatLegacyPaginator as MatPaginator } from \"@angular/material/legacy-paginator\";\nimport {\n Component,\n Inject,\n OnInit,\n OnDestroy,\n ViewChild,\n ViewContainerRef,\n ComponentFactoryResolver,\n ChangeDetectorRef\n} from '@angular/core';\nimport {\n MessagesService\n} from '../../service/messages.service';\nimport {\n Ticket\n} from '../../model/ticket';\nimport {\n RoomsService\n} from '../../service/rooms.service';\nimport {\n ChatService\n} from '../../service/chatservice';\nimport {\n TicketService\n} from '../../service/ticket.service';\nimport {\n Observable\n, \n BehaviorSubject\n, \n Subject\n, \n Subscription\n} from 'rxjs';\n\nimport {\n User\n} from \"../../model/user\";\nimport {\n TranscriptModalComponent\n} from '../transcript-modal/transcript-modal.component';\nimport {\n CollectionViewer,\n DataSource\n} from \"@angular/cdk/collections\";\n// import {\n// Ng4LoadingSpinnerService\n// } from 'ng4-loading-spinner';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { FindValueSubscriber } from \"rxjs/internal/operators/find\";\n@Component({\n selector: 'app-all-tickets-modal',\n templateUrl: './all-tickets-modal.component.html',\n styleUrls: ['./all-tickets-modal.component.css'],\n})\n\nexport class AllTicketsModalComponent implements OnInit, OnDestroy {\n allItems: Subject = new Subject();\n tickets: any;\n selectedUserId: any;\n getMore: number = 0;\n displayedColumns = [\"TicketNumber\", \"TicketSourceName\", \"Title\"];\n dataSource: any;\n noContentMessage: string = null;\n private onDestroy$: Subject = new Subject();\n @ViewChild(MatPaginator,{static:false}) paginator: MatPaginator;\n\n constructor(\n private dialogRef: MatDialogRef, public messagesService: MessagesService,\n public RoomsService: RoomsService, private chatService: ChatService, public ticketService: TicketService,\n @Inject(MAT_DIALOG_DATA) data, private dialog: MatDialog,\n public viewContainerRef: ViewContainerRef, private ref: ChangeDetectorRef,\n private spinnerService: NgxSpinnerService) {\n \n const subAllItems = this.allItems.subscribe(items => {\n if (typeof (data.ticketsArray) != 'string') {\n this.dataSource = new MatTableDataSource(this.tickets);\n setTimeout(() => this.dataSource.paginator = this.paginator);\n } else {\n this.noContentMessage = data.ticketsArray;\n }\n });\n\n this.tickets = data.ticketsArray;\n this.selectedUserId = data.userId;\n this.allItems.next(data);\n\n }\n\n\n\n ngOnInit() {\n }\n\n clickedTicket(ticket: Ticket) {\n if (ticket.TicketSourceName == \"Chat\") {\n this.spinnerService.show();\n const subGetChatTranscriptByTicketId = this.ticketService.getChatTranscriptByTicketId(ticket.ID).subscribe(\n data => {\n this.openCurrentTranscriptDialog(data);\n this.spinnerService.hide();\n }\n );\n } else {\n window.open(\"https://ww3.autotask.net/Mvc/ServiceDesk/TicketDetail.mvc?openerPage=null&ticketId=\" + ticket.ID, \"_blank\");\n }\n }\n\n public openCurrentTranscriptDialog(messages: any) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.autoFocus = true;\n dialogConfig.data = messages;\n dialogConfig.height = '600px';\n dialogConfig.width = '800px';\n \n const dialogRef = this.dialog.open(TranscriptModalComponent, dialogConfig);\n }\n\n seeMore() {\n this.getMore--;\n this.spinnerService.show();\n\n const subGetTicketByUserPerMonth = this.ticketService.getTicketsByUserPerMonth(this.getMore, this.selectedUserId)\n .subscribe((data) => {\n if (typeof (data.ticketsArray) != 'string') {\n this.tickets = this.tickets.concat(data);\n this.allItems.next(this.tickets);\n } else {\n this.noContentMessage = data.ticketsArray;\n }\n this.spinnerService.hide();\n });\n\n }\n\n save() {\n this.dialogRef.close(true);\n }\n\n close() {\n this.dialogRef.close(false);\n }\n\n\n public ngOnDestroy(): void {\n this.close();\n this.onDestroy$.next();\n }\n\n}\n","\n \n\n

All Tickets

\n\n
\n\n
{{noContentMessage}}
\n\n \n \n Ticket No. \n {{element.TicketNumber}} \n \n\n \n Source \n {{element.TicketSourceName}} \n \n\n \n Title \n {{element.Title}} \n \n\n \n \n \n
\n \n
\n \n
\n\n","\nimport {tap} from 'rxjs/operators';\nimport { MatLegacyDialog as MatDialog, MatLegacyDialogConfig as MatDialogConfig,MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA,MatLegacyDialogRef as MatDialogRef } from \"@angular/material/legacy-dialog\";\nimport { Component, Inject, OnInit,Input } from '@angular/core';\nimport { MessagesService } from '../../service/messages.service';\nimport { messageFactory } from '../../model/messageFactory';\nimport { Message } from '../../model/message.model';\nimport { Room } from '../../model/room.model';\nimport { RoomsService } from '../../service/rooms.service';\nimport { ChatService } from '../../service/chatservice';\nimport { PagerService } from '../../service/pagerservice';\n// import { Http, Headers, RequestOptions, Response } from '@angular/http';\nimport { Observable , Subject } from 'rxjs';\n\nimport { User } from \"../../model/user\";\nimport { UserFactory } from \"../../model/userFactory\";\nimport {TranscriptModalComponent} from '../transcript-modal/transcript-modal.component';\n\n@Component({\n selector: 'app-all-transcripts-modal',\n templateUrl: './all-transcripts-modal.component.html',\n styleUrls: ['./all-transcripts-modal.component.css']\n})\nexport class AllTranscriptsModalComponent{\n\t \n private onDestroy$: Subject = new Subject();\n //START - paging properties NEW\n // array of all items to be paged\n allItems: any[] = [];\n perPage: number;\n defaultPerPage: number = 10;\n fullLength: number;\n currentPage: number;\n totalPages: number;\n loading: boolean;\n currentClickedUser: any;\n public userId: string;\n //END - paging properties NEW\n\n constructor( \n private dialogRef: MatDialogRef, public messagesService: MessagesService, \n public RoomsService: RoomsService, private chatService: ChatService, @Inject(MAT_DIALOG_DATA) data, private dialog: MatDialog) {\n\n}\n\nngOnInit() {\n //this.getPageOnInit();\n\n const subClickAllTranscript = this.RoomsService.clickAllTranscript.subscribe((rooms) => {\n this.allItems = [];\n for(var i = 0; i < rooms.length; i++){\n this.allItems[i] = new Room(rooms[i]);\n }\n this.perPage = this.allItems.length;\n });\n \n const subAllTranscript = this.RoomsService.allTranscriptsLen.subscribe(fullLen => {\n \n this.fullLength = fullLen;\n });\n\n const subSetCurrentPage = this.RoomsService.setCurrentPage.subscribe(current => {\n \n this.currentPage = current;\n });\n\n const subCurrentTranscriptUser = this.RoomsService.currentTranscriptUser.pipe(tap(currUser => {\n this.currentClickedUser = new User(currUser);\n })).subscribe()\n}\n\nclickedRoom(room: Room){\n this.chatService.getCurrentTranscript(this.currentClickedUser.id, room.id);\n this.openCurrentTranscriptDialog();\n}\n\nopenCurrentTranscriptDialog() {\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n const dialogRef = this.dialog.open(TranscriptModalComponent, {\n height: '500px',\n width: '700px'\n });\n }\n\n public ngOnDestroy(): void {\n this.onDestroy$.next();\n } \n//START - pagination logic\n//getPage(page: number) {\n \n// this.chatService.getAllTranscripts(page, this.currentClickedUser.id);\n// this.loading = true;\n// this.totalPages = Math.ceil(this.fullLength / this.defaultPerPage);\n//}\n\n//getPageOnInit(){\n// this.totalPages = Math.ceil(this.fullLength / this.defaultPerPage);\n//}\n\n//END - pagination logic\n//save() {\n// this.dialogRef.close(true);\n//}\n\n//close() {\n// this.dialogRef.close(false);\n//}\n\n}\n","

All Transcripts

\n\n\n\n
\n \n
    \n
  • \n {{ item.name }}\n
  • \n
\n \n
\n
\n \n
\n \n\n
","\r\nimport { of as observableOf, forkJoin as observableForkJoin, Observable, Subject, BehaviorSubject, Observer, ReplaySubject, SubscriptionLike as ISubscription, of } from 'rxjs';\r\nimport { catchError, debounceTime, map, takeUntil } from 'rxjs/operators';\r\nimport { Component, OnInit, HostListener, Input, OnDestroy, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { TicketService } from '../../service/ticket.service';\r\nimport { ChatService } from '../../service/chatservice';\r\nimport { MappingFields } from '../../model/MappingFields.model';\r\nimport { Contact } from '../../model/contact.model';\r\nimport { IssueService } from '../../service/issueservice';\r\nimport { UntypedFormGroup, UntypedFormBuilder, FormControl, ReactiveFormsModule, Validators, NgForm, FormArray, FormGroup, FormBuilder, UntypedFormControl, UntypedFormArray } from '@angular/forms';\r\nimport { StatusType } from '../../model/statusType';\r\nimport { Queue } from '../../model/queue.model';\r\nimport { AtAccount } from '../../model/ataccount.model';\r\nimport { MessagesService } from '../../service/messages.service';\r\nimport { Message } from '../../model/message.model';\r\nimport { MatLegacyDialog as MatDialog, MatLegacyDialogConfig as MatDialogConfig } from \"@angular/material/legacy-dialog\";\r\nimport { ContactModalComponent } from '../contact-modal/contact-modal.component';\r\nimport { NoticeComponent } from '../notice/notice.component';\r\nimport { Room } from '../../model/room.model';\r\nimport { RoomsService } from '../../service/rooms.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport * as _ from 'lodash';\r\nimport { ConfirmComponent } from '../confirm/confirm.component';\r\nimport { TicketDraft } from '../../model/ticketDraft';\r\nimport { Priority } from '../../model/priority.model';\r\nimport { MappingFieldArray } from '../../model/MappingFieldArray.model';\r\nimport { createTicket } from '../../model/createTicket.model';\r\nimport { TicketData } from '../../model/ticketData';\r\nimport { TicketCreatedStatusEnum } from '../../model/ticketCreatedStatusEnum';\r\nimport { ConfirmInfoComponent } from '../confirm-info/confirm-info.component';\r\n\r\n@Component({\r\n selector: 'chat-close-form',\r\n templateUrl: './chat-close-form.component.html',\r\n styleUrls: ['./chat-close-form.component.css'],\r\n})\r\nexport class ChatCloseFormComponent implements OnInit, OnDestroy {\r\n\r\n setContactSubject: Subject = new Subject();\r\n [x: string]: any;\r\n messagesInCurrentRoom: Observable;\r\n\r\n currentDate: Date;\r\n popupOpenedAt: string;\r\n showUpdateMessage: boolean = false;\r\n data: any;\r\n showFormErrors: boolean = false;\r\n isValidFormSubmitted = null;\r\n currentTicket: TicketData;\r\n currentRoom: Room;\r\n previousRoom: Room;\r\n loading = false;\r\n showSelected: boolean = false;\r\n showIfTTI: boolean = false;\r\n public clientId: number;\r\n public clientType: string;\r\n errorMessage: string;\r\n exist: boolean;\r\n public companies: Contact[];\r\n public issues: MappingFields[];\r\n public subissues: MappingFields[];\r\n public subissuesList: MappingFieldArray[] = [];\r\n public subIssueVisibleList: boolean[] = [];\r\n public roomMsgs: Message[];\r\n\r\n selectedIssueInitial: number = -1;\r\n selectedStatusInitial: number = -1;\r\n selectedContactInitial: number = -1;\r\n selectedQueueInitial: number = -1;\r\n selectedSubIssueInitial: number = -1;\r\n selectedChildClientInitial: number = -1;\r\n\r\n selectedIssue: number = -1;\r\n selectedStatus: number = -1;\r\n selectedContact: number = -1;\r\n selectedQueue: number = -1;\r\n selectedSubIssue: number = -1;\r\n selectedCompany: number;\r\n selectedChildClient: number = -1;\r\n selectedPriority: number = 2; // Medium\r\n public newContact: Contact;\r\n public contacts: Contact[];\r\n public statuses: Object[];\r\n public childClients: AtAccount[];\r\n public queues: Queue[];\r\n public priorities: Priority[];\r\n internalNote: string;\r\n privateNote: string;\r\n ticketTitle: string = \"\";\r\n internalNoteInitial: string;\r\n privateNoteInitial: string;\r\n ticketTitleInitial: string = \"\";\r\n disableUpdate: boolean = false;\r\n isTranscriptLoaded: boolean = false;\r\n userInChat: string;\r\n public loadingContacts: boolean = false;\r\n public loadingChildClients: boolean = false;\r\n public ticketNumberPresent: string = \"Loading...\";\r\n public ticketNumberArray: Array = new Array();\r\n public noticeMessage: string = \"\";\r\n public showSuccessMessage: boolean = false;\r\n public noticeImage: string = \"\";\r\n private TTI_CLIENT_ID: string = \"30734187\";\r\n private TTI_CLIENT_ID_STAGING: string = \"30757764\";\r\n private TTI_CLIENT_INC_ID: string = \"30742108\";\r\n myForm: FormGroup;\r\n chatUserId: string;\r\n chatUserFullName: string;\r\n addContactsNote: string;\r\n parentAtAccountId: number;\r\n isMspAuth: boolean = false;\r\n private initialTicketTitle = \"\";\r\n isSaveChangesNeeded: boolean = true;\r\n private onDestroy$: ReplaySubject = new ReplaySubject(1);\r\n public isNhdTicket: boolean = false;\r\n public selectedTemplate: number = 0;\r\n popupOpenedAtInitial: string = \"\";\r\n items: FormArray;\r\n isPreviousTicketBinded: boolean = false;\r\n isTicketCreated: boolean = false;\r\n disablePreviousTicketUpdate: boolean = false;\r\n showCloseChatButton:boolean=true;\r\n isNhdClosed: boolean = false;\r\n\r\n constructor(private router: Router,\r\n public chatService: ChatService,\r\n public ticketService: TicketService,\r\n public messagesService: MessagesService,\r\n private roomsService: RoomsService,\r\n private spinnerService: NgxSpinnerService,\r\n private datePipe: DatePipe,\r\n private dialog: MatDialog,\r\n private issueservice: IssueService, private formBuilder: FormBuilder) {\r\n\r\n this.loadingContacts = true;\r\n this.loadingChildClients = true;\r\n this.initializeComponents();\r\n\r\n this.isTranscriptLoaded = false;\r\n const subscriptionRoom = this.roomsService.currentRoom.pipe(takeUntil(this.onDestroy$)).subscribe(room => {\r\n this.currentRoom = room;\r\n });\r\n\r\n\r\n this.showSuccessMessage = false;\r\n //EST\r\n var offset = -5.0;\r\n var clientDate = new Date();\r\n var utc = clientDate.getTime() + (clientDate.getTimezoneOffset() * 60000);\r\n var utcDate = new Date(utc);\r\n this.popupOpenedAt = this.datePipe.transform(utcDate, 'yyyy-MM-dd hh:mm:ss a');\r\n\r\n\r\n const subContactSubject = this.setContactSubject.pipe(takeUntil(this.onDestroy$)).subscribe((email: string) => {\r\n let tmpCont = this.contacts.find(c => c.email === email);\r\n\r\n if (tmpCont !== null && tmpCont !== undefined)\r\n this.selectedContact = tmpCont.id;\r\n else\r\n this.selectedContact = -1;\r\n\r\n });\r\n\r\n this.chatService.getTicketInfo(this.currentRoom.id);\r\n\r\n this.previousRoom = this.currentRoom;\r\n\r\n const subscriptionTicket = this.ticketService.currentTicket.pipe(takeUntil(this.onDestroy$)).subscribe(\r\n (ticket: TicketData) => {\r\n\r\n if (ticket) {\r\n this.currentTicket = ticket;\r\n\r\n this.ticketNumberPresent = this.currentTicket.TicketNumber;\r\n\r\n if (this.currentTicket.ID == '-1') {\r\n\r\n if (this.currentRoom.ticketNumber != '-1') {\r\n this.ticketNumberPresent = this.currentRoom.ticketNumber.toString();\r\n this.disableUpdate = true;\r\n }\r\n else {\r\n this.isMspAuth = true;\r\n this.ticketNumberPresent = \"Autotask ticket does not exists for this chat session.\";\r\n }\r\n }\r\n }\r\n });\r\n\r\n\r\n const subscriptionTicketNumbers = this.ticketService.sTicketNumbers.pipe(takeUntil(this.onDestroy$)).subscribe(\r\n (ticketArray: Array) => {\r\n this.ticketNumberArray=[];\r\n if (ticketArray) \r\n {\r\n ticketArray.forEach(element => {\r\n this.ticketNumberArray.push(element.TicketNumber.toString());\r\n });\r\n }\r\n });\r\n\r\n\r\n\r\n observableForkJoin(\r\n [this.issueservice.GetAllIssues().pipe(map((res) => { this.issues = res; }), catchError(e => observableOf('GetAllIssues error!')),),\r\n this.issueservice.GetAllStatuses().pipe(map((res) => { this.statuses = res; }), catchError(e => observableOf('GetAllStatuses error!')),),\r\n this.issueservice.GetQueues().pipe(map((res) => { this.queues = res; }), catchError(e => observableOf('Oops!')),),\r\n this.issueservice.GetPriorities().pipe(map((res) => { this.priorities = res; }), catchError(e => observableOf('GetPriorities error!')),),\r\n this.issueservice.GetTranscript(this.currentRoom).pipe(map(\r\n (res) => {\r\n this.msgsInCurrentRoom(res);\r\n }\r\n ), catchError(e =>\r\n observableOf('Oops!')),\r\n )]\r\n ).subscribe(res => {\r\n this.roomsService.setBlockSettingCurrentRoom(true);\r\n this.chatService.setBlockSettingCurrentRoom(true);\r\n\r\n observableForkJoin(\r\n [this.issueservice.GetChildClientsByUserId(this.chatUserId).pipe(map((res) => { return this.getChildClients(res) }), catchError(e => observableOf('Oops!')),),\r\n this.issueservice.GetContactsByUserId(this.chatUserId).pipe(map((res) => { return this.getContactsSubsription(res) }), catchError(e => observableOf('Oops!')),)]\r\n ).subscribe(res => {\r\n this.ticketService.GetTicketDraft(this.currentRoom.id).pipe(takeUntil(this.onDestroy$)).subscribe((data: TicketDraft) => {\r\n\r\n if (data) {\r\n this.ticketTitle = data.Title;\r\n this.selectedStatus = data.Status;\r\n this.selectedQueue = data.Queue;\r\n this.selectedContact = data.Contact;\r\n this.selectedIssue = data.Issue;\r\n\r\n if (this.selectedIssue != -1 && this.selectedIssue != 0)\r\n this.onIssueSelect(this.selectedIssue, 0);\r\n\r\n this.selectedSubIssue = data.SubIssue;\r\n this.internalNote = data.InternalNote;\r\n this.privateNote = data.PrivateNote;\r\n this.popupOpenedAt = data.PopupOpenedAt;\r\n this.selectedContact = data.Contact;\r\n this.selectedChildClient = data.SelectedChild;\r\n this.ticketTitleInitial = data.Title;\r\n this.selectedStatusInitial = data.Status;\r\n this.selectedQueueInitial = data.Queue;\r\n this.selectedContactInitial = data.Contact;\r\n this.selectedIssueInitial = data.Issue;\r\n this.selectedSubIssueInitial = data.SubIssue;\r\n this.internalNoteInitial = data.InternalNote;\r\n this.privateNoteInitial = data.PrivateNote;\r\n this.popupOpenedAtInitial = data.PopupOpenedAt;\r\n this.selectedContactInitial = data.Contact;\r\n this.selectedChildClientInitial = data.SelectedChild;\r\n this.selectedTemplate = data.SelectedTemplate;\r\n this.isNhdTicket = this.selectedTemplate == 2;\r\n this.selectedChildClientInitial = data.SelectedChildClientInitial;\r\n this.onChildClientSelect(this.selectedChildClient);\r\n }\r\n\r\n });\r\n });\r\n }\r\n );\r\n\r\n const subscriptionTicketCreated = this.chatService.TicketCreated.pipe(takeUntil(this.onDestroy$)).subscribe((ticketCreatedStatus: number) => {\r\n this.spinnerService.hide();\r\n this.roomsService.setBlockSettingCurrentRoom(false);\r\n this.chatService.setBlockSettingCurrentRoom(false);\r\n this.isSaveChangesNeeded = false;\r\n if (ticketCreatedStatus == TicketCreatedStatusEnum.TicketUpdated) {\r\n this.showSuccessMessage = true;\r\n this.isTicketCreated = false;\r\n this.noticeMessage = \"Chat ticket \" + this.currentTicket.TicketNumber + \" was successfully updated!\";\r\n this.noticeImage = 'assets/images/thumbs-up.png';\r\n this.chatService.closeChatPopup(this.currentRoom.id);\r\n } else if (ticketCreatedStatus == TicketCreatedStatusEnum.TicketCreated) {\r\n this.showSuccessMessage = true;\r\n this.isTicketCreated = true;\r\n this.noticeMessage = \"Chat ticket \" + this.currentTicket.TicketNumber + \" was successfully updated!\";\r\n this.noticeImage = 'assets/images/thumbs-up.png';\r\n this.chatService.closeChatPopup(this.currentRoom.id);\r\n } else {\r\n this.noticeMessage = \"Chat ticket \" + this.currentTicket.TicketNumber + \" failed to be updated \";\r\n this.noticeImage = 'assets/images/thumbs-down.png';\r\n }\r\n });\r\n\r\n const subscriptionSaveChanges = this.roomsService.checkIfClosePopupNeeded.pipe(takeUntil(this.onDestroy$)).subscribe((start: boolean) => {\r\n\r\n var formChange = false;\r\n\r\n if (this.ticketTitle !== this.ticketTitleInitial)\r\n formChange = true;\r\n\r\n if (this.internalNote !== this.internalNoteInitial)\r\n formChange = true;\r\n\r\n if (this.privateNote !== this.privateNoteInitial)\r\n formChange = true;\r\n\r\n if (this.selectedContact !== this.selectedContactInitial)\r\n formChange = true;\r\n\r\n if (this.selectedQueue !== this.selectedQueueInitial)\r\n formChange = true;\r\n\r\n if (this.selectedIssue !== this.selectedIssueInitial)\r\n formChange = true;\r\n\r\n if (this.selectedSubIssue !== this.selectedSubIssueInitial)\r\n formChange = true;\r\n\r\n if (this.isSaveChangesNeeded && formChange) {\r\n this.roomsService.setBlockSettingCurrentRoom(true);\r\n this.chatService.setBlockSettingCurrentRoom(true);\r\n this.openConfirmDialog();\r\n } else {\r\n this.roomsService.setBlockSettingCurrentRoom(false);\r\n this.chatService.setBlockSettingCurrentRoom(false);\r\n this.roomsService.loadNewComponent.next(false);\r\n }\r\n });\r\n }\r\n\r\n msgsInCurrentRoom(msgs: Message[]) {\r\n\r\n var msg = msgs.find(m => m.author.isMentor === false)\r\n this.userInChat = msg.author.email;\r\n this.chatUserId = msg.author.id;\r\n this.chatUserFullName = msg.author.userName;\r\n this.ticketTitle = \"Chat - \" + this.makeFirstLetterUppercase(msg.author.userName) + \" - \";\r\n this.initialTicketTitle = \"Chat - \" + this.makeFirstLetterUppercase(msg.author.userName) + \" - \";\r\n this.ticketTitleInitial = this.ticketTitle;\r\n var transcriptMsgs = msgs.filter(x => x.msgType == 0);\r\n this.messagesInCurrentRoom = _.cloneDeep(_.sortBy(transcriptMsgs, (t: any) => t.sentAt));\r\n }\r\n\r\n getChildClients(data: any) {\r\n this.loadingChildClients = false;\r\n this.childClients = data;\r\n this.parentAtAccountId = this.childClients[0].parentId;\r\n\r\n let selected = data.filter((client) => client.selected === true);\r\n\r\n if (selected && selected.length > 0) {\r\n this.selectedChildClient = selected[0].id;\r\n this.selectedChildClientInitial = this.selectedChildClient;\r\n }\r\n\r\n const subscriptionContactsStatus = this.issueservice.CheckIfMspAllowsAddingContacts(this.parentAtAccountId).pipe(takeUntil(this.onDestroy$)).subscribe(data => {\r\n if (data && data.toString().toLowerCase() == \"add\") {\r\n this.addContactsNote = \"(Partner allows adding new contacts)\";\r\n } else if (data && data.toString().toLowerCase() == \"do not add\") {\r\n this.addContactsNote = \"(Partner doesn't allow adding new contacts)\";\r\n }\r\n },\r\n error => console.log(error),\r\n () => { });\r\n }\r\n\r\n getContactsSubsription(data: any) {\r\n this.loadingContacts = false;\r\n this.contacts = data;\r\n if (this.userInChat != null && this.userInChat != \"\") {\r\n let tmpCont = this.contacts.find(c => c.email.toLowerCase() === this.userInChat.toLowerCase() || c.email2.toLocaleLowerCase() === this.userInChat.toLowerCase());\r\n this.selectedContact = -1;\r\n if (tmpCont !== null && tmpCont !== undefined) {\r\n this.selectedContact = tmpCont.id;\r\n this.selectedContactInitial = this.selectedContact;\r\n }\r\n }\r\n }\r\n\r\n getIssues(fields: MappingFields[]) {\r\n\r\n }\r\n\r\n openConfirmDialog() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n\r\n const dialogRef = this.dialog.open(ConfirmComponent, {\r\n height: '250px',\r\n width: '400px',\r\n data: { warningMessage: \"Save changes before leaving this chat session?\", showCancelButton: true }\r\n });\r\n\r\n const subDialogRef = dialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(\r\n val => {\r\n if (val !== null && val != undefined && val) {\r\n this.saveDraftChanges();\r\n } else if (val !== null && val != undefined && val == false) {\r\n this.roomsService.loadNewComponent.next(true);\r\n } else {\r\n this.roomsService.setCurrentRoom(this.previousRoom);\r\n }\r\n }\r\n );\r\n dialogRef.disableClose = false;\r\n }\r\n\r\n openConfirmInfoDialog() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n\r\n const dialogRef = this.dialog.open(ConfirmInfoComponent, {\r\n height: '250px',\r\n width: '400px',\r\n data: { warningMessage: \"Cannot merge existing ticket into this one! Please proceed by creating a new Autotask ticket.\" }\r\n });\r\n\r\n const subDialogRef = dialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(\r\n val => {\r\n }\r\n );\r\n dialogRef.disableClose = false;\r\n }\r\n\r\n createItem(): UntypedFormGroup {\r\n return this.formBuilder.group({\r\n additionalTicketTitle: new UntypedFormControl('', [Validators.required]),\r\n additionalIssue: '',\r\n additionalSubIssue: '',\r\n ticketMentorPrivateNote: '',\r\n ticketMentorTimeEntry: new UntypedFormControl('', [Validators.required])\r\n });\r\n }\r\n\r\n addItem(): void {\r\n this.items = this.myForm.get('items') as UntypedFormArray;\r\n\r\n if (this.items.length == 10)\r\n return;\r\n\r\n this.items.push(this.createItem());\r\n this.subissuesList.push(new MappingFieldArray);\r\n this.subIssueVisibleList.push(false);\r\n }\r\n\r\n onCloseAdditionalTicket(item: number) {\r\n this.items = this.myForm.get('items') as UntypedFormArray;\r\n this.items.removeAt(item);\r\n this.subissuesList.splice(item, 1);\r\n this.subIssueVisibleList.splice(item, 1);\r\n }\r\n\r\n ngOnInit() {\r\n this.myForm = this.formBuilder.group({\r\n items: this.formBuilder.array([])\r\n });\r\n\r\n this.ticketNumberPresent = \"Loading...\";\r\n this.noticeMessage = \"\";\r\n }\r\n\r\n initializeComponents() {\r\n this.ticketService.setCurrentTicket(null);\r\n this.contacts = null;\r\n this.childClients = null;\r\n this.popupOpenedAt = \"\";\r\n this.userInChat = \"\";\r\n this.ticketTitle = \"\";\r\n this.internalNote = \"\";\r\n this.privateNote = \"\";\r\n this.ticketTitleInitial = \"\";\r\n this.internalNoteInitial = \"\";\r\n this.privateNoteInitial = \"\";\r\n }\r\n\r\n loadPreviousTicket() {\r\n\r\n this.spinnerService.show();\r\n this.ticketService.checkPreviousTicketQueue(this.currentRoom.id).pipe(takeUntil(this.onDestroy$)).subscribe(\r\n data => {\r\n this.spinnerService.hide();\r\n\r\n this.isPreviousTicketBinded = true;\r\n\r\n this.ticketTitle = this.currentTicket.Title;\r\n this.selectedStatus = this.currentTicket.Status;\r\n this.selectedPriority = this.currentTicket.Priority;\r\n\r\n if (this.currentTicket.IssueType) {\r\n this.selectedIssue = this.currentTicket.IssueType;\r\n\r\n var selectedSubIss = 0\r\n if (this.currentTicket.SubIssueType)\r\n selectedSubIss = this.currentTicket.SubIssueType\r\n\r\n this.onIssueSelect(this.selectedIssue, selectedSubIss);\r\n }\r\n\r\n if (this.currentTicket.SubIssueType) {\r\n this.selectedSubIssue = this.currentTicket.SubIssueType;\r\n this.showSelected = true;\r\n }\r\n },\r\n error => {\r\n this.spinnerService.hide();\r\n this.disablePreviousTicketUpdate = true;\r\n this.openConfirmInfoDialog();\r\n });\r\n }\r\n\r\n revertToNewTicket() {\r\n this.spinnerService.show();\r\n this.isPreviousTicketBinded = false;\r\n this.selectedStatus = this.selectedStatusInitial;\r\n this.selectedPriority = 2;\r\n this.ticketTitle = this.initialTicketTitle;\r\n this.selectedIssue = this.selectedIssueInitial;\r\n this.selectedSubIssue = this.selectedSubIssueInitial;\r\n this.showSelected = false;\r\n this.spinnerService.hide();\r\n }\r\n\r\n closeNhdChat() {\r\n this.openConfirmationDialog();\r\n }\r\n\r\n openConfirmationDialog() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n const dialogRef = this.dialog.open(ConfirmComponent, {\r\n height: '300px',\r\n width: '400px',\r\n data: { warningMessage: \"Are you sure you want to delete this chat?\" }\r\n });\r\n\r\n const subDialogRef = dialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(\r\n result => {\r\n if (result) {\r\n this.spinnerService.show();\r\n this.issueservice.CloseNhdChat(this.currentRoom.id).pipe(takeUntil(this.onDestroy$))\r\n .subscribe(\r\n data => {\r\n this.spinnerService.hide();\r\n this.roomsService.setBlockSettingCurrentRoom(false);\r\n this.chatService.setBlockSettingCurrentRoom(false);\r\n this.isSaveChangesNeeded = false;\r\n \r\n this.showSuccessMessage = true;\r\n this.isNhdClosed=true;\r\n //this.isTicketCreated = true;\r\n this.noticeMessage = \"NHD ticket was successfully closed!\";\r\n this.noticeImage = 'assets/images/thumbs-up.png';\r\n this.chatService.closeChatPopup(this.currentRoom.id);\r\n \r\n },\r\n error => {\r\n this.spinnerService.hide();\r\n\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n getContacts() {\r\n const subGetContactsForRoom = this.issueservice.GetContactsByUserId(this.chatUserId).pipe(takeUntil(this.onDestroy$)).subscribe(data => {\r\n this.loadingContacts = false;\r\n this.contacts = data;\r\n if (this.userInChat != null && this.userInChat != \"\") {\r\n let tmpCont = this.contacts.find(c => c.id.toString() === this.chatUserId);\r\n this.selectedContact = -1;\r\n if (tmpCont !== null && tmpCont !== undefined) {\r\n this.selectedContact = tmpCont.id;\r\n this.selectedContactInitial = this.selectedContact;\r\n }\r\n }\r\n });\r\n }\r\n\r\n openTicket(event: any): void {\r\n window.open(\"https://ww3.autotask.net/Mvc/ServiceDesk/TicketDetail.mvc?openerPage=null&ticketId=\" +\r\n this.currentTicket.ID,\r\n \"_blank\");\r\n }\r\n\r\n onSubIssueSelect(value: any) {\r\n if (value == 0) {\r\n this.selectedSubIssue = -1;\r\n return;\r\n }\r\n this.selectedSubIssue = value;\r\n }\r\n\r\n onCompanySelect(value: any) {\r\n if (value == 0) {\r\n this.selectedCompany = -1;\r\n return;\r\n }\r\n this.selectedCompany = value;\r\n }\r\n\r\n onQueueSelect(value: any) {\r\n if (value == 0) {\r\n this.selectedQueue = -1;\r\n return;\r\n }\r\n this.selectedQueue = value;\r\n }\r\n\r\n onStatusSelect(value: any) {\r\n if (value == 0)\r\n this.selectedStatus = -1;\r\n else\r\n this.selectedStatus = value;\r\n }\r\n\r\n onPrioritySelect(value: any) {\r\n this.selectedPriority = value;\r\n }\r\n\r\n onIssueSelect(value: any, selected: number) {\r\n\r\n if (value == 0) {\r\n this.selectedIssue = -1;\r\n this.selectedSubIssue = 0;\r\n\r\n this.selectedIssueInitial = -1;\r\n this.selectedSubIssueInitial = 0;\r\n this.showSelected = false;\r\n }\r\n else {\r\n this.selectedIssue = value;\r\n const subGetAllSubissues = this.issueservice.GetAllSubissues(this.selectedIssue).pipe(takeUntil(this.onDestroy$)).subscribe(data => {\r\n\r\n if (data.length == 0) {\r\n this.showSelected = false;\r\n this.selectedSubIssue = -1;\r\n return;\r\n }\r\n\r\n this.subissues = data;\r\n\r\n if (selected == 0)\r\n this.selectedSubIssue = this.subissues[0].fieldValue;\r\n\r\n this.showSelected = true;\r\n },\r\n error => {\r\n console.log(error);\r\n this.showSelected = false;\r\n this.selectedSubIssue = -1;\r\n this.subissues = null;\r\n },\r\n () => { console.log('Get all issues complete') });\r\n }\r\n }\r\n\r\n increaseByOne(value: number) {\r\n return value + 2;\r\n }\r\n\r\n onAdditionalIssueSelect(value: any, index: number) {\r\n\r\n if (value == 0) {\r\n\r\n this.subIssueVisibleList[index] = true;\r\n }\r\n else {\r\n\r\n const subGetAllSubissues = this.issueservice.GetAllSubissues(value).pipe(takeUntil(this.onDestroy$)).subscribe(data => {\r\n\r\n if (data.length == 0) {\r\n this.showSelected = false;\r\n this.selectedSubIssue = -1;\r\n return;\r\n }\r\n\r\n this.subIssueVisibleList[index] = true;\r\n this.subissuesList[index].mappingFields = data;\r\n\r\n },\r\n error => {\r\n console.log(error);\r\n this.showSelected = false;\r\n this.selectedSubIssue = -1;\r\n this.subissues = null;\r\n },\r\n () => { console.log('Get all issues complete') });\r\n }\r\n }\r\n\r\n onContactSelect(value: any) {\r\n if (value == 0) {\r\n this.showSelected = false;\r\n this.selectedContact = -1;\r\n return;\r\n }\r\n\r\n if (value == 1) {\r\n this.selectedContact = -1;\r\n this.selectedContactInitial = -1;\r\n this.openDialog();\r\n\r\n } else\r\n this.selectedContact = value;\r\n }\r\n\r\n onChildClientSelect(value: any) {\r\n if (value == 0) {\r\n this.selectedChildClient = -1;\r\n this.selectedChildClientInitial = -1;\r\n return;\r\n }\r\n this.selectedChildClient = value;\r\n this.loadingContacts = true;\r\n\r\n this.issueservice.GetAllContactsByClientId(this.selectedChildClient).pipe(takeUntil(this.onDestroy$)).subscribe(data => {\r\n this.loadingContacts = false;\r\n this.contacts = data;\r\n if (this.userInChat != null && this.userInChat != \"\") {\r\n let tmpCont = this.contacts.find(c => c.email.toLowerCase() === this.userInChat.toLowerCase() || c.email2.toLocaleLowerCase() === this.userInChat.toLowerCase());\r\n this.selectedContact = -1;\r\n if (tmpCont !== null && tmpCont !== undefined) {\r\n this.selectedContact = tmpCont.id;\r\n this.selectedContactInitial = this.selectedContact;\r\n }\r\n else if (this.isNhdTicket) {\r\n let selectedContact = this.contacts.filter((contact) => contact.name.toLowerCase().startsWith(\"escalation\") === true);\r\n if (selectedContact && selectedContact.length > 0)\r\n this.selectedContact = selectedContact[0].id;\r\n }\r\n }\r\n });\r\n }\r\n\r\n openDialog() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.height = \"400px\";\r\n dialogConfig.width = \"500px\";\r\n let tmpCont = this.contacts.find(c => c.email.toLowerCase() === this.userInChat.toLowerCase() || c.email2.toLocaleLowerCase() === this.userInChat.toLowerCase());\r\n\r\n if (tmpCont == null || tmpCont == undefined) {\r\n let name = this.chatUserFullName.split(\" \", 2);\r\n dialogConfig.data = {\r\n FirstName: name[0],\r\n LastName: name[1],\r\n Email: this.userInChat\r\n };\r\n }\r\n\r\n\r\n if (this.isMspAuth && this.selectedChildClient === -1) {\r\n this.isValidFormSubmitted = false;\r\n return;\r\n }\r\n\r\n let dataSend = {};\r\n const dialogRef = this.dialog.open(ContactModalComponent, dialogConfig);\r\n const subDialogRef = dialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(data => {\r\n\r\n if (data != false) {\r\n let contact = new Contact({\r\n id: this.contacts.length + 1,\r\n name: data.firstname + \" \" + data.lastname,\r\n isActive: true\r\n });\r\n this.contacts.push(contact);\r\n this.selectedContact = contact.id;\r\n\r\n let accountID = \"\";\r\n\r\n if (this.isMspAuth)\r\n accountID = this.selectedChildClient.toString()\r\n else\r\n accountID = this.currentTicket.AccountID;\r\n this.spinnerService.show();\r\n this.issueservice.AddNewContact(accountID,\r\n data.firstname,\r\n data.lastname,\r\n data.email).pipe(takeUntil(this.onDestroy$))\r\n .subscribe(\r\n data => {\r\n this.spinnerService.hide();\r\n let index = this.contacts.indexOf(contact);\r\n this.contacts[index].id = data;\r\n this.selectedContact = data;\r\n },\r\n error => {\r\n this.spinnerService.hide();\r\n\r\n });\r\n }\r\n else if (this.contacts.length > 0)\r\n this.selectedContact = this.contacts[0].id;\r\n else\r\n this.selectedContact = -1;\r\n\r\n });\r\n }\r\n\r\n openNoticeDialog() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n const dialogRef = this.dialog.open(NoticeComponent,\r\n {\r\n height: '250px',\r\n width: '400px',\r\n data: { noticeMessage: \"Chat ticket \" + this.currentTicket.TicketNumber + \" was successfully updated!\" }\r\n });\r\n }\r\n\r\n onTemplateSelect(value: any) {\r\n\r\n this.selectedTemplate = value;\r\n this.ticketTitle = '';\r\n this.internalNote = '';\r\n this.selectedStatus = 0;\r\n this.selectedQueue = -1;\r\n\r\n this.ticketTitleInitial = '';\r\n this.internalNoteInitial = '';\r\n this.selectedStatusInitial = 0;\r\n this.selectedQueueInitial = -1;\r\n\r\n if (value != 2 && this.isNhdTicket == true) {\r\n this.isNhdTicket = false;\r\n this.selectedChildClient = this.selectedChildClientInitial;\r\n this.onChildClientSelect(this.selectedChildClient);\r\n }\r\n\r\n\r\n if (value == 1) {\r\n this.selectedStatus = StatusType.InProgress;\r\n this.internalNote = \"\";\r\n this.ticketTitle = this.initialTicketTitle;\r\n this.internalNote = 'Best callback number:\\r\\n' +\r\n '\\r\\n' +\r\n 'Computer Name:'+\r\n '\\r\\n' +\r\n 'Work Performed:\\r\\n' +\r\n '\\r\\n' +\r\n 'Outcome/Next Steps:\\r\\n';\r\n\r\n } else if (value == 2) {\r\n this.isNhdTicket = true;\r\n this.ticketTitle = \"Site Name: \";\r\n this.selectedStatus = StatusType.InProgress;\r\n this.internalNote = 'This client or contact has not signed up for helpdesk services.\\r\\nSite name: \\r\\nContact name: \\r\\nContact phone number: \\r\\nDescription:';\r\n this.selectedQueue = 29682833;\r\n\r\n let selectedChildClient = this.childClients.filter((client) => client.name.toLowerCase().startsWith(\"nhd calls\") === true);\r\n if (selectedChildClient && selectedChildClient.length > 0) {\r\n this.selectedChildClient = selectedChildClient[0].id;\r\n this.onChildClientSelect(this.selectedChildClient);\r\n }\r\n\r\n } else if (value == 3) {\r\n this.selectedStatus = StatusType.InProgress;\r\n this.internalNote = 'Email address password:\\r\\nComputer username password:';\r\n } else if (value == 4) {\r\n this.selectedStatus = StatusType.AfterHoursWork;\r\n this.internalNote = 'Email address password:\\r\\nComputer username password:';\r\n } else if (value == 5) {\r\n this.selectedStatus = StatusType.PendingEscalationApproval;\r\n this.internalNote = 'Did you call next level support? Yes, No, NA\\r\\n' +\r\n 'If you spoke to next level support, who did you speak to?\\r\\n' +\r\n 'If known, what are the next steps required to resolve this issue?';\r\n } else if (value == 6) {\r\n this.internalNote = 'End user is not responding to chat messages.';\r\n this.selectedStatus = StatusType.Complete;\r\n this.selectedQueue = 29682833;\r\n this.ticketTitle = this.initialTicketTitle + \"End user not responding\";\r\n } else if (value == 7) {\r\n this.internalNote = 'End user was testing chat service.';\r\n this.selectedStatus = StatusType.Complete;\r\n this.selectedQueue = 29682833;\r\n this.ticketTitle = this.initialTicketTitle + \"Testing\";\r\n }\r\n\r\n }\r\n\r\n saveDraftChanges(): void {\r\n\r\n this.spinnerService.show();\r\n\r\n var ticketDraft = new TicketDraft();\r\n\r\n ticketDraft.ID = this.currentRoom.id;\r\n ticketDraft.TicketNumber = this.currentTicket.TicketNumber;\r\n ticketDraft.Title = this.ticketTitle;\r\n ticketDraft.Status = this.selectedStatus;\r\n ticketDraft.Queue = this.selectedQueue;\r\n ticketDraft.Contact = this.selectedContact;\r\n ticketDraft.Issue = this.selectedIssue;\r\n ticketDraft.SubIssue = this.selectedSubIssue;\r\n ticketDraft.InternalNote = this.internalNote;\r\n ticketDraft.PrivateNote = this.privateNote;\r\n ticketDraft.PopupOpenedAt = this.popupOpenedAt;\r\n ticketDraft.SelectedChild = this.selectedChildClient;\r\n ticketDraft.SelectedTemplate = this.selectedTemplate;\r\n ticketDraft.SelectedChildClientInitial = this.selectedChildClientInitial;\r\n ticketDraft.Priority = this.selectedPriority;\r\n\r\n this.ticketService.savePendingChanges(ticketDraft, this.currentRoom.id).pipe(takeUntil(this.onDestroy$)).subscribe((data) => {\r\n this.spinnerService.hide();\r\n this.roomsService.loadNewComponent.next(true);\r\n },\r\n error => {\r\n this.spinnerService.hide();\r\n });\r\n }\r\n\r\n\r\n updateTicket(model: any): void {\r\n\r\n this.isValidFormSubmitted = true;\r\n var activeButton = document.activeElement.id;\r\n\r\n if (this.ticketTitle === '' || this.internalNote === '') {\r\n this.isValidFormSubmitted = false;\r\n }\r\n\r\n if (this.isMspAuth && this.selectedChildClient === -1) {\r\n this.isValidFormSubmitted = false;\r\n }\r\n\r\n if (!this.isMspAuth && this.selectedContact === -1) {\r\n this.isValidFormSubmitted = false;\r\n }\r\n\r\n if(!this.myForm.valid)\r\n {\r\n this.isValidFormSubmitted = false;\r\n }\r\n\r\n if(this.isValidFormSubmitted == false)\r\n {\r\n for (const key of Object.keys(this.myForm.controls)) {\r\n if (this.myForm.controls[key].invalid) {\r\n const invalidControl = this.el.nativeElement.querySelector('[formcontrolname=\"' + key + '\"]');\r\n invalidControl.focus();\r\n break;\r\n }\r\n }\r\n return;\r\n }\r\n \r\n // return;\r\n\r\n this.isValidFormSubmitted = true;\r\n\r\n var ticketDataList: createTicket[] = [];\r\n\r\n var ticketData: createTicket = new createTicket();\r\n ticketData.ticketNumber = this.currentTicket.TicketNumber;\r\n ticketData.selectedStatus = this.selectedStatus;\r\n ticketData.selectedQueue = this.selectedQueue;\r\n ticketData.selectedContact = this.selectedContact;\r\n ticketData.selectedIssue = this.selectedIssue;\r\n ticketData.selectedSubIssue = this.selectedSubIssue;\r\n ticketData.internalNote = this.internalNote;\r\n ticketData.privateNote = this.privateNote;\r\n ticketData.ticketTitle = this.ticketTitle;\r\n ticketData.currentRoomId = this.currentRoom.id;\r\n ticketData.popupOpenedAt = this.popupOpenedAt;\r\n ticketData.isNhdTicket = this.isNhdTicket;\r\n ticketData.selectedChildClient = this.selectedChildClient;\r\n ticketData.parentAtAccountId = this.parentAtAccountId;\r\n ticketData.selectedPriority = this.selectedPriority;\r\n ticketData.isDefault = true;\r\n\r\n\r\n ticketDataList.push(ticketData);\r\n\r\n for (var i = 0; i < model.items.length; i++) {\r\n var addTicket: createTicket = new createTicket();\r\n // addTicket.ticketNumber=this.currentTicket.TicketNumber;\r\n addTicket.selectedStatus = this.selectedStatus;\r\n addTicket.selectedQueue = this.selectedQueue;\r\n addTicket.selectedContact = this.selectedContact;\r\n addTicket.selectedIssue = model.items[i] && model.items[i].additionalIssue || -1;\r\n addTicket.selectedSubIssue = model.items[i] && model.items[i].additionalSubIssue || -1;\r\n addTicket.internalNote = model.items[i].ticketMentorTimeEntry;\r\n addTicket.privateNote = model.items[i].ticketMentorPrivateNote;\r\n addTicket.ticketTitle = model.items[i].additionalTicketTitle;\r\n addTicket.currentRoomId = this.currentRoom.id;\r\n addTicket.popupOpenedAt = this.popupOpenedAt;\r\n addTicket.isNhdTicket = this.isNhdTicket;\r\n addTicket.selectedChildClient = this.selectedChildClient;\r\n addTicket.parentAtAccountId = this.parentAtAccountId;\r\n addTicket.selectedPriority = this.selectedPriority;\r\n addTicket.isDefault = false;\r\n ticketDataList.push(addTicket);\r\n }\r\n\r\n\r\n if (activeButton == \"submit-1\") {\r\n this.chatService.updateTicket(\r\n ticketDataList, false);\r\n\r\n this.noticeMessage = \"Please wait while your request is being processed...\";\r\n }\r\n\r\n if (activeButton == \"submit-2\") {\r\n this.chatService.createNewTicket(\r\n ticketDataList, false);\r\n\r\n this.noticeMessage = \"Please wait while your request is being processed...\";\r\n }\r\n\r\n if (activeButton == \"submit-previous-1\") {\r\n this.chatService.updateTicket(\r\n ticketDataList, true);\r\n\r\n this.noticeMessage = \"Please wait while your request is being processed...\";\r\n }\r\n\r\n if (activeButton == \"submit-previous-2\") {\r\n this.chatService.createNewTicket(\r\n ticketDataList, true);\r\n\r\n this.noticeMessage = \"Please wait while your request is being processed...\";\r\n }\r\n\r\n\r\n this.noticeImage = \"assets/images/gears.gif\";\r\n this.initializeComponents();\r\n setTimeout(() => {\r\n this.spinnerService.show();\r\n }, 600);\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.onDestroy$.next(true);\r\n this.onDestroy$.complete();\r\n }\r\n\r\n public makeFirstLetterUppercase(word: string) {\r\n var result = \"\";\r\n var splitted = word.split(\" \");\r\n splitted.forEach(function (value) {\r\n var res = value.charAt(0).toUpperCase() + value.slice(1);\r\n result += res + \" \";\r\n });\r\n return result.trim();\r\n }\r\n}\r\n\r\n\r\n"," \r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n

{{noticeMessage}}

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

NHD ticket {{ticketNumberPresent}} was successfully closed!

\r\n \r\n

1\" >Chat tickets {{ticketNumber}}{{i === ticketNumberArray.length -1 ? '' : ', ' }} were successfully updated!

\r\n

Chat ticket {{ticketNumber}} was successfully updated!

\r\n\r\n

1\" >Chat tickets {{ticketNumber}}{{i === ticketNumberArray.length -1 ? '' : ', ' }} were successfully created!

\r\n

Chat ticket {{ticketNumber}} was successfully created!

\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n Ticket Number:\r\n {{ticketNumberPresent}}\r\n
\r\n
\r\n End user indicated that this chat session is regarding ChatID #{{currentTicket.PreviousRoomKey}} (GMS Ticket Number {{ticketNumberPresent}}).
\r\n Please confirm this by clicking on \"CONFIRM EXISTING SESSION\" or continue to closing this session and create brand new Autotask ticket.\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Ticket 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 Child client is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Status 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 Contact 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
\r\n Mentor Time Entry 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

Ticket #{{increaseByOne(i)}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
Ticket 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
Mentor Time Entry is required.
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Ticket(s) will be created in Autotask as soon as you click on \"Update Ticket & Close Chat Session\"

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

Autotask is currently down. Please try again later.

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

Autotask is currently down. Please try again later.

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n","import {\n Component,\n OnInit,\n Input\n} from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n\n\n\nimport { UsersService } from '../../service/users.service';\n\nimport { User } from '../../model/user';\nimport { Message } from '../../model/message.model';\n\n\n\n@Component({\n selector: 'chat-message-transcript',\n templateUrl: './chat-message-transcript.component.html',\n styleUrls: ['./chat-message-transcript.component.css']\n})\nexport class ChatMessageTranscriptComponent implements OnInit {\n @Input() message: Message;\n currentUser: User;\n incoming: boolean;\n private onDestroy$: Subject = new Subject();\n\n constructor(public UsersService: UsersService) {\n }\n\n ngOnInit(): void {\n const subCurrentUser = this.UsersService.currentUser\n .subscribe(\n (user: User) => {\n this.currentUser = user;\n if (this.message.author && user) {\n\n this.incoming = this.message.author.id !== user.id;\n }\n });\n }\n\n public ngOnDestroy(): void {\n this.onDestroy$.next();\n }\n\n\n}\n","
\n \n\n
\n\n
\n {{message.author.userName}}\n
\n
\n

\n
\n \n
\n
\n\n
\n\n\n
\n {{message.author.userName}}\n
\n
\n

\n
\n \n
\n
\n
\n","\nimport { interval as observableInterval, Observable, Subject, Subscription, from, of } from 'rxjs';\nimport {\n Component,\n OnInit,\n Input,\n ChangeDetectorRef,\n ViewChild,\n ElementRef,\n Renderer2,\n AfterViewInit,\n Output,\n EventEmitter\n} from '@angular/core';\n\n\n\n\nimport { UsersService } from '../../service/users.service';\n\nimport { User } from '../../model/user';\nimport { Message } from '../../model/message.model';\nimport { ActivatedRoute } from '@angular/router';\nimport { LocalizationService } from '../../service/localization.service';\nimport { MessageType } from '../../model/messageType';\nimport { mergeMap, takeUntil, tap, toArray } from 'rxjs/operators';\nimport { TicketService } from '../../service/ticket.service';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { FullScreenImageModalComponent } from '../../modals/fullscreen-image-modal/fullscreen-image-modal.component';\nimport { MessageAttachment } from '../../model/MessageAttachment.model';\nimport { MatLegacyDialog as MatDialog, MatLegacyDialogConfig as MatDialogConfig } from \"@angular/material/legacy-dialog\";\n\n\n@Component({\n selector: 'chat-message',\n templateUrl: './chat-message.component.html',\n styleUrls: ['./chat-message.component.css']\n})\nexport class ChatMessageComponent implements OnInit, AfterViewInit {\n @Input() message: Message;\n currentUser: User;\n incoming: boolean;\n intervalHolder: any;\n localLang: any = \"en\";\n private onDestroy$: Subject = new Subject();\n private focusElementSubject: Subscription;\n @Input() events: Observable;\n @Output()\n sendChangeSignal: EventEmitter = new EventEmitter();\n @ViewChild(\"msgContainer\", { static: false }) MyProp: ElementRef;\n\n constructor(public UsersService: UsersService, private cd: ChangeDetectorRef, private activatedRoute: ActivatedRoute,\n private localizationService: LocalizationService, private renderer: Renderer2, public ticketService: TicketService,\n private sanitizer: DomSanitizer, private dialog: MatDialog,) {\n\n }\n ngAfterViewInit(): void {\n\n if (this.events != undefined)\n this.focusElementSubject = this.events.subscribe((msgId: string) => {\n if (this.message.id === msgId) {\n\n setTimeout(() => {\n\n if(document.getElementById('msgid-' + this.message.id))\n document.querySelector('.msg-container-base').scrollTop = document.getElementById('msgid-' + this.message.id).scrollHeight;\n \n });\n }\n });\n\n // if(this.message.messageAttachments && this.message.messageAttachments.length>0)\n // {\n // from(this.message.messageAttachments).pipe(\n // mergeMap(module => \n // {\n // if(module.ThumbnailUriUrl=='')\n // return this.ticketService.downloadFile(module.ContainerName,module.ThumbnailUri).pipe(\n // tap(apiResponse => {\n // let objectURL = URL.createObjectURL(apiResponse); \n // module.ThumbnailUriUrl = this.sanitizer.bypassSecurityTrustUrl(objectURL);\n // this.sendChangeSignal.emit('send');\n // }))\n // else\n // return of('').pipe(\n // tap(() => {console.warn(\"already a blob\")})\n // );\n // }\n // ),\n // toArray()\n // ).subscribe(allResponses => {\n\n // });\n\n // }\n\n }\n\n ngOnInit(): void {\n let i = 0;\n\n\n\n const subCurrentUser = this.UsersService.currentUser\n .subscribe(\n (user: User) => {\n this.currentUser = user;\n if (this.message.author && user) {\n\n if (this.message.author.id === user.id && (this.message.msgType == MessageType.Default || this.message.msgType == MessageType.Private))\n this.incoming = false;\n else this.incoming = true;\n\n }\n });\n\n //this.intervalHolder = observableInterval(1 * 60 * 1000).subscribe(x => { // will execute every 15 seconds \n // this.cd.markForCheck();\n //});\n var localeFromUrl = this.activatedRoute.snapshot.queryParams[\"lang\"];\n this.localLang = this.localizationService.ValidateLocale(localeFromUrl);\n\n\n }\n\n openAttachemnt(attachment: MessageAttachment) {\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.autoFocus = true;\n\n\n dialogConfig.data = {\n ContainerName: attachment.ContainerName,\n ImageUri: attachment.ImageUri\n };\n\n dialogConfig.height = 'auto';\n dialogConfig.width = '90%';\n dialogConfig.disableClose = true;\n\n const dialogRef = this.dialog.open(FullScreenImageModalComponent, dialogConfig);\n const subDialogRef = dialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(result => {\n\n });\n }\n\n getMessageRecivedClass(sent: Message): string {\n if (sent.msgType == MessageType.Private) {\n return 'private-message'\n } else if (sent.msgType == MessageType.System || sent.msgType == MessageType.Notification) {\n if (sent.text.includes('Please be aware that this user came in through \"Whitelist Authentication\" and does not exist in GMS Autotask.')\n || sent.text.includes('Please be aware that this user came in through \"2 Factor Authentication\" and does not exist in GMS Autotask.')\n || sent.text.includes('User associate this chat with previous ticket ')\n )\n return 'warning-message';\n else\n return 'notification-message'\n } else if (sent.msgType == MessageType.MentorSystem) {\n\n return 'warning-message';\n } else {\n return 'public-message'\n }\n }\n\n public ngOnDestroy(): void {\n this.onDestroy$.next();\n clearInterval(this.intervalHolder);\n }\n\n\n}\n","
\n\n
\n\n
\n Chat Auto Assistant (System)\n {{message.author.userName}}\n
\n
\n

\n
0\">\n\n \n \"image\"\n \n \n\n
\n
\n

• {{message.sentAt | fromNow : localLang}}

\n
\n
\n\n
\n\n
\n Chat Auto Assistant (System)\n {{message.author.userName}}\n
\n
\n

\n
0\">\n \n\n
\n\n
\n\n \"image\"\n\n \n
\n
\n
\n

• {{message.sentAt | fromNow : localLang}}

\n
\n
\n
","import {\n Component,\n Inject,\n OnInit\n} from '@angular/core';\nimport * as _ from 'lodash';\n\n\nimport { RoomsService } from '../../service/rooms.service';\nimport { Room } from '../../model/room.model';\nimport { MessagesService } from '../../service/messages.service';\nimport { Message } from '../../model/message.model';\nimport { AdminService } from '../../service/admin.service';\n\n@Component({\n selector: 'chat-nav-bar',\n templateUrl: './chat-nav-bar.component.html',\n styleUrls: ['./chat-nav-bar.component.css']\n})\nexport class ChatNavBarComponent implements OnInit {\n unreadMessagesCount: number;\n \n constructor(public messagesService: MessagesService,\n public roomsService: RoomsService) {\n }\n\n ngOnInit(): void {\n\n \n\n\n // this.messagesService.messages\n // .combineLatest(\n // this.roomsService.currentRoom,\n // (messages: Message[], currentRoom: Room) =>\n // [currentRoom, messages] )\n\n // .subscribe(([currentRoom, messages]: [Room, Message[]]) => {\n // this.unreadMessagesCount =\n // _.reduce(\n // messages,\n // (sum: number, m: Message) => {\n // const messageIsInCurrentRoom: boolean = m.room &&\n // currentRoom &&\n // (currentRoom.id === m.room.id);\n // // note: in a \"real\" app you should also exclude\n // // messages that were authored by the current user b/c they've\n // // already been \"read\"\n // if (m && !m.isRead && !messageIsInCurrentRoom) {\n // sum = sum + 1;\n // }\n // return sum;\n // },\n // 0);\n // });\n }\n}\n","\n","import { Component, OnInit, ViewContainerRef, ComponentFactoryResolver, ComponentRef, ViewChild, Input, EventEmitter } from '@angular/core';\n\nimport { CompHolderDirective } from '../chat-panel/comp-holder.directive';\n\nimport { ChatWindowMembersComponent } from '../chat-window-members/chat-window-members.component';\nimport { ChatCloseFormComponent } from '../chat-close-form/chat-close-form.component';\nimport { ComponentItem } from '../chat-panel/componentItem';\nimport { IComponentHolder } from '../chat-panel/IComponentHolder';\nimport { RoomsService } from '../../service/rooms.service';\nimport { IframeComponent } from '../chat-panel/iframe/iframe.component';\n\nimport { Howl, Howler } from 'howler';\nimport { Subject } from 'rxjs';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ChatService } from '../../service/chatservice';\n\n\n\n@Component({\n selector: 'chat-page',\n templateUrl: './chat-page.component.html',\n styleUrls: ['./chat-page.component.css']\n})\nexport class ChatPageComponent implements OnInit {\n data: any;\n lastComponentIndex: number = -1;\n menuComponents: ComponentItem[];\n private onDestroy$: Subject = new Subject();\n currentComponent:string=\"\";\n loadComponentIndex:number=0;\n \n @ViewChild(CompHolderDirective,{static:true}) adHost: CompHolderDirective;\n\n constructor(public viewContainerRef: ViewContainerRef, private componentFactoryResolver: ComponentFactoryResolver,\n private roomService: RoomsService, private chatService:ChatService,private router: Router, private route: ActivatedRoute) {\n\n const subChatOrTicketWidnow = this.roomService.handleChatOrTicketWindow.subscribe(val => {\n //check loaded component\n this.loadComponent(0);\n });\n const subHandleCloseRoom = this.roomService.handleCloseRoomSubject.subscribe(val => {\n localStorage.setItem('closedRoomId', JSON.stringify(val));\n this.loadComponent(1);\n });\n\n const subSaveChanges=this.roomService.loadNewComponent.subscribe((load :boolean)=>\n {\n var pom=load;\n \n if(load){\n this.currentComponent=\"other\";\n this.roomService.unblockSetCurrentRoom();\n this.chatService.unblockSetCurrentRoom();\n\n var prevRoom=this.roomService.getPreviousRoomSet();\n\n if(prevRoom.closed==0 || prevRoom.name.toLowerCase()==\"lobby\")\n {\n if(this.roomService.getIsAllSessionsClicked())\n {\n this.roomService.setIsAllSessionsClicked(false);\n this.roomService.preselectTab.next(\"allSessions\");\n }\n\n this.loadComponent(0);\n }\n else{\n if(this.roomService.getIsAllSessionsClicked())\n {\n this.roomService.setIsAllSessionsClicked(false);\n this.roomService.preselectTab.next(\"allSessions\");\n }\n\n this.loadComponent(1);\n }\n }else{\n if(this.roomService.getIsAllSessionsClicked())\n {\n this.roomService.setIsAllSessionsClicked(false);\n this.roomService.preselectTab.next(\"allSessions\");\n }\n\n this.roomService.unblockSetCurrentRoom();\n this.chatService.unblockSetCurrentRoom();\n this.currentComponent=\"other\";\n this.loadComponent(this.loadComponentIndex);\n }\n \n });\n\n\n }\n\n ngOnInit() {\n this.menuComponents = [\n\n new ComponentItem(ChatWindowMembersComponent, {}),\n new ComponentItem(ChatCloseFormComponent, {})\n\n ];\n\n this.loadComponent(0);\n }\n\n loadComponent(currentAdIndex: number) {\n\n\n //if (this.lastComponentIndex != currentAdIndex) {\n // this.lastComponentIndex = currentAdIndex;\n let viewContainerRef = this.adHost.viewContainerRef;\n\n var len= viewContainerRef.length;\n\n this.loadComponentIndex=currentAdIndex;\n\n if(len>0 && this.currentComponent==\"closedChat\")\n {\n\n this.roomService.checkIfClosePopupNeeded.next(true);\n \n }else\n {\n\n if(currentAdIndex===0)\n {\n this.currentComponent=\"other\";\n }else{\n this.currentComponent=\"closedChat\";\n }\n \n let componentItem = this.menuComponents[currentAdIndex];\n \n let componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentItem.component);\n \n \n viewContainerRef.clear();\n \n let componentRef = viewContainerRef.createComponent(componentFactory);\n (componentRef.instance).data = componentItem.data;\n\n }\n }\n\n openChat(event: any): void {\n this.loadComponent(0);\n event.preventDefault();\n }\n openHotText(event: any): void {\n this.loadComponent(1);\n event.preventDefault();\n }\n\n onSubmit(event: any): void {\n this.loadComponent(1);\n }\n\n public ngOnDestroy(): void {\n this.onDestroy$.next();\n } \n}\n\n\n\n","
\n\n \n\n\n\n \n
\n\n\n
\n
\n
\n \n
\n
\n
\n \n \n \n
\n
\n\n \n
\n
\n","import { Component, OnInit, ViewContainerRef, ComponentFactoryResolver, ComponentRef, ViewChild, Input } from '@angular/core';\n\nimport { ChatPageComponent } from '../chat-page/chat-page.component';\nimport { ChatRoomMembersComponent } from '../chat-room-members/chat-room-members.component';\nimport { ComponentItem } from './componentItem';\n\nimport { CompHolderDirective } from './comp-holder.directive';\nimport { IframeComponent } from './iframe/iframe.component';\nimport { ChatCloseFormComponent } from '../chat-close-form/chat-close-form.component';\nimport { IComponentHolder } from './IComponentHolder';\nimport { AdminService } from '../../service/admin.service';\nimport { Subject } from 'rxjs';\n\n\n@Component({\n selector: 'chat-panel',\n templateUrl: './chat-panel.component.html',\n styleUrls: ['./chat-panel.component.css']\n})\nexport class ChatPanelComponent implements OnInit {\n data: any;\n menuComponents: ComponentItem[];\n appVersion: string = \"\";\n private onDestroy$: Subject = new Subject();\n \n @ViewChild(CompHolderDirective,{static:true}) adHost: CompHolderDirective;\n\n constructor(public viewContainerRef: ViewContainerRef, private componentFactoryResolver: ComponentFactoryResolver, private adminService: AdminService) { }\n ngOnInit() {\n\n const subGetAppVersion = this.adminService.GetAppVersion().subscribe((data)=>{ \n this.appVersion =\"v\" + data.toString().replace('\"','').replace('\"','');\n });\n\n this.appVersion = \"v1.0\";\n \n this.menuComponents = [\n new ComponentItem(ChatPageComponent, {}),\n new ComponentItem(IframeComponent, { url: \"https://chat.globalmentoring.com/GMSAdmin/login.aspx?mentorapp=1&page=hot_text\" }),\n new ComponentItem(IframeComponent, { url: \"https://chat.globalmentoring.com/GMSAdmin/login.aspx?mentorapp=1&page=hot_contacts\" }),\n new ComponentItem(IframeComponent, { url: \"https://chat.globalmentoring.com/iGMS/HotLogins.aspx\" }),\n new ComponentItem(IframeComponent, { url: \"https://chat.globalmentoring.com/GMSAdmin/login.aspx?mentorapp=1&page=hot_sheet\" }),\n new ComponentItem(IframeComponent, { url: \"https://chat.globalmentoring.com/GMSAdmin/login.aspx?mentorapp=1&page=bell_techexpert_order&TFN=&Master_Call_ID=0\" }),\n new ComponentItem(IframeComponent, { url: \"https://chat.globalmentoring.com/GMSAdmin/login.aspx?mentorapp=1&page=techrx_bell_pcprotect_order\" }),\n new ComponentItem(IframeComponent, { url: \"https://chat.globalmentoring.com/iGMS/TicketHistory.aspx\" }),\n new ComponentItem(IframeComponent, { url: \"https://chat.globalmentoring.com/GMSAdmin/login.aspx?mentorapp=1&page=apptreport\" }),\n new ComponentItem(IframeComponent, { url: \"https://chat.globalmentoring.com/GMSAdmin/login.aspx?mentorapp=1&page=smb\" })\n ];\n\n this.loadComponent(0);\n }\n\n loadComponent(currentAdIndex: number) {\n\n let componentItem = this.menuComponents[currentAdIndex];\n\n let componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentItem.component);\n\n let viewContainerRef = this.adHost.viewContainerRef;\n viewContainerRef.clear();\n\n let componentRef = viewContainerRef.createComponent(componentFactory);\n (componentRef.instance).data = componentItem.data;\n }\n\n openChat(event: any): void {\n this.loadComponent(0);\n event.preventDefault();\n }\n openHotText(event: any): void {\n this.loadComponent(1);\n event.preventDefault();\n }\n openHotContacts(event: any): void {\n this.loadComponent(2);\n event.preventDefault();\n }\n openHotLogins(event: any): void {\n this.loadComponent(3);\n event.preventDefault();\n }\n openHotItemManag(event: any): void {\n this.loadComponent(4);\n event.preventDefault();\n }\n \n openBellPopUp(event: any): void {\n this.loadComponent(5);\n event.preventDefault();\n }\n openTicketHistory(event: any): void {\n this.loadComponent(7);\n event.preventDefault();\n }\n openReportCards(event: any): void {\n this.loadComponent(8);\n event.preventDefault();\n }\n public ngOnDestroy(): void {\n this.onDestroy$.next();\n } \n}\n","
\n\n \n \n\n\n \n
\n\n \n
\n \n \n
\n {{appVersion}}\n
\n\n\n
\n\n\n
\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[appCompHolder]'\n})\nexport class CompHolderDirective {\n constructor(public viewContainerRef: ViewContainerRef) { }\n\n}\n","import { Type } from \"@angular/core\";\r\n\r\nexport class ComponentItem {\r\n constructor(public component: Type, public data: any) {}\r\n }","import { Component, OnInit, ViewChild, Pipe, PipeTransform, Input } from '@angular/core';\n\nimport { BrowserModule, DomSanitizer, SafeResourceUrl } from '@angular/platform-browser'\n\n@Component({\n selector: 'app-iframe',\n templateUrl: './iframe.component.html',\n styleUrls: ['./iframe.component.css']\n})\nexport class IframeComponent implements OnInit {\n @Input() data: any;\n url: SafeResourceUrl;\n \n constructor(private sanitizer: DomSanitizer) { \n \n }\n\n ngOnInit() {\n this.url = this.sanitizer.bypassSecurityTrustResourceUrl(this.data.url); \n}\n\n getUrl() {\n \n return this.sanitizer.bypassSecurityTrustResourceUrl(this.data.url);\n };\n}\n","

\n \n \n \n \n

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

\r\n {{ thisUser.userName }} ({{ thisUser.role }}) (Mentor) \r\n (Cloaked Mentor)\r\n\r\n

\r\n\r\n","import {\n Component,\n OnInit,\n Input,\n Output,\n EventEmitter\n} from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { User } from '../../model/user';\nimport { ChatService } from '../../service/chatservice';\n\n@Component({\n selector: 'chat-room-member',\n templateUrl: './chat-room-member.component.html',\n styleUrls: ['./chat-room-member.component.css']\n})\nexport class ChatRoomMemberComponent implements OnInit { \n @Input() thisUser: User;\n @Input() roomId:string;\n isMentor: boolean = false;\n isClocked: boolean = false;\n\n constructor(public chatService: ChatService) {\n }\n\n ngOnInit() {\n this.isMentor = this.thisUser.isMentor;\n this.isClocked = this.thisUser.isClocked;\n var test=this.roomId;\n \n }\n\n onClickGetUser(event: any){\n this.chatService.getUserInfo(this.thisUser.id);\n }\n}\n","\nimport {map, distinctUntilChanged, filter, takeUntil, take} from 'rxjs/operators';\nimport {\n Component,\n OnInit,\n Inject,\n Input,\n Output,\n EventEmitter,\n ViewChild, \n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { Observable, Subject,ReplaySubject, fromEvent, Subscription } from 'rxjs';\nimport { RoomsService } from '../../service/rooms.service';\nimport { User } from '../../model/user';\nimport { ContextMenuComponent } from '@perfectmemory/ngx-contextmenu';\nimport { ChatService } from '../../service/chatservice';\nimport { Room } from '../../model/room.model';\nimport {MatLegacyInputModule as MatInputModule} from \"@angular/material/legacy-input\";\nimport {MatLegacyPaginatorModule as MatPaginatorModule} from \"@angular/material/legacy-paginator\";\nimport {MatLegacyProgressSpinnerModule as MatProgressSpinnerModule} from \"@angular/material/legacy-progress-spinner\";\nimport {MatSortModule} from \"@angular/material/sort\";\nimport {MatLegacyTableModule as MatTableModule} from \"@angular/material/legacy-table\";\nimport {MatLegacyFormFieldModule as MatFormFieldModule, MatLegacyFormField as MatFormField} from \"@angular/material/legacy-form-field\";\nimport {MatLegacyButtonModule as MatButtonModule} from \"@angular/material/legacy-button\";\nimport {MatLegacyTooltipModule as MatTooltipModule} from \"@angular/material/legacy-tooltip\";\nimport { MatMenuTrigger } from '@angular/material/menu';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\n@Component({\n selector: 'chat-room-members',\n templateUrl: './chat-room-members.component.html',\n styleUrls: ['./chat-room-members.component.css']\n})\nexport class ChatRoomMembersComponent implements OnInit {\n roomMembers: Observable;\n roomId: string;\n private onDestroy$:ReplaySubject = new ReplaySubject(1);\n @ViewChild(MatMenuTrigger)\n contextMenu: MatMenuTrigger;\n sub: Subscription;\n\n contextMenuPosition = { x: '0px', y: '0px' };\n\n // @ViewChild('contextMenu') userMenu: TemplateRef;\n\n // overlayRef: OverlayRef | null;\n\n // close() {\n // this.sub && this.sub.unsubscribe();\n // if (this.overlayRef) {\n // this.overlayRef.dispose();\n // this.overlayRef = null;\n // }\n // }\n\n // open({ x, y }: MouseEvent, user: User) {\n // this.close();\n // const positionStrategy = this.overlay.position()\n // .flexibleConnectedTo({ x, y })\n // .withPositions([\n // {\n // originX: 'end',\n // originY: 'bottom',\n // overlayX: 'end',\n // overlayY: 'top',\n // }\n // ]);\n \n // this.overlayRef = this.overlay.create({\n // positionStrategy,\n // scrollStrategy: this.overlay.scrollStrategies.close()\n // });\n \n // this.overlayRef.attach(new TemplatePortal(this.userMenu, this.viewContainerRef, {\n // $implicit: user\n // }));\n \n // this.sub = fromEvent(document, 'click')\n // .pipe(\n // filter(event => {\n // const clickTarget = event.target as HTMLElement;\n // return !!this.overlayRef && !this.overlayRef.overlayElement.contains(clickTarget);\n // }),\n // take(1)\n // ).subscribe(() => this.close())\n \n // }\n\n onContextMenu(event: MouseEvent, item: User) {\n event.preventDefault();\n this.contextMenuPosition.x = event.clientX + 'px';\n this.contextMenuPosition.y = event.clientY + 'px';\n this.contextMenu.menuData = { 'item': item };\n //this.contextMenu.menu.focusFirstItem('mouse');\n \n this.contextMenu.openMenu();\n this.contextMenu.menu.resetActiveItem();\n }\n\n \n\n constructor(public roomsService: RoomsService, private chatService: ChatService,public overlay: Overlay,\n public viewContainerRef: ViewContainerRef) {\n const subCurrentRoom = this.roomsService.currentRoom.pipe(\n takeUntil(this.onDestroy$))\n .subscribe(room => {\n this.roomId = room.id\n });\n //this.ngZone.run(() => {\n \n //});\n }\n\n ngOnInit() {\n this.roomMembers = this.roomsService.currentRoomMembers.pipe(\n takeUntil(this.onDestroy$),\n filter((users:User[])=>{return users!==null&&users!==undefined}),\n distinctUntilChanged(),map((users:User[])=>{\n return users;\n }),);\n }\n\n removeUser(user: any): void {\n let userId = user.id;\n this.chatService.RemoveUser(userId, this.roomId);\n }\n\n banUser(user: any): void {\n this.chatService.BanUser(user.id, this.roomId);\n }\n\n public ngOnDestroy(): void {\n this.onDestroy$.next(true);\n this.onDestroy$.complete();\n } \n}\n","\n
Members Online
\n\n\n\n \n \n\n\n
\n
\n \n\t\n
\n \t\n
Remove User
\n
Ban User
\n \n \n
\n\t\t\n\t
\n
\n\n\n\n\n\n\n\n\n","\nimport {takeUntil} from 'rxjs/operators';\nimport {\n Component,\n OnInit,\n Inject,\n EventEmitter,\n Output,\n ChangeDetectorRef,\n ElementRef,\n ViewChild,\n OnDestroy,\n ChangeDetectionStrategy,\n Input\n} from '@angular/core';\nimport { Observable, Subject,ReplaySubject } from 'rxjs';\nimport { RoomsService } from '../../service/rooms.service';\nimport { GroupByPipe } from '../pipes/GroupByPipe';\nimport { Room, RoomGroup } from '../../model/room.model';\nimport { ChatRoomToBeClosedComponent } from '../chat-room-to-be-closed/chat-room-to-be-closed.component';\nimport { MessagesService } from '../../service/messages.service';\nimport { messageFactory } from '../../model/messageFactory';\nimport { ChatRoomComponent } from '../chat-room/chat-room.component';\nimport { MatLegacyDialog as MatDialog, MatLegacyDialogConfig as MatDialogConfig } from '@angular/material/legacy-dialog';\nimport { ChatService } from '../../service/chatservice';\nimport { ConfirmComponent } from '../confirm/confirm.component';\n\n@Component({\n selector: 'chat-room-notification',\n templateUrl: './chat-room-notification.component.html',\n styleUrls: ['./chat-room-notification.component.css']\n})\nexport class ChatRoomNotificationComponent implements OnInit, OnDestroy {\n //@Input() room: Room;\n @Input() room: Room;\n private onDestroy$:ReplaySubject = new ReplaySubject(1);\n lastMessageSendAt: Date = new Date();\n selected = false;\n avatarSrc: string;\n roomTimer: string;\n intervalHolder: any;\n ticketCreated: boolean;\n\n constructor(private dialog: MatDialog, public roomsService: RoomsService, public chatService: ChatService, public el: ElementRef, private cd: ChangeDetectorRef) {\n\n\n }\n\n\n ngOnInit(): void {\n \n this.ticketCreated = false;\n const subCurrentRoom = this.roomsService.currentRoom.pipe(\n takeUntil(this.onDestroy$))\n .subscribe((currentRoom: Room) => {\n this.selected = currentRoom && this.room && (currentRoom.id === this.room.id);\n });\n this.avatarSrc = 'assets/images/avatar.png';\n\n // this.intervalHolder = Observable.interval(1 * 1000).subscribe(x => { // will execute every 1 second \n // this.roomTimer = this.GetFormatedTime(new Date(this.room.createdAt).getTime());\n // this.cd.markForCheck();\n // });\n\n }\n\n\n openDialog() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n const dialogRef = this.dialog.open(ConfirmComponent, {\n height: '250px',\n width: '400px',\n data: { warningMessage: \"Enter as cloaked user?\" }\n });\n\n const subDialogRef= dialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(\n val => {\n if (val !== null && val != undefined) {\n\n this.setCurrentRoom(this.room,val);\n }\n }\n );\n }\n\n setCurrentRoom(room:Room, isCloacked:boolean):void{\n\n this.roomsService.setCurrentRoom(room);\n this.chatService.joinRoom(room, isCloacked);\n\n \n }\n\n joinRoom(): void {\n this.roomsService.setIsAllSessionsClicked(true);\n this.roomsService.handleChatOrTicketWindow.next('test' + this.room.name);\n\n if (this.room.name == \"Lobby\") {\n\n this.setCurrentRoom(this.room,false);\n }\n else\n if (this.room.mentorCount <= 0 || this.room.currMentorIsPartOfTheRoom) {\n\n this.setCurrentRoom(this.room,false);\n \n if (this.ticketCreated == false) {\n //this.chatService.createTicket(this.room.id);\n this.ticketCreated = true;\n }\n }\n else {\n this.openDialog();\n }\n\n }\n\n getMentorName(): String {\n\n if (this.room.lastMessage != undefined)\n return this.room.lastMessage.author.userName;\n return \"\";\n }\n\n \n\n \n \n \n\n\n getRoomColor(): String {\n\n let delta = 100;\n if (this.room.createdAt != undefined) {\n let now = new Date().getTime();\n delta = (now - new Date(this.room.createdAt).getTime()) / 1000;\n }\n\n let rez = '#ffe6be';\n if (this.room.roomStatus == 1 && delta < 30)\n rez = '#ffe6be';\n else\n rez = this.getRoomStatus(this.room.roomStatus);\n\n return rez;\n }\n\n\n getRoomNameColor(): String {\n\n let delta = 100;\n if (this.room.createdAt != undefined) {\n let now = new Date().getTime();\n delta = (now - new Date(this.room.createdAt).getTime()) / 1000;\n }\n\n let rez = '#000';\n // if (this.room.roomStatus == 1 && delta < 30)\n // rez = '#ef9a14';\n // else\n // rez = this.getRoomNameStatus(this.room.roomStatus);\n\n return rez;\n }\n getRoomStatus(tmp): string {\n\n switch (tmp) {\n case 1: {\n return '#fdc7cd';//red;\n }\n case 2: {\n return '#cecece59';///blue(lobby);\n }\n case 3: {\n return '#e0ffed';//green;\n }\n case 4: {\n return '#afddff';//'#D8F9FF';\n }\n default: {\n return '#775fe1';\n }\n }\n\n }\n\n getRoomNameStatus(status): string {\n\n switch (status) {\n case 1: {\n return '#da3939';//red;\n }\n case 2: {\n return 'grey';//blue(lobby);\n }\n case 3: {\n return '#269454';//green;\n }\n case 4: {\n return '#389eea';//blue;#\n }\n default: {\n return '#775fe1';\n }\n }\n\n }\n\n private GetFormatedTime(value: any): string {\n\n let now = new Date().getTime();\n\n let delta = 10;\n let tmp = (now - value);\n if (tmp > 0)\n delta = tmp / 1000;\n\n if (this.getHours(delta) > 0)\n return this.getHours(delta) + ':' + this.getMinutes(delta) + ':' + this.getSeconds(delta);\n else\n return this.getMinutes(delta) + ':' + this.getSeconds(delta);\n }\n\n private getSeconds(ticks: number) {\n return this.pad(Math.floor(ticks % 60));\n }\n\n private getMinutes(ticks: number) {\n return this.pad((Math.floor(ticks / 60)) % 60);\n }\n\n private getHours(ticks: number) {\n return this.pad(Math.floor((ticks / 60) / 60));\n }\n\n private pad(digit: any) {\n return digit <= 9 ? '0' + digit : digit;\n }\n\n\n\n ngOnDestroy() {\n\n clearInterval(this.intervalHolder);\n this.onDestroy$.next(true);\n this.onDestroy$.complete();\n }\n\n}\n","
\n\n
\n \n {{getMentorName()}}\n {{room.createdAt | timeDiffPipe}}\n
\n
\n
{{room.name}}
\n \n \n \n\n {{room.session}}\n {{room.type}}\n {{room.language}}\n\n
\n\n Select\n
\n","\nimport {debounceTime, takeUntil} from 'rxjs/operators';\nimport { Component, OnInit, ViewChild, ViewContainerRef, Input, NgZone } from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport { Observable , ReplaySubject, Subject } from 'rxjs';\nimport { RoomsService } from '../../service/rooms.service';\nimport { Room } from '../../model/room.model';\nimport { ChatService } from '../../service/chatservice';\nimport { ConfirmComponent } from '../confirm/confirm.component';\nimport { MatLegacyDialog as MatDialog, MatLegacyDialogConfig as MatDialogConfig } from \"@angular/material/legacy-dialog\";\nimport { MatLegacyDialogModule as MatDialogModule } from '@angular/material/legacy-dialog';\nimport { Howl, Howler } from 'howler';\nimport { User } from '../../model/user';\nimport { debug } from 'util';\n\n@Component({\n selector: 'chat-room-notifications',\n templateUrl: './chat-room-notifications.component.html',\n styleUrls: ['./chat-room-notifications.component.css']\n})\nexport class ChatRoomNotificationsComponent implements OnInit {\n @Input() room: Room;\n noUnsweredRooms: Observable;\n toggleButtonName: string = 'Show Less Notifications';\n showMore: boolean = true;\n private onDestroy$: ReplaySubject = new ReplaySubject(1);\n constructor(private dialog: MatDialog, public roomsService: RoomsService, public chatService: ChatService, private ngZone: NgZone) {\n\n this.noUnsweredRooms = roomsService.notRespondedRooms;\n\n const subNewChatSoundNotification = this.roomsService.newChatSoundNotification.pipe(takeUntil(this.onDestroy$)).pipe(debounceTime(1500)).subscribe((room: Room) => {\n this.ngZone.run(() => {\n \n var userVolume=100;\n \n if(localStorage.getItem(\"currentUserRoomVolume\"))\n {\n userVolume=parseInt(localStorage.getItem(\"currentUserRoomVolume\"));\n }\n var sound = new Howl({\n src: ['assets/audio/online.mp3'],\n volume:userVolume/100\n });\n\n sound.play();\n });\n })\n\n }\n\n ngOnInit() {\n\n }\n\n openDialog() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n const dialogRef = this.dialog.open(ConfirmComponent, {\n height: '250px',\n width: '400px',\n data: {warningMessage: \"Enter as cloaked user?\"}\n });\n\n const subDialogRef = dialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(\n val => {\n if(val !== null && val != undefined){\n this.chatService.joinRoom(this.room, val);\n this.roomsService.setCurrentRoom(this.room);\n }\n }\n );\n }\n\n\n clicked(event: any): void {\n \n this.roomsService.handleChatOrTicketWindow.next('test');\n\n if (this.room.name == \"Lobby\") {\n this.chatService.joinRoom(this.room, false);\n \n this.roomsService.setCurrentRoom(this.room);\n }\n else\n if (this.roomsService.getNumOfMentorsInCurrRoom(this.room.id) <= 0) {\n this.chatService.joinRoom(this.room, false);\n \n this.roomsService.setCurrentRoom(this.room);\n //this.chatService.createTicket(this.room.id);\n }\n else {\n this.openDialog();\n }\n event.preventDefault();\n }\n\n toggle(){\n this.showMore = !this.showMore;\n\n // CHANGE THE NAME OF THE BUTTON.\n if(this.showMore) \n this.toggleButtonName = \"Show Less Notifications\";\n else\n this.toggleButtonName = \"Show More Notifications\";\n }\n\n public ngOnDestroy(): void {\n this.onDestroy$.next(true);\n this.onDestroy$.complete();\n } \n}\n","
0\">\n\n \n\n
\n \n
\n
\n \n
\n
\n","\nimport {interval as observableInterval, Observable, Subject,ReplaySubject } from 'rxjs';\n\nimport {takeUntil} from 'rxjs/operators';\nimport { Component, OnInit, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';\nimport { Room } from '../../model/room.model';\nimport { RoomsService } from '../../service/rooms.service';\nimport { Ticket } from '../../model/ticket';\nimport { ChatService } from '../../service/chatservice';\n\n\n@Component({\n selector: 'chat-room-to-be-closed',\n templateUrl: './chat-room-to-be-closed.component.html',\n styleUrls: ['./chat-room-to-be-closed.component.css']\n})\nexport class ChatRoomToBeClosedComponent implements OnInit {\n @Input() room: Room;\n private onDestroy$: ReplaySubject = new ReplaySubject(1);\n intervalHolder: any;\n roomTimer: string;\n currentTicket: Ticket;\n private subjectClickToOpenPopup: Subject = new Subject();\n selected = false;\n\n constructor(private roomService: RoomsService,\n private chatService: ChatService,\n private changeDetectorRef: ChangeDetectorRef, ) {\n\n }\n\n ngOnInit() {\n this.intervalHolder = observableInterval(15 * 1000).pipe(takeUntil(this.onDestroy$)).subscribe(x => { // will execute every 15 seconds \n this.changeDetectorRef.markForCheck();\n });\n\n const subCurrentRoom = this.roomService.currentRoom.pipe(\n takeUntil(this.onDestroy$))\n .subscribe((currentRoom: Room) => {\n this.selected = currentRoom && this.room && (currentRoom.id === this.room.id);\n });\n }\n\n joinSelectedRoom(curRoom: Room): void { \n this.roomService.setCurrentRoom(curRoom); \n this.roomService.handleCloseRoomSubject.next(curRoom.id);\n }\n \n getMentorName(): String {\n\n if (this.room.lastMessage != undefined)\n return this.room.lastMessage.author.userName;\n return \"\";\n }\n\n getTicketTitle(): String { \n return \"Chat: \" + this.room.name;\n }\n\n private GetFormatedTime(value: Date): string {\n\n let now = new Date().getTime();\n\n let delta = 10;\n let tmp = (now - new Date(value).getTime());\n if (tmp > 0)\n delta = tmp / 1000;\n\n if (this.getHours(delta) > 0)\n return this.getHours(delta) + ':' + this.getMinutes(delta) + ':' + this.getSeconds(delta);\n else\n return this.getMinutes(delta) + ':' + this.getSeconds(delta);\n }\n\n private getSeconds(ticks: number) {\n return this.pad(Math.floor(ticks % 60));\n }\n\n private getMinutes(ticks: number) {\n return this.pad((Math.floor(ticks / 60)) % 60);\n }\n\n private getHours(ticks: number) {\n return this.pad(Math.floor((ticks / 60) / 60));\n }\n\n private pad(digit: any) {\n return digit <= 9 ? '0' + digit : digit;\n }\n\n getStyle() {\n return 'gray';\n }\n public ngOnDestroy(): void {\n this.onDestroy$.next(true);\n this.onDestroy$.complete();\n } \n}\n","\n
\n\n
\n \n \n
\n
\n \n\n \n \n \n \n \n \n
\n
\n
{{getTicketTitle()}}\n\n
\n\n \n\n \n \n \n\n {{room.session}} \n \n\n\n
\n\n \n
\n","\nimport {takeUntil} from 'rxjs/operators';\nimport {\n Component,\n OnInit,\n Input,\n Output,\n EventEmitter,\n Inject,\n ViewContainerRef,\n SimpleChanges,\n ChangeDetectorRef,\n OnDestroy,\n OnChanges,\n SimpleChange,\n ChangeDetectionStrategy,\n ElementRef,\n ViewChild\n} from '@angular/core';\nimport { Observable, Subject,ReplaySubject } from 'rxjs';\nimport { Room } from '../../model/room.model';\nimport { RoomsService } from '../../service/rooms.service';\nimport { ChatService } from '../../service/chatservice';\nimport { ConfirmService } from '../confirm/confirm.service';\nimport { ConfirmComponent } from '../confirm/confirm.component';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { MatLegacyDialog as MatDialog, MatLegacyDialogConfig as MatDialogConfig } from \"@angular/material/legacy-dialog\";\nimport { MatLegacyDialogModule as MatDialogModule } from '@angular/material/legacy-dialog';\nimport { RoomFactory } from '../../model/RoomFactory';\n// import { ToastsManager } from 'ng2-toastr';\nimport { User } from '../../model/user';\nimport { Message } from '../../model/message.model';\n\n\n\n\n\ndeclare var componentHandler: any;\n\n@Component({\n selector: 'chat-room',\n templateUrl: './chat-room.component.html',\n styleUrls: ['./chat-room.component.css'],\n // changeDetection: ChangeDetectionStrategy.OnPush\n})\n\n\nexport class ChatRoomComponent implements OnInit, OnDestroy {\n //@Input() room: Roo\n private onDestroy$: ReplaySubject = new ReplaySubject(1);\n\n @Input() room: Room;\n private selectedRoom: Room;\n\n lastMessageSendAt: Date = new Date();\n selected = false;\n avatarSrc: string;\n roomTimer: string;\n intervalHolder: any;\n ticketCreated: boolean;\n\n constructor(private dialog: MatDialog, public roomsService: RoomsService, public chatService: ChatService, public el: ElementRef, private cd: ChangeDetectorRef) {\n\n }\n\n\n ngOnInit(): void {\n\n this.ticketCreated = false;\n const subCurrentROom = this.roomsService.currentRoom.pipe(\n takeUntil(this.onDestroy$))\n .subscribe((currentRoom: Room) => {\n this.selected = currentRoom && this.room && (currentRoom.id === this.room.id);\n });\n this.avatarSrc = '/assets/images/avatar.png';\n\n }\n\n\n openDialog() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n\n \n\n const dialogRef = this.dialog.open(ConfirmComponent, {\n height: '250px',\n width: '400px',\n data: { warningMessage: \"Enter as cloaked user?\" }\n });\n\n const subDialogRef = dialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(\n val => {\n if (val !== null && val != undefined) {\n this.roomsService.setCurrentRoom(this.selectedRoom);\n this.chatService.joinRoom(this.selectedRoom, val);\n }\n }\n );\n dialogRef.disableClose = false;\n }\n\n joinSelectedRoom(curRoom: Room): void {\n this.selectedRoom = curRoom;\n\n this.roomsService.handleChatOrTicketWindow.next('test' + this.selectedRoom.name);\n\n if (this.selectedRoom.name == \"Lobby\") {\n\n this.roomsService.setCurrentRoom(this.selectedRoom);\n this.chatService.joinRoom(this.selectedRoom, false);\n }\n else\n if (this.selectedRoom.mentorCount <= 0 || this.selectedRoom.currMentorIsPartOfTheRoom) {\n this.chatService.GetPreviousMessagesInProgres.next(true); \n this.roomsService.setCurrentRoom(this.selectedRoom);\n this.chatService.joinRoom(this.selectedRoom, false);\n\n if (this.ticketCreated == false) {\n //this.chatService.createTicket(this.selectedRoom.id);\n this.ticketCreated = true;\n }\n }\n else {\n this.openDialog();\n }\n\n }\n\n getMentorName(): String {\n\n if (this.room.lastMessage != undefined && this.room.lastMessage.author.isMentor)\n return this.room.lastMessage.author.userName;\n return \"\";\n }\n\n getChatStartTime(): void {\n\n\n this.roomTimer = this.GetFormatedTime(this.room.createdAt);\n this.cd.markForCheck();\n }\n\n\n getRoomColor(): String {\n\n let delta = 100;\n if (this.room.createdAt != undefined) {\n let now = new Date().getTime();\n delta = (now - new Date(this.room.createdAt).getTime()) / 1000;\n }\n\n let rez = '#ffe6be';\n if (this.room.roomStatus == 1 && delta < 30)\n rez = '#ffe6be';\n else\n rez = this.getRoomStatus(this.room.roomStatus);\n\n return rez;\n }\n\n\n getRoomNameColor(): String {\n\n let delta = 100;\n if (this.room.createdAt != undefined) {\n let now = new Date().getTime();\n delta = (now - new Date(this.room.createdAt).getTime()) / 1000;\n }\n\n let rez = '#000000';\n\n if (this.room.roomStatus == 1 && delta < 30)\n rez = '#000000';\n else\n rez = this.getRoomNameStatus(this.room.roomStatus);\n\n return rez;\n }\n getRoomStatus(tmp): string {\n\n switch (tmp) {\n case 1: {\n return '#fdc7cd';//red;\n }\n case 2: {\n return '#cecece';///blue(lobby);\n }\n case 3: {\n return '#e0ffed';//green;\n }\n case 4: {\n return '#afddff';//'#D8F9FF';\n }\n default: {\n return '#775fe1';\n }\n }\n\n }\n\n getRoomNameStatus(status): string {\n\n return '#000000';\n\n // switch (status) {\n // case 1: {\n // return '#da3939';//red;\n // }\n // case 2: {\n // return 'grey';//blue(lobby);\n // }\n // case 3: {\n // return '#269454';//green;\n // }\n // case 4: {\n // return '#389eea';//blue;#\n // }\n // default: {\n // return '#775fe1';\n // }\n // }\n\n }\n\n private GetFormatedTime(value: Date): string {\n\n let now = new Date().getTime();\n\n let delta = 10;\n let tmp = (now - new Date(value).getTime());\n if (tmp > 0)\n delta = tmp / 1000;\n\n if (this.getHours(delta) > 0)\n return this.getHours(delta) + ':' + this.getMinutes(delta) + ':' + this.getSeconds(delta);\n else\n return this.getMinutes(delta) + ':' + this.getSeconds(delta);\n }\n\n private getSeconds(ticks: number) {\n return this.pad(Math.floor(ticks % 60));\n }\n\n private getMinutes(ticks: number) {\n return this.pad((Math.floor(ticks / 60)) % 60);\n }\n\n private getHours(ticks: number) {\n return this.pad(Math.floor((ticks / 60) / 60));\n }\n\n private pad(digit: any) {\n return digit <= 9 ? '0' + digit : digit;\n }\n\n\n\n ngOnDestroy() {\n\n clearInterval(this.intervalHolder);\n \n this.onDestroy$.next(true);\n this.onDestroy$.complete();\n }\n\n}\n","
\n\n
\n {{room.lastActiveMentor}}\n {{room.createdAt| timeDiffPipe}}\n
\n
\n\n
{{room.name}}
\n\n \n \n \n\n {{room.session}}\n {{room.type}}\n {{room.language}}\n\n
\n\n Select\n\n
","\nimport {throttleTime} from 'rxjs/operators';\nimport {\n Component,\n OnInit,\n Inject,\n EventEmitter,\n Output,\n\n ChangeDetectorRef,\n ElementRef,\n ViewChild\n} from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { RoomsService } from '../../service/rooms.service';\nimport { Room, RoomGroup } from '../../model/room.model';\nimport { ChatRoomToBeClosedComponent } from '../chat-room-to-be-closed/chat-room-to-be-closed.component';\nimport { MessagesService } from '../../service/messages.service';\nimport { ChatRoomComponent } from '../chat-room/chat-room.component';\nimport { ConfirmInfoComponent } from '../confirm-info/confirm-info.component';\nimport { ChatService } from '../../service/chatservice';\nimport { MatLegacyDialog as MatDialog, MatLegacyDialogConfig as MatDialogConfig } from \"@angular/material/legacy-dialog\";\n\n@Component({\n selector: 'chat-rooms',\n // pipes: [GroupByPipe],\n templateUrl: './chat-rooms.component.html',\n styleUrls: ['./chat-rooms.component.css'],\n \n\n})\nexport class ChatRoomsComponent {\n private onDestroy$: Subject = new Subject();\n noUnsweredRooms: Observable;\n closedRooms: Observable;\n groupByRooms: Observable;\n groupByMyRooms: Observable;\n intervalHolder: any;\n active = 1;\n\n\n selectedRoom: Room;\n @ViewChild(ChatRoomComponent,{static:false}) chatRoom: ChatRoomComponent;\n @ViewChild(ChatRoomToBeClosedComponent, {static:false}) chatRoomToBeClosed: ChatRoomToBeClosedComponent;\n @ViewChild('nav',{static:false}) ctdTabset;\n\n clk: Subject = new Subject();\n clkClosedRoom: Subject = new Subject();\n\n constructor(public roomsService: RoomsService, public messageService: MessagesService, public el: ElementRef, private dialog: MatDialog, public chatService: ChatService) {\n\n this.groupByRooms = roomsService.groupedRooms;\n this.groupByMyRooms = roomsService.groupedMyRooms;\n this.noUnsweredRooms = roomsService.notRespondedRooms;\n this.closedRooms = roomsService.closedRooms;\n\n this.roomsService.preselectTab.subscribe((tabid:string)=>{\n this.ctdTabset.select(tabid);\n });\n\n this.chatService.PreventAutoJoin.subscribe((room:Room)=>{\n this.displayDialogCannotJoinRoom(room);\n });\n }\n\n\n ngOnInit(): any {\n\n const subClk = this.clk\n .subscribe((event: MouseEvent) => {\n this.chatRoom.joinSelectedRoom(this.selectedRoom);\n });\n\n const subClkCloseRoom = this.clkClosedRoom.pipe(throttleTime(3000))\n .subscribe((event: MouseEvent) => {\n this.chatRoomToBeClosed.joinSelectedRoom(this.selectedRoom);\n });\n }\n\n\n onSelect(currRoom: Room): void {\n this.selectedRoom = currRoom;\n this.clk.next(currRoom.id);\n }\n\n onSelectClosedRoom(currRoom: Room): void {\n this.selectedRoom = currRoom;\n this.clkClosedRoom.next(currRoom.id);\n }\n\n public ngOnDestroy(): void {\n this.onDestroy$.next();\n } \n\n displayDialogCannotJoinRoom(room:Room) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n\n const dialogRef = this.dialog.open(ConfirmInfoComponent, {\n height: '250px',\n width: '400px',\n data: { warningMessage: \"Chat session \" + room.session + \" has already been taken by another mentor.\" }\n });\n\n dialogRef.disableClose = false;\n } \n}\n","\n
\n \n
\n\n\n
\n","\nimport { MatLegacyDialog as MatDialog,MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA, MatLegacyDialogRef as MatDialogRef} from \"@angular/material/legacy-dialog\";\nimport { Component, Inject} from '@angular/core';\n\nimport { UntypedFormGroup, UntypedFormBuilder, UntypedFormControl, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { TestBed } from \"@angular/core/testing\";\n\n@Component({\n selector: 'app-volume-modal',\n templateUrl: './chat-volume-modal.component.html',\n styleUrls: ['./chat-volume-modal.component.css']\n })\n export class ChatVolumeModalComponent{\n model: any = {};\n showFormErrors: boolean = false;\n isValidFormSubmitted = null;\n dataModel:any={};\n volume:number=0;\n roomVolume:number=0;\n\n constructor( \n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) data, private dialog: MatDialog, fb: UntypedFormBuilder) {\n \n this.dataModel=data;\n \n }\n\n ngOnInit() {\n\n if(this.dataModel && !(this.dataModel && (Object.keys(this.dataModel).length === 0)))\n {\n if(this.dataModel.volume)\n this.volume= this.dataModel.volume\n if(this.dataModel.roomVolume)\n this.roomVolume= this.dataModel.roomVolume\n }\n else\n {\n this.volume=100;\n this.roomVolume=100;\n }\n }\n\n formatLabel(value: number): string {\n \n return `${value}`;\n }\n \n save(): void {\n var data={\n ChatVolume:this.volume,\n RoomVolume:this.roomVolume\n }\n \n this.dialogRef.close(data);\n }\n \n close() {\n this.dialogRef.close(false);\n \n }\n cancel() {\n \n this.dialogRef.close(false);\n \n }\n }\n","

Set Volume

\n\n\n
\n \n
\n \n \n \n \n
\n
\n \n \n \n \n
\n \n \n \n \n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { RoomsService } from '../../service/rooms.service';\nimport { Room } from '../../model/room.model';\nimport { ChatService } from '../../service/chatservice';\n@Component({\n selector: 'chat-window-members',\n templateUrl: './chat-window-members.component.html',\n styleUrls: ['./chat-window-members.component.css']\n})\nexport class ChatWindowMembersComponent implements OnInit {\n @Input() room: Room;\n \n constructor(private roomService: RoomsService, private chatService:ChatService) {\n\n\n }\n\n ngOnInit() {\n }\n\n getUserInfoOnInit(){\n }\n\n getStyle() {\n return 'gray';\n }\n\n}\n","\n
\n \n
\n
\n \n\n
\n
\n\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n\n","\r\nimport { fromEvent as observableFromEvent, Observable, Subject, BehaviorSubject, ReplaySubject, timer, SubscriptionLike as ISubscription, from, of } from 'rxjs';\r\n\r\nimport { first, takeUntil, debounceTime, throttleTime, bufferTime, map, take, toArray, mergeMap, tap, concatMap } from 'rxjs/operators';\r\nimport {\r\n Component,\r\n Inject,\r\n ElementRef,\r\n OnInit,\r\n ChangeDetectionStrategy,\r\n ViewContainerRef,\r\n Input,\r\n NgZone,\r\n ChangeDetectorRef,\r\n ApplicationRef,\r\n ViewChild,\r\n HostListener,\r\n OnDestroy\r\n} from '@angular/core';\r\n\r\n\r\nimport { UsersService } from '../../service/users.service';\r\nimport { ChatService } from '../../service/chatservice';\r\nimport { Room } from '../../model/room.model';\r\nimport { User } from '../../model/user';\r\nimport { RoomsService } from '../../service/rooms.service';\r\nimport { Message } from '../../model/message.model';\r\nimport { MessagesService } from '../../service/messages.service';\r\n//import { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\n// import { ToastsManager } from 'ng2-toastr/ng2-toastr';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { RoomFactory } from '../../model/RoomFactory';\r\nimport { UserFactory } from '../../model/userFactory';\r\nimport { MessageType } from '../../model/messageType';\r\nimport { Howl, Howler } from 'howler';\r\nimport { MatLegacyDialogConfig as MatDialogConfig, MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';\r\nimport { MatLegacyTooltip as MatTooltip } from '@angular/material/legacy-tooltip';\r\nimport { ConfirmComponent } from '../confirm/confirm.component';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { LocalizationService } from '../../service/localization.service';\r\nimport * as _ from 'lodash';\r\nimport { SignalRStatus } from '../../model/SignalRStatus';\r\n\r\nimport { MentorSpinnerService } from '../../service/mentorspinner.service';\r\nimport { ImageUploadModalComponent } from '../../image-upload-modal/image-upload-modal.component';\r\n\r\nimport { TicketService } from '../../service/ticket.service';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { uuid } from '../util/uuid';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MessageAttachment } from '../../model/MessageAttachment.model';\r\nimport { messageFactory } from '../../model/messageFactory';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { AdminService } from '../../service/admin.service';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { AllTicketsModalComponent } from '../all-tickets-modal/all-tickets-modal.component';\r\nimport { AllCannedResponsesModalComponent } from '../all-cannedresponses-modal/all-cannedresponses-modal.component';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'chat-window',\r\n templateUrl: './chat-window.component.html',\r\n styleUrls: ['./chat-window.component.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ChatWindowComponent implements OnInit, OnDestroy {\r\n\r\n private onDestroy$: ReplaySubject = new ReplaySubject(1);\r\n @Input() data: any;\r\n\r\n messagesInCurrentRoom: Observable;\r\n currentRoom: Room;\r\n isLobbyRoom: boolean;\r\n draftMessage: Message;\r\n currentUser: User;\r\n isMessagePrivate: boolean = false;\r\n prevMsgsAreLoaded: boolean = false;\r\n nickName: string = '';\r\n public isLoadingPrevMsgs: boolean = false;;\r\n private subjectKeyDown: Subject = new Subject();\r\n public keyUp = new Subject();\r\n\r\n typingUsrs: Array = [];\r\n typingMessage: string = \"\";\r\n showSendSurveyButton: boolean;\r\n imgUrl: any;\r\n\r\n roomMembers: Observable;\r\n connectionIndicator: string = \"#EEEEEE\";\r\n isLeaveRoomAllowed: boolean = true;\r\n lastMsgId: string = \"\";\r\n\r\n lastScrollHeight: any;\r\n currScrollTop: any;\r\n\r\n public isLoadingPrevMsgsActive: boolean = false;\r\n timerLoadPrevMsgs: any = null;\r\n timelaps: any = new Date().getTime();\r\n @ViewChild('textInput', { static: false }) textInput: ElementRef;\r\n @ViewChild('msgHistory', { static: false }) msgHistory: ElementRef;\r\n localLang: any = \"en\";\r\n public showSpinner: Boolean = true;\r\n focusElementSubject: Subject = new Subject();\r\n isGetMsgInProgress: Boolean = false;\r\n messageAttachmentSubject: BehaviorSubject = new BehaviorSubject([]);\r\n messageAttachments: Observable = this.messageAttachmentSubject.asObservable();\r\n messageAttachmentsArray: MessageAttachment[] = [];\r\n hasMessageAttachments: boolean = false;\r\n cannedResponsesDialogRef: MatDialogRef ;\r\n\r\n constructor(public messagesService: MessagesService,\r\n public roomsService: RoomsService,\r\n public UsersService: UsersService,\r\n public chatService: ChatService,\r\n public ticketService: TicketService,\r\n public toastr: ToastrService, vcr: ViewContainerRef,\r\n public el: ElementRef,\r\n private ngZone: NgZone,\r\n private dialog: MatDialog,\r\n private activatedRoute: ActivatedRoute,\r\n private localizationService: LocalizationService,\r\n private changeDetector: ChangeDetectorRef,\r\n private spinnerService: MentorSpinnerService,\r\n private sanitizer: DomSanitizer,\r\n private spinnerServiceDialogs: NgxSpinnerService,\r\n private adminService: AdminService) {\r\n\r\n\r\n\r\n this.roomMembers = roomsService.currentRoomMembers;\r\n\r\n\r\n const keyUpEvent = observableFromEvent(el.nativeElement, 'keyup');\r\n\r\n const result = keyUpEvent.pipe(takeUntil(this.onDestroy$)).pipe(throttleTime(4000)).subscribe(x => {\r\n\r\n this.chatService.StartTyping(this.currentRoom.id, this.isMessagePrivate);\r\n });\r\n\r\n this.lastScrollHeight = 0;\r\n\r\n this.messagesInCurrentRoom = this.roomsService.currentRoomMessages.pipe(takeUntil(this.onDestroy$), map(msgs => {\r\n //this.roomsService.currentRoomMsgLoaded.next();\r\n return _.cloneDeep(_.sortBy(msgs, (t: Message) => t.sentAt));\r\n //return msgs;\r\n }),);\r\n\r\n this.isGetMsgInProgress = false;\r\n }\r\n\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n this.showSpinner = false;\r\n //this.messagesInCurrentRoom = this.roomsService.currentRoomMessages;\r\n\r\n this.draftMessage = new Message();\r\n this.draftMessage.text = '';\r\n\r\n this.chatService.GetPreviousMessagesInProgres.pipe(takeUntil(this.onDestroy$)).subscribe((inProgress) => {\r\n this.isGetMsgInProgress = inProgress;\r\n });\r\n\r\n const subscriptionNewNotification = this.messagesService.newMessageNotification.pipe(takeUntil(this.onDestroy$)).pipe(debounceTime(1000)).subscribe((roomGuid) => {\r\n const scrollPane: any = this.el\r\n .nativeElement.querySelector('.msg-container-base');\r\n\r\n //if bottom\r\n //if (scrollPane.offsetHeight + scrollPane.scrollTop + scrollPane.scrollHeight * 0.2 >= scrollPane.scrollHeight) {\r\n setTimeout(() => {\r\n this.scrollToBottom();\r\n });\r\n //}\r\n this.ngZone.run(() => {\r\n if (this.currentRoom.id == roomGuid) {\r\n var userVolume = 100;\r\n\r\n if (localStorage.getItem(\"currentUserChatVolume\")) {\r\n userVolume = parseInt(localStorage.getItem(\"currentUserChatVolume\"));\r\n }\r\n\r\n var sound = new Howl({\r\n src: ['assets/audio/definite.mp3'],\r\n volume: userVolume / 100\r\n });\r\n\r\n sound.play();\r\n }\r\n });\r\n });\r\n\r\n const subscriptionCurrentRoom = this.roomsService.currentRoom.pipe(\r\n takeUntil(this.onDestroy$))\r\n .subscribe(\r\n (room: Room) => {\r\n this.currentRoom = room;\r\n this.isMessagePrivate = false;\r\n this.draftMessage = new Message();\r\n this.draftMessage.text = '';\r\n this.prevMsgsAreLoaded = false;\r\n if (this.currentRoom.name !== 'Lobby') {\r\n this.showSendSurveyButton = true;\r\n this.isLobbyRoom = false;\r\n } else {\r\n this.isLobbyRoom = true;\r\n this.showSendSurveyButton = false;\r\n }\r\n });\r\n\r\n const subscriptionCurrentUser = this.UsersService.currentUser.pipe(takeUntil(this.onDestroy$))\r\n .subscribe(\r\n (user: User) => {\r\n this.currentUser = user;\r\n });\r\n\r\n\r\n const subscriptionRoomMsgLoaded = this.roomsService.currentRoomMsgLoaded.pipe(takeUntil(this.onDestroy$))\r\n .subscribe({\r\n next: (roomArr: string[]) => {\r\n\r\n if (this.currentRoom.id == roomArr[0]) {\r\n const scrollPane: any = this.el\r\n .nativeElement.querySelector('.msg-container-base');\r\n const msgPane: any = this.el\r\n .nativeElement.querySelector('.messages-received');\r\n\r\n this.chatService.GetPreviousMessagesInProgres.next(false);\r\n this.lastMsgId = roomArr[1];\r\n //if bottom\r\n if (roomArr[1] === '-1' || roomArr[1] === '0') {\r\n //if (scrollPane.offsetHeight + scrollPane.scrollTop + scrollPane.scrollHeight * 0.2 >= scrollPane.scrollHeight) {\r\n setTimeout(() => {\r\n this.scrollToBottom();\r\n }, 1000);\r\n //}\r\n } else {\r\n this.focusElementSubject.next(roomArr[1]);\r\n }\r\n\r\n }\r\n }\r\n })\r\n\r\n const subscriptionNotification = this.messagesService.typingNotification.pipe(takeUntil(this.onDestroy$)).subscribe((usr) => {\r\n\r\n if (usr === null) return;\r\n\r\n if (this.typingUsrs.findIndex(s => s.name == usr.name) === -1) {\r\n\r\n this.changeDetector.markForCheck();\r\n this.typingUsrs.push(usr);\r\n\r\n\r\n clearTimeout(timer);\r\n var timer = setTimeout(() => {\r\n var index = this.typingUsrs.findIndex(s => s.name == usr.name);\r\n if (index !== -1) {\r\n this.changeDetector.markForCheck();\r\n this.typingUsrs.splice(index, 1);\r\n\r\n }\r\n }, 6000);\r\n\r\n }\r\n });\r\n\r\n const subscriptionNotificationCancel = this.messagesService.typingNotificationCancel.pipe(takeUntil(this.onDestroy$))\r\n .subscribe((usr) => {\r\n if (usr === null) return;\r\n\r\n var index = this.typingUsrs.findIndex(s => s.name == usr.name);\r\n if (index !== -1) {\r\n\r\n this.changeDetector.markForCheck();\r\n this.typingUsrs.splice(index, 1);\r\n\r\n }\r\n });\r\n\r\n const subConnectSignalR = this.chatService.connectionSubject.pipe(takeUntil(this.onDestroy$)).subscribe((val) => {\r\n switch (val) {\r\n case SignalRStatus.Connected:\r\n this.connectionIndicator = \"#EEEEEE\";\r\n break;\r\n case SignalRStatus.Disconnected:\r\n this.connectionIndicator = \"#ff0000\";\r\n break;\r\n case SignalRStatus.Reconnectiong:\r\n this.connectionIndicator = \"#2a94db\";\r\n break;\r\n }\r\n });\r\n\r\n const subRemoveEndUser = this.chatService.removingEndUserSubject.pipe(takeUntil(this.onDestroy$)).subscribe((val) => {\r\n this.isLeaveRoomAllowed = !val;\r\n });\r\n\r\n var localeFromUrl = this.activatedRoute.snapshot.queryParams[\"lang\"];\r\n var locale = this.localizationService.ValidateLocale(localeFromUrl);\r\n this.localLang = locale;\r\n\r\n this.chatService.chatMessageToSendSubject.subscribe((chatMessage: string) => {\r\n if(chatMessage !== undefined && chatMessage.length >0){\r\n this.textInput.nativeElement.value = chatMessage;\r\n }\r\n });\r\n }\r\n\r\n\r\n public triggerChange(valueEmitted: any) {\r\n this.changeDetector.markForCheck();\r\n }\r\n\r\n\r\n public handleChange(value) {\r\n this.draftMessage.text = value;\r\n }\r\n\r\n scrollToBottom(): void {\r\n const scrollPane: any = this.el.nativeElement.querySelector('.msg-container-base');\r\n\r\n scrollPane.scrollTop = scrollPane.scrollHeight;\r\n }\r\n\r\n onScroll(event: any): void {\r\n\r\n this.lastScrollHeight = event.target.scrollHeight;\r\n\r\n if (event.target.scrollTop == 0) {\r\n\r\n this.messagesInCurrentRoom.pipe(first(), takeUntil(this.onDestroy$),).subscribe(rez => {\r\n\r\n\r\n if (this.timerLoadPrevMsgs == null && !this.isGetMsgInProgress && rez.length > 0) {\r\n //var lastMsgId=this.messagesService.getLastMessageForTheRoom(this.currentRoom.id);\r\n // console.log(\"Last message Id: \"+ this.lastMsgId);\r\n // console.log(\"Last Id: \"+rez[0].id);\r\n if (this.lastMsgId !== null && this.lastMsgId === rez[0].id) {\r\n return;\r\n }\r\n\r\n\r\n this.showSpinner = true;\r\n this.timerLoadPrevMsgs = setTimeout(function () {\r\n console.log(\"Get Prev MSgs\");\r\n //TODO: show loading indicator \r\n\r\n //TODO: last message - must be in the room\r\n this.timerLoadPrevMsgs = null;\r\n //this.chatService.getPrevMessages(this.currentRoom.id, true, rez[0].id).pipe(takeUntil(this.onDestroy$))\r\n this.chatService.getPrevMessagesChain(this.currentRoom.id, true, rez[0].id).pipe(takeUntil(this.onDestroy$)).subscribe(() => {\r\n this.showSpinner = false;\r\n this.changeDetector.markForCheck();\r\n }, error => {\r\n this.showSpinner = false;\r\n this.changeDetector.markForCheck();\r\n });\r\n\r\n\r\n }.bind(this), 200);\r\n }\r\n });\r\n\r\n this.isLoadingPrevMsgs = true;\r\n //clear load prev notification if no older messages\r\n setTimeout(function () {\r\n this.ngZone.run(() => this.isLoadingPrevMsgs = false);\r\n this.isLoadingPrevMsgs = false;\r\n // this.showSpinner = false;\r\n // this.changeDetector.markForCheck();\r\n }.bind(this), 3000);\r\n\r\n }\r\n }\r\n\r\n onEnter(event: any): void {\r\n this.sendMessage(this.textInput.nativeElement.value);\r\n this.textInput.nativeElement.value = '';\r\n\r\n event.preventDefault();\r\n }\r\n\r\n uploadImage(event: any) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n\r\n const dialogRef = this.dialog.open(ImageUploadModalComponent, {\r\n // height: '700px',\r\n height: 'auto',\r\n width: '600px',\r\n data: {}\r\n });\r\n\r\n const subDialogRef = dialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(\r\n val => {\r\n if (val !== null && val != undefined && val) {\r\n if (val.length === 0) {\r\n return;\r\n }\r\n let fileToUpload = val;\r\n const formData = new FormData();\r\n var fileName = fileToUpload.name;\r\n\r\n formData.append('file', fileToUpload, uuid() + '.png');\r\n formData.append('roomId', this.currentRoom.id);\r\n formData.append('userId', this.currentUser.id);\r\n formData.append('fileName', fileName);\r\n //formData.append('roomId',this.currentRoom.id);\r\n\r\n this.spinnerService.ShowSpinner();\r\n this.ticketService.uploadImage(formData).pipe(takeUntil(this.onDestroy$))\r\n .subscribe(result => {\r\n this.spinnerService.HideSpinner();\r\n if (!result.HasError) {\r\n var attachment = new MessageAttachment(\r\n {\r\n ImageId: result.ImageUrl,\r\n ImageUri: result.ImageUrl,\r\n ThumbnailUri: result.ThumbUrl,\r\n ContainerName: result.ContainerName,\r\n FileName: fileName,\r\n MessageId: '',\r\n UserId: this.currentUser.id\r\n });\r\n //this.addElementToObservableArray(attachment);\r\n this.messageAttachmentsArray.push(attachment);\r\n this.sendMessage('');\r\n }\r\n\r\n },\r\n error => {\r\n this.spinnerService.HideSpinner();\r\n this.UsersService.clientTostrErrorNotification.next(\"Error while uploading the image to chat. Please refresh the page and try again.\");\r\n });\r\n\r\n } else if (val !== null && val != undefined && val == false) {\r\n\r\n } else {\r\n\r\n }\r\n }\r\n );\r\n dialogRef.disableClose = false;\r\n }\r\n\r\n addElementToObservableArray(item) {\r\n this.messageAttachments.pipe(take(1), takeUntil(this.onDestroy$)).subscribe(val => {\r\n console.log(val)\r\n const newArr = [...val, item];\r\n this.messageAttachmentsArray = newArr;\r\n\r\n if (this.messageAttachmentsArray.length > 0)\r\n this.hasMessageAttachments = true;\r\n else\r\n this.hasMessageAttachments = false;\r\n\r\n this.changeDetector.markForCheck();\r\n this.messageAttachmentSubject.next(newArr);\r\n })\r\n }\r\n\r\n removeAllArray() {\r\n this.messageAttachments.pipe(take(1), takeUntil(this.onDestroy$)).subscribe(val => {\r\n //const arr = this.messageAttachmentSubject.getValue()\r\n const newArr = [];\r\n this.messageAttachmentsArray = newArr;\r\n if (this.messageAttachmentsArray.length > 0)\r\n this.hasMessageAttachments = true;\r\n else\r\n this.hasMessageAttachments = false;\r\n\r\n\r\n this.messageAttachmentSubject.next(newArr)\r\n })\r\n }\r\n\r\n removeElementToObservableArray(item) {\r\n this.messageAttachments.pipe(take(1), takeUntil(this.onDestroy$)).subscribe(val => {\r\n const newArr = this.messageAttachmentSubject.getValue()\r\n newArr.splice(item, 1);\r\n\r\n this.messageAttachmentsArray = newArr;\r\n if (this.messageAttachmentsArray.length > 0)\r\n this.hasMessageAttachments = true;\r\n else\r\n this.hasMessageAttachments = false;\r\n\r\n this.messageAttachmentSubject.next(newArr)\r\n })\r\n }\r\n\r\n onCloseChat(event: any): void {\r\n this.chatService.closeRoom(this.currentRoom);\r\n event.preventDefault();\r\n }\r\n\r\n sendMessage(value: string): void {\r\n if (value.match(/^\\s*$/) && this.messageAttachmentsArray.length == 0) {\r\n return;\r\n }\r\n if (value == null) return;\r\n if (value === '' && this.messageAttachmentsArray.length == 0) return;\r\n if (value.length <= 0 && this.messageAttachmentsArray.length == 0) return;\r\n value = value.replace(\"<\", \"< \");\r\n\r\n this.draftMessage = new Message();\r\n this.draftMessage.text = value;\r\n\r\n const m: Message = this.draftMessage;\r\n\r\n m.author = JSON.parse(localStorage.getItem('currAuthor'));\r\n if (this.nickName !== '')\r\n m.author.userName = this.nickName;\r\n\r\n m.msgType = m.orgMsgType = MessageType.Default;\r\n\r\n m.room = this.currentRoom;\r\n m.room.roomStatus = 4;\r\n\r\n if (m.author.isMentor === null)\r\n m.room.roomStatus = 2;\r\n else if (m.author.isMentor)\r\n m.room.roomStatus = 3;\r\n else if (m.author.isMentor && m.room.name == 'Lobby')\r\n m.room.roomStatus = 2;\r\n\r\n m.isRead = true;\r\n m.isPrivate = this.isMessagePrivate;\r\n if (this.isMessagePrivate)\r\n m.orgMsgType = MessageType.Private;\r\n\r\n\r\n m.messageAttachments = this.messageAttachmentsArray;\r\n if (m.messageAttachments.length > 0) {\r\n this.spinnerService.ShowSpinner();\r\n from(m.messageAttachments).pipe(\r\n mergeMap(module => this.ticketService.downloadFile(module.ContainerName, module.ThumbnailUri).pipe(\r\n tap(apiResponse => {\r\n //let objectURL = URL.createObjectURL(apiResponse); \r\n //module.ThumbnailUriUrl = apiResponse;\r\n let objectURL = URL.createObjectURL(apiResponse);\r\n module.ThumbnailUriUrl = objectURL;\r\n })\r\n )),\r\n toArray()\r\n ).pipe(takeUntil(this.onDestroy$)).subscribe(allResponses => {\r\n this.spinnerService.HideSpinner();\r\n console.log(allResponses);\r\n this.chatService.sendMessage(m);\r\n this.messageAttachmentsArray = [];\r\n this.draftMessage = new Message();\r\n this.draftMessage.text = '';\r\n setTimeout(() => {\r\n this.scrollToBottom();\r\n });\r\n },\r\n error => {\r\n this.spinnerService.HideSpinner();\r\n this.UsersService.clientTostrErrorNotification.next(\"Error occured\");\r\n });\r\n\r\n } else {\r\n this.chatService.sendMessage(m);\r\n this.draftMessage = new Message();\r\n this.draftMessage.text = '';\r\n this.messageAttachmentsArray = [];\r\n setTimeout(() => {\r\n this.scrollToBottom();\r\n });\r\n }\r\n\r\n }\r\n\r\n SetMsgNickname(nickname: string) {\r\n this.nickName = nickname;\r\n }\r\n\r\n\r\n\r\n\r\n SetMsgType(): void {\r\n this.isMessagePrivate = !this.isMessagePrivate;\r\n }\r\n\r\n SendSurvey() {\r\n this.openDialog();\r\n }\r\n\r\n SendSurveyGo() {\r\n this.chatService.SendSurveyToUser('', this.currentRoom.id);\r\n }\r\n\r\n openDialog() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n const dialogRef = this.dialog.open(ConfirmComponent, {\r\n height: '300px',\r\n width: '400px',\r\n data: { warningMessage: \"Sending the survey will automatically disconnect the user. Are you sure you want to proceed?\" }\r\n });\r\n\r\n const subDialogRef = dialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(\r\n result => {\r\n if (result) {\r\n this.SendSurveyGo();\r\n }\r\n }\r\n );\r\n }\r\n\r\n trackByMessageID(index: number, msg: Message): any {\r\n return msg.sentAt;\r\n }\r\n\r\n\r\n public ngOnDestroy(): void {\r\n this.onDestroy$.next(true);\r\n this.onDestroy$.complete();\r\n }\r\n\r\n LoadCannedResponses() {\r\n this.spinnerServiceDialogs.show();\r\n const cannedResponsesData = this.adminService.GetCannedResponses(1,1000,\"\").pipe(takeUntil(this.onDestroy$)).subscribe(\r\n data => {\r\n this.openAllCannedResponsesDialog(data);\r\n }, error => {\r\n this.openAllCannedResponsesDialog(error.error);\r\n }\r\n );\r\n }\r\n\r\n openAllCannedResponsesDialog(cannedResponses) { \r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.autoFocus = true;\r\n \r\n dialogConfig.data = { \r\n cannedResponses: cannedResponses\r\n };\r\n\r\n dialogConfig.height = '800px';\r\n dialogConfig.width = '1200px'; \r\n dialogConfig.disableClose=true;\r\n this.spinnerServiceDialogs.hide();\r\n\r\n this.cannedResponsesDialogRef = this.dialog.open(AllCannedResponsesModalComponent, dialogConfig);\r\n\r\n const subDialogRef = this.cannedResponsesDialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(result => { \r\n this.cannedResponsesDialogRef = 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 Session: {{currentRoom.name}}\r\n

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

{{typingUsrs | typing :localLang}}

\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{attachment.FileName}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \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 {of as observableOf, Observable } from 'rxjs';\nimport { Component, Inject, Input, HostListener } from '@angular/core';\nimport {MatLegacyDialog as MatDialog, MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA} from '@angular/material/legacy-dialog';\n\n@Component({\n selector: 'confirm',\n templateUrl: './confirm-info.component.html',\n styleUrls: ['./confirm-info.component.css']\n})\n\nexport class ConfirmInfoComponent {\n warningMessage:string = \"\";\n showCancelButton= new Observable();\n\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) \n {\n dialogRef.disableClose = null;\n\n if (this.data != null){\n if (this.data.warningMessage != null){\n this.warningMessage = this.data.warningMessage;\n }\n\n if (this.data.showCancelButton != null){\n this.showCancelButton =observableOf(this.data.showCancelButton);\n }\n }\n }\n @HostListener('window:keyup.esc') onKeyUp() {\n this.dialogRef.close(null);\n }\n ngOnInit() {\n \n }\n\n ok() {\n this.dialogRef.close(true);\n }\n\n close() {\n this.dialogRef.close(false);\n }\n\n cancel() {\n this.dialogRef.close(null);\n }\n}\n","
\n\n\n\n\n\n

\n
{{warningMessage}}
\n\n\n\n\n\n\n
\n","\nimport {of as observableOf, Observable } from 'rxjs';\nimport { Component, Inject, Input, HostListener } from '@angular/core';\nimport {MatLegacyDialog as MatDialog, MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA} from '@angular/material/legacy-dialog';\n\n@Component({\n selector: 'confirm',\n templateUrl: './confirm.component.html',\n styleUrls: ['./confirm.component.css']\n})\n\nexport class ConfirmComponent {\n warningMessage:string = \"\";\n showCancelButton= new Observable();\n\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) \n {\n dialogRef.disableClose = null;\n\n if (this.data != null){\n if (this.data.warningMessage != null){\n this.warningMessage = this.data.warningMessage;\n }\n\n if (this.data.showCancelButton != null){\n this.showCancelButton =observableOf(this.data.showCancelButton);\n }\n }\n }\n @HostListener('window:keyup.esc') onKeyUp() {\n this.dialogRef.close(null);\n }\n ngOnInit() {\n \n }\n\n save() {\n this.dialogRef.close(true);\n }\n\n close() {\n this.dialogRef.close(false);\n }\n\n cancel() {\n this.dialogRef.close(null);\n }\n}\n","
\n\n\n\n\n\n

Confirmation

\n
{{warningMessage}}
\n\n\n\n\n\n\n\n
\n","\r\nimport { MatLegacyDialog as MatDialog,MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA, MatLegacyDialogRef as MatDialogRef} from \"@angular/material/legacy-dialog\";\r\nimport { Component, Inject} from '@angular/core';\r\n\r\nimport { UntypedFormGroup, UntypedFormBuilder, UntypedFormControl, ReactiveFormsModule, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-contact-modal',\r\n templateUrl: './contact-modal.component.html',\r\n styleUrls: ['./contact-modal.component.css']\r\n })\r\n export class ContactModalComponent{\r\n model: any = {};\r\n myform: UntypedFormGroup;\r\n showFormErrors: boolean = false;\r\n isValidFormSubmitted = null;\r\n dataModel:any={};\r\n\r\n constructor( \r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data, private dialog: MatDialog, fb: UntypedFormBuilder) {\r\n \r\n this.dataModel=data;\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.myform = new UntypedFormGroup({\r\n firstname: new UntypedFormControl(),\r\n lastname: new UntypedFormControl(),\r\n email: new UntypedFormControl()\r\n });\r\n\r\n\r\n if(this.dataModel && !(this.dataModel && (Object.keys(this.dataModel).length === 0)))\r\n {\r\n this.myform.setValue({\r\n firstname: this.dataModel.FirstName, \r\n lastname: this.dataModel.LastName,\r\n email:this.dataModel.Email\r\n });\r\n\r\n }\r\n \r\n }\r\n \r\n save(model: any): void {\r\n this.isValidFormSubmitted = false;\r\n if (this.myform.invalid) {\r\n return;\r\n }\r\n this.isValidFormSubmitted = true;\r\n this.dialogRef.close(model);\r\n }\r\n \r\n close() {\r\n this.dialogRef.close(false);\r\n }\r\n cancel() {\r\n this.myform.setValue({\r\n firstname: '', \r\n lastname: '',\r\n email:''\r\n });\r\n this.dialogRef.close(false);\r\n return;\r\n }\r\n }\r\n","

Add New Contact

\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
First Name is required
\r\n
\r\n \r\n \r\n
\r\n
Last Name is required
\r\n
\r\n \r\n \r\n
\r\n
Email is required
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { MentorSpinnerService } from '../service/mentorspinner.service';\nimport { ChatService } from '../service/chatservice';\nimport { AdminService } from '../service/admin.service';\nimport { MaintenanceMode } from '../model/maintenancemode.model';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { UsersService } from '../service/users.service';\n\nconst MINUTES_UNTIL_AUTO_LOGOUT = 240 // in mins\nconst CHECK_INTERVAL = 1000 // in ms\nconst STORE_KEY = 'lastAction';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css']\n})\n\nexport class HomeComponent implements OnInit {\n\nprivate CONST_GMSMENTORS_GROUPID: number = 1;\nprivate maintenanceMode: MaintenanceMode;\n\n constructor(\n private chatService: ChatService, \n private mspinnerService: MentorSpinnerService,\n private spinnerService: NgxSpinnerService,\n private adminService: AdminService,\n private userService:UsersService,\n public toastr: ToastrService,\n private router:Router) {\n\n this.adminService.CheckIfMaintenanceModeIsEnabled(this.CONST_GMSMENTORS_GROUPID).subscribe(\n data => {\n this.maintenanceMode = data[0];\n if (!this.maintenanceMode.loginAllowed) {\n this.router.navigate(['/maintenance'], { queryParams: { q: this.CONST_GMSMENTORS_GROUPID } });\n }\n }); \n\n let currentUser = JSON.parse(localStorage.getItem('currentUser'));\n localStorage.setItem(STORE_KEY, Date.now().toString());\n\n }\n\n async ngOnInit() {\n this.initListener();\n this.initInterval();\n \n this.chatService.connectToSignalR(); \n \n // setTimeout(()=>{ \n // this.chatService.ClearPreviousSessions();\n // }, 10000) \n \n this.mspinnerService.spinnerState.subscribe(val => {\n if (val == true)\n this.spinnerService.show();\n else\n this.spinnerService.hide();\n });\n\n // AUTOJOIN HERE\n } \n \n initListener() {\n document.body.addEventListener('click', () => this.reset());\n document.body.addEventListener('mouseover',()=> this.reset());\n document.body.addEventListener('mouseout',() => this.reset());\n document.body.addEventListener('keydown',() => this.reset());\n document.body.addEventListener('keyup',() => this.reset());\n document.body.addEventListener('keypress',() => this.reset());\n }\n\n reset() {\n this.setLastAction(Date.now());\n }\n\n setLastAction(lastAction: number) {\n localStorage.setItem(STORE_KEY, lastAction.toString());\n }\n\n getLastAction() {\n return parseInt(localStorage.getItem(STORE_KEY));\n }\n\n initInterval() {\n setInterval(() => {\n this.check();\n }, CHECK_INTERVAL);\n }\n\n check() {\n const now = Date.now();\n const timeleft = this.getLastAction() + (MINUTES_UNTIL_AUTO_LOGOUT * 60 * 1000);\n const diff = timeleft - now;\n const isTimeout = diff < 0;\n\n if (localStorage.getItem('currentUser') && isTimeout) {\n localStorage.removeItem('lastAction');\n this.chatService.LogOut();\n alert(\"Your session has expired due to inactivity!\");\n }\n }\n\n}\n\n","","import { Component, Inject, Input } from '@angular/core';\r\nimport {MatLegacyDialog as MatDialog, MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA} from '@angular/material/legacy-dialog';\r\n\r\n@Component({\r\n selector: 'notice',\r\n templateUrl: './notice.component.html',\r\n styleUrls: ['./notice.component.css']\r\n})\r\n\r\nexport class NoticeComponent {\r\n noticeMessage:string = \"\";\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data:any) \r\n {\r\n dialogRef.disableClose = true;\r\n }\r\n\r\n ngOnInit() {\r\n if (this.data != null){\r\n if (this.data.noticeMessage != null){\r\n this.noticeMessage = this.data.noticeMessage;\r\n }\r\n }\r\n }\r\n\r\n save() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n cancel() {\r\n this.dialogRef.close(null);\r\n }\r\n}\r\n","
\r\n\r\n \r\n \r\n \r\n \r\n

Notice

\r\n
{{noticeMessage}}
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n ","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({name: 'groupBy'})\r\nexport class GroupByPipe implements PipeTransform {\r\n transform(collection: Array, property: string): Array {\r\n // prevents the application from breaking if the array of objects doesn't exist yet\r\n \r\n if(!collection) {\r\n return null;\r\n }\r\n\r\n const groupedCollection = collection.reduce((previous, current)=> {\r\n if(!previous[current[property]]) {\r\n previous[current[property]] = [current];\r\n } else {\r\n previous[current[property]].push(current);\r\n }\r\n\r\n return previous;\r\n }, {});\r\n\r\n // this will return an array of objects, each object containing a group of objects\r\n return Object.keys(groupedCollection).map(key => ({ key, value: groupedCollection[key] }));\r\n //return Object.keys(groupedCollection).map(key => ({ key, value: groupedCollection[key] }));\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport * as _ from 'lodash'; \nimport { User } from '../../model/user';\n\ndeclare var _: any; // lodash, not strictly typed\n\n@Pipe({\n name: 'distinctUsers',\n pure: false\n})\nexport class DistinctUsersPipe implements PipeTransform {\n\n transform(items:any[], filter:any):any[] {\n\n if (!items || !filter) {\n return items;\n }\n // filter items array, items which match and return true will be\n // kept, false will be filtered out\n return items.filter(item => item.userName.indexOf('m1@test.com') !== -1);\n}\n\n}\n","import { Pipe, PipeTransform, ChangeDetectorRef } from '@angular/core';\nimport * as moment from 'moment';\n\n/**\n * FromNowPipe let's us convert a date into a human-readable relative-time\n * such as \"10 minutes ago\".\n */\n@Pipe({\n name: 'fromNow',\n pure: false\n})\nexport class FromNowPipe implements PipeTransform {\n\n private currentValue: any = null;\n constructor(private changeDetector: ChangeDetectorRef) {\n }\n\n transform(value: any, args: Array): string {\n\n if (this.currentValue !== moment(value, '', args.toString()).fromNow(true)) {\n //this.currentValue = moment(value).fromNow();\n \n this.currentValue = moment(value, '', args.toString()).fromNow(true);\n this.changeDetector.detectChanges();\n }\n return this.currentValue;\n\n //return moment(value).fromNow();\n }\n}\n\nexport const fromNowPipeInjectables: Array = [\n FromNowPipe\n];\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Room } from '../../model/room.model';\n\n@Pipe({\n name: 'roomColor',\n // pure: false\n})\nexport class RoomColorPipe implements PipeTransform {\n\n transform(value: any, args?: any): any {\n\n\n let delta = 100;\n if (value.firstMessage != undefined) {\n let now = new Date().getTime();\n delta = (now - new Date(value.firstMessage.sentAt).getTime()) / 1000;\n }\n\n if (value.roomStatus == 1 && delta < 30)\n return 'yellow';\n else\n return this.getRoomStatus(value.roomStatus);\n }\n\n getRoomStatus(tmp): string {\n\n switch (tmp) {\n case 1: {\n return '#FF0000';//'#ffecee';\n }\n case 2: {\n return '#a7a7a7';//'#eff8ff';\n }\n case 3: {\n return '#0bf46d';//'#e0ffed';\n }\n case 4: {\n return '#0bd2f6';//'#D8F9FF';\n }\n default: {\n return '#775fe1';\n }\n }\n\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {DomSanitizer, SafeUrl} from '@angular/platform-browser'\n\n@Pipe({\n name: 'safe'\n})\nexport class SafePipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(url:SafeUrl) : SafeUrl{\n return this.sanitizer.bypassSecurityTrustResourceUrl(url+'');\n }\n}\n","import { Pipe, PipeTransform, ChangeDetectorRef } from '@angular/core';\n\n@Pipe({\n name: 'timeDiffPipe',\n pure: false\n})\nexport class TimeDiffPipePipe implements PipeTransform {\n\n private currentValue: any = 0;\n\n constructor(private changeDetector: ChangeDetectorRef) {\n }\n\n //transform(value: Date, debounceTime?: number): any {\n transform(value: any): string {\n \n if (this.currentValue !== this.GetFormatedTime(value)) {\n this.currentValue = this.GetFormatedTime(value);\n // setTimeout(() => {\n // this.changeDetector.detectChanges();\n // });\n \n }\n \n return this.currentValue;\n }\n\n\n private GetFormatedTime(value: any): any {\n let now = new Date().getTime();\n\n let delta = (now - value) / 1000;\n if (delta < 0) return '';\n if (this.getHours(delta) > 0)\n return this.getHours(delta) + ':' + this.getMinutes(delta) + ':' + this.getSeconds(delta);\n else\n return this.getMinutes(delta) + ':' + this.getSeconds(delta);\n }\n\n private getSeconds(ticks: number) {\n return this.pad(Math.floor(ticks % 60));\n }\n\n private getMinutes(ticks: number) {\n return this.pad((Math.floor(ticks / 60)) % 60);\n }\n\n private getHours(ticks: number) {\n return this.pad(Math.floor((ticks / 60) / 60));\n }\n\n private pad(digit: any) {\n return digit <= 9 ? '0' + digit : digit;\n }\n\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n\n@Pipe({\n name: 'linkify'\n})\nexport class TypingLinkifyPipe implements PipeTransform {\n\n urls: any = /(\\b(https?|http|ftp|ftps|Https|rtsp|Rtsp):\\/\\/[A-Z0-9+&@#\\/%?=~_|!:,.;-]*[-A-Z0-9+&@#\\/%=~_|])/gim; // Find/Replace URL's in text \n hashtags: any = /(^|\\s)(#[a-z\\d][\\w-]*)/ig; // Find/Replace #hashtags in text \n mentions: any = /(^|\\s)(@[a-z\\d][\\w-]*)/ig; // Find/Replace @Handle/Mentions in text \n emails: any = /(\\S+@\\S+\\.\\S+)/gim; // Find/Replace email addresses in text\n\n transform(text: string) {\n if (text!==null && text !== undefined)\n return this.parseUrl(text);\n }\n\n private parseUrl(text: string) {\n // Find/Replace URL's in text\n if (text.match(this.urls)) {\n text = text.replace(this.urls, function replacer($1, $2, $3) {\n let url: any = $1;\n let urlClean: any = url.replace(\"\" + $3 + \"://\", \"\");\n\n return \"\" + urlClean + \"\";\n });\n }\n\n // Find/Replace @Handle/Mentions in text\n if (text.match(this.hashtags)) {\n text = text.replace(this.hashtags, \"$1$2\");\n }\n\n // Find/Replace #hashtags in text\n if (text.match(this.mentions)) {\n text = text.replace(this.mentions, \"$1$2\");\n }\n\n // Find/Replace email addresses in text\n if (text.match(this.emails)) {\n text = text.replace(this.emails, \"$1\");\n }\n\n return text;\n }\n}","import { Pipe, PipeTransform, ChangeDetectorRef } from '@angular/core';\nimport { User } from '../../model/user';\n\n@Pipe({\n name: 'typing',\n pure: false\n})\nexport class TypingPipe implements PipeTransform {\n private currentValue: string = null;\n\n constructor(private changeDetector: ChangeDetectorRef) {\n }\n\n\n transform(users: User[], args: Array): string {\n\n\n if (users === null) return;\n if (this.currentValue !== this.displayMessage(users,args.toString())) {\n this.currentValue = this.displayMessage(users, args.toString());\n this.changeDetector.markForCheck();\n }\n\n\n return this.currentValue;\n }\n\n displayMessage(users: User[], lang: any): string {\n let typingMessage = \"\";\n var peopleInChat = users.length;\n if (peopleInChat > 2) {\n typingMessage = peopleInChat + \" people are typing\";\n if (lang === 'fr')\n typingMessage = peopleInChat + \" les gens tapent\";\n }\n else if (peopleInChat == 2) {\n typingMessage = \"\";\n users.forEach(element => {\n typingMessage += element.name + \" & \";\n });\n typingMessage = typingMessage.slice(0, -2);\n typingMessage += \" are typing\";\n if (lang === 'fr')\n typingMessage += \" sont en train de taper\";\n }\n else if (peopleInChat == 1)\n { \n typingMessage = users[0].name + \" is typing\";\n if (lang === 'fr')\n typingMessage = users[0].name + \" en train d’écrire\";\n }\n else\n typingMessage = \"\";\n return typingMessage;\n }\n\n\n}\n","import {MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA, MatLegacyDialogRef as MatDialogRef} from \"@angular/material/legacy-dialog\";\nimport {Component, Inject} from '@angular/core';\nimport { MessagesService } from '../../service/messages.service';\nimport { messageFactory } from '../../model/messageFactory';\nimport { Message } from '../../model/message.model';\n//import { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport { NgxSpinnerService } from \"ngx-spinner\";\n\n\n@Component({\n selector: 'app-transcript-modal',\n templateUrl: './transcript-modal.component.html',\n styleUrls: ['./transcript-modal.component.css']\n})\nexport class TranscriptModalComponent{\n\n currentTranscript: any[] = [];\n noContentMessage: any = null;\n\n constructor( private dialogRef: MatDialogRef, public messagesService: MessagesService, private spinnerService: NgxSpinnerService,\n @Inject(MAT_DIALOG_DATA) data) {\n if(typeof(data) != 'string'){\n this.currentTranscript = data;\n }else{\n this.noContentMessage = data;\n }\n }\n\nngOnInit() {}\n\nsave() {\n this.dialogRef.close(true);\n}\n\nclose() {\n this.dialogRef.close(false);\n}\n}\n","\n \n\n\n

Chat transcript

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

{{noContentMessage}}

\n

{{item.author.Name}} (Mentor) (EndUser){{item.sentAt | date: 'M/d/yy, h:mm a - z'}} {{item.text}}

\n\n
","\nimport {takeUntil} from 'rxjs/operators';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { Client } from '../../model/client.model';\nimport { ClientFactory } from '../../model/ClientFactory';\nimport { User } from '../../model/user';\nimport { UserFactory } from '../../model/userFactory';\nimport { Observable, Subject,ReplaySubject } from 'rxjs';\nimport { UsersService } from '../../service/users.service';\nimport { UsersInfo } from '../../model/usersInfo';\nimport { ChatService } from '../../service/chatservice';\nimport { Room } from '../../model/room.model';\nimport { RoomsService } from '../../service/rooms.service';\nimport { MatLegacyDialog as MatDialog, MatLegacyDialogConfig as MatDialogConfig,MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA,MatLegacyDialogRef as MatDialogRef,MatLegacyDialogModule as MatDialogModule } from \"@angular/material/legacy-dialog\";\nimport { ConfirmComponent } from '../confirm/confirm.component';\nimport {TranscriptModalComponent} from '../transcript-modal/transcript-modal.component';\nimport {AllTranscriptsModalComponent} from '../all-transcripts-modal/all-transcripts-modal.component';\nimport {AllTicketsModalComponent} from '../all-tickets-modal/all-tickets-modal.component';\nimport {TicketService} from \"../../service/ticket.service\";\n//import { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport { NgxSpinnerService } from 'ngx-spinner';\n\n\n@Component({\n selector: 'app-user-info-window',\n templateUrl: './user-info-window.component.html',\n styleUrls: ['./user-info-window.component.css']\n})\nexport class UserInfoWindowComponent {\n //private onDestroy$: Subject = new Subject();\n userInfo: UsersInfo;\n test1: string;\n currentRoom: any;\n hideInfo: boolean = false;\n dialogRef: MatDialogRef ;\n private onDestroy$: ReplaySubject = new ReplaySubject(1);\n\n constructor(public spinnerService: NgxSpinnerService, public ticketService: TicketService, public userService: UsersService,public chatService: ChatService, public roomsService: RoomsService, private dialog: MatDialog) {\n }\n\n ngOnInit(): void {\n const subCurrentRoom = this.roomsService.currentRoom.pipe(\n takeUntil(this.onDestroy$))\n .subscribe((room: Room) => {\n if(room.name == 'Lobby'){\n this.hideInfo = false;\n }\n this.currentRoom = room;\n });\n\n const subUserInfo = this.userService.clickedUserInfo.pipe(takeUntil(this.onDestroy$)).subscribe(data => {\n this.hideInfo = true;\n this.userInfo = data;\n this.test1 = this.userInfo.user.userName;\n });\n }\n\n onClickGetAllTickets(event: any){\n \n this.spinnerService.show();\n const subTicketByUserPerMonth = this.ticketService.getTicketsByUserPerMonth(0, this.userInfo.user.id).pipe(takeUntil(this.onDestroy$)).subscribe(\n data => \n {\n this.openAllTicketsDialog(data);\n },error=>\n {\n \n this.openAllTicketsDialog(error.error);\n }\n\n );\n }\n\n openAllTicketsDialog(tickets) {\n \n const dialogConfig = new MatDialogConfig();\n dialogConfig.autoFocus = true;\n \n \n dialogConfig.data = { \n ticketsArray: tickets, \n userId: this.userInfo.user.id \n };\n\n dialogConfig.height = '600px';\n dialogConfig.width = '800px'; \n dialogConfig.disableClose=true;\n this.spinnerService.hide();\n\n this.dialogRef = this.dialog.open(AllTicketsModalComponent, dialogConfig);\n const subDialogRef = this.dialogRef.afterClosed().pipe(takeUntil(this.onDestroy$)).subscribe(result => {\n \n this.dialogRef = null;\n });\n }\n\n onClickGetCurrentTranscript(event: any){\n console.log('get current transcripts called');\n this.chatService.getCurrentTranscript(this.userInfo.user.id, this.currentRoom.id);\n this.openCurrentTranscriptDialog();\n }\n\n openCurrentTranscriptDialog() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n const dialogRef = this.dialog.open(TranscriptModalComponent, {\n height: '500px',\n width: '700px'\n });\n }\n\n\n openAllTranscriptsDialog() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n const dialogRef = this.dialog.open(AllTranscriptsModalComponent, {\n height: '500px', \n width: '700px'\n });\n }\n\n openPopUp(event: any){\n window.open(\"https://chat.globalmentoring.com/GMSAdmin/login.aspx?mentorapp=1&page=msppopup&clientid=\" + this.userInfo.clientId.toString() + \"&master_call_id=35244324\", \"_blank\");\n }\n\n showUserOnInit(){ \n }\n\n public ngOnDestroy(): void {\n this.onDestroy$.next(true);\n this.onDestroy$.complete();\n } \n}\n"," \n
\n
\n
Client Info
\n

Partner Name: {{userInfo.client.name}}

\n

Partner V5 Status: {{userInfo.activity}}

\n
\n
\n
\n
User Info
\n

Name: {{userInfo.user.userName}}

\n

Primary Email Address: {{userInfo.user.email}}

\n

Secondary Email Address: {{userInfo.user.secondaryEmail}}

\n

Phone: {{userInfo.user.atContactPhone}}

\n

Mobile Phone: {{userInfo.user.atContactMobilePhone}}

\n

Alternate Phone: {{userInfo.user.atContactAlternatePhone}}

\n

Last online: {{userInfo.user.lastActivity | date: 'medium'}}

\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { MatLegacyDialog as MatDialog, MatLegacyDialogConfig as MatDialogConfig } from \"@angular/material/legacy-dialog\";\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AlertService } from '../../service/alert.service';\nimport { AuthenticationService } from '../../service/authentication.service';\nimport { ChatService } from '../../service/chatservice';\nimport { ChatVolumeModalComponent } from '../chat-volume-modal/chat-volume-modal.component';\n@Component({\n selector: 'app-user-settings',\n templateUrl: './user-settings.component.html',\n styleUrls: ['./user-settings.component.css']\n})\n\nexport class UserSettings implements OnInit {\n model: any = {};\n loading = false;\n returnUrl: string;\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private authenticationService: AuthenticationService,\n private alertService: AlertService,\n private dialog: MatDialog,\n private chatService: ChatService ) { }\n\n ngOnInit() {\n // reset login status\n //this.authenticationService.logout();\n\n // get return url from route parameters or default to '/'\n\n }\n\n openVolume()\n {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n //dialogConfig.height = \"310px\";\n dialogConfig.width = \"500px\";\n \n var chatVolume=100;\n var roomVolume=100;\n\n if (localStorage.getItem('currentUserChatVolume')) \n {\n chatVolume= parseInt(localStorage.getItem('currentUserChatVolume'));\n }\n\n if (localStorage.getItem('currentUserRoomVolume')) \n {\n roomVolume= parseInt(localStorage.getItem('currentUserRoomVolume'));\n }\n\n dialogConfig.data=\n {\n volume: chatVolume,\n roomVolume:roomVolume\n };\n\n const dialogRef = this.dialog.open(ChatVolumeModalComponent, dialogConfig);\n const subDialogRef = dialogRef.afterClosed().pipe().subscribe(data => {\n \n \n if(data!=false)\n {\n localStorage.setItem('currentUserChatVolume',data.ChatVolume);\n localStorage.setItem('currentUserRoomVolume',data.RoomVolume);\n }\n \n });\n }\n}\n\n"," \n \n ","/* jshint bitwise:false, node:true */\n/* tslint:disable:no-bitwise no-var-keyword typedef */\n\n// taken from TodoMVC\nexport function uuid() {\n var i, random;\n var result = '';\n\n for (i = 0; i < 32; i++) {\n random = Math.random() * 16 | 0;\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n result += '-';\n }\n result += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random))\n .toString(16);\n }\n\n return result;\n};\n","\nimport {\n MatLegacyDialog as MatDialog,\n MatLegacyDialogConfig as MatDialogConfig,\n MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA,\n MatLegacyDialogRef as MatDialogRef\n} from \"@angular/material/legacy-dialog\";\nimport { MatLegacyTableDataSource as MatTableDataSource } from \"@angular/material/legacy-table\";\nimport { MatLegacyPaginator as MatPaginator } from \"@angular/material/legacy-paginator\";\nimport {\n Component,\n Inject,\n OnInit,\n OnDestroy,\n ViewChild,\n ViewContainerRef,\n ComponentFactoryResolver,\n ChangeDetectorRef\n} from '@angular/core';\nimport {\n MessagesService\n} from '../service/messages.service';\nimport {\n Ticket\n} from '../model/ticket';\nimport {\n RoomsService\n} from '../service/rooms.service';\nimport {\n ChatService\n} from '../service/chatservice';\nimport {\n TicketService\n} from '../service/ticket.service';\nimport {\n Observable\n ,\n BehaviorSubject\n ,\n Subject\n ,\n Subscription\n} from 'rxjs';\n\nimport {\n User\n} from \"../model/user\";\nimport {\n TicketFactory\n} from \"../model/TicketFactory\";\nimport {\n CollectionViewer,\n DataSource\n} from \"@angular/cdk/collections\";\n\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { FindValueSubscriber } from \"rxjs/internal/operators/find\";\nimport { base64ToFile, ImageCroppedEvent, LoadedImage } from 'ngx-image-cropper';\n\n@Component({\n selector: 'image-upload-modal',\n templateUrl: './image-upload-modal.component.html',\n styleUrls: ['./image-upload-modal.component.css'],\n})\n\nexport class ImageUploadModalComponent implements OnInit, OnDestroy {\n allItems: Subject = new Subject();\n tickets: any;\n selectedUserId: any;\n getMore: number = 0;\n dataSource: any;\n noContentMessage: string = null;\n private onDestroy$: Subject = new Subject();\n imageChangedEvent: any = '';\n croppedImage: any = '';\n imageName: string = '';\n imageExtensions: string[] = ['jpg', 'jpeg', 'png', 'giff', 'tiff', 'heif', 'heic'];\n imageError: any = '';\n hasError: boolean = false;\n imageSize: string = '';\n constructor(\n private dialogRef: MatDialogRef, public messagesService: MessagesService,\n public RoomsService: RoomsService, private chatService: ChatService, public ticketService: TicketService,\n @Inject(MAT_DIALOG_DATA) data, private dialog: MatDialog,\n public viewContainerRef: ViewContainerRef, private ref: ChangeDetectorRef,\n private spinnerService: NgxSpinnerService) {\n }\n\n ngOnInit() {\n }\n\n save() {\n this.dialogRef.close(true);\n }\n\n close() {\n this.dialogRef.close(false);\n }\n\n fileChangeEvent(event: any): void {\n var extension = event.target.files[0].name.substring(event.target.files[0].name.lastIndexOf('.') + 1).toLowerCase();\n\n if (this.imageExtensions.includes(extension)) {\n this.imageChangedEvent = event;\n if (event.target.files.length > 0)\n this.imageName = event.target.files[0].name;\n\n this.imageSize = '';\n this.imageError = '';\n this.hasError = false;\n } else {\n this.imageChangedEvent = null;\n this.imageSize = '';\n this.hasError = true;\n this.imageError = extension + ' is not a supported file format!';\n }\n\n // var sizeInMB = event.target.files[0].size / (1024 * 1024);\n }\n\n imageCropped(event: ImageCroppedEvent) {\n this.croppedImage = event.blob;\n\n var sizeInMB = (this.croppedImage.size / (1024 * 1024));\n\n if (sizeInMB > 2) {\n this.imageSize = sizeInMB.toFixed(2);\n this.hasError = true;\n this.imageError = \"File size is too big, image size should be less than 2MB!\";\n } else {\n this.hasError = false;\n this.imageError = \"\";\n }\n }\n\n imageLoaded() {\n }\n\n cropperReady() {\n }\n loadImageFailed() {\n }\n\n upload() {\n if (this.hasError)\n return;\n\n this.croppedImage.name = this.imageName;\n this.dialogRef.close(this.croppedImage);\n }\n\n public ngOnDestroy(): void {\n this.onDestroy$.next();\n }\n\n}\n","\n \n\n

Image Uploading

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

{{imageError}}

\n\n \n \n \n\n
\n Supported formats: .JPG .JPEG .PNG .TIFF .HEIF .HEIC\n
\n
\n

File size cannot exceed 2mb in size.

\n
\n
"," \n\n
\n
\n
\n\n","\nimport { Component, OnInit, Input, Injector, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { AppConfig } from '../AppConfig';\nimport { AdminService } from '../service/admin.service';\nimport { MaintenanceMode } from '../model/maintenancemode.model';\nimport { AuthenticationService } from '../service/authentication.service';\n\n@Component({\n selector: 'app-maintenance-mode',\n templateUrl: './maintenance.component.html',\n styleUrls: ['./maintenance.component.css']\n})\n\nexport class MaintenanceComponent implements MaintenanceComponent {\n @Input() data: any;\n\n public greetingText: string;\n private maintenanceMode: MaintenanceMode;\n\n constructor(\n private router: Router,\n private config: AppConfig,\n private adminService: AdminService,\n private activatedRoute: ActivatedRoute,\n private authenticationService: AuthenticationService) {\n\n this.authenticationService.logout();\n\n let groupId = this.activatedRoute.snapshot.queryParams[\"q\"]; // groupId\n let groupIdNum = Number.parseInt(groupId);\n\n // const qParams: Params = {};\n // this.router.navigate([], {\n // relativeTo: this.activatedRoute,\n // queryParams: qParams,\n // queryParamsHandling: ''\n // });\n\n if (!isNaN(Number(groupId))) {\n groupIdNum = Number(groupId);\n\n this.adminService.CheckIfMaintenanceModeIsEnabled(groupIdNum).subscribe(\n data => {\n this.maintenanceMode = data[0];\n console.log(this.maintenanceMode);\n this.greetingText = this.maintenanceMode.greetingMessage;\n });\n } else {\n this.greetingText = \"APP OFFLINE FOR MAINTENANCE\";\n }\n }\n\n ngOnInit() {\n\n }\n}\n","\nimport {\n MatLegacyDialog as MatDialog,\n MatLegacyDialogConfig as MatDialogConfig,\n MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA,\n MatLegacyDialogRef as MatDialogRef\n} from \"@angular/material/legacy-dialog\";\nimport { MatLegacyTableDataSource as MatTableDataSource } from \"@angular/material/legacy-table\";\nimport { MatLegacyPaginator as MatPaginator } from \"@angular/material/legacy-paginator\";\nimport {\n Component,\n Inject,\n OnInit,\n OnDestroy,\n ViewChild,\n ViewContainerRef,\n ComponentFactoryResolver,\n ChangeDetectorRef\n} from '@angular/core';\nimport {\n MessagesService\n} from '../../service/messages.service';\nimport {\n Ticket\n} from '../../model/ticket';\nimport {\n RoomsService\n} from '../../service/rooms.service';\nimport {\n ChatService\n} from '../../service/chatservice';\nimport {\n TicketService\n} from '../../service/ticket.service';\nimport {\n Observable\n ,\n BehaviorSubject\n ,\n Subject\n ,\n Subscription\n} from 'rxjs';\n\nimport {\n User\n} from \"../../model/user\";\nimport {\n CollectionViewer,\n DataSource\n} from \"@angular/cdk/collections\";\n\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { FindValueSubscriber } from \"rxjs/internal/operators/find\";\nimport { base64ToFile, ImageCroppedEvent } from 'ngx-image-cropper';\nimport { takeUntil } from \"rxjs/operators\";\nimport { DomSanitizer, SafeUrl } from \"@angular/platform-browser\";\n\n\n@Component({\n selector: 'fullscreen-image-modal',\n templateUrl: './fullscreen-image-modal.component.html',\n styleUrls: ['./fullscreen-image-modal.component.css'],\n})\n\n\nexport class FullScreenImageModalComponent implements OnInit, OnDestroy {\n allItems: Subject = new Subject();\n tickets: any;\n selectedUserId: any;\n getMore: number = 0;\n dataSource: any;\n noContentMessage: string = null;\n private onDestroy$: Subject = new Subject();\n imageChangedEvent: any = '';\n croppedImage: any = '';\n imageName: string = '';\n imageUri: SafeUrl = '';\n constructor(\n private dialogRef: MatDialogRef, public messagesService: MessagesService,\n public RoomsService: RoomsService, private chatService: ChatService, public ticketService: TicketService,\n @Inject(MAT_DIALOG_DATA) data, private dialog: MatDialog,\n public viewContainerRef: ViewContainerRef, private ref: ChangeDetectorRef,\n private spinnerService: NgxSpinnerService, private sanitizer: DomSanitizer) {\n\n const subAllItems = this.ticketService.downloadFile(data.ContainerName, data.ImageUri).\n pipe(takeUntil(this.onDestroy$)).subscribe(\n apiResponse => {\n this.objectUrlGlobal = URL.createObjectURL(apiResponse);\n this.imageUri = this.objectUrlGlobal;\n });\n }\n\n public objectUrlGlobal: string;\n\n ngOnInit() {\n }\n\n save() {\n this.dialogRef.close(true);\n }\n\n close() {\n this.dialogRef.close(false);\n }\n\n public ngOnDestroy(): void {\n this.onDestroy$.next();\n }\n\n displayOriginalImageSize() {\n window.open(this.objectUrlGlobal, '_blank');\n }\n\n}\n","\n \n\n

\n\n
\n \n\n \n\n \n
","import { ChatPersonalization } from \"./chatpersonalization.model\";\n\nexport class ChatPersonalizationFactory {\n\n public static create(pers: any): ChatPersonalization {\n\n \n\n return new ChatPersonalization({\n id: pers.id,\n colorCode: pers.colorCode ,\n logo: pers.logo,\n additionalColor: pers.additionalColor\n \n });\n }\n\n \n}\n","import { Client } from \"./client.model\";\r\n\r\nexport class ClientFactory {\r\n\r\n public static createClient(clientVM: any): Client {\r\n const me: Client = new Client({\r\n id: clientVM.Id,\r\n name: clientVM.Name,\r\n // status: clientVM.Status,\r\n isActive: clientVM.IsActive,\r\n status: clientVM.status\r\n });\r\n return me;\r\n }\r\n}","import { MappingFields } from \"./MappingFields.model\";\n\nexport class MappingFieldArray {\n mappingFields: MappingFields[];\n \n\n \n}","export class MappingFields {\r\n id: number;\r\n fieldValue: number;\r\n fieldName: string;\r\n mappingType: number;\r\n isActive: boolean;\r\n parentValueidId: number;\r\n\r\n constructor(obj?: any) {\r\n this.id = obj && obj.id || null;\r\n this.fieldValue = obj && obj.fieldValue || null;\r\n this.fieldName = obj && obj.fieldName || null;\r\n this.mappingType = obj && obj.mappingType || false;\r\n this.isActive = obj && obj.isActive || 'false';\r\n this.parentValueidId = obj && obj.parentValueidId || null;\r\n }\r\n\r\n}","import { SafeUrl } from \"@angular/platform-browser\";\n\nexport class MessageAttachment {\n ImageId: string;\n ImageUri: string;\n ThumbnailUri: string;\n ContainerName:string;\n FileName:string;\n MessageId:string;\n UserId:string;\n ImageUriUrl: SafeUrl;\n ThumbnailUriUrl: SafeUrl;\n\n constructor(obj?: any) {\n \n this.ImageId = obj && obj.ImageId || '';\n this.ImageUri = obj && obj.ImageUri || '';\n this.ThumbnailUri = obj && obj.ThumbnailUri || '';\n this.FileName = obj && obj.FileName || '';\n this.MessageId = obj && obj.MessageId || '';\n this.UserId = obj && obj.UserId || '';\n this.ContainerName= obj && obj.ContainerName || '';\n this.ImageUriUrl=obj && obj.ImageUriUrl || '';\n this.ThumbnailUriUrl=obj && obj.ThumbnailUriUrl || '';\n }\n }\n","import { MessageAttachment } from \"./MessageAttachment.model\";\n\n\nexport class MessageAttachmentFactory{\n\n public static CreateMessageAttachment(attachment: any): MessageAttachment {\n\n return new MessageAttachment({\n ImageId: attachment.ImageId,\n ImageUri: attachment.ImageUri,\n ThumbnailUri: attachment.ThumbnailUri,\n FileName:attachment.FileName,\n MessageId:attachment.MessageId,\n UserId:attachment.UserId,\n ContainerName:attachment.ContainerName\n \n });\n } \n\n public static CreateMessageAttachmentFromList(attachments: any[]): MessageAttachment[] {\n\n let notes: MessageAttachment[] = new Array();\n if(attachments && attachments.length>0)\n for (let entry of attachments) \n {\n notes.push(MessageAttachmentFactory.CreateMessageAttachment(entry));\n }\n\n return notes;\n \n } \n\n public static CreateMessageAttachmentLowerCase(attachment: any): MessageAttachment {\n\n return new MessageAttachment({\n ImageId: attachment.imageId,\n ImageUri: attachment.imageUri,\n ThumbnailUri: attachment.thumbnailUri,\n FileName:attachment.fileName,\n MessageId:attachment.messageId,\n UserId:attachment.userId,\n ContainerName:attachment.containerName\n \n });\n } \n\n public static CreateMessageAttachmentFromListLowerCase(attachments: any[]): MessageAttachment[] {\n\n let notes: MessageAttachment[] = new Array();\n if(attachments && attachments.length>0)\n for (let entry of attachments) \n {\n notes.push(MessageAttachmentFactory.CreateMessageAttachmentLowerCase(entry));\n }\n\n return notes;\n \n } \n\n \n}","\nexport class ResponseDataImage {\n Status: number;\n Message: string;\n HasError:boolean;\n ImageUrl:string;\n ThumbUrl: string;\n ContainerName: string;\n\n \n constructor(obj?: any) {\n \n this.Status = obj && obj.Status || -1;\n this.Message = obj && obj.Message || '';\n this.HasError = obj && obj.HasError || false;\n this.ImageUrl = obj && obj.ImageUrl || '';\n this.ThumbUrl = obj && obj.ThumbUrl || '';\n this.ContainerName = obj && obj.ContainerName || '';\n\n }\n }\n\n\n export class ResponseDataImageFactory{\n\n public static CreateResponse(response: any): ResponseDataImage {\n\n return new ResponseDataImage({\n Status: response.Status,\n Message: response.Message,\n HasError: response.HasError,\n ImageUrl:response.Data.ImageUrl,\n ThumbUrl:response.Data.ThumbUrl,\n ContainerName:response.Data.ContainerName\n });\n } \n\n \n}","import { Room } from \"./room.model\";\r\n\r\nexport class RoomFactory {\r\n\r\n public static createRoom(roomVM: any): Room {\r\n\r\n let roomTypeStr: String = '';\r\n if (roomVM.roomType == '1')\r\n roomTypeStr = \"TELCO\"; \r\n else if (roomVM.roomType == '2')\r\n roomTypeStr = \"MSP\";\r\n else if (roomVM.roomType == '3')\r\n roomTypeStr = \"EDU\";\r\n else if (roomVM.roomType == '4')\r\n roomTypeStr = \"GUEST\";\r\n else roomTypeStr = \"\";\r\n\r\n\r\n return new Room({\r\n session: roomVM.session,\r\n id: roomVM.RoomGuid, \r\n name: roomVM.Name, \r\n type: roomTypeStr,\r\n ticketNumber: roomVM.TicketNumber,\r\n roomStatus: roomVM.roomStatus,\r\n language: roomVM.roomLanguage,\r\n createdAt: roomVM.createdAt,\r\n isMspAuthentication:roomVM.isMspAuthentication,\r\n mentorCount:roomVM.mentorCount,\r\n closed:roomVM.Closed\r\n\r\n\r\n // mentorCount: roomVM.AdminCount,\r\n // usersCount: roomVM.UsersCount, \r\n // lastParticipant: roomVM.LastParticipant, \r\n // topic: roomVM.Topic, \r\n // accountID: roomVM.AccountID,\r\n // closed: roomVM.closed, \r\n // lastMessageId: roomVM.lastMessageId,\r\n \r\n\r\n \r\n });\r\n }\r\n\r\n public static createRoomRestApi(roomVM: any): Room {\r\n\r\n let roomTypeStr: String = '';\r\n if (roomVM.roomType == '1')\r\n roomTypeStr = \"TELCO\";\r\n else if (roomVM.roomType == '2')\r\n roomTypeStr = \"MSP\";\r\n else if (roomVM.roomType == '3')\r\n roomTypeStr = \"EDU\";\r\n else if (roomVM.roomType == '4')\r\n roomTypeStr = \"GUEST\";\r\n else roomTypeStr = \"\";\r\n\r\n\r\n return new Room({\r\n session: roomVM.session,\r\n id: roomVM.roomGuid,\r\n name: roomVM.name,\r\n type: roomTypeStr,\r\n ticketNumber: roomVM.ticketNumber,\r\n roomStatus: roomVM.roomStatus,\r\n language: roomVM.roomLanguage,\r\n createdAt: roomVM.createdAt,\r\n closed:roomVM.Closed\r\n\r\n });\r\n }\r\n\r\n\r\n public static createLobbyRoom(roomId: string): Room {\r\n var today = new Date();\r\n today.setHours(0,0,0,0);\r\n return new Room({ id: roomId, name: \"Lobby\", createdAt: today });\r\n }\r\n\r\n public static createEmptyRoom(): Room {\r\n var today = new Date();\r\n today.setHours(0,0,0,0);\r\n return new Room({ id: -1, createdAt:new Date(today.getTime() - (24*60*60*1000)) });\r\n }\r\n\r\n public static createRoomWithGuid(roomId: string): Room {\r\n var today = new Date();\r\n today.setHours(0, 0, 0, 0);\r\n return new Room({ id: roomId, createdAt: new Date(today.getTime() - (24 * 60 * 60 * 1000)) });\r\n }\r\n}\r\n","export enum SignalRStatus {\r\n Connected = 0,\r\n Reconnectiong = 1,\r\n Disconnected = 2\r\n \r\n }","import { TicketData } from \"./ticketData\";\n\n\nexport class TicketDataFactory {\n \n public static createTicket(ticketVM: any) : TicketData {\n return new TicketData({\n ID: ticketVM.ID,\n TicketNumber:ticketVM.TicketNumber, \n Title: ticketVM.Title,\n TicketSourceName: ticketVM.TicketSourceName,\n AccountID: ticketVM.AccountID,\n ContactId: ticketVM.ContactId,\n IssueType: ticketVM.IssueType,\n Priority: ticketVM.Priority,\n Queue: ticketVM.Queue,\n Source: ticketVM.Source,\n Status: ticketVM.Status,\n SubIssueType: ticketVM.SubIssueType,\n IsPreviousTicket: ticketVM.IsPreviousTicket,\n PreviousRoomKey: ticketVM.PreviousRoomKey\n }); \n }\n\n}","import { TicketDraft } from \"./ticketDraft\";\n\nexport class TicketDraftFactory {\n\n public static CreateDraft(draft: any): TicketDraft {\n\n return new TicketDraft({\n ID: draft.ID,\n TicketNumber: draft.TicketNumber,\n Title:draft.Title,\n Status:draft.Status,\n Queue:draft.Queue,\n SelectedChild:draft.SelectedChild,\n Contact:draft.Contact,\n Issue: draft.Issue,\n SubIssue: draft.SubIssue,\n InternalNote:draft.InternalNote,\n PrivateNote:draft.PrivateNote,\n PopupOpenedAt:draft.PopupOpenedAt,\n SelectedTemplate:draft.SelectedTemplate, \n SelectedChildClientInitial:draft.SelectedChildClientInitial, \n });\n } \n}\n","import { Ticket } from \"./ticket\";\r\n\r\nexport class TicketFactory {\r\n \r\n public static createTicket(ticketVM: any) : Ticket {\r\n return new Ticket({\r\n ID: ticketVM.ID,\r\n TicketNumber:ticketVM.TicketNumber, \r\n Title: ticketVM.Title,\r\n TicketSourceName: ticketVM.TicketSourceName,\r\n AccountID: ticketVM.AccountID,\r\n ParentTicketNumber: ticketVM.ParentTicketNumber,\r\n CreatedDate: ticketVM.CreatedDate,\r\n CreatedDateStr: ticketVM.CreatedDateStr\r\n }); \r\n }\r\n}","export class UserRole {\n id: string;\n name: string;\n \n\n constructor(obj?: any) {\n this.id = obj && obj.id || \"\";\n this.name = obj && obj.name || \"\";\n }\n\n public static createRole(userRoleVm: any): UserRole {\n const me: UserRole = new UserRole({\n id: userRoleVm.Id,\n name: userRoleVm.Name,\n \n });\n return me;\n }\n}\n","export class AmazonConnectContactFlow {\n key: number;\n name:string;\n lineOfBusiness: number;\n contactFlowId:string;\n isActive: boolean;\n\n constructor(obj?: any) {\n this.key = obj && obj.key || 0; \n this.name = obj && obj.name || \"\";\n this.lineOfBusiness = obj && obj.lineOfBusiness || 0;\n this.contactFlowId = obj && obj.contactFlowId || \"\";\n this.isActive = obj && obj.isActive || false;\n }\n\n public static Create(data: any): AmazonConnectContactFlow {\n \n const obj: AmazonConnectContactFlow = new AmazonConnectContactFlow({\n key: data.Key,\n name: data.Name,\n lineOfBusiness: data.LineOfBusiness,\n contactFlowId: data.ContactFlowId,\n isActive: data.IsActive\n });\n\n return obj;\n }\n}\n","export class AmazonConnectSettings {\n id: string;\n description: string;\n instanceId:string;\n tasksCreationEnabled: boolean;\n\n constructor(obj?: any) {\n this.id = obj && obj.id || '-1';\n this.description = obj && obj.description || \"\";\n this.instanceId = obj && obj.instanceId || \"\";\n this.tasksCreationEnabled = obj && obj.tasksCreationEnabled || false;\n }\n\n public static Create(data: any): AmazonConnectSettings {\n \n const obj: AmazonConnectSettings = new AmazonConnectSettings({\n id: data.Id,\n description: data.Description,\n instanceId: data.InstanceId,\n tasksCreationEnabled: data.tasksCreationEnabled \n });\n\n return obj;\n }\n}\n","export class CannedResponse {\n id: string;\n name: string;\n description:string;\n tags: string;\n text: string;\n\n constructor(obj?: any) {\n this.id = obj && obj.id || '-1';\n this.name = obj && obj.name || \"\";\n this.description = obj && obj.description || \"\";\n this.tags = obj && obj.tags || \"\";\n this.text = obj && obj.text || \"\";\n }\n\n public static Create(cannedResponseVM: any): CannedResponse {\n \n const obj: CannedResponse = new CannedResponse({\n id: cannedResponseVM.Id,\n name: cannedResponseVM.Name,\n description: cannedResponseVM.Description,\n tags: cannedResponseVM.Tags,\n text: cannedResponseVM.Text \n });\n\n return obj;\n }\n}\n","/**\n * Room represents a group of Users exchanging Messages\n */\nexport class ChatPersonalization {\n id: number;\n colorCode: string;\n logo: string;\n additionalColor: string;\n\n \n \n constructor(obj?: any) {\n this.id = obj && obj.id || 0;\n this.colorCode = obj && obj.colorCode || '';\n this.logo = obj && obj.logo || '';\n this.additionalColor = obj && obj.additionalColor || '';\n\n }\n}\n\n","export class ChatUser {\r\n id: string;\r\n name: string;\r\n displayName:string;\r\n email: string;\r\n logo: string;\r\n isMentor: boolean;\r\n clientType:number;\r\n isAtDown: boolean;\r\n pendingActivation: number;\r\n b1number: string;\r\n isBanned: boolean;\r\n role:string;\r\n\r\n constructor(obj?: any) {\r\n this.id = obj && obj.id || '-1';\r\n this.name = obj && obj.name || \"\";\r\n this.displayName = obj && obj.displayName || \"\";\r\n this.email = obj && obj.email || \"\";\r\n this.logo = obj && obj.logo || \"\";\r\n this.isMentor = obj && obj.isMentor || false;\r\n \r\n this.isAtDown = obj && obj.isAtDown || false;\r\n this.pendingActivation = obj && obj.pendingActivation || 2;\r\n this.b1number = obj && obj.b1number || \"\";\r\n this.isBanned = obj && obj.isBanned || false;\r\n this.role = obj && obj.role || \"\";\r\n this.clientType = obj && obj.clientType || 0;\r\n }\r\n\r\n public static createClient(clientVM: any): ChatUser {\r\n \r\n const me: ChatUser = new ChatUser({\r\n id: clientVM.Id,\r\n name: clientVM.Name,\r\n displayName: clientVM.DisplayName,\r\n email: clientVM.Email,\r\n logo: clientVM.Logo,\r\n isMentor: clientVM.IsMentor,\r\n clientType: clientVM.ClientType,\r\n isAtDown: clientVM.IsAtDown,\r\n pendingActivation: clientVM.PendingActivation,\r\n b1number: clientVM.B1number,\r\n isBanned: clientVM.isBanned,\r\n role:clientVM.Role\r\n \r\n });\r\n return me;\r\n }\r\n}\r\n","import { uuid } from \"../home/util/uuid\";\r\n\r\n\r\n/**\r\n * A User represents an agent that sends messages\r\n */\r\nexport class Client {\r\n id: number;\r\n name: string;\r\n status: string;\r\n // lastActivity: any;\r\n isActive: boolean;\r\n //constructor(id?:string, name?:string, avatar?: string) {\r\n constructor(obj?: any) {\r\n this.id = obj && obj.id || '-1';\r\n if(obj.id == 0){\r\n this.id = obj.id;\r\n }\r\n // this.id = obj.id;\r\n this.name = obj && obj.name || '';\r\n this.status = obj && obj.status || '';\r\n // this.lastActivity = obj && obj.lastActivity || '';\r\n this.isActive = obj && obj.isActive || false;\r\n //this.id = uuid();\r\n }\r\n // constructor(obj?: any) {\r\n // this.id = uuid();\r\n // }\r\n\r\n}","export class ClientCourse{\r\n clientCourseId: Number;\r\n name: string;\r\n code: string;\r\n\r\n constructor(obj?: any) {\r\n this.clientCourseId = obj && obj.clientCourseId;\r\n this.name = obj && obj.name;\r\n this.code = obj && obj.code;\r\n }\r\n}","\r\nexport class Contact {\r\n id: number;\r\n name: string;\r\n isActive: boolean;\r\n email:string;\r\n email2:string;\r\n\r\n constructor(obj?: any) {\r\n this.id = obj && obj.id || '-1';\r\n if(obj.id == 0){\r\n this.id = obj.id;\r\n }\r\n\r\n this.name = obj && obj.name || '';\r\n this.isActive = obj && obj.isActive || false;\r\n this.email = obj && obj.email || '';\r\n this.email2 = obj && obj.email2 || '';\r\n }\r\n}","export class createTicket {\n ticketNumber:string;\n selectedStatus:number;\n selectedQueue:number;\n selectedContact:number;\n selectedIssue:number;\n selectedSubIssue:number;\n internalNote:string;\n privateNote:string;\n ticketTitle:string;\n currentRoomId:string;\n popupOpenedAt:string;\n isNhdTicket:boolean;\n selectedChildClient:number;\n parentAtAccountId:number;\n selectedPriority:number;\n isDefault:boolean;\n constructor(obj?: any) {\n this.ticketNumber = obj && obj.ticketNumber || '';\n this.selectedStatus = obj && obj.selectedStatus || -1;\n this.selectedQueue = obj && obj.selectedQueue || -1;\n this.selectedContact = obj && obj.selectedContact || -1;\n this.selectedIssue = obj && obj.selectedIssue || -1;\n this.selectedSubIssue = obj && obj.selectedSubIssue || -1;\n this.internalNote = obj && obj.internalNote || '';\n this.privateNote = obj && obj.privateNote || '';\n this.ticketTitle = obj && obj.ticketTitle || '';\n this.currentRoomId = obj && obj.currentRoomId || '';\n this.popupOpenedAt = obj && obj.popupOpenedAt || '';\n this.isNhdTicket = obj && obj.isNhdTicket || false;\n this.selectedChildClient = obj && obj.selectedChildClient || -1;\n this.parentAtAccountId = obj && obj.parentAtAccountId || -1;\n this.selectedPriority = obj && obj.selectedPriority || -1;\n this.isDefault = obj && obj.isDefault || false;\n }\n\n}","export class DecryptedUserInfo {\r\n email: string;\r\n firstName: string;\r\n lastName: string;\r\n message: string;\r\n \r\n constructor(email: string, fname: string, lname: string, message: string) {\r\n this.email = email;\r\n this.firstName = fname;\r\n this.lastName = lname;\r\n this.message = message;\r\n }\r\n }","export class GenericSelectItem {\r\n value: string;\r\n viewValue: string;\r\n\r\n public static Create(clientVM: any, customItem:Boolean): GenericSelectItem {\r\n let me: GenericSelectItem = new GenericSelectItem();\r\n\r\n if (customItem){\r\n me.value = clientVM.ID;\r\n me.viewValue = clientVM.Name;\r\n }\r\n else {\r\n me.value = clientVM.Value;\r\n me.viewValue = clientVM.Text;\r\n }\r\n\r\n return me;\r\n }\r\n }\r\n\r\n ","export class MaintenanceMode{\n groupId: Number;\n loginAllowed: boolean;\n greetingMessage: string;\n\n constructor(obj?: any) {\n this.groupId = obj && obj.groupId;\n this.loginAllowed = obj && obj.loginAllowed;\n this.greetingMessage = obj && obj.greetingMessage;\n }\n}","import { User } from \"./user\";\nimport { Room } from \"./room.model\";\nimport { uuid } from \"../home/util/uuid\";\nimport { MessageAttachment } from \"./MessageAttachment.model\";\n\n\n\n\n/**\n * Message represents one message being sent in a Room\n */\n export class Message {\n id: string;\n closedByUserId: string;\n sentAt: Date;\n isRead: boolean;\n author: User;\n text: string;\n room: Room;\n owner: User;\n isPrivate: boolean;\n isSyncMsg:boolean;\n msgType:number;\n orgMsgType:number;\n uninhibited:boolean;\n wasUninhibited:boolean;\n messageAttachments: MessageAttachment[];\n\n constructor(obj?: any) {\n this.id = obj && obj.id || uuid();\n this.closedByUserId = obj && obj.closedByUserId || '';\n this.isRead = obj && obj.isRead || false;\n this.sentAt = obj && obj.sentAt || new Date();\n this.author = obj && obj.author || null;\n this.text = obj && obj.text || '';\n this.room = obj && obj.room || null;\n this.owner = obj && obj.isOwner || null;\n this.isPrivate = obj && obj.isPrivate || false;\n this.isSyncMsg = obj && obj.isSyncMsg || false;\n this.msgType = obj && obj.msgType || 0;\n this.uninhibited = obj && obj.uninhibited || false;\n this.wasUninhibited = obj && obj.wasUninhibited || false;\n this.orgMsgType = obj && obj.orgMsgType || 0;//notification\n this.messageAttachments = obj && obj.messageAttachments || [];\n }\n }\n","import { Message } from \"./message.model\";\r\nimport { RoomFactory } from \"./RoomFactory\"\r\nimport { Room } from \"./room.model\";\r\nimport { User } from \"./user\";\r\nimport { UserFactory } from \"./userFactory\";\r\nimport { MessageType } from \"./messageType\";\r\nimport { MessageAttachment } from \"./MessageAttachment.model\";\r\nimport { MessageAttachmentFactory } from \"./MessageAttachmentFactory.model\";\r\n\r\n\r\nexport class messageFactory {\r\n\r\n public static createLeaveRoomMsg(roomId: String, userId: String): Message {\r\n return new Message({\r\n\r\n });\r\n }\r\n public static createMessagePending(messageVM: any, room: Room, usr: User): Message {\r\n return new Message({\r\n id: messageVM.Id,\r\n sentAt: messageVM.When,\r\n author: usr,\r\n text: messageVM.Content,\r\n room: room,\r\n owner: usr,\r\n msgType: MessageType.MarkAsPendingClosed,\r\n uninhibited: messageVM.Uninhibited,\r\n wasUninhibited: messageVM.WasUninhibited\r\n });\r\n }\r\n\r\n public static createEmptyMessage(): Message {\r\n return new Message({ id: \"-1\", room: new Room(), author: new User() });\r\n }\r\n public static createEmptyMessageForRoom(msg: Message): Message {\r\n\r\n //return new Message({msgType: MessageType.System, room:currRoom, author: currUser});\r\n\r\n return new Message({\r\n closedByUserId: msg.closedByUserId,\r\n sentAt: msg.sentAt,\r\n author: msg.author,\r\n text: msg.text,\r\n room: msg.room,\r\n owner: msg.author,\r\n msgType: msg.msgType,\r\n orgMsgType: msg.orgMsgType,\r\n uninhibited: msg.uninhibited,\r\n wasUninhibited: msg.wasUninhibited\r\n });\r\n }\r\n\r\n public static createMessage(messageVM: any, room: Room, usr: User): Message {\r\n return new Message({\r\n id: messageVM.Id,\r\n closedByUserId: messageVM.ClosedByUserId,\r\n sentAt: messageVM.When,\r\n author: usr,\r\n text: messageVM.Content,\r\n room: room,\r\n owner: usr,\r\n msgType: messageVM.MessageType,\r\n orgMsgType: messageVM.OrgMessageType,\r\n uninhibited: messageVM.Uninhibited,\r\n wasUninhibited: messageVM.WasUninhibited,\r\n messageAttachments:MessageAttachmentFactory.CreateMessageAttachmentFromList(messageVM.MessageAttachments)\r\n });\r\n }\r\n\r\n public static createMessageLowercase(messageVM: any, room: Room, usr: User): Message {\r\n return new Message({\r\n id: messageVM.id,\r\n closedByUserId: messageVM.closedByUserId,\r\n sentAt: messageVM.when,\r\n author: usr,\r\n text: messageVM.content,\r\n room: room,\r\n owner: usr,\r\n msgType: messageVM.messageType,\r\n orgMsgType: messageVM.orgMessageType,\r\n uninhibited: messageVM.uninhibited,\r\n wasUninhibited: messageVM.wasUninhibited,\r\n messageAttachments:MessageAttachmentFactory.CreateMessageAttachmentFromListLowerCase(messageVM.messageAttachments)\r\n });\r\n }\r\n\r\n\r\n public static createClientInitMessage(msgText: string): Message {\r\n return new Message({ text: msgText })\r\n }\r\n\r\n public static createMessagev2(message: any): Message {\r\n const me: any = new Message({\r\n id: message.Id,\r\n text: message.Content,\r\n msgType: message.MessageType,\r\n sentAt: new Date(message.When),\r\n messageAttachments:MessageAttachmentFactory.CreateMessageAttachmentFromList(message.MessageAttachments)\r\n //: clientVM.Name,\r\n // // status: clientVM.Status,\r\n // isActive: clientVM.IsActive,\r\n // status: clientVM.status\r\n });\r\n return me;\r\n }\r\n\r\n public static createMessagev3(message: any, usr: User): Message {\r\n const me: any = new Message({\r\n id: message.Id,\r\n text: message.Content,\r\n msgType: message.MessageType,\r\n sentAt: new Date(message.When),\r\n author: usr,\r\n orgMsgType:message.OrgMessageType,\r\n messageAttachments:MessageAttachmentFactory.CreateMessageAttachmentFromList(message.MessageAttachments)\r\n });\r\n return me;\r\n }\r\n\r\n\r\n}\r\n","export enum MessageType {\r\n Default = 0,\r\n Notification = 1,\r\n System = 2,\r\n Private = 3,\r\n MarkAsPendingClosed = 4,\r\n Bot = 5,\r\n MentorSystem=6,\r\n SystemPrivate=7\r\n}","\n\nexport class RegisterChatEduModel {\n firstName: string;\n lastName: string;\n courseName: string;\n email: string;\n message: string;\n isUrlCreated:boolean;\n}\n\n\nexport class RegisterChatEduFactory {\n public static GetModel(model:any):RegisterChatEduModel\n {\n var retModel=new RegisterChatEduModel();\n retModel.isUrlCreated=false;\n\n return retModel;\n }\n}\n","\n\nexport class RegisterChatMspModel {\n firstName: string;\n lastName: string;\n hostName: string;\n email: string;\n message: string;\n isUrlCreated:boolean;\n}\n\n\nexport class RegisterChatMspFactory {\n public static GetModel(model:any):RegisterChatMspModel\n {\n var retModel=new RegisterChatMspModel();\n retModel.isUrlCreated=false;\n\n return retModel;\n }\n}\n","\n\nimport { Message } from './message.model';\nimport { uuid } from '../home/util/uuid';\nimport { roomsServiceInjectables } from '../service/rooms.service';\n\n/**\n * Room represents a group of Users exchanging Messages\n */\nexport class Room {\n session:string;\n id: string;\n firstMessage: Message;\n lastMessage: Message;\n lastActiveMentor: string;\n lastMessageId: string;\n name: string;\n avatarSrc: string;\n type: string;\n topic: string;\n roomStatus: number;\n closed: number;\n language: string;\n mentorCount: number;\n currMentorIsPartOfTheRoom: boolean;\n ticketNumber: string;\n accountID: string;\n createdAt: Date;\n isMspAuthentication:boolean;\n //mentorsCount:number;\n\n constructor(obj?: any) {\n this.session = obj && obj.session || '0';\n this.id = obj && obj.id || '-1';\n this.name = obj && obj.name || \"...\";\n this.type = obj && obj.type || '0';//proveri za so se koristeshe type \n this.topic = obj && obj.topic || '';\n this.roomStatus = obj && obj.roomStatus || 2;\n this.language = obj && obj.language;\n this.closed = obj && obj.closed;\n this.mentorCount = obj && obj.mentorCount || 0;\n this.currMentorIsPartOfTheRoom = obj && obj.currMentorPartOfTheRoom || false;\n this.lastMessageId = obj && obj.lastMessageId || -1;\n this.lastActiveMentor = obj && obj.lastActiveMentor || '-';\n this.ticketNumber = obj && obj.ticketNumber || '-1';\n this.createdAt= obj && obj.createdAt;\n this.isMspAuthentication = obj && obj.isMspAuthentication || false;\n //this.mentorsCount = obj && obj.mentorsCount || -1;\n }\n}\n\nexport class RoomGroup {\n\n type: string;\n rooms: Room[];\n constructor(roomType: string, room: Room) {\n this.type = roomType\n this.rooms = [];\n this.rooms.push(room);\n }\n}\n","export enum StatusType {\r\n Complete = 5,\r\n InProgress = 8,\r\n AfterHoursWork = 77,\r\n PendingEscalationApproval = 78\r\n }","import { Issue } from \"./issue.model\";\r\nimport { Subissue } from \"./subissue.model\";\r\n\r\nexport class Ticket {\r\n ID: string;\r\n TicketNumber: string;\r\n Title: string;\r\n AccountID: string;\r\n TicketURL: string;\r\n TicketSourceName: string;\r\n Issue: Issue;\r\n SubIssue: Subissue;\r\n ParentTicketNumber: string;\r\n CreatedDate: string;\r\n CreatedDateStr: string;\r\n\r\n constructor(obj?: any) {\r\n\r\n this.ID = obj && obj.ID || '-1';\r\n this.TicketNumber = obj && obj.TicketNumber || \"loading...\";\r\n this.Title = obj && obj.Title || \"\";\r\n this.AccountID = obj && obj.AccountID || \"\";\r\n this.Issue = obj && obj.Issue || null;\r\n this.SubIssue = obj && obj.Subissue || null;\r\n this.TicketSourceName = obj && obj.TicketSourceName || \"\";\r\n this.ParentTicketNumber = obj && obj.ParentTicketNumber || \"\";\r\n this.CreatedDate = obj && obj.CreatedDate || \"\";\r\n this.CreatedDateStr = obj && obj.CreatedDateStr || \"\";\r\n }\r\n}\r\n","export enum TicketCreatedStatusEnum {\n Error = 0,\n TicketCreated = 1,\n TicketUpdated = 2\n \n }","\n\nexport class TicketData {\n ID: string;\n TicketNumber: string;\n Title: string;\n AccountID: string;\n TicketURL: string;\n TicketSourceName: string;\n ContactId: number;\n IssueType: number;\n Priority: number;\n Queue: number;\n Source: number;\n Status: number;\n SubIssueType: number;\n IsPreviousTicket:boolean;\n PreviousRoomKey: string;\n\n constructor(obj?: any) {\n \n this.ID = obj && obj.ID || '-1';\n this.TicketNumber = obj && obj.TicketNumber || \"loading...\";\n this.Title = obj && obj.Title || \"\";\n this.AccountID = obj && obj.AccountID || \"\";\n this.ContactId = obj && obj.ContactId || -1;\n this.IssueType = obj && obj.IssueType || -1;\n this.Priority = obj && obj.Priority || -1;\n this.Queue = obj && obj.Queue || -1;\n this.Source = obj && obj.Source || -1;\n this.Status = obj && obj.Status || -1;\n this.SubIssueType = obj && obj.SubIssueType || -1;\n this.IsPreviousTicket= obj && obj.IsPreviousTicket || false;\n this.PreviousRoomKey= obj && obj.PreviousRoomKey||\"\";\n }\n }\n","export class TicketDraft {\n ID: string;\n TicketNumber: string;\n Title: string;\n Status:number;\n Queue:number;\n SelectedChild:number;\n Contact:number;\n Issue: number;\n SubIssue: number;\n InternalNote:string;\n PrivateNote:string;\n PopupOpenedAt:string;\n SelectedTemplate:number;\n SelectedChildClientInitial:number;\n Priority: number;\n\n constructor(obj?: any) {\n \n this.ID = obj && obj.ID || '-1';\n this.TicketNumber = obj && obj.TicketNumber || \"loading...\";\n this.Title = obj && obj.Title || \"\";\n this.Status = obj && obj.Status || -1;\n this.Queue= obj && obj.Queue || -1;\n this.Issue = obj && obj.Issue || -1;\n this.SubIssue = obj && obj.SubIssue || -1;\n this.InternalNote = obj && obj.InternalNote || \"\";\n this.PrivateNote=obj&& obj.PrivateNote || \"\";\n this.PopupOpenedAt=obj&& obj.PopupOpenedAt || \"\";\n this.SelectedChild=obj && obj.SelectedChild||-1;\n this.Contact=obj && obj.Contact|| -1;\n this.SelectedTemplate = obj && obj.SelectedTemplate || -1;\n this.SelectedChildClientInitial = obj && obj.SelectedChildClientInitial || -1;\n this.Priority= obj && obj.Priority || 2;\n }\n }\n","import { uuid } from \"../home/util/uuid\";\n\n\n/**\n * A User represents an agent that sends messages\n */\nexport class User {\n id: string;\n userName: string;\n password: string;\n firstName: string;\n lastName: string;\n avatarSrc: string;\n isMentor: boolean;\n isClocked: boolean;\n status: string;\n email: string;\n b1number: string;\n lastActivity: any;\n name: string;\n issue: string;\n subissue: string;\n message: string;\n voucher: string;\n userType: string;\n phone: string;\n address: string;\n chatColor:string;\n logo:string;\n role:string;\n atContactPhone: string;\n atContactMobilePhone: string;\n atContactAlternatePhone: string;\n secondaryEmail: string;\n\n constructor(obj?: any) {\n this.id = obj && obj.id || '-1';\n this.userName = obj && obj.userName || null;\n this.avatarSrc = obj && obj.avatar || null;\n this.isMentor = obj && obj.isMentor || false;\n this.isClocked = obj && obj.isClocked || false;\n this.status = obj && obj.status || '';\n this.email = obj && obj.email || '';\n this.b1number = obj && obj.b1number || null;\n this.lastActivity = obj && obj.lastActivity || '';\n this.firstName = obj && obj.firstName || null;\n this.lastName = obj && obj.lastName || null;\n this.name = obj && obj.name || null;\n this.issue = obj && obj.issue || null;\n this.subissue = obj && obj.subissue || null;\n this.message = obj && obj.message || null;\n this.voucher = obj && obj.voucher || null;\n this.chatColor = obj && obj.chatColor || '#4d5198';\n this.role = obj && obj.role || '-1';\n this.logo = obj && obj.logo || 'assets/images/logo.png';\n this.atContactPhone = obj && obj.atContactPhone || null;\n this.atContactMobilePhone = obj && obj.atContactMobilePhone || null;\n this.atContactAlternatePhone = obj && obj.atContactAlternatePhone || null;\n this.secondaryEmail = obj && obj.secondaryEmail || '';\n }\n}","import { User } from \"./user\";\r\n\r\nexport class UserFactory {\r\n\r\n public static createUser(userVM: any): User {\r\n const me: User = new User({\r\n id: userVM.Id,\r\n userName: userVM.Name,\r\n isMentor: userVM.IsAdmin,\r\n isClocked: userVM.IsClocked,\r\n avatar: 'https://st2.depositphotos.com/3557671/11719/v/950/depositphotos_117192208-stock-illustration-business-woman-icon-flat-single.jpg',\r\n email: userVM.Email,\r\n lastActivity: userVM.LastActivity,\r\n status: userVM.Status,\r\n name: userVM.Name,\r\n chatColor: userVM.ChatColor,\r\n logo: userVM.ChatLogo,\r\n role:userVM.Role,\r\n atContactPhone: userVM.AtContactPhone,\r\n atContactMobilePhone: userVM.AtContactMobilePhone,\r\n atContactAlternatePhone: userVM.AtContactAlternatePhone,\r\n secondaryEmail : userVM.SecondaryEmail\r\n });\r\n return me;\r\n }\r\n\r\n public static createUserLowercase(userVM: any): User {\r\n const me: User = new User({\r\n id: userVM.id,\r\n userName: userVM.name,\r\n isMentor: userVM.isAdmin,\r\n isClocked: userVM.isClocked,\r\n avatar: 'https://st2.depositphotos.com/3557671/11719/v/950/depositphotos_117192208-stock-illustration-business-woman-icon-flat-single.jpg',\r\n email: userVM.email,\r\n lastActivity: userVM.lastActivity,\r\n status: userVM.status,\r\n name: userVM.name,\r\n chatColor: userVM.chatColor,\r\n logo: userVM.chatLogo,\r\n role:userVM.Role,\r\n atContactPhone: userVM.AtContactPhone,\r\n atContactMobilePhone: userVM.AtContactMobilePhone,\r\n atContactAlternatePhone: userVM.AtContactAlternatePhone,\r\n secondaryEmail : userVM.SecondaryEmail\r\n });\r\n return me;\r\n }\r\n\r\n public static createEmptyUser(): User {\r\n const me: User = new User({\r\n id: '-1',\r\n avatar: 'https://st2.depositphotos.com/3557671/11719/v/950/depositphotos_117192208-stock-illustration-business-woman-icon-flat-single.jpg',\r\n logo: 'assets/images/logo.png',\r\n chatColor: '#4d5198'\r\n });\r\n return me;\r\n }\r\n\r\n public static createOffice365User(id: any, uname: any, email: any): User {\r\n const me: User = new User({\r\n id: id,\r\n userName: uname,\r\n email: email,\r\n avatar: 'https://st2.depositphotos.com/3557671/11719/v/950/depositphotos_117192208-stock-illustration-business-woman-icon-flat-single.jpg',\r\n logo: 'assets/images/logo.png',\r\n chatColor: '#4d5198'\r\n });\r\n return me;\r\n }\r\n}\r\n","export class UserChatTopic {\r\n issue:string;\r\n subissue:string;\r\n\r\n constructor(obj?: any) {\r\n this.issue = obj && obj.issue || null;\r\n this.subissue = obj && obj.subissue || null;\r\n }\r\n}\r\n\r\n//todo: do something\r\n","import { User } from \"./user\";\r\nimport { Client } from \"./client.model\";\r\nimport { uuid } from \"../home/util/uuid\";\r\n\r\n/**\r\n * Message represents one message being sent in a Room\r\n */\r\nexport class UsersInfo {\r\n user: User;\r\n client: Client;\r\n activity: string;\r\n clientId: number;\r\n\r\n constructor(user: User, client: Client, clientId: number) {\r\n this.user = user;\r\n this.client = client;\r\n if(client.isActive == true){\r\n this.activity = 'Active';\r\n }else{\r\n this.activity = 'Not Active'\r\n }\r\n this.clientId = clientId;\r\n }\r\n}","export class Voucher {\r\n voucherId: string;\r\n clientId: Number;\r\n validFor: Number;\r\n courseId: Number;\r\n redeembedBy: Number;\r\n expiryDate: Date;\r\n isTest: Boolean;\r\n type: Number;\r\n clientName:string;\r\n redeemedByUser: string;\r\n courses: string;\r\n\r\n constructor(obj?: any) {\r\n this.voucherId = obj && obj.voucherId || '-1';\r\n this.clientId = obj && obj.clientId || \"-1\";\r\n this.validFor = obj && obj.validFor || \"90\"\r\n this.courseId = obj && obj.courseId || '-1';\r\n this.redeembedBy = obj && obj.redeembedBy || '-1';\r\n this.expiryDate = obj && obj.expiryDate || new Date().setDate(new Date().getDate() + 90)\r\n this.isTest = obj && obj.isTest || false;\r\n this.type = obj && obj.type || '0';\r\n this.clientName = obj && obj.clientName || \"\";\r\n this.redeemedByUser = obj && obj.redeemedByUser || \"\";\r\n this.courses = obj && obj.courses || \"\";\r\n }\r\n\r\n public static CreateVoucher(clientVM: any): Voucher {\r\n const me: Voucher = new Voucher({\r\n voucherId: clientVM.VoucherId,\r\n clientName: clientVM.ClientName,\r\n redeemedByUser: clientVM.RedeemedByUser,\r\n validFor: clientVM.ValidFor,\r\n expiryDate: new Date(clientVM.ExpiryDate).toLocaleDateString(\"en-US\")\r\n });\r\n return me;\r\n }\r\n\r\n}\r\n","\r\nimport {map, catchError } from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\n\r\n// import { Http, Response, URLSearchParams, RequestOptions,Headers } from '@angular/http';\r\nimport { Observable , Unsubscribable as AnonymousSubscription } from 'rxjs';\r\nimport { ChatUser } from '../model/chatuser.model';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { Voucher } from '../model/voucher.model';\r\nimport { GenericSelectItem } from '../model/genericselectitem.model';\r\nimport { ChatService } from './chatservice';\r\nimport { ClientCourse } from '../model/clientcourse.model';\r\nimport { AppConfig } from '../AppConfig';\r\nimport { UserRole } from '../model/UserRole.model';\r\nimport { MaintenanceMode } from '../model/maintenancemode.model';\r\nimport { CannedResponse } from '../model/cannedresponse.model';\r\nimport { AmazonConnectSettings } from '../model/amazonconnectsettings.model';\r\nimport { AmazonConnectContactFlow } from '../model/amazonconnectcontactflow.model';\r\n\r\n@Injectable()\r\nexport class AdminService {\r\n \r\n constructor(private _httpClient: HttpClient, private chatService:ChatService, private config: AppConfig) {\r\n\r\n }\r\n\r\n// CountUsers(searchCriteria:string, countMentors:boolean, countPendingActivation: boolean, countAtDownState: boolean) {\r\n// return this._http.get(this.config.origin + \"/api/admin/countusers?searchCriteria=\" + searchCriteria + \"&countMentors=\" + countMentors + \"&countPendingActivation=\" + countPendingActivation + \"&countAtDownState=\" + countAtDownState)\r\n// .map(responseData => responseData.json());\r\n// }\r\n\r\nCountUsers(searchCriteria:string, countMentors:boolean, countPendingActivation: boolean, countAtDownState: boolean) {\r\n return this._httpClient.get(this.config.origin + \"/api/admin/countusers?searchCriteria=\" + searchCriteria + \"&countMentors=\" + countMentors + \"&countPendingActivation=\" + countPendingActivation + \"&countAtDownState=\" + countAtDownState).pipe(\r\n map((responseData: any) =>{ \r\n return responseData;\r\n }));\r\n }\r\n\r\n// GetUsers(pageNumber:Number, pageSize:Number, searchCriteria:string, mentorsFlag:boolean, pendingActivationFilter: boolean, atDownStateFilter: boolean): Observable {\r\n// return this._http.get(this.config.origin + \"/api/admin/getusers?pageNumber=\" + pageNumber + \"&pageSize=\"+ pageSize + \"&searchCriteria=\"+searchCriteria+ \"&mentorsFlag=\" + mentorsFlag + \"&pendingActivationFilter=\" + pendingActivationFilter + \"&atDownStateFilter=\" + atDownStateFilter)\r\n// .map((response: Response) => {\r\n// if (response.text().length > 0){\r\n// return (response.json()).map(item => {\r\n// return new ChatUser({\r\n// id: item.Id,\r\n// name: item.Name,\r\n// email: item.Email,\r\n// logo: item.Logo,\r\n// isBanned: item.IsBanned\r\n// });\r\n// });\r\n// }\r\n// });\r\n// }\r\n\r\n\r\n GetUsers(pageNumber:Number, pageSize:Number, searchCriteria:string, mentorsFlag:boolean, pendingActivationFilter: boolean, atDownStateFilter: boolean): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/admin/getusers?pageNumber=\" + pageNumber + \"&pageSize=\"+ pageSize + \"&searchCriteria=\"+searchCriteria+ \"&mentorsFlag=\" + mentorsFlag + \"&pendingActivationFilter=\" + pendingActivationFilter + \"&atDownStateFilter=\" + atDownStateFilter).pipe(\r\n map((response: any) => {\r\n if (response != null && response.length > 0){\r\n return (response).map(item => {\r\n return new ChatUser({\r\n id: item.Id,\r\n name: item.Name,\r\n email: item.Email,\r\n logo: item.Logo,\r\n isBanned: item.IsBanned,\r\n role : item.Role\r\n });\r\n });\r\n }else{\r\n alert(\"No results satisfy the search criteria!\");\r\n var arr: ChatUser[] = [];\r\n return arr;\r\n }\r\n }));\r\n }\r\n\r\n GetChatUsers(pageNumber:Number, pageSize:Number, searchCriteria:string, mentorsFlag:boolean, pendingActivationFilter: boolean, atDownStateFilter: boolean): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/admin/getchatusers?pageNumber=\" + pageNumber + \"&pageSize=\"+ pageSize + \"&searchCriteria=\"+searchCriteria+ \"&mentorsFlag=\" + mentorsFlag + \"&pendingActivationFilter=\" + pendingActivationFilter + \"&atDownStateFilter=\" + atDownStateFilter).pipe(\r\n map((response: any) => {\r\n if (response != null && response.length > 0){\r\n return (response).map(item => {\r\n return new ChatUser({\r\n id: item.Id,\r\n name: item.Name,\r\n email: item.Email,\r\n logo: item.Logo,\r\n isBanned: item.IsBanned,\r\n role : item.Role\r\n });\r\n });\r\n }else{\r\n alert(\"No results satisfy the search criteria!\");\r\n var arr: ChatUser[] = [];\r\n return arr;\r\n }\r\n }));\r\n }\r\n\r\n UploadLogo(formData:FormData){\r\n return this._httpClient.post(this.config.origin + \"/api/admin/uploadlogo\", formData, {responseType: 'text'});\r\n }\r\n\r\n // UpdateUser(chatUser:ChatUser) { \r\n // return this._http.post('/api/admin/updateuser', JSON.stringify(chatUser), this.GetRequestOptions());\r\n // }\r\n\r\n UpdateUser(chatUser:ChatUser) { \r\n return this._httpClient\r\n .post(this.config.origin + '/api/admin/updateuser', JSON.stringify(chatUser),{responseType: 'text'}); \r\n }\r\n\r\n // GetUserDetails(id:string){\r\n // return this._http.get(this.config.origin + \"/api/admin/getuserdetails?id=\"+id)\r\n // .map((response: Response) => {\r\n // if (response.text().length > 0){\r\n // return (response.json()).map(item => {\r\n // return ChatUser.createClient(item);\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n GetUserDetails(id:string){\r\n return this._httpClient.get(this.config.origin + \"/api/admin/getuserdetails?id=\"+id).pipe(\r\n map((response: any) => {\r\n if (response.length > 0){\r\n return (response).map(item => {\r\n return ChatUser.createClient(item);\r\n });\r\n }\r\n }));\r\n }\r\n\r\n GetUserRoles(){\r\n return this._httpClient.get(this.config.origin + \"/api/admin/getuserroles\").pipe(\r\n map((response: any) => {\r\n if (response.length > 0){\r\n \r\n let roles: UserRole[] = new Array();\r\n response.forEach(element => {\r\n roles.push(UserRole.createRole(element)); \r\n }); \r\n return roles;\r\n \r\n }\r\n }));\r\n }\r\n\r\n // UpdatePassword(data:any) {\r\n // return this._http.post('/api/admin/updatepassword', JSON.stringify(data), this.GetRequestOptions());\r\n // }\r\n\r\n UpdatePassword(data:any) {\r\n return this._httpClient.post(this.config.origin + '/api/admin/updatepassword', JSON.stringify(data), {responseType: 'text'});\r\n }\r\n\r\n // CreateUser(chatUser:ChatUser) { \r\n // return this._http.post('/api/admin/createuser', JSON.stringify(chatUser), this.GetRequestOptions());\r\n // }\r\n\r\n CreateUser(chatUser:ChatUser) { \r\n return this._httpClient.post(this.config.origin + '/api/admin/createuser', JSON.stringify(chatUser) ,{responseType: 'text'});\r\n }\r\n\r\n // ReInviteUser(chatUser:ChatUser) { \r\n // return this._http.post('/api/admin/reinviteuser', JSON.stringify(chatUser), this.GetRequestOptions());\r\n // }\r\n\r\n ReInviteUser(chatUser:ChatUser) { \r\n return this._httpClient.post(this.config.origin + '/api/admin/reinviteuser', JSON.stringify(chatUser), {responseType: 'text'});\r\n }\r\n\r\n // ValidateUserToken(userId:string, token:string){\r\n // return this._http.get('/api/admin/validateusertoken?userid='+userId + \"&token=\" + token);\r\n // }\r\n\r\n ValidateUserToken(userId:string, token:string){\r\n return this._httpClient.get(this.config.origin + '/api/admin/validateusertoken?userid='+userId + \"&token=\" + token,{responseType: 'text'}).pipe(\r\n map((response: any) => {\r\n return response;\r\n }));\r\n }\r\n\r\n // UpdateMentorPassword(data:any){\r\n // return this._http.post('/api/admin/updatementorpassword',data,this.GetRequestOptions());\r\n // }\r\n\r\n UpdateMentorPassword(data:any){\r\n return this._httpClient.post(this.config.origin + '/api/admin/updatementorpassword',data, {responseType: 'text'}).pipe(\r\n map((response: any) => {\r\n return response;\r\n }));\r\n }\r\n\r\n // private GetRequestOptions(){\r\n // let headers = new Headers();\r\n // headers.append('Content-Type', 'application/json');\r\n // return new RequestOptions({ headers: headers }); \r\n // }\r\n\r\n private GetRequestHeaders(){\r\n let headers = new HttpHeaders();\r\n headers.append('Content-Type', 'application/json');\r\n return headers;\r\n }\r\n\r\n // RegisterUserInAt(chatUser: any){\r\n // // return this._http.post('/api/admin/registertome', this.GetRequestOptions());\r\n // let headers = new Headers() \r\n // let options = new RequestOptions({ headers: headers }); \r\n // // let response = this._http.post('/api/Account/RegisterClientInAt?chatUserId='+chatUser.id,options).subscribe(\r\n // return this._http.post('/api/Account/RegisterClientInAt?chatUserId='+chatUser.id,options);\r\n // // .subscribe(\r\n // // res => {\r\n // // console.log(res);\r\n // // },\r\n // // (err: any) => {\r\n // // console.log(err.error);\r\n // // console.log(err.name);\r\n // // console.log(err.message);\r\n // // console.log(err.status);\r\n // // }\r\n // // );\r\n\r\n // // return response;\r\n // }\r\n\r\n\r\n RegisterUserInAt(chatUser: any){\r\n return this._httpClient.post(this.config.origin + '/api/Account/RegisterClientInAt?chatUserId='+chatUser.id, {responseType: 'text'});\r\n }\r\n\r\n // CancelRegistration(chatUser: any){\r\n // let headers = new Headers() \r\n // let options = new RequestOptions({ headers: headers }); \r\n // let response = this._http.delete('/api/Account/AtDownUserCancelRegistration?chatUserId='+chatUser.id,options).subscribe(\r\n // res => {\r\n // console.log(res);\r\n // },\r\n // (err: any) => {\r\n // console.log(err.error);\r\n // console.log(err.name);\r\n // console.log(err.message);\r\n // console.log(err.status);\r\n // }\r\n // );\r\n\r\n // return response;\r\n // }\r\n\r\n CancelRegistration(chatUser: any){\r\n let response = this._httpClient.delete(this.config.origin + '/api/Account/AtDownUserCancelRegistration?chatUserId='+chatUser.id, {responseType: 'text'}).subscribe(\r\n res => {\r\n console.log(res);\r\n },\r\n (err: any) => {\r\n console.log(err.error);\r\n console.log(err.name);\r\n console.log(err.message);\r\n console.log(err.status);\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n\r\n // ActivateUser(chatUser: any){\r\n // let headers = new Headers() \r\n // let options = new RequestOptions({ headers: headers }); \r\n // return this._http.post('/api/Account/ActivateUser?chatUserId='+chatUser.id,options);\r\n // }\r\n\r\n ActivateUser(chatUser: any){\r\n return this._httpClient.post(this.config.origin + '/api/Account/ActivateUser?chatUserId='+chatUser.id, {headers: this.GetRequestHeaders()});\r\n }\r\n\r\n\r\n // CountVouchers(searchCriteria:string) {\r\n // return this._http.get(this.config.origin + \"/api/admin/countvouchers?searchCriteria=\" + searchCriteria)\r\n // .map(responseData => responseData.json());\r\n // }\r\n\r\n CountVouchers(searchCriteria:string) {\r\n return this._httpClient.get(this.config.origin + \"/api/admin/countvouchers?searchCriteria=\" + searchCriteria,{responseType: 'text'}).pipe(\r\n map((responseData: any) =>{ \r\n return responseData;\r\n }));\r\n }\r\n\r\n // GetVouchers(pageNumber:Number, pageSize:Number, searchCriteria:string): Observable {\r\n // return this._http.get(this.config.origin + \"/api/admin/getvouchers?pageNumber=\" + pageNumber + \"&pageSize=\"+ pageSize + \"&searchCriteria=\"+searchCriteria)\r\n // .map((response: Response) => {\r\n // if (response.text().length > 0){\r\n // return (response.json()).map(item => {\r\n // return new Voucher({\r\n // voucherId: item.VoucherId,\r\n // clientName: item.ClientName,\r\n // redeemedByUser: item.RedeemedByUser,\r\n // validFor: item.ValidFor,\r\n // expiryDate: new Date(item.ExpiryDate).toLocaleDateString(\"en-US\")\r\n // });\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n GetVouchers(pageNumber:Number, pageSize:Number, searchCriteria:string): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/admin/getvouchers?pageNumber=\" + pageNumber + \"&pageSize=\"+ pageSize + \"&searchCriteria=\"+searchCriteria).pipe(\r\n map((response: any) => {\r\n if (response.length > 0){\r\n return (response).map(item => {\r\n return new Voucher({\r\n voucherId: item.VoucherId,\r\n clientName: item.ClientName,\r\n redeemedByUser: item.RedeemedByUser,\r\n validFor: item.ValidFor,\r\n expiryDate: new Date(item.ExpiryDate).toLocaleDateString(\"en-US\")\r\n });\r\n });\r\n }\r\n }));\r\n }\r\n\r\n\r\n // GetVoucherDetails(voucherId:string){\r\n // return this._http.get(this.config.origin + \"/api/admin/getvoucherdetails?voucherId=\"+voucherId)\r\n // .map((response: Response) => {\r\n // if (response.text().length > 0){\r\n // return (response.json()).map(item => {\r\n // return new Voucher({\r\n // voucherId: item.VoucherId,\r\n // clientName: item.ClientName,\r\n // redeemedByUser: item.RedeemedByUser,\r\n // validFor: item.ValidFor,\r\n // expiryDate: new Date(item.ExpiryDate).toLocaleDateString(\"en-US\"),\r\n // courses:item.Courses,\r\n // type:item.Type\r\n // });\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n GetVoucherDetails(voucherId:string){\r\n return this._httpClient.get(this.config.origin + \"/api/admin/getvoucherdetails?voucherId=\"+voucherId).pipe(\r\n map((response: any) => {\r\n if (response.length > 0){\r\n return (response).map(item => {\r\n return new Voucher({\r\n voucherId: item.VoucherId,\r\n clientName: item.ClientName,\r\n redeemedByUser: item.RedeemedByUser,\r\n validFor: item.ValidFor,\r\n expiryDate: new Date(item.ExpiryDate).toLocaleDateString(\"en-US\"),\r\n courses:item.Courses,\r\n type:item.Type\r\n });\r\n });\r\n }\r\n }));\r\n }\r\n\r\n // UpdateVoucher(voucher:Voucher) { \r\n // return this._http.post('/api/admin/updatevoucher', JSON.stringify(voucher), this.GetRequestOptions());\r\n // }\r\n\r\n UpdateVoucher(voucher:Voucher) { \r\n return this._httpClient.post(this.config.origin + '/api/admin/updatevoucher', JSON.stringify(voucher), {responseType: 'text'}).pipe(\r\n map((response: any) => {\r\n return response;\r\n }));\r\n }\r\n\r\n // CreateVoucher(voucher:Voucher, noOfVouchers:Number, selectedCourses: string) { \r\n // return this._http.post('/api/admin/createvoucher?noOfVouchers='+noOfVouchers+\"&selectedCourses=\"+selectedCourses, JSON.stringify(voucher), this.GetRequestOptions());\r\n // }\r\n\r\n CreateVoucher(voucher:Voucher, noOfVouchers:Number, selectedCourses: string) { \r\n return this._httpClient.post(this.config.origin + '/api/admin/createvoucher?noOfVouchers='+noOfVouchers+\"&selectedCourses=\"+selectedCourses, JSON.stringify(voucher), {responseType: 'text'}).pipe(\r\n map((response: any) => {\r\n return response;\r\n }));\r\n }\r\n\r\n\r\n // GetPartners(type:any) {\r\n // return this._http.get(this.config.origin + \"/api/admin/getpartners?type=\"+ type)\r\n // .map((response: Response) => {\r\n // if (response.text().length > 0){\r\n // return (response.json()).map(item => {\r\n // return GenericSelectItem.Create(item,true);\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n GetPartners(type:any) {\r\n return this._httpClient.get(this.config.origin + \"/api/admin/getpartners?type=\"+ type).pipe(\r\n map((response: any) => {\r\n if (response.length > 0){\r\n return (response).map(item => {\r\n return GenericSelectItem.Create(item,true);\r\n });\r\n }\r\n }));\r\n }\r\n\r\n // GetChildClients(partnerId:any) {\r\n // return this._http.get(this.config.origin + \"/api/admin/getclientsbypartner?partnerId=\" + partnerId)\r\n // .map((response: Response) => {\r\n // if (response.text().length > 0){\r\n // return (response.json()).map(item => {\r\n // return GenericSelectItem.Create(item,true);\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n\r\n GetChildClients(partnerId:any) {\r\n return this._httpClient.get(this.config.origin + \"/api/admin/getclientsbypartner?partnerId=\" + partnerId).pipe(\r\n map((response: any) => {\r\n if (response.length > 0){\r\n return (response).map(item => {\r\n return GenericSelectItem.Create(item,true);\r\n });\r\n }\r\n }));\r\n }\r\n\r\n // CheckActiveSessions(userName: string, deviceType: string) {\r\n // return this._http.get(\"api/admin/checkactivesessions?userName=\" + userName + \"&deviceType=\" + deviceType)\r\n // .map((response: Response) => {\r\n // return response;\r\n // });\r\n // }\r\n\r\n CheckActiveSessions(userName: string, deviceType: string) {\r\n return this._httpClient.get(this.config.origin + \"api/admin/checkactivesessions?userName=\" + userName + \"&deviceType=\" + deviceType, {responseType: 'text'}).pipe(\r\n map((response: any) => {\r\n return response;\r\n }));\r\n }\r\n\r\n // ClearActiveSessions(userId: string){\r\n // return this._http.get(\"api/admin/clearactivesessions?userId=\" + userId)\r\n // .map((response: Response) => {\r\n // return response;\r\n // });\r\n // }\r\n\r\n ClearActiveSessions(userId: string){\r\n return this._httpClient.get(this.config.origin + \"/api/admin/clearactivesessions?userId=\" + userId, {responseType: 'text'}).pipe(\r\n map((response: any) => {\r\n return response;\r\n }));\r\n }\r\n\r\n DeactivateUser(userId: string){\r\n return this._httpClient.get(this.config.origin + \"/api/admin/deactivateuser?userId=\" + userId, {responseType: 'text'}).pipe(\r\n map((response: any) => {\r\n return response;\r\n }));\r\n }\r\n\r\n // UnbanUser(userId:string){\r\n // return this._http.post('/api/admin/unbanuser',JSON.stringify(userId),this.GetRequestOptions());\r\n // }\r\n\r\n UnbanUser(userId:string){\r\n return this._httpClient.post(this.config.origin + '/api/admin/unbanuser',JSON.stringify(userId), {responseType: 'text'}).pipe(\r\n map((response: any) => {\r\n return response;\r\n }));\r\n }\r\n\r\n // GetCoursesForClient(clientId: Number){\r\n // return this._http.get(this.config.origin + \"/api/admin/getcoursesforclient?clientId=\"+clientId)\r\n // .map((response: Response) => {\r\n // if (response.text().length > 0){\r\n // return (response.json()).map(item => {\r\n // return new ClientCourse({\r\n // clientCourseId: item.Key,\r\n // name: item.Name,\r\n // code: item.Code\r\n // });\r\n // });\r\n // }\r\n // });\r\n // }\r\n\r\n GetCoursesForClient(clientId: Number){\r\n return this._httpClient.get(this.config.origin + \"/api/admin/getcoursesforclient?clientId=\"+clientId).pipe(\r\n map((response: any) => {\r\n if (response.length > 0){\r\n return (response).map(item => {\r\n return new ClientCourse({\r\n clientCourseId: item.Key,\r\n name: item.Name,\r\n code: item.Code\r\n });\r\n });\r\n }\r\n }));\r\n }\r\n\r\n // GetAppVersion(){\r\n // return this._http.get(this.config.origin + '/api/Account/Version').map(res => res);\r\n // }\r\n\r\n GetAppVersion(){\r\n return this._httpClient.get(this.config.origin + '/api/Account/Version',{responseType: 'text'}).pipe(map(res => res));\r\n }\r\n\r\n // DoEmptyRequest(){\r\n // return this._http.get('/api/Account/Empty').map(res => res);\r\n // }\r\n\r\n DoEmptyRequest(){\r\n return this._httpClient.get(this.config.origin + '/api/Account/Empty').pipe(map(res => res));\r\n }\r\n \r\n\r\n CheckIfMaintenanceModeIsEnabled(groupId: number){\r\n return this._httpClient.get(this.config.origin + \"/api/admin/maintenancemode?groupId=\"+groupId).pipe(\r\n map((response: any) => {\r\n if (response.length > 0){\r\n return (response).map(item => {\r\n return new MaintenanceMode({\r\n groupId: item.GroupId,\r\n loginAllowed: item.LoginAllowed,\r\n greetingMessage: item.GreetingMessage\r\n });\r\n });\r\n }\r\n }));\r\n }\r\n\r\n GetCannedResponses(pageNumber:Number, pageSize:Number, searchCriteria:string): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/admin/getcannedresponses?pageNumber=\" + pageNumber + \"&pageSize=\"+ pageSize + \"&searchCriteria=\"+searchCriteria).pipe(\r\n map((response: any) => {\r\n if (response != null && response.length > 0){\r\n return (response).map(item => {\r\n return new CannedResponse({\r\n id: item.Id,\r\n name: item.Name,\r\n description: item.Description,\r\n text: item.Text,\r\n tags: item.Tags\r\n });\r\n });\r\n }else{\r\n alert(\"No results satisfy the search criteria!\");\r\n var arr: CannedResponse[] = [];\r\n return arr;\r\n }\r\n }));\r\n }\r\n\r\n CountCannedResponses(searchCriteria:string) {\r\n return this._httpClient.get(this.config.origin + \"/api/admin/countcannedresponses?searchCriteria=\" + searchCriteria).pipe(\r\n map((responseData: any) =>{ \r\n return responseData;\r\n }));\r\n }\r\n\r\n DeleteCannedResponse(cannedResponseId: string){\r\n return this._httpClient.get(this.config.origin + \"/api/admin/deletecannedresponse?id=\" + cannedResponseId, {responseType: 'text'}).pipe(\r\n map((response: any) => {\r\n return response;\r\n }));\r\n }\r\n\r\n GetCannedResponseById(id:string){\r\n return this._httpClient.get(this.config.origin + \"/api/admin/getcannedresponse?id=\"+id).pipe(\r\n map((response: any) => {\r\n if (response.length > 0){\r\n return (response).map(item => {\r\n return CannedResponse.Create(item);\r\n });\r\n }\r\n }));\r\n }\r\n\r\n CreateCannedResponse(cannedResponse:CannedResponse) { \r\n return this._httpClient\r\n .post(this.config.origin + '/api/admin/createcannedresponse', JSON.stringify(cannedResponse) ,{responseType: 'text'});\r\n }\r\n\r\n UpdateCannedResponse(cannedResponse:CannedResponse) { \r\n return this._httpClient\r\n .post(this.config.origin + '/api/admin/updatecannedresponse', JSON.stringify(cannedResponse),{responseType: 'text'}); \r\n }\r\n\r\n GetAmazonConnectSettings(): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/admin/getamazonconnectsettings\").pipe(\r\n map((response: any) => {\r\n if (response != null && response.length > 0){\r\n return (response).map(item => {\r\n return new AmazonConnectSettings({\r\n id: item.Id,\r\n description: item.Description,\r\n instanceId: item.InstanceId,\r\n tasksCreationEnabled: item.TasksCreationEnabled\r\n });\r\n });\r\n }else{\r\n alert(\"Unable to obtain amazon connect settings!\");\r\n var arr: AmazonConnectSettings[] = [];\r\n return arr;\r\n }\r\n }));\r\n }\r\n\r\n UpdateAmazonConnectSettings(data:any) {\r\n return this._httpClient.post(this.config.origin + '/api/admin/updateamazonconnectsettings', JSON.stringify(data), {responseType: 'text'});\r\n }\r\n\r\n GetAmazonConnectContactFlows(pageNumber:Number, pageSize:Number): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/admin/getamazonconnectcontactflows?pageNumber=\" + pageNumber + \"&pageSize=\"+ pageSize).pipe(\r\n map((response: any) => {\r\n if (response != null && response.length > 0){\r\n return (response).map(item => {\r\n return new AmazonConnectContactFlow({\r\n key: item.Key,\r\n name: item.Name,\r\n lineOfBusiness: item.LineOfBusiness,\r\n contactFlowId: item.ContactFlowId,\r\n isActive: item.IsActive\r\n });\r\n });\r\n }else{\r\n alert(\"No results satisfy the search criteria!\");\r\n var arr: AmazonConnectContactFlow[] = [];\r\n return arr;\r\n }\r\n }));\r\n }\r\n\r\n DeleteAmazonConnectContactFlow(id: string){\r\n return this._httpClient.get(this.config.origin + \"/api/admin/deleteamazonconnectcontactflow?id=\" + id, {responseType: 'text'}).pipe(\r\n map((response: any) => {\r\n return response;\r\n }));\r\n }\r\n\r\n GetAmazonConnectContactFlowById(id:string){\r\n return this._httpClient.get(this.config.origin + \"/api/admin/getamazonconnectcontactflow?id=\"+id).pipe(\r\n map((response: any) => {\r\n if (response.length > 0){\r\n return (response).map(item => {\r\n return AmazonConnectContactFlow.Create(item);\r\n });\r\n }\r\n }));\r\n }\r\n\r\n UpdateAmazonConnectContactFlow(contactFlow:AmazonConnectContactFlow) { \r\n return this._httpClient\r\n .post(this.config.origin + '/api/admin/updateamazonconnectcontactflow', JSON.stringify(contactFlow),{responseType: 'text'}); \r\n }\r\n\r\n CreateAmazonConnectContactFlow(contactFlow:AmazonConnectContactFlow) { \r\n return this._httpClient\r\n .post(this.config.origin + '/api/admin/createamazonconnectcontactflow', JSON.stringify(contactFlow) ,{responseType: 'text'});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { Router, NavigationStart } from '@angular/router';\nimport { Observable , Subject } from 'rxjs';\n\n@Injectable()\nexport class AlertService {\n private subject = new Subject();\n private keepAfterNavigationChange = false;\n\n constructor(private router: Router) {\n // clear alert message on route change\n router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n if (this.keepAfterNavigationChange) {\n // only keep for a single location change\n this.keepAfterNavigationChange = false;\n } else {\n // clear alert\n this.subject.next();\n }\n }\n });\n }\n\n success(message: string, keepAfterNavigationChange = false) {\n this.keepAfterNavigationChange = keepAfterNavigationChange;\n this.subject.next({ type: 'success', text: message });\n }\n\n error(message: string, keepAfterNavigationChange = false) {\n this.keepAfterNavigationChange = keepAfterNavigationChange;\n this.subject.next({ type: 'error', text: message });\n }\n\n getMessage(): Observable {\n return this.subject.asObservable();\n }\n}","\nimport {map} from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\n\n\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\n\nimport { CookieService } from 'ngx-cookie-service';\nimport { UserFactory } from '../model/userFactory';\nimport { AppConfig } from '../AppConfig';\n\n\n\n@Injectable()\nexport class AuthenticationService {\n _config(_config: any) {\n throw new Error(\"Method not implemented.\");\n }\n\n constructor(private _httpClient: HttpClient, private cookieService: CookieService, private config: AppConfig) { \n //this._adal.init(this._config);\n }\n\n\n // public isLoggedIn():boolean {\n // return this._adal.userInfo.authenticated;\n // }\n \n // public signout():void {\n // this._adal.logOut();\n // }\n \n // public startAuthentication():any {\n // this._adal.login();\n // }\n \n // public getName():string {\n // return this._user.profile.name;\n // }\n \n // public completeAuthentication():void {\n // this._adal.handleWindowCallback();\n // this._adal.getUser().subscribe(user=> {\n // this._user=user;\n // console.log(this._adal.userInfo);\n // //var expireIn=user.profile.exp-newDate().getTime();\n // });\n \n // }\n\n login(username: string, password: string) {\n\n let headers: HttpHeaders = new HttpHeaders({ \n 'Content-Type': 'application/x-www-form-urlencoded'\n });\n\n let urlSearchParams = new URLSearchParams();\n urlSearchParams.append('userName', username);\n urlSearchParams.append('password', password);\n urlSearchParams.append('grant_type', 'password');\n\n let body = urlSearchParams.toString();\n\n return this._httpClient.post(this.config.origin+'/api/token', body, { headers: headers }).pipe(\n\n map(user => {\n \n // login successful if there's a jwt token in the response \n \n if (user && user.access_token && user.hasMentorAccess && user.hasMentorAccess != null) {\n // store user details and jwt token in local storage to keep user logged in between page refreshes \n \n localStorage.setItem('currentUser', JSON.stringify(user));\n\n let currentUser = JSON.parse(localStorage.getItem('currentUser'));\n localStorage.setItem('BearerToken', currentUser.access_token );\n\n\n //this.cookieService.set('BearerToken', currentUser.access_token)\n this.cookieService.set('BearerToken', currentUser.access_token,1,null,null,true);\n //(name: string, value: string, expires?: number | Date, path?: string, domain?: string, secure?: boolean)\n //console.log('SET token cookie::', this.cookieService.get('BearerToken'));\n\n localStorage.setItem('currentAdminUser', JSON.stringify(user));\n }\n\n return user;\n }));\n }\n\n logout() {\n this.cookieService.deleteAll(); \n localStorage.removeItem('BearerToken');\n localStorage.removeItem('currentUser');\n localStorage.removeItem('currentAdminUser');\n localStorage.removeItem('currAuthor');\n localStorage.removeItem('clientParams');\n localStorage.removeItem('userChatTopic');\n localStorage.removeItem(\"currentTicket\");\n localStorage.removeItem(\"isConnected\");\n localStorage.removeItem(\"clientLanguageParam\");\n localStorage.removeItem(\"clientType\");\n localStorage.removeItem(\"clientId\");\n localStorage.removeItem(\"selectedRoomToBeOpen\");\n localStorage.removeItem('currentUserChatVolume');\n localStorage.removeItem('currentUserRoomVolume');\n }\n\n checkTokenExpiration(){\n let token = localStorage.getItem('BearerToken');\n\n if (token !== '' && token != '' && token != null) \n {\n // let pom=this.getDecodedAccessToken(token);\n // const expiry = this.getDecodedAccessToken(token).exp;\n // let isExpired= (Math.floor((new Date).getTime() / 1000)) >= expiry;\n // if(isExpired){\n // this.logout();\n // }\n }\n }\n\n \n}\n","\r\nimport { debounceTime, flatMap, mergeAll, mergeMap, tap, toArray } from 'rxjs/operators';\r\nimport { Injectable, NgZone, SecurityContext } from '@angular/core';\r\nimport { Message } from '../model/message.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessagesService } from './messages.service';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { RoomsService } from './rooms.service';\r\nimport { UsersService } from './users.service';\r\nimport { TicketService } from './ticket.service';\r\nimport { User } from '../model/user';\r\nimport { UserFactory } from '../model/userFactory';\r\nimport { RoomFactory } from '../model/RoomFactory';\r\nimport { Room } from '../model/room.model';\r\nimport { messageFactory } from '../model/messageFactory';\r\nimport { MessageType } from '../model/messageType';\r\nimport { Client } from '../model/client.model';\r\nimport { ClientFactory } from '../model/ClientFactory';\r\nimport { UsersInfo } from '../model/usersInfo';\r\nimport { Subject, Observable, BehaviorSubject, from, of } from 'rxjs';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { RhubService, ConnectionState } from './rhub.service';\r\nimport { ErrorLogService } from './error-log.service';\r\nimport * as _ from 'lodash';\r\nimport { AppConfig } from '../AppConfig';\r\nimport { IssueService } from './issueservice';\r\nimport { SignalRStatus } from '../model/SignalRStatus';\r\nimport { ChatUser } from '../model/chatuser.model';\r\nimport { createTicket } from '../model/createTicket.model';\r\nimport { TicketDataFactory } from '../model/TicketDataFactory';\r\nimport { MessageAttachment } from '../model/MessageAttachment.model';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { TicketData } from '../model/ticketData';\r\n\r\n\r\n@Injectable()\r\nexport class ChatService extends RhubService {\r\n\r\n private tryingToReconnect: boolean = false;\r\n removingEndUserSubject: Subject = new Subject();\r\n connectionSubject: Subject = new Subject();\r\n UserChatInitialized: Subject = new Subject();\r\n ClientWindowInitialized: Subject = new Subject();\r\n UserLeftRoom: Subject = new Subject();\r\n AddedContact: Subject = new Subject();\r\n TicketCreated: Subject = new Subject();\r\n ShowSurveyFlag: Subject = new Subject();\r\n PreventAutoJoin: Subject=new Subject();\r\n\r\n joinRoomSubject: Subject = new Subject();\r\n GetPreviousMessagesInProgres: Subject = new BehaviorSubject(false);\r\n private intervalHolder: any;\r\n private previousSetRoom: Room = null;\r\n private previousIsCloackedSet: boolean = false;\r\n\r\n private blockSettingCurrentRoom: boolean = false;\r\n\r\n chatMessageToSendSubject: Subject = new BehaviorSubject(\"\");\r\n\r\n constructor(private http: HttpClient,\r\n public messagesService: MessagesService, private authenticationService: AuthenticationService, private issueService: IssueService,\r\n public roomsService: RoomsService, public userService: UsersService, public ticketService: TicketService,\r\n private errorService: ErrorLogService,\r\n private ngZone: NgZone, private router: Router, private _http: HttpClient, config: AppConfig, private sanitizer: DomSanitizer, public activatedRoute: ActivatedRoute) {\r\n super(ngZone, config, authenticationService);\r\n\r\n\r\n this.joinRoomSubject.asObservable().pipe(\r\n debounceTime(500)) //question mark debounce time needed\r\n .subscribe(data => {\r\n\r\n this.invoke(\"Join\", data.roomId, data.lastId, data.isClocked);\r\n\r\n this.getPrevMessages(data.roomId, false, data.lastId);\r\n\r\n\r\n });\r\n\r\n }\r\n\r\n onRoomLoadedGetHistory(roomID: string) {\r\n localStorage.setItem('selectedRoomToBeOpen', roomID);\r\n this.getPrevMessages(roomID, true, \"-1\");\r\n }\r\n\r\n getPrevMessagesChain(roomID: string, forceReload: boolean, lastMsgId: string) {\r\n if (localStorage.getItem('selectedRoomToBeOpen') === null || localStorage.getItem('selectedRoomToBeOpen') === roomID) {\r\n var chainedPromisess =\r\n this.issueService.GetRoomMessages(RoomFactory.createRoomWithGuid(roomID), lastMsgId)\r\n .pipe(mergeMap(data => {\r\n\r\n let tmpRoom = RoomFactory.createRoomRestApi(data[1]);\r\n if (localStorage.getItem('selectedRoomToBeOpen') === null || localStorage.getItem('selectedRoomToBeOpen') === tmpRoom.id) {\r\n let msgs: Message[] = new Array();\r\n for (let entry of _.values(data[2])) {\r\n msgs.push(messageFactory.createMessageLowercase(entry, tmpRoom, UserFactory.createUserLowercase(entry.user)));\r\n }\r\n this.roomsService.currentRoomMsgLoaded.next([tmpRoom.id, lastMsgId]);\r\n var chainedPromisess2 = from(msgs).pipe(\r\n mergeMap(module => {\r\n if (module.messageAttachments && module.messageAttachments.length > 0) {\r\n return from(module.messageAttachments).pipe(\r\n mergeMap(attach => {\r\n if (attach.ThumbnailUriUrl == '')\r\n return this.ticketService.downloadFile(attach.ContainerName, attach.ThumbnailUri).pipe(\r\n tap(apiResponse => {\r\n let objectURL = URL.createObjectURL(apiResponse);\r\n attach.ThumbnailUriUrl = objectURL;\r\n\r\n //this.sendChangeSignal.emit('send');\r\n }, error => {\r\n return of('');\r\n }))\r\n else\r\n return of('').pipe(\r\n tap(() => { console.warn(\"already a blob\") })\r\n );\r\n }\r\n ),\r\n toArray()\r\n );\r\n }\r\n else\r\n return of('').pipe(\r\n tap(() => { console.warn(\"already a blob\") })\r\n );\r\n }\r\n ),\r\n toArray()\r\n );\r\n\r\n return chainedPromisess2.pipe(\r\n tap(() => {\r\n this.messagesService.addMessages(msgs);\r\n msgs = null;\r\n })\r\n );\r\n }\r\n }\r\n ));\r\n\r\n return chainedPromisess;\r\n } else\r\n return of('');\r\n\r\n }\r\n\r\n public getPrevMessages(roomID: string, forceReload: boolean, lastMsgId: string) {\r\n\r\n if (localStorage.getItem('selectedRoomToBeOpen') === null || localStorage.getItem('selectedRoomToBeOpen') === roomID) {\r\n\r\n const subscriptionIssues = this.issueService.GetRoomMessages(RoomFactory.createRoomWithGuid(roomID), lastMsgId)\r\n .subscribe(data => {\r\n\r\n let tmpRoom = RoomFactory.createRoomRestApi(data[1]);\r\n if (localStorage.getItem('selectedRoomToBeOpen') === null || localStorage.getItem('selectedRoomToBeOpen') === tmpRoom.id) {\r\n let msgs: Message[] = new Array();\r\n for (let entry of _.values(data[2])) {\r\n msgs.push(messageFactory.createMessageLowercase(entry, tmpRoom, UserFactory.createUserLowercase(entry.user)));\r\n }\r\n this.roomsService.currentRoomMsgLoaded.next([tmpRoom.id, lastMsgId]);\r\n from(msgs).pipe(\r\n mergeMap(module => {\r\n if (module.messageAttachments && module.messageAttachments.length > 0) {\r\n return from(module.messageAttachments).pipe(\r\n mergeMap(attach => {\r\n if (attach.ThumbnailUriUrl == '')\r\n return this.ticketService.downloadFile(attach.ContainerName, attach.ThumbnailUri).pipe(\r\n tap(apiResponse => {\r\n let objectURL = URL.createObjectURL(apiResponse);\r\n attach.ThumbnailUriUrl = objectURL;\r\n //this.sendChangeSignal.emit('send');\r\n }))\r\n else\r\n return of('').pipe(\r\n tap(() => { console.warn(\"already a blob\") })\r\n );\r\n }\r\n ),\r\n toArray()\r\n );\r\n }\r\n else\r\n return of('').pipe(\r\n tap(() => { console.warn(\"already a blob\") })\r\n );\r\n }\r\n ),\r\n toArray()\r\n ).subscribe(\r\n () => {\r\n this.messagesService.addMessages(msgs);\r\n\r\n\r\n msgs = 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 public connectToSignalR(): void {\r\n this.initRHub();\r\n this.registerEventHandlers();\r\n //this.startRHub();\r\n\r\n\r\n // this.hubConnection.connectionSlow(function () {\r\n // console.log('Slow connection'); // Your function to notify user.\r\n // });\r\n this.connectionStateChange.subscribe((connState: any) => {\r\n if (this.intervalHolder)\r\n clearInterval(this.intervalHolder);\r\n\r\n switch (connState) {\r\n case ConnectionState.Connected:\r\n\r\n this.connectionSubject.next(SignalRStatus.Connected);\r\n if (this.tryingToReconnect)\r\n this.tryingToReconnect = false;\r\n else {\r\n\r\n console.log('Connected to teckrx');\r\n let currUser = JSON.parse(localStorage.getItem('currentUser'));\r\n this.userService.currentUser.next(currUser);\r\n\r\n\r\n if (currUser.hasMentorAccess == 'false' || currUser.hasMentorAccess == undefined)\r\n this.ClientWindowInitialized.next(true);\r\n\r\n if (localStorage.getItem('previousTicketId')) {\r\n this.StartHangoutAssociateTicket(localStorage.getItem('previousTicketId'));\r\n localStorage.removeItem('previousTicketId');\r\n localStorage.removeItem('previousTicketOpen');\r\n\r\n }\r\n else {\r\n localStorage.removeItem('previousTicketId');\r\n localStorage.removeItem('previousTicketOpen');\r\n this.StartHangout();\r\n }\r\n\r\n }\r\n break;\r\n case ConnectionState.Reconnecting:\r\n this.connectionSubject.next(SignalRStatus.Reconnectiong);\r\n console.log(\"Reconnecting...\");\r\n this.tryingToReconnect = true;\r\n break;\r\n\r\n case ConnectionState.Disconnected:\r\n console.log(\"Disconnected\");\r\n\r\n //if (this.tryingToReconnect) {\r\n this.intervalHolder = setInterval(() => {\r\n console.log(\"stop connections\");\r\n this.startRHub();\r\n this.connectionSubject.next(SignalRStatus.Disconnected);\r\n\r\n //location.reload();\r\n }, 5000); // Restart connection after 5 seconds.\r\n //}\r\n break;\r\n default:\r\n this.tryingToReconnect = false;\r\n break;\r\n }\r\n });\r\n\r\n this.connectionError.subscribe((err: any) => {\r\n\r\n this.errorService.logError(err);\r\n });\r\n\r\n }\r\n\r\n private registerEventHandlers(): void {\r\n this.listenAsync('messageReceived', (serverMessage) => this.onMessageReceived(serverMessage));\r\n this.listenAsync('confirmTicketCreated', (ticketCreatedStatus) => this.onConfirmTicketCreated(ticketCreatedStatus));\r\n this.listenAsync('contactAdded', (contactId) => this.onContactAdded(contactId));\r\n this.listenAsync('AddMessage', (messageVM, roomVM) => this.onAddMessage(messageVM, roomVM));\r\n this.listenAsync('roomsSync', (data, currRoomGuid, syncFirstMessages) => this.onRoomsSync(data, currRoomGuid, syncFirstMessages));\r\n this.listenAsync('notification', (messageVM, roomVM) => this.onNotification(messageVM, roomVM));\r\n this.listenAsync('roomMsgHistoryReset', (messages, room) => this.onRoomMsgHistoryReset(messages,\r\n room));\r\n this.listenAsync('roomMsgHistory', (messages, room) => this.onRoomMsgHistory(messages, room));\r\n this.listenAsync('setTyping', (userVM, roomId) => this.onSetTyping(userVM, roomId));\r\n this.listenAsync('cancelTyping', (userVM, roomId) => this.onCancelTyping(userVM, roomId));\r\n this.listenAsync('setCurrentRoom', (roomVM) => this.onSetCurrentRoom(roomVM));\r\n this.listenAsync('setCurrentRoomOnLeave', (roomVM, roomGuid) =>\r\n this.onSetCurrentRoomOnLeave(roomVM, roomGuid));\r\n this.listenAsync('setCurrentUser', (userVM) => this.onSetCurrentUser(userVM));\r\n this.listenAsync('onCloseRoom', (leaveRoomId, authorId, messageVM, roomVM) => this.onCloseRoom(leaveRoomId, authorId, messageVM, roomVM));\r\n this.listenAsync('destroyRoom', (leaveRoomId) => this.onDestroyRoom(leaveRoomId));\r\n this.listenAsync('clientLeftRoom', (leaveRoomId, userId) => this.onClientLeftRoom(leaveRoomId, userId));\r\n this.listenAsync('leaveRoom', (leaveRoomId, userId) => this.onLeaveRoom(leaveRoomId, userId));\r\n this.listenAsync('updateRoom', (roomId, userId) => this.onUpdateRoom(roomId, userId));\r\n this.listenAsync('clientIsInitialized', () => this.onClientIsInitialized());\r\n this.listenAsync('handleException', () => this.onHandleException());\r\n this.listenAsync('logOutInstance', () => this.onLogOutInstance());\r\n this.listenAsync('logOutClient', () => this.onLogOutClient());\r\n this.listenAsync('showUserInfo', (user, client, statusType, clientId) => this.onShowUserInfo(user, client, statusType, clientId));\r\n this.listenAsync('providedCurrentTranscript', (messages) => this.onProvidedCurrentTranscript(messages));\r\n this.listenAsync('setCurrentTicket', (ticketVM, roomVM) => this.onSetCurrentTicket(ticketVM, roomVM));\r\n this.listenAsync('sendTicketNumbers', (ticketArray) => this.sendTicketNumbers(ticketArray));\r\n this.listenAsync('providedAllTranscripts', (rooms, fullLen, currentPage, user) => this.onProvidedAllTranscripts(rooms, fullLen, currentPage, user));\r\n this.listenAsync('sendSurveyAndLogoutUser', (roomVM) => this.onSendSurveyAndLogoutUser(roomVM));\r\n this.listenAsync('emailTranscriptError', () => this.onEmailTranscriptError());\r\n this.listenAsync('emailTranscriptSuccess', () => this.onEmailTranscriptSuccess());\r\n this.listenAsync('clearActiveSession', () => this.onClearActiveSession());\r\n this.listenAsync('reloadPage', () => this.onReloadPage());\r\n this.listenAsync('showSurveyAndLogout', () => this.onShowSurveyAndLogout());\r\n this.listenAsync('logOutAndReload', () => this.onLogOutAndReload());\r\n this.listenAsync('getAllConnectedClientsFromLocalStorage', (roomId) => this.onGetAllConnectedClientsFromLocalStorage(roomId));\r\n this.listenAsync('addConnectionIdToLS', (connectionId) => this.onAddConnectionIdToLS(connectionId));\r\n this.listenAsync('getRoomHistory', (roomID) => this.onRoomLoadedGetHistory(roomID));\r\n this.listenAsync('updateRoomMembers', (chatUsers, roomGuid) => this.onUpdateRoomMembers(chatUsers, roomGuid));\r\n this.listenAsync('onAutoJoinRoom', (roomVM) => this.onAutoJoinRoom(roomVM));\r\n\r\n }\r\n onUpdateRoomMembers(chatUsers: any, roomGuid: string): void {\r\n this.roomsService.updateRoomMembers.next({ chatUsers: chatUsers, roomId: roomGuid });\r\n }\r\n\r\n /////////////////////////////////////////////////////////////////////////////\r\n\r\n\r\n\r\n //DONE\r\n public async StartHangout() {\r\n var autojoinroomid = this.activatedRoute.snapshot.queryParams[\"autoJoinRoomById\"];\r\n this.invoke('Hangout', '', '', autojoinroomid);\r\n }\r\n\r\n public async StartHangoutAssociateTicket(ticketNumber: string) {\r\n this.invoke('HangoutAssociateWithPreviousTicket', ticketNumber);\r\n }\r\n\r\n onSetCurrentTicket(ticketVM: any, roomVM: any) {\r\n this.ticketService.setCurrentTicket(TicketDataFactory.createTicket(ticketVM));\r\n }\r\n\r\n sendTicketNumbers(ticketArray: Array) {\r\n let ticketDataArray: TicketData[] = new Array();\r\n for (let entry of ticketArray) {\r\n ticketDataArray.push(TicketDataFactory.createTicket(entry));\r\n }\r\n this.ticketService.sendTicketNumbers(ticketDataArray);\r\n }\r\n\r\n public async updateTicket(\r\n ticketList: createTicket[], IsPreviousTicket: boolean) {\r\n\r\n await this.invoke(\"UpdateTicket\", ticketList, IsPreviousTicket);\r\n }\r\n\r\n public async createNewTicket(ticketList: createTicket[], IsPreviousTicket: boolean) {\r\n\r\n await this.invoke(\"CreateNewTicket\", ticketList, IsPreviousTicket);\r\n }\r\n\r\n\r\n onConfirmTicketCreated(ticketCreatedStatus: number) {\r\n this.TicketCreated.next(ticketCreatedStatus);\r\n }\r\n\r\n public async addNewContact(clientId: string, firstName: string, lastName: string, email: string) {\r\n await this.invoke(\"CreateContact\", clientId, firstName, lastName, email);\r\n }\r\n\r\n onContactAdded(contactId: number) {\r\n this.AddedContact.next(contactId);\r\n }\r\n\r\n //DONE\r\n public async sendMessage(message: Message) {\r\n this.messagesService.addMessage(message);\r\n //await this.hubWrapper.invoke(\"SendMessage\", message.room.id, message.text, message.isPrivate).toPromise();\r\n await this.invoke(\"SendMessage\", message.room.id, message.id, message.text, message.isPrivate, message.messageAttachments, null);\r\n }\r\n\r\n\r\n\r\n //DONE\r\n public async sendInitMessage(message: Message) {\r\n this.messagesService.addMessage(message);\r\n //await this.hubWrapper.invoke(\"SendMessage\", message.room.id, message.text, message.isPrivate).toPromise();\r\n await this.invoke(\"SendInitMessage\", message.room.id, message.id, message.text, message.isPrivate);\r\n }\r\n\r\n public async sendPleaseWaitMessage(message: Message) {\r\n //this.messagesService.addMessage(message);\r\n //await this.hubWrapper.invoke(\"SendMessage\", message.room.id, message.text, message.isPrivate).toPromise();\r\n await this.invoke(\"SendPleaseWaitMessage\", message.room.id, message.id, message.text);\r\n }\r\n\r\n public async sendCourseNameMessage(message: Message) {\r\n //this.messagesService.addMessage(message);\r\n //await this.hubWrapper.invoke(\"SendMessage\", message.room.id, message.text, message.isPrivate).toPromise();\r\n await this.invoke(\"SendCourseNameMessage\", message.room.id, message.id, message.text);\r\n }\r\n\r\n public async sendHostNameMessage(message: Message) {\r\n await this.invoke(\"SendHostNameMessage\", message.room.id, message.id, message.text);\r\n }\r\n\r\n\r\n onAddMessage(messageVM: any, roomVM: any) {\r\n\r\n let usr: User = UserFactory.createUser(messageVM.User);\r\n let rvm: Room = RoomFactory.createRoom(roomVM);\r\n let msg = messageFactory.createMessage(messageVM, rvm, usr);\r\n\r\n\r\n from(msg.messageAttachments).pipe(\r\n mergeMap(module => {\r\n if (module.ThumbnailUriUrl == '')\r\n return this.ticketService.downloadFile(module.ContainerName, module.ThumbnailUri).pipe(\r\n tap(apiResponse => {\r\n let objectURL = URL.createObjectURL(apiResponse);\r\n module.ThumbnailUriUrl = objectURL;\r\n //this.sendChangeSignal.emit('send');\r\n }))\r\n else\r\n return of('').pipe(\r\n tap(() => { console.warn(\"already a blob\") })\r\n );\r\n }\r\n ),\r\n toArray()\r\n ).subscribe(allResponses => {\r\n this.messagesService.addMessage(msg);\r\n\r\n });\r\n\r\n //if (messageVM.MessageType !== MessageType.Notification) {\r\n if (this.onSetCurrentRoom) {\r\n this.userService.currentUser.subscribe((currUser) => {\r\n\r\n if (currUser.id !== usr.id && (msg.msgType == MessageType.Default || msg.msgType == MessageType.Notification || msg.msgType == MessageType.System\r\n || msg.msgType == MessageType.Private || msg.msgType == MessageType.MentorSystem))\r\n this.messagesService.newMessageNotification.next(roomVM.RoomGuid);\r\n });\r\n }\r\n this.messagesService.cancelTypingNotification(usr);\r\n //}\r\n }\r\n\r\n private async Reset(roomId: string) {\r\n this.messagesService.clearNotActiveRooms(roomId);\r\n }\r\n\r\n\r\n\r\n\r\n onRoomsSync(data: any, currRoomGuid: any, roomsFirstMessages: any) {\r\n\r\n this.Reset(currRoomGuid);\r\n\r\n let msgs: Message[] = new Array();\r\n\r\n\r\n\r\n setTimeout(() => {\r\n /*Your Code*/\r\n data.forEach(syncData => {\r\n let room: Room = RoomFactory.createRoom(syncData.roomVM);\r\n let usr: User = UserFactory.createUser(syncData.messageVM.User);\r\n let msg = messageFactory.createMessage(syncData.messageVM, room, usr);\r\n\r\n msgs.push(msg);\r\n\r\n //this.messagesService.addMessage(msg);\r\n\r\n if (msg.msgType == MessageType.Default || msg.msgType == MessageType.MentorSystem) {\r\n this.messagesService.newMessageNotification.next(room.id);\r\n this.messagesService.cancelTypingNotification(usr);\r\n }\r\n\r\n });\r\n\r\n this.messagesService.addMessages(msgs);\r\n\r\n }, 100);\r\n\r\n\r\n let lastMsgs: Message[] = new Array();\r\n\r\n roomsFirstMessages.forEach(syncData => {\r\n let room: Room = RoomFactory.createRoom(syncData.roomVM);\r\n let usr: User = UserFactory.createUser(syncData.messageVM.User);\r\n let msg = messageFactory.createMessage(syncData.messageVM, room, usr);\r\n\r\n lastMsgs.push(msg);\r\n });\r\n this.messagesService.roomsLatestMessagesChange.next(lastMsgs);\r\n }\r\n\r\n\r\n\r\n onNotification(messageVM: any, roomVM: any) {\r\n const me: User = UserFactory.createUser(messageVM.User);\r\n const theRoom: Room = RoomFactory.createRoom(roomVM);\r\n this.messagesService.addMessage(\r\n messageFactory.createMessage(messageVM, theRoom, me)\r\n );\r\n\r\n }\r\n\r\n public async getPreviousMsgs(roomGuid: string, lastMsgGuid: string) {\r\n await this.invoke(\"GetPreviousMessages\", roomGuid, lastMsgGuid);\r\n }\r\n\r\n\r\n onRoomMsgHistoryReset(messages: any, room: any) {\r\n //this.Reset(room.RoomGuid);\r\n this.onRoomMsgHistory(messages, room);\r\n };\r\n\r\n\r\n\r\n onRoomMsgHistory(messages: any, room: any) {\r\n\r\n let tmpRoom = RoomFactory.createRoom(room);\r\n\r\n if (localStorage.getItem('selectedRoomToBeOpen') === null || localStorage.getItem('selectedRoomToBeOpen') === tmpRoom.id) {\r\n\r\n let msgs: Message[] = new Array();\r\n\r\n for (let entry of messages) {\r\n msgs.push(messageFactory.createMessage(entry, tmpRoom, UserFactory.createUser(entry.User)));\r\n }\r\n this.messagesService.addMessages(msgs);\r\n\r\n this.roomsService.currentRoomMsgLoaded.next([tmpRoom.id, '-1']);\r\n msgs = null;\r\n }\r\n\r\n\r\n };\r\n\r\n\r\n\r\n public async StartTyping(roomId: string, isPrivate: boolean) {\r\n await this.invoke(\"Typing\", roomId, isPrivate);\r\n }\r\n\r\n\r\n onSetTyping(userVM: any, roomId: any) {\r\n\r\n const me: User = UserFactory.createUser(userVM);\r\n\r\n this.roomsService.currentRoom.subscribe(r => {\r\n if (r.id === roomId) {\r\n this.messagesService.addTypingNotification(me);\r\n roomId = 1;\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n onCancelTyping(userVM: any, roomGuid: any) {\r\n this.messagesService.cancelTypingNotification(UserFactory.createUser(userVM));\r\n }\r\n\r\n\r\n //DONE\r\n\r\n onSetCurrentRoom(roomVM: any) {\r\n if (localStorage.getItem('selectedRoomToBeOpen') === null || localStorage.getItem('selectedRoomToBeOpen') === roomVM.RoomGuid || roomVM.Name == \"Lobby\") {\r\n this.roomsService.setCurrentRoom(RoomFactory.createRoom(roomVM));\r\n localStorage.setItem('selectedRoomToBeOpen', roomVM.RoomGuid);\r\n }\r\n }\r\n\r\n private tmpRoomGuid: string = \"\";\r\n\r\n onSetCurrentRoomOnLeave(roomVM: any, roomGuid: string) {\r\n\r\n //this.roomsService.setCurrentRoom(RoomFactory.createRoom(roomVM));\r\n this.tmpRoomGuid = roomGuid;\r\n localStorage.setItem('selectedRoomToBeOpen', roomGuid);\r\n this.roomsService.setCurrentRoom(RoomFactory.createRoom(roomVM));\r\n\r\n this.tmpRoomGuid = \"\";\r\n }\r\n\r\n\r\n onSetCurrentUser(userVM: any) {\r\n this.userService.setCurrentUser(UserFactory.createUser(userVM))\r\n localStorage.setItem('currAuthor', JSON.stringify(UserFactory.createUser(userVM)));\r\n }\r\n\r\n\r\n public async closeRoom(currentRoom: Room) {\r\n console.log(\"Close room \" + currentRoom.id);\r\n await this.invoke(\"CloseRoom\", currentRoom.id);\r\n }\r\n\r\n public async closeChatPopup(roomId: string) {\r\n await this.invoke(\"closeChatPopup\", roomId);\r\n }\r\n\r\n // @HubSubscription()\r\n // ClientLeftChat(){\r\n // this.userService.ClientLeftRoom();\r\n // }\r\n\r\n onCloseRoom(leaveRoomId: string, authorId: string, messageVM: any, roomVM: any) {\r\n const me: User = UserFactory.createUser(messageVM.User);\r\n const theRoom: Room = RoomFactory.createRoom(roomVM);\r\n this.messagesService.markMsgsAsClosedForRoom(leaveRoomId, authorId, messageFactory.createMessage(messageVM, theRoom, me));\r\n }\r\n\r\n onDestroyRoom(leaveRoomId: string) {\r\n //FNOTE: this should be called after popup is closed\r\n this.messagesService.deleteMessageForRoom(leaveRoomId);\r\n }\r\n\r\n\r\n onClientLeftRoom(leaveRoomId: string, userId: string) {\r\n this.UserLeftRoom.next(true);\r\n }\r\n\r\n\r\n onLeaveRoom(leaveRoomId: string, userId: string) {\r\n // this.UserLeftRoom.next(true);\r\n this.messagesService.leaveRoom(leaveRoomId, userId);\r\n this.removingEndUserSubject.next(false);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n public joinRoom(room: Room, isClocked: boolean) {\r\n let lastId: string = '0'\r\n\r\n this.previousSetRoom = room;\r\n this.previousIsCloackedSet = isClocked;\r\n\r\n if (!this.blockSettingCurrentRoom && room.closed == 0) {\r\n localStorage.setItem('selectedRoomToBeOpen', room.id);\r\n this.joinRoomSubject.next({ roomId: room.id, lastId: lastId, isClocked: isClocked });\r\n }\r\n\r\n }\r\n\r\n setBlockSettingCurrentRoom(value: boolean) {\r\n this.blockSettingCurrentRoom = value;\r\n }\r\n\r\n unblockSetCurrentRoom(): void {\r\n\r\n this.setBlockSettingCurrentRoom(false);\r\n if (this.roomsService.getPreviousRoomSet() != null)\r\n this.joinRoom(this.roomsService.getPreviousRoomSet(), this.previousIsCloackedSet);\r\n }\r\n\r\n\r\n getPreviousRoomSet(): Room {\r\n if (this.previousSetRoom != null)\r\n return this.previousSetRoom;\r\n\r\n return null;\r\n }\r\n\r\n\r\n\r\n onUpdateRoom(roomId: string, userId: String) {\r\n this.messagesService.markMsgsAsAttendedForRoom(roomId, userId);\r\n }\r\n\r\n\r\n onClientIsInitialized() {\r\n this.UserChatInitialized.next(true);\r\n }\r\n\r\n\r\n onHandleException() {\r\n\r\n //run inside zone to update UI \r\n this.ngZone.run(() => {\r\n //FTODO: uncomment this\r\n // this.hubWrapper.invoke(\"LogOut\").toPromise();\r\n // this.hubService.disconnect();\r\n // this.hubWrapper.unregister();\r\n this.disconnect();\r\n this.authenticationService.logout();\r\n window.location.replace('/logout');\r\n this.router.navigate(['login']);\r\n });\r\n }\r\n\r\n\r\n onLogOutInstance() {\r\n this.authenticationService.logout();\r\n\r\n window.location.replace('/logout');\r\n this.router.navigate(['login']);\r\n }\r\n\r\n LogOut() {\r\n this.invoke(\"LogOut\");\r\n this.messagesService.clearAllRoomsMessages('-1');\r\n this.router.navigate(['login']);\r\n //window.location.reload();\r\n }\r\n\r\n\r\n onLogOutClient() {\r\n var clientParams = JSON.parse(localStorage.getItem('clientParams'));\r\n\r\n this.disconnect();\r\n this.authenticationService.logout();\r\n // this.hubService.disconnect();\r\n // this.hubWrapper.unregister();\r\n }\r\n\r\n\r\n public async getUserInfo(userId: string) {\r\n await this.invoke(\"SendUserAndClientInfo\", userId);\r\n }\r\n\r\n onShowUserInfo(user: User, client: Client, statusType: string, clientId: number) {\r\n client.status = statusType;\r\n this.userService.sendUserInfo(new UsersInfo(UserFactory.createUser(user), ClientFactory.createClient(client), clientId));\r\n }\r\n\r\n\r\n /////////////////////////// API - TOMCHE - najbrzo so mozesh \r\n\r\n public async getCurrentTranscript(userId: string, roomId: string) {\r\n await this.invoke(\"SendCurrentTranscript\", userId, roomId);\r\n }\r\n\r\n onProvidedCurrentTranscript(messages: any) {\r\n var currentTranscript = [];\r\n for (var i = 0; i < messages.length; i++) {\r\n currentTranscript.push(messageFactory.createMessagev2(messages[i]));\r\n }\r\n this.messagesService.showCurrentTranscript(currentTranscript);\r\n }\r\n\r\n public async getTranscriptForRoom(roomId: string, lastMessageId: string) {\r\n\r\n await this.invoke(\"GetPreviousMessages\", roomId, '');\r\n }\r\n\r\n public async getTicketInfo(roomId: string) {\r\n\r\n await this.invoke(\"GetTicketInfo\", roomId);\r\n }\r\n\r\n\r\n\r\n\r\n onProvidedAllTranscripts(rooms: any, fullLen: number, currentPage: number, user: User) {\r\n var allTranscripts = [];\r\n for (var i = 0; i < rooms.length; i++) {\r\n allTranscripts.push(RoomFactory.createRoom(rooms[i]));\r\n }\r\n this.roomsService.showAllTranscript(allTranscripts, fullLen, currentPage, UserFactory.createUser(user));\r\n }\r\n\r\n //////////////////////////////////////////////////\r\n\r\n public async RemoveUser(userId: string, roomId: string) {\r\n this.removingEndUserSubject.next(true);\r\n console.log(\"Remove User \" + roomId + \" \" + userId);\r\n await this.invoke(\"RemoveUser\", userId, roomId);\r\n }\r\n\r\n public async BanUser(userId: string, roomId: string) {\r\n await this.invoke(\"BanUser\", userId, roomId);\r\n }\r\n\r\n public async SendSurveyToUser(userId: string, roomId: string) {\r\n await this.invoke(\"SendSurveyToUser\", userId, roomId);\r\n }\r\n\r\n\r\n onSendSurveyAndLogoutUser(roomVM: Room) {\r\n this.ShowSurveyFlag.next(true);\r\n //this.closeRoom(RoomFactory.createRoom(roomVM));\r\n this.authenticationService.logout();\r\n }\r\n\r\n public async SendEmailTranscript(user: User, room: Room) {\r\n await this.invoke(\"SendEmailTranscript\", user.id, room.id);\r\n }\r\n\r\n\r\n onEmailTranscriptError() {\r\n this.userService.emailTransciptErr.next();\r\n }\r\n\r\n\r\n onEmailTranscriptSuccess() {\r\n this.userService.emailTranscriptSuccess.next();\r\n }\r\n\r\n public async ClearPreviousSessions() {\r\n await this.invoke(\"ClearPreviousSessions\");\r\n }\r\n\r\n\r\n onClearActiveSession() {\r\n this.authenticationService.logout();\r\n }\r\n\r\n\r\n onReloadPage() {\r\n window.location.reload();\r\n }\r\n\r\n ShowSurveyWindow() {\r\n this.ShowSurveyFlag.next(true);\r\n }\r\n\r\n\r\n onShowSurveyAndLogout() {\r\n this.ShowSurveyFlag.next(true);\r\n this.authenticationService.logout();\r\n this.disconnect();\r\n // this.hubService.disconnect();\r\n // this.hubWrapper.unregister();\r\n }\r\n\r\n\r\n\r\n\r\n onLogOutAndReload() {\r\n this.authenticationService.logout();\r\n this.disconnect();\r\n // this.hubService.disconnect();\r\n // this.hubWrapper.unregister();\r\n window.location.reload()\r\n }\r\n\r\n\r\n onGetAllConnectedClientsFromLocalStorage(roomId: string) {\r\n var connectionIds = localStorage.getItem(\"allConnectionIds\");\r\n localStorage.removeItem(\"allConnectionIds\");\r\n var restConIdAfterDelete = localStorage.getItem(\"allConnectionIds\");\r\n this.LogoutUserFromAllTabs(connectionIds, roomId);\r\n }\r\n\r\n public async LogoutUserFromAllTabs(connectionIds: string, roomId: string) {\r\n await this.invoke(\"LogoutAllByConnectionId\", connectionIds, roomId);\r\n }\r\n\r\n\r\n onAddConnectionIdToLS(connectionId: string) {\r\n // localStorage.setItem(\"allConnectionIds\", connectionId);\r\n var connectionIds = localStorage.getItem(\"allConnectionIds\");\r\n if (connectionIds == null) {\r\n connectionIds = \"\";\r\n }\r\n connectionIds = connectionIds + connectionId + \";\";\r\n localStorage.setItem(\"allConnectionIds\", connectionIds);\r\n }\r\n\r\n\r\n\r\n\r\n ///////////////////////////////////////////\r\n private broadcastMessage(): void {\r\n this.invoke('NotificationService', 'text message');\r\n };\r\n\r\n private onMessageReceived(serverMessage: string) {\r\n console.log('New message received from Server: ' + serverMessage);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.joinRoomSubject) {\r\n this.joinRoomSubject.unsubscribe();\r\n }\r\n }\r\n\r\n public setCurrentChatMessage(chatMessage: string): void {\r\n this.chatMessageToSendSubject.next(chatMessage);\r\n }\r\n\r\n onAutoJoinRoom(roomVM: any) {\r\n var room = RoomFactory.createRoom(roomVM);\r\n\r\n if (room.mentorCount > 0){\r\n this.PreventAutoJoin.next(room);\r\n }\r\n else{\r\n this.joinRoom(room, false);\r\n this.onSetCurrentRoom(roomVM);\r\n }\r\n\r\n this.router.navigate(['.'], { relativeTo: this.activatedRoute, queryParams: { }});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class CustomizationService {\r\n\r\n constructor() {\r\n\r\n }\r\n\r\n public getPersonalizedColor(colorFileFullPath: string){\r\n var allText = '';\r\n var raw = new XMLHttpRequest(); // create a request\r\n raw.open(\"GET\", colorFileFullPath, false); // open file\r\n raw.onreadystatechange = function (){ // file is ready to read\r\n if(raw.readyState === 4){\r\n if(raw.status === 200 || raw.status == 0){\r\n allText = raw.responseText;\r\n }\r\n }\r\n }\r\n raw.send(null);\r\n return allText != '' ? allText : '#4d5198';\r\n }\r\n\r\n\r\n public getNoCacheImage(imgUrl: string): string{ \r\n return imgUrl + \"?\" + this.getRandomInt(1,1000000);\r\n }\r\n\r\n private getRandomInt(min, max): number {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n }\r\n\r\n}\r\n","\nimport {catchError, map} from 'rxjs/operators';\n\nimport {throwError as observableThrowError, Observable } from 'rxjs';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { ErrorHandler, Injectable, NgModule } from '@angular/core';\n\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\n// import 'rxjs/Rx';\nimport { AppConfig } from '../AppConfig';\n\n// Our service to handle errors (ideally in its own file)\n@Injectable()\nexport class ErrorLogService {\n [x: string]: any;\n private name: String = 'ErrorLogService';\n\n constructor(private http: HttpClient,private config: AppConfig) {\n }\n\n logError(error: any): any {\n\n let errorMsg = '';\n // if (error instanceof HttpErrorResponse) {\n // errorMsg = 'There was an HTTP error. ' + error.message + ' Status code: ' + (error).status + \" - \\n\" + error.stack;\n // } else if (error instanceof TypeError) {\n // errorMsg = 'There was a Type error. ' + error.message + \" - \\n\" + error.stack;\n // } else if (error instanceof Error) {\n // errorMsg = 'There was a general error.' + error.message + \" - \\n\" + error.stack;\n // } else {\n errorMsg = \"msg:\\n \" + error + \" - \\n\\n stack: \\n\" + error.stack;\n // }\n\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n let urlSearchParams = new URLSearchParams();\n urlSearchParams.append('errorMsg', errorMsg);\n let body = { errorMsg: errorMsg};\n \n\n //return this.http.post('/api/Logger/LogException?err=test', body, { headers: headers }).map((response: Response) => {\n \n return this.http.post(this.config.origin + '/api/Logger/LogException', body).pipe(map((response: Response) => {\n //some stuff...\n }),catchError((error: any) => {\n return observableThrowError(error);\n }),);;\n }\n\n\n\n private handleErrorObservable(error: Response | any) {\n console.error(error.message || error);\n return observableThrowError(error.message || error);\n }\n}\n\n// global error handler that utilizes the above created service (ideally in its own file)\n@Injectable()\nexport class GlobalErrorHandler extends ErrorHandler {\n constructor(private errorLogService: ErrorLogService) {\n super();\n }\n\n handleError(error) {\n \n this.errorLogService.logError(error).subscribe(() => console.log(\"-\"));\n\n }\n}","\r\nimport {map} from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { MappingFields } from '../model/MappingFields.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Contact } from '../model/contact.model';\r\nimport * as _ from 'lodash';\r\nimport { Message } from '../model/message.model';\r\nimport { messageFactory } from '../model/messageFactory';\r\nimport { UserFactory } from '../model/userFactory';\r\nimport { RoomFactory } from '../model/RoomFactory';\r\nimport { Room } from '../model/room.model';\r\nimport { AppConfig } from '../AppConfig';\r\n\r\n@Injectable()\r\nexport class IssueService {\r\n private actionUrl: string;\r\n public subissues: any[];\r\n constructor(private _httpClient: HttpClient, private config:AppConfig) {}\r\n\r\n GetAllIssues(): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/Issues\").pipe(\r\n map(data => _.values(data)));\r\n }\r\n\r\n GetAllSubissues(issueId: number): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/Issues/\" + issueId).pipe(\r\n map(data => _.values(data)));\r\n }\r\n\r\n GetContactsForRoom(roomId: string): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/Contacts/\" + roomId).pipe(\r\n map(data => _.values(data)));\r\n }\r\n\r\n GetContactsByUserId(userId: string): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/GetAllContactsByUserId/\" + userId).pipe(\r\n map(data => _.values(data)));\r\n }\r\n\r\n GetAllStatuses(): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/Statuses\").pipe(\r\n map(data => _.values(data)));\r\n }\r\n\r\n GetQueues() {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/Queues\").pipe(\r\n map(data => _.values(data)));\r\n }\r\n\r\n GetPriorities() {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/Priorities\")\r\n .pipe(map(data => _.values(data)));\r\n }\r\n\r\n GetCompanies(clientId: string) {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/Companies/\" + clientId).pipe(\r\n map(data => _.values(data)));\r\n }\r\n\r\n GetChildClientsByUserId(userId: string) {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/GetChildClientsByUserId/\" + userId).pipe(\r\n map(data => _.values(data)));\r\n }\r\n\r\n GetAllContactsByClientId(clientId: number) {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/GetAllContactsByClientId/\" + clientId).pipe(\r\n map(data => _.values(data)));\r\n }\r\n\r\n CheckIfMspAllowsAddingContacts(accountId: number) {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/CheckIfMspAllowsAddingContacts/\" + accountId);\r\n }\r\n\r\n GetTranscript(room: Room): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/Transcript/\" + room.id).pipe(\r\n map(data => {\r\n let msgs: Message[] = new Array();\r\n for (let entry of _.values(data)) {\r\n \r\n msgs.push(messageFactory.createMessageLowercase(entry, room, UserFactory.createUserLowercase(entry.user)));\r\n }\r\n return _.values(msgs) ;\r\n }));\r\n }\r\n\r\n GetRoomMessages(room: Room, lastMsgId: string): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/Transcript1/\" + room.id+ \"/\"+ lastMsgId).pipe(\r\n map(data => _.values(data)));\r\n }\r\n\r\n GetRoomNotes(roomId: string): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/Notes/\" + roomId)\r\n .pipe(map(data => _.values(data)));\r\n }\r\n\r\n AddNewContact(clientId: string, firstName: string, lastName: string, email: string) {\r\n \r\n const body = { \r\n ClientId: clientId, \r\n FirstName: firstName,\r\n LastName: lastName,\r\n Email:email };\r\n\r\n return this._httpClient.post(this.config.origin + '/api/account/contact', body);\r\n\r\n }\r\n\r\n CloseNhdChat(roomGuid: string) {\r\n \r\n const body = { \r\n RoomGuid: roomGuid\r\n };\r\n\r\n return this._httpClient.post(this.config.origin + '/api/popup/closenhdchat', body);\r\n\r\n }\r\n \r\n}","\r\nimport {map} from 'rxjs/operators';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { AppConfig } from '../AppConfig';\r\n\r\nimport * as _ from 'lodash';\r\nimport { ChatLabelSetup } from \"../model/ChatLabels.model\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class LocalizationService {\r\n\r\n private validLocales: Array = [\"en\", \"fr\"];\r\n\r\n constructor(private http: HttpClient,private _httpClient: HttpClient, private config: AppConfig) {\r\n }\r\n\r\n GetLocalizationData() {\r\n return this.http.get(this.config.origin + \"/api/localization/getlocalizationdata\").pipe(\r\n map(data => _.values(data)));\r\n }\r\n\r\n GetBannedClients(){\r\n return this.http.get(this.config.origin + \"/api/localization/getBannedClients\").pipe(\r\n map(data => _.values(data)));\r\n }\r\n\r\n GetCustomLabels(v5id:Number,locale:string): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/localization/getcustomlabels?v5id=\"+v5id+\"&locale=\"+locale).pipe(\r\n map((responseData: any) =>{ \r\n return responseData;\r\n }));\r\n }\r\n\r\n ValidateLocale(locale: any) {\r\n if (locale == null)\r\n return \"en\";\r\n\r\n if (this.validLocales.indexOf(locale) > -1)\r\n return locale;\r\n\r\n return \"en\";\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\n//import { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport { Subject } from 'rxjs';\nimport { NgxSpinnerService } from 'ngx-spinner';\n\n@Injectable()\nexport class MentorSpinnerService {\n\n public spinnerState: Subject = new Subject();\n\n constructor() {\n\n }\n\n public ShowSpinner() {\n this.spinnerState.next(true);\n }\n\n public HideSpinner() {\n this.spinnerState.next(false);\n }\n}\n","\nimport {filter, map, refCount, publishReplay, scan, mergeMap, tap, toArray, flatMap} from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { Subject, Observable, BehaviorSubject, from, of } from 'rxjs';\nimport { Message } from '../model/message.model';\nimport { Room } from '../model/room.model';\nimport { User } from '../model/user';\nimport { MessageType } from '../model/messageType';\nimport { MessageAttachment } from '../model/MessageAttachment.model';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { TicketService } from './ticket.service';\n\n\n\n\nconst initialMessages: Message[] = [];\n\ninterface IMessagesOperation extends Function {\n (messages: Message[]): Message[];\n}\n\n@Injectable()\nexport class MessagesService {\n // a stream that publishes new messages only once\n newMessages: Subject = new Subject();\n prevMessages: Subject = new Subject();\n deleteRoomMessages: Subject = new Subject();\n clearNotAcitveRooms: Subject = new Subject();\n clearAllMessages: Subject = new Subject();\n updateMsgsOnReset: Subject = new Subject();\n\n\n markAsClosedMessages: Subject = new Subject();\n markAsAttendedMessages: Subject = new Subject();\n refreshMessages: Subject = new Subject();\n\n clickCurrentTranscript: Subject> = new Subject>();\n clientInitMessage: Subject = new BehaviorSubject('');\n newMessageNotification: Subject = new Subject();\n\n eduSendClassNameMessage: Subject = new BehaviorSubject('');\n\n currentRoomMsgsAreLoaded: Subject = new Subject();\n\n typingNotification: Subject = new Subject();\n typingNotificationCancel: Subject = new Subject();\n\n roomsLatestMessages: Message[];\n roomsLatestMessagesChange: Subject = new Subject();\n\n // `messages` is a stream that emits an array of the most up to date messages\n messages: Observable;\n\n // `updates` receives _operations_ to be applied to our `messages`\n // it's a way we can perform changes on *all* messages (that are currently\n // stored in `messages`)\n updates: Subject = new Subject();\n\n\n // action streams\n createPrevMessages: Subject = new Subject();\n create: Subject = new Subject();\n markRoomAsRead: Subject = new Subject();\n\n clear: Subject = new Subject();\n clearAll: Subject = new Subject();\n delete: Subject = new Subject();\n markAsClosed: Subject = new Subject();\n markAsAttended: Subject = new Subject();\n leave: Subject = new Subject();\n\n sendHostNameMessage: Subject = new BehaviorSubject('');\n\n constructor( public sanitizer: DomSanitizer, public ticketService:TicketService) {\n\n\n this.messages = this.updates.pipe(\n // watch the updates and accumulate operations on the messages\n scan((messages: Message[],\n operation: IMessagesOperation) => {\n\n return operation(messages);\n },\n initialMessages),\n // make sure we can share the most recent list of messages across anyone\n // who's interested in subscribing and cache the last known list of\n // messages \n\n publishReplay(1),\n refCount(),);\n\n // `create` takes a Message and then puts an operation (the inner function)\n // on the `updates` stream to add the Message to the list of messages.\n //\n // That is, for each item that gets added to `create` (by using `next`)\n // this stream emits a concat operation function.\n //\n // Next we subscribe `this.updates` to listen to this stream, which means\n // that it will receive each operation that is created\n //\n // Note that it would be perfectly acceptable to simply modify the\n // \"addMessage\" function below to simply add the inner operation function to\n // the update stream directly and get rid of this extra action stream\n // entirely. The pros are that it is potentially clearer. The cons are that\n // the stream is no longer composable.\n this.create.pipe(\n map(function (message: Message): IMessagesOperation {\n return (messages: Message[]) => {\n console.log(\"cnt# \" + messages.length);\n try {\n\n\n\n //check if msg is duplicate \n var index = messages.findIndex((msg) => msg.id == message.id);\n console.log('cnt# ' + messages.length);\n\n\n if (index !== -1) {\n //update message time\n messages.splice(index, 1, message);\n return messages;\n }\n\n\n if (message.msgType === MessageType.Notification) {\n\n var tmpMsgs = messages;\n let firstMsg = messages.find((msg) => msg.author.id === message.author.id && msg.room.id === message.room.id && msg.msgType === MessageType.Notification && msg.uninhibited == false);\n\n tmpMsgs.filter((msg) => msg.author.id === message.author.id && msg.room.id === message.room.id && msg.msgType === MessageType.Notification && msg.uninhibited == false)\n .map((message: Message) => {\n if (firstMsg.id !== message.id) {\n let index = messages.findIndex(m => m.id === message.id);\n tmpMsgs.splice(index, 1);\n }\n });\n\n messages = tmpMsgs;\n }\n\n \n\n return messages.concat(message);\n }\n catch (err) {\n\n }\n };\n }))\n .subscribe(this.updates);\n\n this.roomsLatestMessagesChange.subscribe((latests:Message[])=>{\n this.roomsLatestMessages= latests;\n });\n\n this.newMessages\n .subscribe(this.create);\n\n // this.createPrevMessages.pipe(\n // mergeMap((msgs: Message[])=>{\n \n // })\n // )\n\n this.createPrevMessages.pipe(\n map(function (msgs: Message[]): IMessagesOperation {\n return (messages: Message[]) => {\n\n msgs.forEach(function (msg) {\n\n var index = messages.findIndex((elt) => elt.id === msg.id);\n if (index === -1)\n messages.push(msg);\n });\n \n return messages;\n };\n }))\n .subscribe(this.updates);\n\n\n\n\n this.prevMessages.subscribe(this.createPrevMessages);\n\n // delete msgs when leaving the room\n this.delete.pipe(\n map(function (roomId: String): IMessagesOperation {\n return (messages: Message[]) => {\n\n var index = messages.findIndex((elt) => elt.room.id === roomId);\n while (index !== -1) {\n messages.splice(index, 1);\n index = messages.findIndex((elt) => elt.room.id === roomId);\n }\n return messages;\n };\n }))\n .subscribe(this.updates);\n\n this.deleteRoomMessages\n .subscribe(this.delete);\n\n /////////////////////////////////////////\n this.clear.pipe(\n map(function (roomId: String): IMessagesOperation {\n return (messages: Message[]) => {\n\n if (messages.length > 800) {\n console.log(\"CLEAR IN ACTION....\")\n var index = messages.findIndex((elt) => elt.room.id !== roomId);\n while (index !== -1) {\n messages.splice(index, 1);\n index = messages.findIndex((elt) => elt.room.id !== roomId);\n }\n }\n return messages;\n };\n }))\n .subscribe(this.updates);\n\n this.clearNotAcitveRooms\n .subscribe(this.clear);\n\n this.clearAll.pipe(\n map(function (roomId: String): IMessagesOperation {\n return (messages: Message[]) => {\n messages.splice(0,messages.length)\n \n return messages;\n };\n }))\n .subscribe(this.updates);\n \n this.clearAllMessages\n .subscribe(this.clearAll);\n\n ////////////////////////\n\n\n\n this.markAsClosed.pipe(\n map(function (ids: any[]): IMessagesOperation {\n return (messages: Message[]) => {\n\n let roomId = ids[0];\n let authorId = ids[1];\n let notificationMessge = ids[2];\n\n\n var index = messages.findIndex((elt) => elt.room.id === roomId);\n while (index !== -1) {\n messages.splice(index, 1);\n index = messages.findIndex((elt) => elt.room.id === roomId);\n }\n\n notificationMessge.msgType = MessageType.MarkAsPendingClosed;\n notificationMessge.closedByUserId = notificationMessge.author.id;\n\n messages.push(notificationMessge);\n\n return messages;\n };\n }))\n .subscribe(this.updates);\n\n this.markAsClosedMessages\n .subscribe(this.markAsClosed);\n\n\n\n this.markAsAttended.pipe(\n map(function (ids: any[]): IMessagesOperation {\n return (messages: Message[]) => {\n\n\n var index = messages.findIndex((elt) => elt.room.id === ids[0] && elt.author.id == ids[1] && elt.uninhibited);\n while (index !== -1) {\n var msg = messages[index];\n msg.uninhibited = false;\n messages.splice(index, 1, msg);\n\n index = messages.findIndex((elt) => elt.room.id === ids[0] && elt.author.id == ids[1] && elt.uninhibited);\n }\n return messages;\n };\n }))\n .subscribe(this.updates);\n\n this.markAsAttendedMessages\n .subscribe(this.markAsAttended);\n\n\n\n this.leave.pipe(\n map(function (ids: any[]): IMessagesOperation {\n return (messages: Message[]) => {\n\n var index = messages.findIndex((elt) => elt.room.id === ids[0] && elt.author.id == ids[1] && elt.uninhibited == false);\n while (index !== -1) {\n try {\n\n var msg = messages[index];\n msg.uninhibited = true;\n msg.wasUninhibited = true;\n\n messages.splice(index, 1, msg);\n\n index = messages.findIndex((elt) => elt.room.id === ids[0] && elt.author.id == ids[1] && elt.uninhibited == false);\n }\n catch (err) {\n\n console.log('ERROR LEAVE: ' + index + ' ' + err);\n }\n }\n\n return messages;\n };\n }))\n .subscribe(this.updates);\n\n\n const compareFn = (a, b) => {\n if (a.sentAt > b.sentAt) {\n return 1;\n } else if (b.sentAt > a.sentAt) {\n return -1;\n } else {\n return 0;\n }\n };\n const compareFnDesc = (a, b) => {\n if (a.sentAt > b.sentAt) {\n return -1;;\n } else if (b.sentAt > a.sentAt) {\n return 1;;\n } else {\n return 0;\n }\n };\n\n this.refreshMessages.subscribe(this.leave);\n\n\n // similarly, `markRoomAsRead` takes a Room and then puts an operation\n // on the `updates` stream to mark the Messages as read\n this.markRoomAsRead.pipe(\n map((room: Room) => {\n return (messages: Message[]) => {\n return messages.map((message: Message) => {\n // note that we're manipulating `message` directly here. Mutability\n // can be confusing and there are lots of reasons why you might want\n // to, say, copy the Message object or some other 'immutable' here\n if (message.room.id === room.id) {\n message.isRead = true;\n }\n return message;\n });\n };\n }))\n .subscribe(this.updates);\n\n }\n\n addMessage(message: Message): any {\n this.newMessages.next(message);\n\n }\n // abv\n addMessages(messages: Message[]): void {\n this.prevMessages.next(messages);\n }\n\n\n markMsgsAsClosedForRoom(roomId: String, authorId: String, notificationMsg: Message): void {\n let ids = [roomId, authorId, notificationMsg];\n this.markAsClosedMessages.next(ids);\n }\n\n deleteMessageForRoom(roomId: String): void {\n this.deleteRoomMessages.next(roomId);\n }\n\n clearNotActiveRooms(roomId: String): void {\n this.clearNotAcitveRooms.next(roomId);\n }\n\n clearAllRoomsMessages(roomId: String): void {\n this.clearAllMessages.next(roomId);\n }\n\n markMsgsAsAttendedForRoom(roomId: String, userId: String): void {\n let ids = [roomId, userId];\n this.markAsAttendedMessages.next(ids);\n }\n\n leaveRoom(roomId: String, userId: String): void {\n let ids = [roomId, userId];\n this.refreshMessages.next(ids);\n }\n\n messagesForRoomUser(room: Room, user: User): Observable {\n return this.newMessages.pipe(\n filter((message: Message) => {\n // belongs to this room\n return (message.room.id === room.id) &&\n // and isn't authored by this user\n (message.author.id !== user.id);\n }));\n }\n addTypingNotification(usr: User): void {\n this.typingNotification.next(usr);\n }\n\n cancelTypingNotification(usr: User): void {\n this.typingNotificationCancel.next(usr);\n }\n\n showCurrentTranscript(messages: Array): void {\n this.clickCurrentTranscript.next(messages);\n }\n\n getLastMessageForTheRoom(roomId:string):string{\n var filteredMessage=this.roomsLatestMessages.filter(msg=>msg.room.id==roomId);\n if(filteredMessage.length>0)\n return filteredMessage[0].id;\n return null;\n }\n\n}\n\nexport const messagesServiceInjectables: Array = [\n MessagesService\n];\n","import { Injectable, NgZone } from '@angular/core';\nimport { Observable , Subject } from 'rxjs';\nimport * as Msal from 'msal';\nimport { UserFactory } from '../model/userFactory';\nimport { ChatService } from './chatservice';\n\n\n\n\n\n@Injectable()\nexport class MsalService {\n authSubject: Subject;\n\n msalConfig = {\n auth: {\n clientId: 'c2d3ca0d-3771-4c81-a768-42de761d8a69',\n authority: \"https://login.microsoftonline.com/6284ba90-b4d1-4fc6-9391-47930def9f33\" //This is your tenant info\n }\n };\n graphConfig = {\n graphMeEndpoint: \"https://graph.microsoft.com/v1.0/me\"\n };\n\n\n clientApplication: any;\n requestObj = {\n scopes: ['https://globalmentoring.com/WebApiAuth/user_impersonation']\n // scopes: [\"user.read\",\"Directory.Read.All\",\"user_impersonation\"]\n };\n\n constructor(private ngZone: NgZone) {\n\n this.authSubject = new Subject();\n this.clientApplication = new Msal.UserAgentApplication(this.msalConfig);\n }\n\n\n\n\n // create a request object for login or token request calls\n // In scenarios with incremental consent, the request object can be further customized\n\n public login(): void {\n\n\n //this.clientApplication.loginPopup(this.requestObj).then(function (loginResponse) {\n this.clientApplication.loginPopup(this.requestObj).then((loginResponse) => {\n\n // if the user is already logged in you can acquire a token\n if (this.clientApplication.getAccount()) {\n \n this.clientApplication.acquireTokenSilent(this.requestObj)\n .then(response => {\n // get access token from response \n this.saveAccessTokenToCache(response.accessToken);\n \n let user = UserFactory.createOffice365User(response.account.accountIdentifier , response.account.name, response.account.userName);\n localStorage.setItem('currentUser', JSON.stringify(user)); \n this.authSubject.next(true);\n\n })\n .catch(err => {\n console.log(\"error\");\n // could also check if err instance of InteractionRequiredAuthError if you can import the class.\n if (err.name === \"InteractionRequiredAuthError\") {\n return this.clientApplication.acquireTokenPopup(this.requestObj)\n .then(response => {\n // get access token from response\n // response.accessToken\n this.saveAccessTokenToCache(response.accessToken);\n })\n .catch(err => {\n // handle error\n console.log(\"Error acquiring the popup:\\n\" + err);\n });\n }\n });\n } else {\n // user is not logged in, you will need to log them in to acquire a token\n console.log(\" user is not logged in, you will need to log them in to acquire a token\");\n }\n\n\n\n\n\n\n\n\n\n\n // let user = UserFactory.createOffice365User(loginResponse.idToken.rawIdToken, loginResponse.account.name);\n // localStorage.setItem('currentUser', JSON.stringify(user));\n // localStorage.setItem('BearerToken', loginResponse.idToken.rawIdToken);\n\n // //this.saveAccessTokenToCache(this.newMethod());\n // this.authSubject.next(true);\n\n }).catch(function (error) {\n //Please check the console for errors\n\n });\n\n\n }\n\n\n saveAccessTokenToCache(accessToken: string): void {\n console.log(\"t\");\n localStorage.setItem('BearerToken', accessToken);\n\n }\n ;\n logout(): void {\n this.clientApplication.logout();\n }\n ;\n isOnline(): any {\n return this.clientApplication.getUser() != null; \n }\n ;\n}\n","export class PagerService {\r\n getPager(totalItems: number, currentPage: number = 1, pageSize: number = 10) {\r\n // calculate total pages\r\n let totalPages = Math.ceil(totalItems / pageSize);\r\n \r\n // ensure current page isn't out of range\r\n if (currentPage < 1) { \r\n currentPage = 1; \r\n } else if (currentPage > totalPages) { \r\n currentPage = totalPages; \r\n }\r\n \r\n let startPage: number, endPage: number;\r\n if (totalPages <= 10) {\r\n // less than 10 total pages so show all\r\n startPage = 1;\r\n endPage = totalPages;\r\n } else {\r\n // more than 10 total pages so calculate start and end pages\r\n if (currentPage <= 6) {\r\n startPage = 1;\r\n endPage = 10;\r\n } else if (currentPage + 4 >= totalPages) {\r\n startPage = totalPages - 9;\r\n endPage = totalPages;\r\n } else {\r\n startPage = currentPage - 5;\r\n endPage = currentPage + 4;\r\n }\r\n }\r\n \r\n // calculate start and end item indexes\r\n let startIndex = (currentPage - 1) * pageSize;\r\n let endIndex = Math.min(startIndex + pageSize - 1, totalItems - 1);\r\n \r\n // create an array of pages to ng-repeat in the pager control\r\n let pages = Array.from(Array((endPage + 1) - startPage).keys()).map(i => startPage + i);\r\n \r\n // return object with all pager properties required by the view\r\n return {\r\n totalItems: totalItems,\r\n currentPage: currentPage,\r\n pageSize: pageSize,\r\n totalPages: totalPages,\r\n startPage: startPage,\r\n endPage: endPage,\r\n startIndex: startIndex,\r\n endIndex: endIndex,\r\n pages: pages\r\n };\r\n }\r\n}","import { Injectable, EventEmitter, OnDestroy, NgZone } from \"@angular/core\";\nimport { Subject, ReplaySubject, Observer , Observable } from 'rxjs';\nimport { AppConfig } from \"../AppConfig\";\nimport { AuthenticationService } from './authentication.service';\n\nexport enum ConnectionState {\n Connecting = 0,\n Connected = 1,\n Reconnecting = 2,\n Disconnected = 4\n}\ndeclare var $: any;\n@Injectable()\nexport class RhubService {\n private hubName: string = \"ChatHub\";\n private hubConnection: any;\n protected hubProxy: any;\n protected subscriptions = new Map>();\n\n public constructor(private zone: NgZone,private config: AppConfig,private authService: AuthenticationService) {\n\n\n }\n\n public initRHub(): void {\n let currentUser = JSON.parse(localStorage.getItem('currentUser'));\n\n let signalRServerEndPoint = this.config.origin;\n\n //for dev publish\n let token = localStorage.getItem('BearerToken');\n \n \n \n if(signalRServerEndPoint=='https://dev.globalmentoring.com/MentorAppWeb/')\n {\n this.hubConnection = $.hubConnection('/MentorAppWeb/signalr', {useDefaultPath: false});\n }\n else if(signalRServerEndPoint=='https://dev.globalmentoring.com/MentorAppDelta/')\n {\n this.hubConnection = $.hubConnection('/MentorAppDelta/signalr', {useDefaultPath: false});\n }\n else\n {\n this.hubConnection = $.hubConnection();\n } \n\n this.hubConnection.qs = { \"Authorization\" : token };\n\n this.hubProxy = this.hubConnection.createHubProxy(this.hubName);\n\n this.hubConnection.stateChanged((state: any) => {\n const newState = this.getConnectionState(state);\n this.connectionStateChange.next(newState);\n });\n\n this.hubConnection.error((error: any) => { \n \n if(error.context!=undefined &&error.context.status===401){\n this.authService.logout();\n window.location.reload();\n }else{\n this.connectionError.next(error);\n }\n });\n }\n\n public startRHub(): any {\n return this.hubConnection.start();\n \n \n // .done(function(){console.log(\"signalR is connected\");})\n // .fail(function(error){\n // console.log(\"signalR connection failure\");});\n }\n\n\n public ngOnDestroy(): void {\n\n if (this.hubProxy == null) {\n return;\n }\n this.subscriptions.forEach((subject) => {\n subject.complete();\n });\n this.subscriptions.clear();\n this.hubProxy = null;\n\n this.connectionStateChange.complete();\n this.connectionError.complete();\n\n\n }\n\n private getConnectionState(state: any): ConnectionState {\n switch (state.newState) {\n case ConnectionState.Connecting:\n return ConnectionState.Connecting;\n case ConnectionState.Connected:\n return ConnectionState.Connected;\n case ConnectionState.Reconnecting:\n return ConnectionState.Reconnecting;\n case ConnectionState.Disconnected:\n return ConnectionState.Disconnected;\n default:\n return ConnectionState.Connecting;\n }\n }\n\n public connectionStateChange = new EventEmitter();\n\n public connectionError = new EventEmitter();\n\n public disconnect(): void {\n if (this.hubProxy == null) {\n return;\n }\n this.subscriptions.forEach((subject) => {\n subject.complete();\n });\n this.subscriptions.clear();\n this.hubProxy = null;\n }\n\n public async invoke(actionName: string, ...data: any[]): Promise {\n await this.prepareHubProxy((proxy) => proxy.on(\"$$__FAKE_EVENT\", () => { return; }));\n const result = await this.hubProxy.invoke(actionName, ...data);\n return result;\n }\n\n public async listen(eventName: string): Promise> {\n const subject = await this.getCachedSubject(eventName);\n return this.getZonedObservable(subject);\n }\n\n private async getCachedSubject(eventName: string): Promise> {\n if (this.subscriptions.has(eventName)) {\n return this.subscriptions.get(eventName);\n }\n const subject = new ReplaySubject();\n await this.listenAsync(eventName, (...data: any[]) => {\n subject.next(data);\n });\n this.subscriptions.set(eventName, subject);\n return subject;\n }\n\n private getZonedObservable(observable: Observable): Observable {\n return Observable.create((observer: Observer) => {\n const onNext = (value: T) => this.zone.run(() => observer.next(value));\n const onError = (error: any) => this.zone.run(() => observer.error(error));\n const onComplete = () => this.zone.run(() => observer.complete());\n const subscription = observable.subscribe(onNext, onError, onComplete);\n return () => subscription.unsubscribe();\n });\n }\n\n public async listenAsync(eventName: string, handler: (...data: any[]) => void): Promise {\n const result = await this.prepareHubProxy((proxy) => proxy.on(eventName, handler));\n return result;\n }\n\n private async prepareHubProxy(listener: (proxy: any) => void): Promise {\n \n if (this.hubProxy == null) {\n this.hubProxy = this.hubConnection.createHubProxy(this.hubName);\n }\n listener(this.hubProxy);\n if (this.hubConnection.state === ConnectionState.Disconnected) \n {\n const result = await this.hubConnection.start()\n return result;\n } else \n {\n return null;\n }\n }\n}\n","\nimport {combineLatest, map, debounceTime} from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { Subject, BehaviorSubject, Observable, Operator } from 'rxjs';\n\n\nimport * as _ from 'lodash';\nimport { Room, RoomGroup } from '../model/room.model';\nimport { MessagesService } from './messages.service';\nimport { Message } from '../model/message.model';\nimport { UsersService } from './users.service';\nimport { User } from '../model/user';\nimport { UserFactory } from '../model/userFactory';\nimport { RoomFactory } from '../model/RoomFactory';\n\nimport { MessageType } from '../model/messageType';\nimport { RoomType } from '../model/RoomType';\nimport { debug } from 'util';\nimport { ChatUser } from '../model/chatuser.model';\n\n\n\n\n\ninterface IRoomMemberOperation extends Function {\n (currRoomMembers: User[]): User[];\n}\n\n\n@Injectable()\nexport class RoomsService {\n // `rooms` is a observable that contains the most up to date list of rooms\n //rooms: Observable<{ [key: string]: Room }>;\n\n clickAllTranscript: Subject> = new Subject>();\n allTranscriptsLen: Subject = new Subject();\n setCurrentPage: Subject = new Subject();\n currentTranscriptUser: Subject = new Subject();\n\n checkIfClosePopupNeeded: Subject=new Subject();\n loadNewComponent: Subject= new Subject();\n preselectTab: Subject=new Subject();\n\n\n //roomUsers: Observable = new Observable();\n\n //my rooms is a observable that contains the most up to date list of rooms in which mentor is part of\n //myRooms: Observable<{ [key: string]: Room }>;\n\n notRespondedRooms: Observable;\n notRespondedRoomsCache: Room[] = [RoomFactory.createEmptyRoom()];\n\n handleCloseRoomSubject: Subject = new Subject();\n newChatSoundNotification: Subject = new Subject();\n\n handleChatOrTicketWindow: Subject = new Subject();\n // `orderedRooms` contains a newest-first chronological list of rooms\n orderedRooms: Observable;\n orderedMyRooms: Observable;\n\n //groupedRooms: Observable<{ [key: string]: Room[] }>;\n groupedRooms: Observable;\n groupedMyRooms: Observable;\n\n closedRooms: Observable;\n roomAsArrayCache: Room[];\n // abv\n // `currentRoom` contains the currently selected room\n private previousSetRoom:Room=null;\n currentRoom: Subject =\n new BehaviorSubject(new Room());\n private blockSettingCurrentRoom:boolean=false;\n private isAllSessionsSelected:boolean=false;\n currentRoomMsgLoaded: Subject = new BehaviorSubject(['','']);\n\n newRoom: Subject = new Subject();\n\n clearRoomMembers: Subject = new Subject();\n createRoomMembers: Subject = new Subject();\n updateRoomMembers: Subject = new Subject();\n refreshRoomMembers: Subject = new Subject();\n\n // `currentRoomMessages` contains the set of messages for the currently\n // selected room\n currentRoomMessagesForClient: Observable;\n currentRoomMessages: Observable;\n currentRoomMembers: Observable;\n\n\n ////////////////////////////\n updateGroupByName: Subject = new BehaviorSubject(null);\n groupRoomsByName: RoomGroup[] = [];\n\n updateMyGroupByName: Subject = new BehaviorSubject(null);\n groupMyRoomsByName: RoomGroup[] = [];\n\n\n\n\n constructor(public messagesService: MessagesService, public userService: UsersService) {\n\n const roomsTmp: { [key: string]: Room } = {};\n let usrsPerRoom: Map = new Map();\n\n const compareFn = (a, b) => {\n if (a.session > b.session) {\n return 1;\n } else if (b.session > a.session) {\n return -1;\n } else {\n return 0;\n }\n };\n const compareFnDesc = (a, b) => {\n if (a.session > b.session) {\n return -1;;\n } else if (b.session > a.session) {\n return 1;;\n } else {\n return 0;\n }\n };\n\n ///////////////////////////////////////////////////////////////////////////////////////\n\n // this.groupedRooms = this.updateGroupByName.map(() => {\n // console.log('REFRESH GROUP BY NAME');\n // //return _.cloneDeep(this.groupByName);\n // return _.cloneDeep(_.sortBy(this.groupRoomsByName, (t: RoomGroup) => t.type));\n // });\n\n // messagesService.newMessages.subscribe(msg => {\n // let newRoom: Room = msg.room;\n // var index = this.groupRoomsByName.findIndex(s => s.type == msg.room.type);\n // if (index == -1) {\n // newRoom.firstMessage = msg;\n // newRoom.lastMessage = msg;\n // newRoom.roomStatus = msg.room.roomStatus;\n // if (msg.msgType !== MessageType.MarkAsPendingClosed)\n // this.groupRoomsByName.push(new RoomGroup(newRoom.type, newRoom));\n // }\n // else {\n\n // var roomIndex = this.groupRoomsByName[index].rooms.findIndex(r => r.id == newRoom.id);\n\n // if (roomIndex === -1) {\n // if (msg.msgType !== MessageType.MarkAsPendingClosed) {\n // newRoom.firstMessage = msg;\n // newRoom.lastMessage = msg;\n // newRoom.roomStatus = msg.room.roomStatus;\n // this.groupRoomsByName[index].rooms.push(newRoom);\n // }\n // }\n // else {\n // if (index !== -1 && roomIndex !== -1) {\n // if (msg.author.isMentor)\n // this.groupRoomsByName[index].rooms[roomIndex].lastMessage = msg.room.lastMessage;\n // this.groupRoomsByName[index].rooms[roomIndex].roomStatus = msg.room.roomStatus;\n // }\n // }\n\n // }\n // this.updateGroupByName.next(true);\n // });\n\n\n\n\n\n this.groupedRooms = messagesService.messages.pipe(debounceTime(500),\n map((messages: Message[]) => {\n\n const rooms: { [key: string]: Room } = {};\n\n let groupByName: RoomGroup[] = [];\n\n //console.log(\"THROTTLE TIME\"); \n messages.sort(compareFn).forEach(function (msg) {\n let newRoom: Room = new Room();\n newRoom = msg.room;\n var index = groupByName.findIndex(s => s.type == msg.room.type);\n if (index == -1) {\n newRoom.firstMessage = msg;\n newRoom.lastMessage = msg;\n newRoom.roomStatus = msg.room.roomStatus;\n newRoom.session = msg.room.session;\n newRoom.language = msg.room.language;\n newRoom.mentorCount=msg.room.mentorCount;\n if (msg.author.isMentor)\n newRoom.lastActiveMentor = msg.author.name.toString();\n if (msg.msgType !== MessageType.MarkAsPendingClosed && userService.checkMentorRole(newRoom.type))\n groupByName.push(new RoomGroup(newRoom.type, newRoom));\n }\n else {\n\n var roomIndex = groupByName[index].rooms.findIndex(r => r.id == newRoom.id);\n\n if (roomIndex === -1) {\n if (msg.msgType !== MessageType.MarkAsPendingClosed && userService.checkMentorRole(newRoom.type)) {\n newRoom.firstMessage = msg;\n newRoom.lastMessage = msg;\n newRoom.roomStatus = msg.room.roomStatus;\n newRoom.session = msg.room.session;\n newRoom.language = msg.room.language;\n newRoom.mentorCount=msg.room.mentorCount;\n if (msg.author.isMentor)\n newRoom.lastActiveMentor = msg.author.name.toString();\n groupByName[index].rooms.push(newRoom);\n }\n }\n else {\n if (index !== -1 && roomIndex !== -1) {\n newRoom.language = msg.room.language;\n groupByName[index].rooms[roomIndex].session = msg.room.session;\n groupByName[index].rooms[roomIndex].roomStatus = msg.room.roomStatus;\n groupByName[index].rooms[roomIndex].mentorCount = msg.room.mentorCount;\n\n if (msg.author.isMentor) {\n groupByName[index].rooms[roomIndex].lastMessage = msg.room.lastMessage;\n groupByName[index].rooms[roomIndex].lastActiveMentor = msg.author.name.toString();\n }\n\n }\n }\n\n }\n\n });\n\n\n let currentUser = JSON.parse(localStorage.getItem('currAuthor'));\n\n \n\n groupByName.sort(compareFn).forEach(element => {\n element.rooms.forEach(room => {\n let count = messages.filter(m => m.room.id === room.id);\n if (room.name === \"Lobby\")\n room.roomStatus = 2;\n let mentorsCount: string[] = [];\n messages.filter(m => m.room.id === room.id && m.author.isMentor && m.uninhibited === false).forEach(element => {\n if (mentorsCount.findIndex(m => m === element.author.id) === -1) {\n mentorsCount.push(element.author.id);\n }\n });\n\n //room.mentorCount = mentorsCount.length;\n room.currMentorIsPartOfTheRoom = false;\n if (mentorsCount.findIndex(authorId => authorId === currentUser.id) !== -1)\n room.currMentorIsPartOfTheRoom = true;\n\n var msgSorted=count.sort(compareFn);\n \n var msgMentor=msgSorted.filter(x=>x.author.isMentor)[0];\n if(msgMentor)\n room.lastActiveMentor = msgMentor.author.name.toString();\n });\n });\n\n \n \n return _.cloneDeep(_.sortBy(groupByName, (t: RoomGroup) => t.type));\n }),);\n\n ///////////////////////////////////////////////////////////////////////////////////////////////////////\n\n\n // this.groupedMyRooms = this.updateMyGroupByName.map(() => {\n // console.log('REFRESH GROUP BY NAME');\n // //return _.cloneDeep(this.groupByName);\n // return _.cloneDeep(_.sortBy(this.groupMyRoomsByName, (t: RoomGroup) => t.type));\n // });\n\n // messagesService.newMessages.subscribe(msg => {\n // let newRoom: Room = msg.room;\n // var index = this.groupMyRoomsByName.findIndex(s => s.type == msg.room.type);\n // if (index == -1) {\n // newRoom.firstMessage = msg;\n // newRoom.lastMessage = msg;\n // newRoom.roomStatus = msg.room.roomStatus;\n // if (msg.msgType !== MessageType.MarkAsPendingClosed)\n // this.groupMyRoomsByName.push(new RoomGroup(newRoom.type, newRoom));\n // }\n // else {\n\n // var roomIndex = this.groupMyRoomsByName[index].rooms.findIndex(r => r.id == newRoom.id);\n\n // if (roomIndex === -1) {\n // if (msg.msgType !== MessageType.MarkAsPendingClosed) {\n // newRoom.firstMessage = msg;\n // newRoom.lastMessage = msg;\n // newRoom.roomStatus = msg.room.roomStatus;\n // this.groupMyRoomsByName[index].rooms.push(newRoom);\n // }\n // }\n // else {\n // if (index !== -1 && roomIndex !== -1) {\n // if (msg.author.isMentor)\n // this.groupMyRoomsByName[index].rooms[roomIndex].lastMessage = msg.room.lastMessage;\n // this.groupMyRoomsByName[index].rooms[roomIndex].roomStatus = msg.room.roomStatus;\n // }\n // }\n\n // }\n // this.updateMyGroupByName.next(true);\n // });\n\n\n this.groupedMyRooms = messagesService.messages.pipe(debounceTime(500),\n map((messages: Message[]) => {\n const rooms: { [key: string]: Room } = {};\n\n let groupByName: RoomGroup[] = [];\n let currentUser = JSON.parse(localStorage.getItem('currAuthor'));\n\n\n messages.sort(compareFn).forEach(function (msg) {\n let newRoom: Room = msg.room;\n\n var index = groupByName.findIndex(s => s.type == msg.room.type);\n if (index == -1) {\n newRoom.firstMessage = msg;\n newRoom.lastMessage = msg;\n if (msg.msgType !== MessageType.MarkAsPendingClosed && !msg.uninhibited && msg.author.id == currentUser.id && userService.checkMentorRole(newRoom.type))\n groupByName.push(new RoomGroup(newRoom.type, newRoom));\n }\n else {\n\n var roomIndex = groupByName[index].rooms.findIndex(r => r.id == newRoom.id);\n\n if (roomIndex == -1) {\n if (msg.msgType !== MessageType.MarkAsPendingClosed && !msg.uninhibited && msg.author.id == currentUser.id && userService.checkMentorRole(newRoom.type)) {\n newRoom.firstMessage = msg;\n newRoom.lastMessage = msg;\n groupByName[index].rooms.push(newRoom);\n }\n }\n else {\n if (msg.author.isMentor)\n groupByName[index].rooms[roomIndex].lastMessage = msg.room.lastMessage;\n groupByName[index].rooms[roomIndex].roomStatus = msg.room.roomStatus;\n }\n\n }\n\n\n });\n\n\n\n groupByName.sort(compareFn).forEach(element => {\n element.rooms.forEach(room => {\n let count = messages.filter(m => m.room.id === room.id && m.author.isMentor);\n if (room.name === \"Lobby\")\n room.roomStatus = 2;\n let mentorsCount: string[] = [];\n messages.filter(m => m.room.id === room.id && m.author.isMentor).forEach(element => {\n if (mentorsCount.findIndex(m => m === element.author.id) === -1) {\n mentorsCount.push(element.author.id);\n }\n });\n\n //room.mentorCount = room.mentorsCount;\n if (mentorsCount.findIndex(authorId => authorId === currentUser.id) !== -1)\n room.currMentorIsPartOfTheRoom = true;\n });\n });\n\n return _.cloneDeep(_.sortBy(groupByName, (t: RoomGroup) => t.type));\n //return groupByName;\n }),);\n\n\n\n\n\n\n this.notRespondedRooms = messagesService.messages.pipe(debounceTime(500),\n map((messages: Message[]) => {\n const rooms: { [key: string]: Room } = {};\n\n messages.forEach(function (message) {\n let lastRoomStatus = message.room.roomStatus;\n if (message.msgType !== MessageType.MarkAsPendingClosed && message.room.roomStatus===1\n && userService.checkMentorRole(message.room.type)) {\n lastRoomStatus = message.room.roomStatus; \n rooms[message.room.id] = rooms[message.room.id] || message.room;\n rooms[message.room.id].lastMessage = message;\n rooms[message.room.id].roomStatus = 1;\n\n if (rooms[message.room.id].firstMessage == undefined)\n rooms[message.room.id].firstMessage = message;\n }\n });\n\n let roomsAsArray: Room[] = [];\n Object.keys(rooms).map(itm => rooms[itm]).forEach(val => {\n //Object[\"values\"](rooms).forEach(val => {\n\n let cntUninhibited = messages.filter(msg => msg.author.isMentor && msg.uninhibited == true && msg.room.id == (val).id).length;\n let cntMentors = messages.filter(msg => msg.author.isMentor && msg.room.id == (val).id).length;\n\n if (cntUninhibited === cntMentors)\n roomsAsArray.push(val);\n });\n\n\n let startNotification = false;\n roomsAsArray.forEach(element => {\n var rez = this.notRespondedRoomsCache.find(r => r.id === element.id);\n\n if (rez === undefined && !startNotification) {\n startNotification = true;\n this.newChatSoundNotification.next(true);\n }\n });\n\n this.notRespondedRoomsCache = roomsAsArray;\n\n return _.sortBy(roomsAsArray, (t: Room) => t.session);\n //return roomsAsArray;\n }),);\n\n\n this.closedRooms = messagesService.messages.pipe(\n map((messages: Message[]) => {\n\n const rooms: { [key: string]: Room } = {};\n let currentUserAdmin = JSON.parse(localStorage.getItem('currentAdminUser'));\n let currentUser = JSON.parse(localStorage.getItem('currentUser'));\n \n messages.filter(m => m.msgType === MessageType.MarkAsPendingClosed && \n userService.checkMentorRole(m.room.type)).map((message: Message) => {\n rooms[message.room.id] = rooms[message.room.id] || message.room;\n });\n // else\n // messages.filter(m => m.author.id == currentUser.id && m.closedByUserId == currentUser.id).map((message: Message) => {\n // if (message.msgType === MessageType.MarkAsPendingClosed) {\n // rooms[message.room.id] = rooms[message.room.id] || message.room;\n // }\n // });\n return _.sortBy(rooms, (t: Room) => t.session);\n }));\n\n // this.currentRoomMembers=this.refreshRoomMembers.map((users: User[]) => {\n // return users;\n // });\n\n this.currentRoomMembers=this.currentRoom.pipe(\n combineLatest(this.updateRoomMembers, (currentRoom: Room, data: any) => {\n const users: User[] = [];;\n\n if(data.roomId==currentRoom.id){\n data.chatUsers.forEach(userVM => {\n if(currentRoom.id)\n users.push( UserFactory.createUser(userVM))\n });\n \n return _.cloneDeep(_.sortBy(users, (t: User) => t.name));\n }\n }));\n\n \n \n \n\n \n\n // this.currentRoomMembers = this.messagesService.messages\n // .combineLatest(this.currentRoom, (messages: Message[], currentRoom: Room) => {\n // const users: User[] = [];;\n\n\n // messages.filter(m => m.room.id == currentRoom.id && !m.uninhibited).map((message: Message) => {\n\n // var userIdx = users.findIndex((elt) => elt.id === message.author.id);\n // if (userIdx === -1) {\n // users.push(message.author);\n // }\n // else {\n // let author: User = users[userIdx];\n // if (author.isClocked == false)\n // author.isClocked = message.author.isClocked;\n // author.status = message.author.status;\n // users.splice(userIdx, 1, author);\n // }\n // });\n\n // return _.cloneDeep(_.sortBy(users, (t: User) => t.name));\n // });\n\n\n\n\n\n\n this.currentRoomMessages = this.currentRoom.pipe(\n combineLatest(messagesService.messages, (currentRoom: Room, messages: Message[]) => {\n\n if (currentRoom && messages.length > 0) {\n return _.chain(_.sortBy(messages, (t: Message) => t.sentAt))\n .filter((message: Message) =>\n //(message.room.id === currentRoom.id && message.msgType !== MessageType.Notification))\n (message.room.id === currentRoom.id && message.text!==null))\n .map((message: Message) => {\n //console.log(\"add msgs to current room\");\n message.isRead = true;\n return message;\n })\n .value();\n } else {\n return [];\n }\n }));\n\n\n\n this.currentRoomMessagesForClient = this.currentRoom.pipe(\n combineLatest(messagesService.messages, (currentRoom: Room, messages: Message[]) => {\n \n if (currentRoom && messages.length > 0) {\n return _.chain(_.sortBy(messages, (t: Message) => t.sentAt))\n .filter((message: Message) =>\n (message.room.id === currentRoom.id && message.msgType !== MessageType.Notification\n && message.msgType !== MessageType.MentorSystem\n && message.msgType !== MessageType.SystemPrivate\n && message.msgType !== MessageType.MarkAsPendingClosed && message.orgMsgType !== MessageType.Private\n\n &&!(message.msgType==MessageType.System && message.text.includes(\"Your ticket number\"))))\n .map((message: Message) => {\n //console.log(\"add msgs to current room\");\n message.isRead = true;\n return message;\n })\n .value();\n } else {\n return [];\n }\n }));\n\n\n\n this.currentRoom.subscribe(this.messagesService.markRoomAsRead);\n\n\n\n };\n\n ngOnInit() {\n\n }\n\n\n\n\n getNumOfMentorsInCurrRoom(roomId: string): number {\n return 0;\n\n // let numOfMentorsInCurrentRoom: number = 0;\n // let isMentorMember = false;\n\n // this.currentRoom\n // .combineLatest(this.messagesService.messages,\n // (currentRoom: Room, messages: Message[]) => [currentRoom, messages])\n // .subscribe(([currentRoom, messages]: [Room, Message[]]) => {\n // let mentorsInRoom: string[] = [];\n // numOfMentorsInCurrentRoom =\n // _.reduce(\n // messages,\n // (sum: number, m: Message) => {\n // const messageIsInCurrentRoom: boolean = m.room && (roomId === m.room.id);\n\n // if (messageIsInCurrentRoom && !m.uninhibited && m.msgType != MessageType.MarkAsPendingClosed) {\n\n // let currUser = JSON.parse(localStorage.getItem('currAuthor'));\n\n // if (m.author.isMentor && (mentorsInRoom.indexOf(m.author.id) == -1)) {\n // if (m.author.id === currUser.id)\n // isMentorMember = true;\n // mentorsInRoom.push(m.author.id);\n // sum = sum + 1;\n // }\n // }\n // return sum;\n // },\n // 0);\n\n // });\n // if (isMentorMember)\n // return -1;\n // else\n // return numOfMentorsInCurrentRoom;\n }\n\n\n setBlockSettingCurrentRoom(value:boolean)\n {\n this.blockSettingCurrentRoom=value;\n }\n\n setIsAllSessionsClicked(value:boolean)\n {\n this.isAllSessionsSelected=value;\n }\n\n getIsAllSessionsClicked()\n {\n return this.isAllSessionsSelected;\n }\n\n unblockSetCurrentRoom(): void {\n\n this.setBlockSettingCurrentRoom(false);\n if(this.previousSetRoom!=null)\n this.setCurrentRoom(this.previousSetRoom);\n }\n\n getPreviousRoomSet():Room\n {\n if(this.previousSetRoom!=null)\n return this.previousSetRoom;\n\n return null;\n }\n\n setCurrentRoom(newRoom: Room): void {\n\n this.previousSetRoom=newRoom;\n \n\n if(!this.blockSettingCurrentRoom)\n this.currentRoom.next(newRoom);\n }\n\n\n showAllTranscript(rooms: Array, fullLen: number, page: number, user: any): void {\n this.currentTranscriptUser.next(user);\n this.allTranscriptsLen.next(fullLen);\n this.setCurrentPage.next(page);\n this.clickAllTranscript.next(rooms);\n }\n\npublic checkMentorRoleForCloseChat(type:string):Boolean\n{\n if(+type==0) // soba tip lobby\n return true;\n\n let currentUser = JSON.parse(localStorage.getItem('currAuthor'));\n\n\n if(type.toUpperCase() == 'TELCO' && currentUser.role.toUpperCase() == 'TELCO ADMIN')\n return true;\n\n if(type.toUpperCase() == 'MSP' && currentUser.role.toUpperCase() == 'MSP ADMIN')\n return true;\n\n \n if(currentUser.role.toUpperCase() == 'ADMIN')\n return true;\n\n return false;\n}\n\n}\n\nexport const roomsServiceInjectables: Array = [\n RoomsService\n];\n","\r\nimport { map } from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject, BehaviorSubject, Observable, pipe } from 'rxjs';\r\nimport { Ticket } from '../model/ticket';\r\n// import { Http, Response, URLSearchParams, RequestOptions,Headers } from '@angular/http';\r\nimport { TicketFactory } from '../model/TicketFactory';\r\nimport { messageFactory } from '../model/messageFactory';\r\nimport { User } from '../model/user';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { AppConfig } from '../AppConfig';\r\nimport { TicketDraft } from '../model/ticketDraft';\r\nimport * as _ from 'lodash';\r\nimport { TicketDraftFactory } from '../model/TicketDraftFactory';\r\nimport { TicketData } from '../model/ticketData';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ResponseDataImageFactory } from '../model/ResponseDataImage.model';\r\n\r\n@Injectable()\r\nexport class TicketService {\r\n\r\n currentTicket: Subject = new BehaviorSubject(null);\r\n sTicketNumbers: Subject> = new BehaviorSubject>(null);\r\n clickedTicketInfo: Subject = new Subject();\r\n\r\n constructor(private _httpClient: HttpClient, private config: AppConfig,private sanitizer: DomSanitizer) {\r\n\r\n }\r\n\r\n public setCurrentTicket(newTicket: TicketData): void {\r\n localStorage.setItem('currentTicket', JSON.stringify(newTicket));\r\n this.currentTicket.next(newTicket);\r\n }\r\n\r\n public sendTicketNumbers(ticketArray: Array): void {\r\n \r\n this.sTicketNumbers.next(ticketArray);\r\n }\r\n\r\n public getTicketsByUserPerMonth(getMore: number, userId: string) {\r\n return this._httpClient.get(this.config.origin + \"/api/autotask/getticketspermonth/\" + userId + \"/\" + getMore).pipe(\r\n map((response: any) => {\r\n if (response && response.length > 0) {\r\n return (response).map(item => {\r\n return TicketFactory.createTicket(item);\r\n });\r\n }\r\n else {\r\n return {};\r\n }\r\n })\r\n );\r\n }\r\n\r\n public getTicketsByContact(userId: string, count: number) {\r\n return this._httpClient.get(this.config.origin + \"/api/autotask/getticketsperContact/\" + userId + \"?count=\" + count).pipe(\r\n map((response: any) => {\r\n if (response && response.length > 0) {\r\n return (response).map(item => {\r\n return TicketFactory.createTicket(item);\r\n });\r\n }\r\n else {\r\n return {};\r\n }\r\n }));\r\n }\r\n\r\n public getChatTranscriptByTicketId(ticketId: string) {\r\n return this._httpClient.get(this.config.origin + \"/api/autotask/getchattranscriptbyticketid/\" + ticketId).pipe(\r\n map((response: any) => {\r\n if (response.length > 0) {\r\n return (response).map(item => {\r\n return messageFactory.createMessagev3(item, item.User);\r\n });\r\n } else {\r\n return response.statusText;\r\n }\r\n }));\r\n };\r\n\r\n public checkPreviousTicketQueue(ticketNumber: string) {\r\n return this._httpClient.post(this.config.origin + \"/api/autotask/checkpreviousticketqueue/\" + ticketNumber, '', { responseType: 'text' })\r\n };\r\n\r\n public uploadImage(formData: FormData)\r\n {\r\n let headers = new HttpHeaders({\r\n \r\n });\r\n \r\n return this._httpClient.post(this.config.origin + \"/api/autotask/upload\",formData, { headers: headers } ).pipe(map(resut=>{\r\n return ResponseDataImageFactory.CreateResponse(resut)}));\r\n \r\n }\r\n\r\n public downloadImage(formData: FormData)\r\n {\r\n let headers = new HttpHeaders({\r\n \r\n });\r\n \r\n return this._httpClient.post(this.config.origin + \"/api/autotask/download\",formData, { headers: headers } )\r\n }\r\n\r\n public downloadFile(containerName:string, imageName:string) {\r\n \r\n return this._httpClient.get(this.config.origin +\"/api/autotask/download/\"+containerName+\"/\"+imageName.split('.')[0]+\"/\"+imageName.split('.')[1]+\"\", { responseType: 'blob' });\r\n \r\n }\r\n\r\n public downloadPartnerLogoFile(containerName:string, imageName:string) {\r\n let headers = new HttpHeaders({\r\n 'x-connectionid': btoa(this.config.apikey+'') \r\n });\r\n return this._httpClient.get(this.config.origin +\"/api/autotask/downloadPartnerLogo/\"+containerName+\"/\"+imageName.split('.')[0]+\"/\"+imageName.split('.')[1]+\"\", { responseType: 'blob' ,headers: headers });\r\n \r\n }\r\n\r\n public blobToBase64 = blob => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(blob);\r\n return new Promise(resolve => {\r\n reader.onloadend = () => {\r\n resolve(reader.result);\r\n };\r\n });\r\n };\r\n\r\n savePendingChanges(ticketDraft: TicketDraft, roomId: string) {\r\n let headers: HttpHeaders = new HttpHeaders();\r\n return this._httpClient.post(this.config.origin + '/api/popup/TicketDraft/' + roomId, ticketDraft, { headers: headers });\r\n }\r\n\r\n GetTicketDraft(roomId: any): Observable {\r\n return this._httpClient.get(this.config.origin + \"/api/popup/TicketDraft/\" + roomId).pipe(\r\n map(data => {\r\n if (data !== null && data !== undefined && data !== \"undefined\")\r\n return TicketDraftFactory.CreateDraft(data);\r\n }));\r\n }\r\n}","\nimport {map} from 'rxjs/operators';\n\nimport {throwError as observableThrowError, Subject, BehaviorSubject, Observable, ReplaySubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { User } from '../model/user';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\nimport { UsersInfo } from '../model/usersInfo';\nimport { UserChatTopic } from '../model/userchattopic.model';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport {\n DecryptedUserInfo\n} from '../model/decryptedUserInfo.model';\nimport { AppConfig } from '../AppConfig';\nimport { ChatPersonalization } from '../model/chatpersonalization.model';\n\n/**\n * UserService manages our current user\n */\n@Injectable()\nexport class UsersService {\n\n currentUser: Subject = new BehaviorSubject(null);\n clickedUserInfo: Subject = new Subject();\n emailTranscriptSuccess: Subject = new Subject();\n emailTransciptErr: Subject = new Subject();\n isExisting: boolean;\n alreadyEntered: Subject = new Subject();\n registeredUserData: Subject = new Subject();\n clientNotFound: Subject = new Subject();\n clientTostrSuccessNotification: Subject = new Subject();\n clientTostrErrorNotification: Subject = new Subject();\n public clientId: Subject = new BehaviorSubject(null);\n public clientType: Subject = new BehaviorSubject(null);\n public cpSubject: Subject = new ReplaySubject ();\n public clientIdParam: string; public clientTypeParam: string; public clientLanguageParam: string;\n urlReferer: string;\n\n constructor(private http: HttpClient, private router: Router, private activatedRoute: ActivatedRoute, private config: AppConfig) {\n let clientId = this.activatedRoute.snapshot.queryParams[\"clientId\"];\n let clientType = this.activatedRoute.snapshot.queryParams[\"clientType\"];\n let clientLanguage = this.activatedRoute.snapshot.queryParams[\"lang\"];\n\n this.clientId.next(clientId);\n this.clientType.next(clientType);\n this.clientIdParam = clientId;\n this.clientTypeParam = clientType;\n this.clientLanguageParam = clientLanguage;\n this.urlReferer=\"\";\n }\n\n public UserNotFound(errMsg) {\n this.clientNotFound.next(errMsg);\n }\n\n public setCurrentUser(newUser: User): void {\n localStorage.setItem('currentUser', JSON.stringify(newUser));\n this.currentUser.next(newUser);\n\n }\n\npublic checkMentorRole(type:string):Boolean\n{\n if(+type==0) // soba tip lobby\n return true;\n\n let currentUser = JSON.parse(localStorage.getItem('currAuthor'));\n\n if(type.toUpperCase() == currentUser.role.toUpperCase())\n return true;\n\n if(type.toUpperCase() == 'TELCO' && (currentUser.role.toUpperCase() == 'TELCO ADMIN' || currentUser.role.toUpperCase() == 'MSP/TELCO'))\n return true;\n\n if(type.toUpperCase() == 'MSP' && (currentUser.role.toUpperCase() == 'MSP ADMIN' || currentUser.role.toUpperCase() == 'MSP/TELCO'))\n return true;\n\n if (type.toUpperCase() == 'EDU' && (currentUser.role.toUpperCase() == 'TELCO' || currentUser.role.toUpperCase() == 'MSP/TELCO'))\n return true;\n\n if(type.toUpperCase() == 'EDU' && (currentUser.role.toUpperCase() == 'TELCO ADMIN' || currentUser.role.toUpperCase() == 'MSP/TELCO'))\n return true;\n \n if(currentUser.role.toUpperCase() == 'ADMIN')\n return true;\n\n return false;\n}\n\n sendUserInfo(userInfo: UsersInfo) {\n this.clickedUserInfo.next(userInfo);\n }\n\n create(user: User) {\n\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n let urlSearchParams = new URLSearchParams();\n urlSearchParams.append('email', user.userName);\n urlSearchParams.append('password', user.password);\n urlSearchParams.append('firstName', user.lastName);\n urlSearchParams.append('lastName', user.firstName);\n\n let body = urlSearchParams.toString();\n return this.http.post('/api/account/register', body, { headers: headers });\n\n }\n\n RegisterToChatTelco(user: User) {\n\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded', \n 'url-referrer': this.urlReferer });\n\n let urlSearchParams = new URLSearchParams();\n urlSearchParams.append('email', user.email);\n urlSearchParams.append('password', \"123123\");\n urlSearchParams.append('firstName', user.firstName);\n urlSearchParams.append('lastName', user.lastName);\n urlSearchParams.append('issue', user.issue);\n urlSearchParams.append('subissue', user.subissue);\n urlSearchParams.append('message', user.message);\n urlSearchParams.append('b1number', user.b1number);\n urlSearchParams.append('voucher', user.voucher);\n urlSearchParams.append('ClientId', this.getClientIdParam());\n urlSearchParams.append('clientType', this.getClientTypeParam());\n\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n urlSearchParams.append('language', 'en');\n else\n urlSearchParams.append('language', this.getClientLanguageParam());\n\n //todo: refactor via factory method\n const uct: UserChatTopic = new UserChatTopic();\n uct.issue = user.issue\n uct.subissue = user.subissue;\n localStorage.setItem(\"userChatTopic\", JSON.stringify(uct));\n\n let exists: boolean;\n let body = urlSearchParams.toString();\n let rez = this.http.post(this.config.origin + '/api/account/RegisterToChatTelco?clientId=' + this.getClientIdParam() + '&clientType=' + this.getClientTypeParam(), body, { headers: headers });\n return rez;\n }\n\n RegisterToChatMsp(user: User) {\n let lang = 'en';\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n lang = 'en'; \n else\n lang = this.getClientLanguageParam();\n\n //todo: refactor via factory method\n const uct: UserChatTopic = new UserChatTopic();\n uct.issue = user.issue\n uct.subissue = user.subissue;\n localStorage.setItem(\"userChatTopic\", JSON.stringify(uct));\n\n\n let headers: HttpHeaders = new HttpHeaders({ 'url-referrer': this.urlReferer,'failedLoginAttempts':this.getFailedLogInAttempts()+'' });\n \n\n const body = { Email: user.email, \n ClientId: this.getClientIdParam(), \n FirstName: user.firstName,\n LastName: user.lastName,\n issue: user.issue,\n subissue: user.subissue,\n message: user.message,\n b1number:user.b1number,\n voucher:user.voucher, \n clientType: this.getClientTypeParam(), \n language: this.getClientLanguageParam() };\n\n return this.http.post(this.config.origin + '/api/account/RegisterToChatMsp', body, { headers: headers });\n\n }\n\n RegisterMspWithVerification(user: any) {\n let lang = 'en';\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n lang = 'en'; \n else\n lang = this.getClientLanguageParam();\n\n\n //todo: refactor via factory method\n const uct: UserChatTopic = new UserChatTopic();\n uct.issue = user.issue\n uct.subissue = user.subissue;\n localStorage.setItem(\"userChatTopic\", JSON.stringify(uct));\n\n \n\n\n\n let headers: HttpHeaders = new HttpHeaders({ 'url-referrer': this.urlReferer,'failedLoginAttempts':this.getFailedLogInAttempts()+'' });\n \n\n const body = { Email: user.email, \n ClientId: this.getClientIdParam(), \n FirstName: user.firstName,\n LastName: user.lastName,\n issue: user.issue,\n subissue: user.subissue,\n message: user.message,\n EmailCode:user.verificationCode,\n b1number:user.b1number,\n voucher:user.voucher, \n clientType: this.getClientTypeParam(), \n language: this.getClientLanguageParam() };\n\n return this.http.post(this.config.origin + '/api/account/RegisterMspWithVerification', body, { headers: headers });\n\n }\n\n ResendVerification(user: any) {\n let lang = 'en';\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n lang = 'en'; \n else\n lang = this.getClientLanguageParam();\n\n\n //todo: refactor via factory method\n\n let headers: HttpHeaders = new HttpHeaders({ });\n \n\n const body = { \n Email: user.email, \n ClientId: this.getClientIdParam(), \n FirstName: user.firstName,\n LastName: user.lastName,\n clientType: this.getClientTypeParam(), \n language: this.getClientLanguageParam() \n };\n\n return this.http.post(this.config.origin + '/api/account/ResendVerificationCode', body, { headers: headers });\n\n }\n\n RegisterToChatMspAD() {\n let currentUser = JSON.parse(localStorage.getItem('currentUser'));\n\n \n let lang = 'en';\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n lang = 'en'; \n else\n lang = this.getClientLanguageParam();\n\n const body = { Email: currentUser.email, \n ClientId: this.getClientIdParam(), \n FirstName: currentUser.FirstName,\n LastName: currentUser.lastName,\n issue: currentUser.issue,\n subissue: currentUser.subissue,\n message: currentUser.message,\n b1number:currentUser.b1number,\n voucher:currentUser.voucher, \n clientType: this.getClientTypeParam(), \n language: lang };\n \n return this.http.post(this.config.origin + '/api/account/RegisterToChatMsp', body).pipe(\n map((res: Response) => res.json())); \n }\n\n _errorHandler(error: Response) {\n console.log(error);\n return observableThrowError(error || \"Internal server error\");\n }\n\n\n\n RegisterToChatGuest(user: User) {\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n let urlSearchParams = new URLSearchParams();\n urlSearchParams.append('email', user.email);\n urlSearchParams.append('password', \"123123\");\n urlSearchParams.append('firstName', user.firstName);\n urlSearchParams.append('lastName', user.lastName);\n urlSearchParams.append('issue', user.issue);\n urlSearchParams.append('subissue', user.subissue);\n urlSearchParams.append('message', user.message);\n urlSearchParams.append('b1number', user.b1number);\n urlSearchParams.append('voucher', user.voucher);\n urlSearchParams.append('ClientId', this.getClientIdParam());\n urlSearchParams.append('clientType', this.getClientTypeParam());\n\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n urlSearchParams.append('language', 'en');\n else\n urlSearchParams.append('language', this.getClientLanguageParam());\n\n //todo: refactor via factory method\n const uct: UserChatTopic = new UserChatTopic();\n uct.issue = user.issue\n uct.subissue = user.subissue;\n localStorage.setItem(\"userChatTopic\", JSON.stringify(uct));\n\n let exists: boolean;\n let body = urlSearchParams.toString();\n let rez = this.http.post(this.config.origin + '/api/account/RegisterToChatGuest?clientId=' + this.getClientIdParam() + '&clientType=' + this.getClientTypeParam(), body, { headers: headers });\n return rez;\n }\n\n RegisterToChatGuestExternal(userInfo: DecryptedUserInfo) {\n\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n let urlSearchParams = new URLSearchParams();\n urlSearchParams.append('email', userInfo.email);\n urlSearchParams.append('password', \"123123\");\n urlSearchParams.append('firstName', userInfo.firstName);\n urlSearchParams.append('lastName', userInfo.lastName);\n urlSearchParams.append('message', userInfo.message);\n urlSearchParams.append('ClientId', this.getClientIdParam());\n urlSearchParams.append('clientType', this.getClientTypeParam());\n\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n urlSearchParams.append('language', 'en');\n else\n urlSearchParams.append('language', this.getClientLanguageParam());\n\n //todo: refactor via factory method\n\n let exists: boolean;\n let body = urlSearchParams.toString();\n let rez = this.http.post(this.config.origin + '/api/account/RegisterToChatGuest?clientId=' + this.getClientIdParam() + '&clientType=' + this.getClientTypeParam(), body, { headers: headers });\n return rez;\n }\n\n CreateFailedLoginTicket(user: User){\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n let urlSearchParams = new URLSearchParams();\n urlSearchParams.append('email', user.email);\n urlSearchParams.append('password', \"123123\");\n urlSearchParams.append('firstName', user.firstName);\n urlSearchParams.append('lastName', user.lastName);\n urlSearchParams.append('issue', user.issue);\n urlSearchParams.append('subissue', user.subissue);\n urlSearchParams.append('message', user.message);\n urlSearchParams.append('b1number', user.b1number);\n urlSearchParams.append('voucher', user.voucher);\n urlSearchParams.append('ClientId', this.getClientIdParam());\n urlSearchParams.append('clientType', this.getClientTypeParam());\n\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n urlSearchParams.append('language', 'en');\n else\n urlSearchParams.append('language', this.getClientLanguageParam());\n\n //todo: refactor via factory method\n const uct: UserChatTopic = new UserChatTopic();\n uct.issue = user.issue\n uct.subissue = user.subissue;\n localStorage.setItem(\"userChatTopic\", JSON.stringify(uct));\n\n let exists: boolean;\n let body = urlSearchParams.toString();\n let rez = this.http.post(this.config.origin + '/api/autotask/CreateFailedLoginTicket', body, { headers: headers });\n return rez;\n }\n\n GetChatPersonalization(clientId: number, clientType: string) {\n //let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n let rez = this.http.get(this.config.origin + '/api/account/GetChatPersonalizationForPartner?clientId=' + this.getClientIdParam() + '&clientType=' + this.getClientTypeParam());\n return rez;\n }\n\n RegisterToChat(user: User) {\n\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded','url-referrer': this.urlReferer });\n let urlSearchParams = new URLSearchParams();\n urlSearchParams.append('email', user.email);\n urlSearchParams.append('password', \"123123\");\n urlSearchParams.append('firstName', user.firstName);\n urlSearchParams.append('lastName', user.lastName);\n urlSearchParams.append('issue', user.issue);\n urlSearchParams.append('subissue', user.subissue);\n urlSearchParams.append('message', user.message);\n urlSearchParams.append('b1number', user.b1number);\n urlSearchParams.append('voucher', user.voucher);\n \n\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n urlSearchParams.append('language', 'en');\n else\n urlSearchParams.append('language', this.getClientLanguageParam());\n\n //todo: refactor via factory method\n const uct: UserChatTopic = new UserChatTopic();\n uct.issue = user.issue\n uct.subissue = user.subissue;\n localStorage.setItem(\"userChatTopic\", JSON.stringify(uct));\n\n let exists: boolean;\n let body = urlSearchParams.toString();\n let rez = this.http.post(this.config.origin + '/api/account/RegisterToChat?clientId=' + this.getClientIdParam() + '&clientType=' + this.getClientTypeParam(), body, { headers: headers });\n return rez;\n }\n\n RegisterNewTelcoUserInAtDownTime(user: User) {\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n let urlSearchParams = new URLSearchParams();\n\n urlSearchParams.append('b1number', user.b1number);\n urlSearchParams.append('voucher', user.voucher);\n urlSearchParams.append('email', user.email);\n urlSearchParams.append('firstName', user.firstName);\n urlSearchParams.append('lastName', user.lastName);\n urlSearchParams.append('clientType', this.getClientTypeParam());\n urlSearchParams.append('ParentClientId', this.getClientIdParam());\n urlSearchParams.append('Phone', user.phone);\n urlSearchParams.append('Adress', user.address);\n urlSearchParams.append('ClientId', this.getClientIdParam());\n\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n urlSearchParams.append('language', 'en');\n else\n urlSearchParams.append('language', this.getClientLanguageParam());\n\n let body = urlSearchParams.toString();\n let rez = this.http.post(this.config.origin + '/api/account/RegisterNewTelcoUserInAtDownTime', body, { headers: headers });\n\n return rez;\n }\n\n RegisterNewMspUserInAtDownTime(user: User) {\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n let urlSearchParams = new URLSearchParams();\n\n urlSearchParams.append('b1number', user.b1number);\n urlSearchParams.append('voucher', user.voucher);\n urlSearchParams.append('email', user.email);\n urlSearchParams.append('firstName', user.firstName);\n urlSearchParams.append('lastName', user.lastName);\n urlSearchParams.append('clientType', this.getClientTypeParam());\n urlSearchParams.append('ParentClientId', this.getClientIdParam());\n urlSearchParams.append('Phone', user.phone);\n urlSearchParams.append('Adress', user.address);\n urlSearchParams.append('ClientId', this.getClientIdParam());\n\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n urlSearchParams.append('language', 'en');\n else\n urlSearchParams.append('language', this.getClientLanguageParam());\n\n\n let body = urlSearchParams.toString();\n let rez = this.http.post(this.config.origin + '/api/account/RegisterNewMspUserInAtDownTime', body, { headers: headers });\n\n return rez;\n }\n\n RegisterUserInAtAndV5(user: any) {\n\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n let urlSearchParams = new URLSearchParams();\n urlSearchParams.append('email', user.email);\n\n let body = urlSearchParams.toString();\n\n return this.http.post(this.config.origin + '/api/account/registertome', body, { headers: headers });\n }\n\n RegisterNewMspUser(user: User) {\n\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n let urlSearchParams = new URLSearchParams();\n\n urlSearchParams.append('b1number', user.b1number);\n urlSearchParams.append('voucher', user.voucher);\n urlSearchParams.append('email', user.email);\n urlSearchParams.append('firstName', user.firstName);\n urlSearchParams.append('lastName', user.lastName);\n urlSearchParams.append('clientType', this.getClientTypeParam());\n urlSearchParams.append('ParentClientId', this.getClientIdParam());\n urlSearchParams.append('Phone', user.phone);\n urlSearchParams.append('Adress', user.address);\n urlSearchParams.append('ClientId', this.getClientIdParam());\n\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n urlSearchParams.append('language', 'en');\n else\n urlSearchParams.append('language', this.getClientLanguageParam());\n\n let body = urlSearchParams.toString();\n let rez = this.http.post(this.config.origin + '/api/account/RegisterNewMspUser', body, { headers: headers });\n\n return rez;\n }\n\n RegisterNewTelcoUser(user: User) {\n\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n let urlSearchParams = new URLSearchParams();\n\n urlSearchParams.append('b1number', user.b1number);\n urlSearchParams.append('voucher', user.voucher);\n urlSearchParams.append('email', user.email);\n urlSearchParams.append('firstName', user.firstName);\n urlSearchParams.append('lastName', user.lastName);\n urlSearchParams.append('clientType', this.getClientTypeParam());\n urlSearchParams.append('ParentClientId', this.getClientIdParam());\n urlSearchParams.append('Phone', user.phone);\n urlSearchParams.append('Adress', user.address);\n urlSearchParams.append('ClientId', this.getClientIdParam());\n\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n urlSearchParams.append('language', 'en');\n else\n urlSearchParams.append('language', this.getClientLanguageParam());\n\n\n let body = urlSearchParams.toString();\n let rez = this.http.post(this.config.origin + '/api/account/RegisterNewTelcoUser', body, { headers: headers });\n\n return rez;\n }\n\n RegisterNewUser(user: User) {\n\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n let urlSearchParams = new URLSearchParams();\n\n urlSearchParams.append('b1number', user.b1number);\n urlSearchParams.append('voucher', user.voucher);\n urlSearchParams.append('email', user.email);\n urlSearchParams.append('firstName', user.firstName);\n urlSearchParams.append('lastName', user.lastName);\n urlSearchParams.append('clientType', this.getClientTypeParam());\n urlSearchParams.append('ParentClientId', this.getClientIdParam());\n urlSearchParams.append('Phone', user.phone);\n urlSearchParams.append('Adress', user.address);\n\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n urlSearchParams.append('language', 'en');\n else\n urlSearchParams.append('language', this.getClientLanguageParam());\n\n let body = urlSearchParams.toString();\n let rez = this.http.post(this.config.origin + '/api/account/RegisterNewUser', body, { headers: headers });\n\n return rez;\n }\n\n RedeemVoucherToUser(user: User) {\n\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n let urlSearchParams = new URLSearchParams();\n\n urlSearchParams.append('b1number', user.b1number);\n urlSearchParams.append('voucher', user.voucher);\n urlSearchParams.append('email', user.email);\n urlSearchParams.append('firstName', user.firstName);\n urlSearchParams.append('lastName', user.lastName);\n urlSearchParams.append('clientType', this.getClientTypeParam());\n urlSearchParams.append('ParentClientId', this.getClientIdParam());\n urlSearchParams.append('Phone', user.phone);\n urlSearchParams.append('Adress', user.address);\n\n if (this.getClientLanguageParam() == undefined || this.getClientLanguageParam() == 'undefined')\n urlSearchParams.append('language', 'en');\n else\n urlSearchParams.append('language', this.getClientLanguageParam());\n\n\n let body = urlSearchParams.toString();\n let rez = this.http.post(this.config.origin + '/api/account/RedeemVoucherToUser', body, { headers: headers });\n\n return rez;\n }\n\n decryptUrlParam(encrypted: string, clientId: number) {\n let headers: HttpHeaders = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n let urlSearchParams = new URLSearchParams();\n urlSearchParams.append('b1number', encrypted);\n\n let body = urlSearchParams.toString();\n let rez = this.http.post(this.config.origin + '/api/account/decryptUrl?clientId=' + clientId + '&encryptedUrl=' + encrypted, body, { headers: headers });\n return rez;\n }\n\n \n\n setAlreadyEnteredUserData(userData) {\n this.alreadyEntered.next(userData);\n }\n\n checkUser(userData) {\n this.registeredUserData.next(userData);\n this.setCurrentUser(userData);\n }\n\n setUserData(data: Subject) {\n this.registeredUserData = data;\n }\n\n getUserData() {\n return this.registeredUserData;\n }\n\n public getClientIdParam(): string {\n let clientIdParam = localStorage.getItem('clientId');\n if (clientIdParam != undefined)\n {\n //console.log(clientIdParam);\n return clientIdParam;\n } \n else\n return '';\n }\n\n public getFailedLogInAttempts(): number {\n let failedLogInAttempts = localStorage.getItem('failedLogInAttempts');\n if (failedLogInAttempts != undefined)\n {\n //console.log(clientIdParam);\n return +failedLogInAttempts;\n } \n else\n return 0;\n }\n\n public getClientTypeParam(): string {\n let clientTypeParam = localStorage.getItem('clientType');\n if (clientTypeParam != undefined)\n return clientTypeParam;\n else\n return '';\n }\n\n public getClientLanguageParam(): string {\n let clientLanguageParam = localStorage.getItem('clientLanguageParam');\n if (clientLanguageParam != undefined)\n return clientLanguageParam;\n else\n return 'en';\n }\n\n public getClientWidgetParameter(): string {\n let isWidgetParameter = localStorage.getItem('isWidget');\n if (isWidgetParameter != undefined)\n return isWidgetParameter;\n else\n return 'false';\n }\n getQueryParamValue(dec, paramName) {\n const url = window.location.host + \"/client?\" + dec;\n let paramValue;\n if (url.includes('?')) {\n const httpParams = new HttpParams({ fromString: url.split('?')[1] });\n paramValue = httpParams.get(paramName);\n }\n return paramValue;\n }\n\n invertColor(hex:any, bw:any) {\n if (hex.indexOf('#') === 0) {\n hex = hex.slice(1);\n }\n // convert 3-digit hex to 6-digits.\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n if (hex.length !== 6) {\n return '#FFFFFF';\n }\n let r = parseInt(hex.slice(0, 2), 16),\n g = parseInt(hex.slice(2, 4), 16),\n b = parseInt(hex.slice(4, 6), 16);\n if (bw) {\n // https://stackoverflow.com/a/3943023/112731\n return (r * 0.299 + g * 0.587 + b * 0.114) > 186\n ? '#000000'\n : '#FFFFFF';\n }\n // invert color components\n let rs = (255 - r).toString(16);\n let gs = (255 - g).toString(16);\n let bs = (255 - b).toString(16);\n // pad each with zeros and return\n return \"#\" + this.padZero(rs,2) + this.padZero(gs,2) + this.padZero(bs,2);\n }\n\n padZero(str:any, len:any) {\n len = len || 2;\n var zeros = new Array(len).join('0');\n return (zeros + str).slice(-len);\n }\n\n}\n\nexport const userServiceInjectables: Array = [\n UsersService\n];\n","export const environment = {\n production: true,\n origin: 'https://mentorappweb.globalmentoring.com/',\n logoURL: 'https://clientmanagement.globalmentoring.com/Images/chat_images/',\n apikey:'ZhmBPy55dTnx'\n };\n \n ","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 10860,\n\t\"./en-ca.js\": 10860,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 10643,\n\t\"./pa-in.js\": 10643,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["environment","AppConfig","constructor","logoURL","origin","apikey","getConfig","key","config","getEnv","env","load","factory","IssueService","AdminService","AdminComponent","cookieService","chatService","messageService","roomService","adminService","alertService","authenticationService","router","CheckIfMaintenanceModeIsEnabled","CONST_GMSMENTORS_GROUPID","subscribe","data","maintenanceMode","loginAllowed","navigate","queryParams","q","url","ngOnInit","logout","deleteAll","localStorage","removeItem","window","location","reload","selectors","features","decls","vars","consts","template","i0","ctx","UntypedFormControl","UntypedFormGroup","Validators","AmazonConnectContactFlow","ctx_r4","AmazonConnectContactFlowsAddEditComponent","route","name","required","lineOfBusiness","contactFlowId","isActive","snapshot","paramMap","get","getAmazonConnectContactFlowDetails","contactFlow","id","GetAmazonConnectContactFlowById","myform","setValue","isSlideToggleChecked","navigateByUrl","onCloseClick","onSaveClick","model","invalid","disableSaveButton","newContactFlow","UpdateAmazonConnectContactFlow","alert","error","console","log","CreateAmazonConnectContactFlow","BehaviorSubject","CompHolderDirective","ConfirmComponent","MatLegacyDialogConfig","MatDialogConfig","MatLegacyPaginator","MatPaginator","AmazonConnectContactFlowsComponent","dialog","ngOnInitPage","dataSource","AmazonContactFlowsDataSource","loadData","defaultPageNumber","defaultPageSize","onDeleteClick","contactFlowKey","openDialogDelete","dialogConfig","disableClose","autoFocus","warningMessage","dialogRef","open","height","width","afterClosed","result","showSpinner","DeleteAmazonConnectContactFlow","onPageChanged","paginator","pageIndex","pageSize","getLineOfBusiness","LineOfBusiness","Telco","Msp","Edu","undefined","viewQuery","connect","collectionViewer","subject","asObservable","disconnect","complete","GetAmazonConnectContactFlows","next","AmazonConnectSettingsComponent","loadSettings","description","instanceId","tasksCreationEnabled","nullValidator","updateSettings","UpdateAmazonConnectSettings","toString","GetAmazonConnectSettings","amazonConnectSettings","CannedResponse","AdminCannedResponsesAddEditComponent","responseText","tags","getCannedResponseDetails","cannedResponse","GetCannedResponseById","text","newCannedResponse","UpdateCannedResponse","CreateCannedResponse","AdminCannedResponsesComponent","CannedResponsesDataSource","loadCannedResponses","defaultSearchCriteria","onSearchClick","searchCriteria","searchCriteria$","countCannedResponses","CountCannedResponses","fullLength","cannedResponseId","DeleteCannedResponse","cannedResponsesSubject","GetCannedResponses","EventEmitter","AdminChatUserEditComponent","spinnerService","userService","getChatUserDetails","GetUserDetails","chatUser","chatUserLogo$","logo","clientType","email","compose","pattern","emailPattern","b1number","b1pattern","fileList","length","file","formData","FormData","fileName","split","extension","imageFullName","append","UploadLogo","chatUserLogo","getValue","UpdateUser","isAtDown","onRegisterClick","event","show","loading","RegisterUserInAt","hideRegisterButton","hide","onCancelActivationClick","CancelRegistration","onActivateClick","ActivateUser","hideActivateButton","fileChange","target","files","outputs","onChatUserCloseClick","ChatUser","ctx_r10","AdminMentorAddEditComponent","displayName","role","getMentorRoles","getMentorDetails","mentorUser","mentorUserLogo$","GetUserRoles","userRoles","disableSignInButton","newMewntor","mentorUserLogo","CreateUser","onSendInvitationClick","ReInviteUser","AdminMentorsManagementComponent","componentFactoryResolver","countUsers","onChatUserCloseClickHandled","showChildComponent","showParentComponent","ChatUserDataSource","loadChatUsers","CountUsers","onEdit","chatUserObject","onCreateNewClick","onLogoutClick","userId","openDialogRemoveActiveSessions","ClearActiveSessions","DeactivateUser","chatUsersSubject","GetUsers","AdminMentorSkillMappingComponent","AdminSettingsComponnent","currentPassword","newPassword","confirmNewPassword","changePassword","UpdatePassword","ComponentItem","AdminUsersManagementComponent","menuComponents","title","PendingActivationFilter","AtDownStateFilter","unbanUser","user","UnbanUser","status","isBanned","pendingActivationFilted","atDownStateFilter","GetChatUsers","Voucher","AdminVoucherAddEditComponent","getVoucherDetails","voucher","date","Date","expiryDate","loadPartners","selectedClient","numbersOnly","charCode","which","keyCode","GetVoucherDetails","disableInputs","clientId","voucherId","UpdateVoucher","CreateVoucher","noOfVouchers","selectedCourses","onPartnerChange","isUserInput","Number","source","value","type","getCourses","onClientChange","GetPartners","partners","loadChildClients","partnerId","GetChildClients","isPartnerSelected","childClients","onVoucherTypeChange","coursesList","displayCourses","GetCoursesForClient","onCoursesChange","i","AdminVouchersManagement","countVouchers","VoucherDataSource","loadVouchers","CountVouchers","vouchersSubject","GetVouchers","NavigationEnd","filter","AppComponent","activatedRoute","events","pipe","includes","templateParam","params","GetBackgroundColor","currentUserAdmin","JSON","parse","getItem","BrowserModule","HammerModule","ErrorHandler","FormsModule","ReactiveFormsModule","HttpClientModule","MatLegacySlideToggleModule","MatSlideToggleModule","HomeComponent","LoginComponent","RegisterComponent","AuthGuard","PendingChangesGuard","AlertService","AuthenticationService","HTTP_INTERCEPTORS","routing","ChatService","ChatMessageComponent","ChatNavBarComponent","ChatWindowComponent","ChatPageComponent","FromNowPipe","PagerService","ImageCropperModule","CustomizationService","UsersService","RoomsService","MessagesService","TicketService","ChatRoomComponent","ChatRoomsComponent","ChatRoomMembersComponent","ChatRoomMemberComponent","LogoutComponent","UserSettings","GroupByPipe","NgbModule","NgbNavModule","DistinctUsersPipe","CookieService","ClientComponent","MatLegacyDialogModule","MatDialogModule","MatLegacyCardModule","MatCardModule","MatDatepickerModule","MatNativeDateModule","BrowserAnimationsModule","ConfirmInfoComponent","NoticeComponent","ChatPanelComponent","IframeComponent","CommonModule","ToastrModule","TimeDiffPipePipe","ContextMenuModule","ChatRoomNotificationsComponent","ChatRoomToBeClosedComponent","ChatCloseFormComponent","ChatWindowMembersComponent","SafePipe","RoomColorPipe","UserInfoWindowComponent","RegisterChatBellComponent","RegisterUserBellComponent","TranscriptModalComponent","ContactModalComponent","ChatVolumeModalComponent","AllTranscriptsModalComponent","NgxPaginationModule","ClientFeedbackComponent","ClientWindowComponent","FontAwesomeModule","RegisterChatMspComponent","RegisterUserMspComponent","RegisterChatEduComponent","RegisterUserEduComponent","AllTicketsModalComponent","FullScreenImageModalComponent","ImageUploadModalComponent","MatLegacyPaginatorModule","MatPaginatorModule","MatLegacyInputModule","MatInputModule","MatLegacyProgressSpinnerModule","MatProgressSpinnerModule","MatSortModule","MatLegacyTableModule","MatTableModule","MatLegacyFormFieldModule","MatFormFieldModule","MatLegacyButtonModule","MatButtonModule","MatLegacyCheckboxModule","MatCheckboxModule","MatLegacySelectModule","MatSelectModule","MatLegacyTooltipModule","MatTooltipModule","MatMenuModule","MatSliderModule","AuthGuardAdmin","PasswordResetComponent","TypingPipe","TypingLinkifyPipe","ClientNotFoundComponent","ClientPreviousTicketComponent","AuthGuardClient","DebounceClickDirective","ChatRoomNotificationComponent","ChatMessageTranscriptComponent","MaintenanceComponent","CacheMapService","CachingInterceptor","ErrorLogService","GlobalErrorHandler","LocalizationService","RegisterChatTtiComponent","MentorSpinnerService","MsalService","CustomHttpInterceptor","NgxSpinnerModule","DatePipe","MatIconModule","AllCannedResponsesModalComponent","AppModule","bootstrap","provide","useClass","multi","imports","forRoot","declarations","RouterModule","appRoutes","path","component","canActivate","children","canDeactivate","redirectTo","state","currentUser","proceed","hasMentorAccess","toLowerCase","isMentor","clientParams","baseUrl","returnUrl","currentAdminUser","toUpperCase","prevent","intercept","request","token","contentType","headers","has","req","clone","setHeaders","handle","ctx_r7","showLoginForm","fullImagePath","loadingImage","subGetAppVersion","GetAppVersion","appVersion","replace","login","showErrorMessage","username","password","errorMessage","error_description","checkActiveSessions","isDesktop","isMobile","isTablet","deviceType","deviceTypeMessage","CheckActiveSessions","userName","logOn","LogOut","minLength","confirmPassword","validateUserToken","userid","ValidateUserToken","showPasswordResetForm","obj","UpdateMentorPassword","register","create","success","MAX_CACHE_AGE","Map","entry","cacheMap","urlWithParams","isExpired","now","entryTime","response","put","res","set","deleteExpiredCache","forEach","delete","HttpResponse","tap","of","CACHABLE_URL","cache","isRequestCachable","cachedResponse","interval","observableInterval","fromEvent","observableFromEvent","Observable","Subject","ReplaySubject","from","combineLatest","map","takeUntil","throttleTime","take","takeWhile","mergeMap","toArray","Message","UserFactory","MessageType","Howl","messageFactory","MessageAttachment","uuid","mspinnerService","localizationService","customizationService","messagesService","roomsService","toastr","vcr","el","ngZone","sanitizer","ticketService","datepipe","messageAttachmentSubject","intervalMap","subAllItems","downloadPartnerLogoFile","getClientIdParam","onDestroy$","apiResponse","size","URL","createObjectURL","logoFullPath","logoRetrived","cpSubject","chatColor","colorCode","personalizationRetrived","pageTranslated","pageT","personalizationR","logoReturned","twoCombined","SetLocalization","keyUpEvent","nativeElement","x","StartTyping","currentRoom","isMessagePrivate","ngOnDestroy","messages","currentRoomMessagesForClient","mesgs","mess","msgType","System","author","draftMessage","newMessageNotification","rez","run","sound","src","play","room","substr","indexOf","isHidden","createEmptyUser","setTimeout","scrollToBottom","showChatColor","hideEndChatButton","messagesToPrint","Array","m","Default","item","push","intervalObservable","intervalStop","msgFiltered","orgMsgType","sendPleaseWaitMessage","intervalObservable1","intervalStop1","intervalObservable2","intervalStop2","emailTransciptErr","emailTranscriptSuccess","typingNotification","usr","typingUsrs","findIndex","s","clearTimeout","timer","index","splice","typingNotificationCancel","addElementToObservableArray","messageAttachments","val","newArr","messageAttachmentsArray","hasMessageAttachments","removeAllArray","removeElementToObservableArray","uploadImage","subDialogRef","fileToUpload","ShowSpinner","HideSpinner","HasError","attachment","ImageId","ImageUrl","ImageUri","ThumbnailUri","ThumbUrl","ContainerName","FileName","MessageId","UserId","sendMessage","textInput","clientTostrErrorNotification","timePassed","msg","createClientInitMessage","getBackground","image","bypassSecurityTrustStyle","onEnter","preventDefault","onCloseChat","closeRoom","match","nickName","roomStatus","isRead","isPrivate","sentAt","module","downloadFile","objectURL","ThumbnailUriUrl","allResponses","sendEmailTranscript","SendEmailTranscript","copyToClipboard","textToCopy","userType","transform","selBox","document","createElement","style","position","left","top","opacity","body","appendChild","focus","select","execCommand","removeChild","printTranscript","printContents","popupWin","getElementById","innerHTML","write","close","uploadAttachment","SetMsgNickname","nickname","scrollPane","querySelector","scrollTop","scrollHeight","SetMsgType","localeFromUrl","getClientLanguageParam","locale","ValidateLocale","localLang","GetLocalizationData","pageTranslation","pageName","trackByMessageID","onSurveyClick","surveyUrl","isWidget","getClientWidgetParameter","assign","ref","ngAfterViewInit","initiateErrorMessageText","errMsg","UserPendingActivation","AccountBanned","AccountNotFound","ContactYourProvider","B1NotFound","IvalidURL","UserExists","InvalidVoucher","showTryAgain","NotifyMentors","NotifyMentorsBell","UserAlreadyInChat","dt","ReloadPage","inputs","MatLegacyTableDataSource","MatTableDataSource","MAT_LEGACY_DIALOG_DATA","MAT_DIALOG_DATA","ticketsArray","getClientTypeParam","displayColumns","displayedColumns","displayedColumnsTelco","ContinueToChat","connectToSignalR","AssociateChat","subGetTicketByUserPerMonth","getTicketsByContact","clickedTicket","ticket","setItem","TicketNumber","concatMap","User","DecryptedUserInfo","RegisterChatEduModel","ChatPersonalizationFactory","RegisterChatMspModel","viewContainerRef","msgService","errorService","urlReferer","referrer","decryptTTIQueryParams","decryptQueryParams","GetChatPersonalization","parseInt","cp","getCurrentUser","ClientWindowInitialized","isInit","loadComponent","CHAT","UserChatInitialized","clientInitMessage","messageText","logError","sendInitMessage","eduSendClassNameMessage","sendCourseNameMessage","sendHostNameMessage","UserLeftRoom","TempLogout","registeredUserData","REGISTER_BELL_USER","REGISTER_MSP_USER","REGISTER_EDU_USER","REGISTER_TTI_USER","currUser","ConnectedToChat","data1","CLIENT_NOT_FOUND","ShowSurveyFlag","spinnerState","REGISTER_BELL_CHAT","REGISTER_MSP_CHAT","REGISTER_EDU_CHAT","InitComponents","clientNotFound","loadComponentWithData","openConfirmDialog","Hangout","initListener","initInterval","clientTostrSuccessNotification","notificationText","timeOut","openPreviousTicketDialog","sliceNumber","lastFive","slice","showCancelButton","clientTtiId","stringify","decryptUrlParam","Email","FirstName","LastName","atob","clientLanguageParam","err","decryptEduRegistrationForm","retModel","isUrlCreated","firstName","lastName","courseName","message","newform","noWhitespaceValidator","valid","decryptMspRegistrationForm","hostName","CONST_TELCO_GROUPID","mspModel","registerMspUser","CONST_MSP_GROUPID","eduModel","registerEduUser","CONST_EDU_GROUPID","decrUserInfo","RegisterToChatGuest","checkUser","UserNotFound","registerComponents","usrModel","RegisterToChatMsp","queryParamsHandling","RegisterToChat","currentAdIndex","componentItem","componentFactory","resolveComponentFactory","adHost","clear","componentRef","createComponent","instance","addEventListener","reset","setLastAction","lastAction","STORE_KEY","getLastAction","setInterval","check","CHECK_INTERVAL","timeleft","MINUTES_UNTIL_AUTO_LOGOUT","diff","isTimeout","control","isWhitespace","trim","isValid","fb","injector","butonTextColor","invertColor","clientIdParam","clientTypeParam","paramWidget","displayTooltip","myTooltip","disabled","closeTooltip","delay","ms","Promise","resolve","then","registerUser","isValidFormSubmitted","delayFlag","registerUserGo","controls","RegisterToChatTelco","setAlreadyEnteredUserData","GetCustomLabels","customChatLabelsSetup","Status","customWelcomeToYourHelpDeskLbl","Labels","Type","PleaseSignIn","WelcomeToYourHelpDesk","Value","customSignInLbl","SignIn","notValid","showFormErrors","MappingFields","ctx_r8","componentData","patchValue","ctx_r16","msalService","issueService","clientsBanned","clientsBan","verificationCode","GetBannedClients","showRegisterButton","login365","authSubject","callRegisterToChatMsp","resendCode","ResendVerification","showVerificationCode","callRegisterVerificationChatMsp","CreateFailedLoginTicket","verificationReadonly","RegisterMspWithVerification","showVerificationCodeError","VerificationCodeError","getNoCacheImage","colorFileFullPath","getPersonalizedColor","ctx_r12","address","phone","mobnumPattern","subscription","alreadyEntered","t","registerNewUser","RegisterNewTelcoUserInAtDownTime","RegisterNewTelcoUser","voucherPattern","RedeemVoucherToUser","RegisterNewMspUserInAtDownTime","debounceTime","clicks","e","debounceClick","emit","unsubscribe","clickEvent","stopPropagation","hostBindings","clipBoard","allItems","items","cannedResponses","noContentMessage","save","ClickOnCannedResponse","setCurrentChatMessage","ClickOnCopyToClipboard","copy","applyFilter","filterValue","$event","tickets","selectedUserId","TicketSourceName","subGetChatTranscriptByTicketId","getChatTranscriptByTicketId","ID","openCurrentTranscriptDialog","seeMore","getMore","getTicketsByUserPerMonth","concat","Room","subClickAllTranscript","clickAllTranscript","rooms","perPage","subAllTranscript","allTranscriptsLen","fullLen","subSetCurrentPage","setCurrentPage","current","currentPage","subCurrentTranscriptUser","currentTranscriptUser","currentClickedUser","clickedRoom","getCurrentTranscript","observableOf","forkJoin","observableForkJoin","catchError","Contact","StatusType","_","TicketDraft","MappingFieldArray","createTicket","TicketCreatedStatusEnum","datePipe","issueservice","formBuilder","loadingContacts","loadingChildClients","initializeComponents","isTranscriptLoaded","subscriptionRoom","showSuccessMessage","offset","clientDate","utc","getTime","getTimezoneOffset","utcDate","popupOpenedAt","subContactSubject","setContactSubject","tmpCont","contacts","find","c","selectedContact","getTicketInfo","previousRoom","subscriptionTicket","currentTicket","ticketNumberPresent","ticketNumber","disableUpdate","isMspAuth","subscriptionTicketNumbers","sTicketNumbers","ticketArray","ticketNumberArray","element","GetAllIssues","issues","GetAllStatuses","statuses","GetQueues","queues","GetPriorities","priorities","GetTranscript","msgsInCurrentRoom","setBlockSettingCurrentRoom","GetChildClientsByUserId","chatUserId","getChildClients","GetContactsByUserId","getContactsSubsription","GetTicketDraft","ticketTitle","Title","selectedStatus","selectedQueue","Queue","selectedIssue","Issue","onIssueSelect","selectedSubIssue","SubIssue","internalNote","InternalNote","privateNote","PrivateNote","PopupOpenedAt","selectedChildClient","SelectedChild","ticketTitleInitial","selectedStatusInitial","selectedQueueInitial","selectedContactInitial","selectedIssueInitial","selectedSubIssueInitial","internalNoteInitial","privateNoteInitial","popupOpenedAtInitial","selectedChildClientInitial","selectedTemplate","SelectedTemplate","isNhdTicket","SelectedChildClientInitial","onChildClientSelect","subscriptionTicketCreated","TicketCreated","ticketCreatedStatus","isSaveChangesNeeded","TicketUpdated","isTicketCreated","noticeMessage","noticeImage","closeChatPopup","subscriptionSaveChanges","checkIfClosePopupNeeded","start","formChange","loadNewComponent","msgs","userInChat","chatUserFullName","makeFirstLetterUppercase","initialTicketTitle","transcriptMsgs","messagesInCurrentRoom","cloneDeep","sortBy","parentAtAccountId","parentId","selected","client","subscriptionContactsStatus","CheckIfMspAllowsAddingContacts","addContactsNote","email2","toLocaleLowerCase","getIssues","fields","saveDraftChanges","setCurrentRoom","openConfirmInfoDialog","createItem","group","additionalTicketTitle","additionalIssue","additionalSubIssue","ticketMentorPrivateNote","ticketMentorTimeEntry","addItem","myForm","subissuesList","subIssueVisibleList","onCloseAdditionalTicket","removeAt","array","setCurrentTicket","loadPreviousTicket","checkPreviousTicketQueue","isPreviousTicketBinded","selectedPriority","Priority","IssueType","selectedSubIss","SubIssueType","showSelected","disablePreviousTicketUpdate","revertToNewTicket","closeNhdChat","openConfirmationDialog","CloseNhdChat","isNhdClosed","getContacts","subGetContactsForRoom","openTicket","onSubIssueSelect","onCompanySelect","selectedCompany","onQueueSelect","onStatusSelect","onPrioritySelect","subGetAllSubissues","GetAllSubissues","subissues","fieldValue","increaseByOne","onAdditionalIssueSelect","mappingFields","onContactSelect","openDialog","GetAllContactsByClientId","contact","startsWith","dataSend","firstname","lastname","accountID","AccountID","AddNewContact","openNoticeDialog","onTemplateSelect","InProgress","AfterHoursWork","PendingEscalationApproval","Complete","ticketDraft","savePendingChanges","updateTicket","activeButton","activeElement","Object","keys","invalidControl","ticketDataList","ticketData","currentRoomId","isDefault","addTicket","createNewTicket","word","splitted","charAt","subCurrentUser","incoming","cd","renderer","focusElementSubject","msgId","Private","openAttachemnt","getMessageRecivedClass","sent","Notification","MentorSystem","clearInterval","intervalHolder","subChatOrTicketWidnow","handleChatOrTicketWindow","subHandleCloseRoom","handleCloseRoomSubject","subSaveChanges","pom","currentComponent","unblockSetCurrentRoom","prevRoom","getPreviousRoomSet","closed","getIsAllSessionsClicked","setIsAllSessionsClicked","preselectTab","loadComponentIndex","len","openChat","openHotText","onSubmit","openHotContacts","openHotLogins","openHotItemManag","openBellPopUp","openTicketHistory","openReportCards","bypassSecurityTrustResourceUrl","getUrl","thisUser","isClocked","test","roomId","onClickGetUser","getUserInfo","distinctUntilChanged","MatMenuTrigger","onContextMenu","contextMenuPosition","clientX","y","clientY","contextMenu","menuData","openMenu","menu","resetActiveItem","overlay","subCurrentRoom","roomMembers","currentRoomMembers","users","removeUser","RemoveUser","banUser","BanUser","ticketCreated","avatarSrc","isCloacked","joinRoom","mentorCount","currMentorIsPartOfTheRoom","getMentorName","lastMessage","getRoomColor","delta","createdAt","getRoomStatus","getRoomNameColor","tmp","getRoomNameStatus","GetFormatedTime","getHours","getMinutes","getSeconds","ticks","pad","Math","floor","digit","noUnsweredRooms","notRespondedRooms","subNewChatSoundNotification","newChatSoundNotification","userVolume","volume","clicked","getNumOfMentorsInCurrRoom","toggle","showMore","toggleButtonName","changeDetectorRef","markForCheck","joinSelectedRoom","curRoom","getTicketTitle","getStyle","subCurrentROom","selectedRoom","GetPreviousMessagesInProgres","getChatStartTime","roomTimer","groupByRooms","groupedRooms","groupByMyRooms","groupedMyRooms","closedRooms","tabid","ctdTabset","PreventAutoJoin","displayDialogCannotJoinRoom","subClk","clk","chatRoom","subClkCloseRoom","clkClosedRoom","chatRoomToBeClosed","onSelect","currRoom","onSelectClosedRoom","session","dataModel","roomVolume","formatLabel","ChatVolume","RoomVolume","cancel","getUserInfoOnInit","first","SignalRStatus","changeDetector","spinnerServiceDialogs","lastScrollHeight","currentRoomMessages","isGetMsgInProgress","inProgress","subscriptionNewNotification","roomGuid","subscriptionCurrentRoom","prevMsgsAreLoaded","showSendSurveyButton","isLobbyRoom","subscriptionCurrentUser","subscriptionRoomMsgLoaded","currentRoomMsgLoaded","roomArr","msgPane","lastMsgId","subscriptionNotification","subscriptionNotificationCancel","subConnectSignalR","connectionSubject","Connected","connectionIndicator","Disconnected","Reconnectiong","subRemoveEndUser","removingEndUserSubject","isLeaveRoomAllowed","chatMessageToSendSubject","chatMessage","triggerChange","valueEmitted","handleChange","onScroll","timerLoadPrevMsgs","getPrevMessagesChain","bind","isLoadingPrevMsgs","SendSurvey","SendSurveyGo","SendSurveyToUser","LoadCannedResponses","cannedResponsesData","openAllCannedResponsesDialog","cannedResponsesDialogRef","onKeyUp","ok","collection","property","groupedCollection","reduce","previous","pure","moment","args","currentValue","fromNow","detectChanges","fromNowPipeInjectables","firstMessage","parseUrl","urls","replacer","$1","$2","$3","urlClean","hashtags","mentions","emails","displayMessage","lang","typingMessage","peopleInChat","currentTranscript","hideInfo","subUserInfo","clickedUserInfo","userInfo","test1","onClickGetAllTickets","subTicketByUserPerMonth","openAllTicketsDialog","onClickGetCurrentTranscript","openAllTranscriptsDialog","openPopUp","showUserOnInit","openVolume","chatVolume","random","fileChangeEvent","substring","lastIndexOf","imageExtensions","imageChangedEvent","imageName","imageSize","imageError","hasError","imageCropped","croppedImage","blob","sizeInMB","toFixed","imageLoaded","cropperReady","loadImageFailed","upload","groupId","groupIdNum","isNaN","greetingText","greetingMessage","objectUrlGlobal","imageUri","displayOriginalImageSize","ChatPersonalization","pers","additionalColor","Client","ClientFactory","createClient","clientVM","me","Id","Name","IsActive","fieldName","mappingType","parentValueidId","ImageUriUrl","MessageAttachmentFactory","CreateMessageAttachment","CreateMessageAttachmentFromList","attachments","notes","CreateMessageAttachmentLowerCase","imageId","thumbnailUri","messageId","containerName","CreateMessageAttachmentFromListLowerCase","ResponseDataImage","ResponseDataImageFactory","CreateResponse","Data","RoomFactory","createRoom","roomVM","roomTypeStr","roomType","RoomGuid","language","roomLanguage","isMspAuthentication","Closed","createRoomRestApi","createLobbyRoom","today","setHours","createEmptyRoom","createRoomWithGuid","TicketData","TicketDataFactory","ticketVM","ContactId","Source","IsPreviousTicket","PreviousRoomKey","TicketDraftFactory","CreateDraft","draft","Ticket","TicketFactory","ParentTicketNumber","CreatedDate","CreatedDateStr","UserRole","createRole","userRoleVm","Create","Key","ContactFlowId","AmazonConnectSettings","Description","InstanceId","cannedResponseVM","Tags","Text","pendingActivation","DisplayName","Logo","IsMentor","ClientType","IsAtDown","PendingActivation","B1number","Role","ClientCourse","clientCourseId","code","fname","lname","GenericSelectItem","customItem","viewValue","MaintenanceMode","closedByUserId","owner","isOwner","isSyncMsg","uninhibited","wasUninhibited","createLeaveRoomMsg","createMessagePending","messageVM","When","Content","MarkAsPendingClosed","Uninhibited","WasUninhibited","createEmptyMessage","createEmptyMessageForRoom","createMessage","ClosedByUserId","OrgMessageType","MessageAttachments","createMessageLowercase","when","content","messageType","orgMessageType","msgText","createMessagev2","createMessagev3","RegisterChatEduFactory","GetModel","RegisterChatMspFactory","topic","currMentorPartOfTheRoom","lastMessageId","lastActiveMentor","RoomGroup","Subissue","avatar","lastActivity","issue","subissue","atContactPhone","atContactMobilePhone","atContactAlternatePhone","secondaryEmail","createUser","userVM","IsAdmin","IsClocked","LastActivity","ChatColor","ChatLogo","AtContactPhone","AtContactMobilePhone","AtContactAlternatePhone","SecondaryEmail","createUserLowercase","isAdmin","chatLogo","createOffice365User","uname","UserChatTopic","UsersInfo","activity","validFor","courseId","redeembedBy","setDate","getDate","isTest","clientName","redeemedByUser","courses","VoucherId","ClientName","RedeemedByUser","ValidFor","ExpiryDate","toLocaleDateString","HttpHeaders","_httpClient","countMentors","countPendingActivation","countAtDownState","responseData","pageNumber","mentorsFlag","pendingActivationFilter","IsBanned","arr","post","responseType","roles","GetRequestHeaders","Courses","Code","DoEmptyRequest","GroupId","LoginAllowed","GreetingMessage","TasksCreationEnabled","NavigationStart","keepAfterNavigationChange","getMessage","_config","Error","urlSearchParams","URLSearchParams","access_token","checkTokenExpiration","RhubService","ConnectionState","http","_http","joinRoomSubject","invoke","lastId","getPrevMessages","onRoomLoadedGetHistory","roomID","forceReload","chainedPromisess","GetRoomMessages","tmpRoom","values","chainedPromisess2","attach","warn","addMessages","subscriptionIssues","initRHub","registerEventHandlers","connectionStateChange","connState","tryingToReconnect","StartHangoutAssociateTicket","StartHangout","Reconnecting","startRHub","connectionError","listenAsync","serverMessage","onMessageReceived","onConfirmTicketCreated","contactId","onContactAdded","onAddMessage","currRoomGuid","syncFirstMessages","onRoomsSync","onNotification","onRoomMsgHistoryReset","onRoomMsgHistory","onSetTyping","onCancelTyping","onSetCurrentRoom","onSetCurrentRoomOnLeave","onSetCurrentUser","leaveRoomId","authorId","onCloseRoom","onDestroyRoom","onClientLeftRoom","onLeaveRoom","onUpdateRoom","onClientIsInitialized","onHandleException","onLogOutInstance","onLogOutClient","statusType","onShowUserInfo","onProvidedCurrentTranscript","onSetCurrentTicket","sendTicketNumbers","onProvidedAllTranscripts","onSendSurveyAndLogoutUser","onEmailTranscriptError","onEmailTranscriptSuccess","onClearActiveSession","onReloadPage","onShowSurveyAndLogout","onLogOutAndReload","onGetAllConnectedClientsFromLocalStorage","connectionId","onAddConnectionIdToLS","chatUsers","onUpdateRoomMembers","onAutoJoinRoom","updateRoomMembers","autojoinroomid","ticketDataArray","ticketList","addNewContact","AddedContact","addMessage","rvm","cancelTypingNotification","Reset","clearNotActiveRooms","roomsFirstMessages","syncData","lastMsgs","roomsLatestMessagesChange","theRoom","getPreviousMsgs","lastMsgGuid","r","addTypingNotification","tmpRoomGuid","setCurrentUser","markMsgsAsClosedForRoom","deleteMessageForRoom","leaveRoom","previousSetRoom","previousIsCloackedSet","blockSettingCurrentRoom","markMsgsAsAttendedForRoom","clearAllRoomsMessages","sendUserInfo","showCurrentTranscript","getTranscriptForRoom","allTranscripts","showAllTranscript","ClearPreviousSessions","ShowSurveyWindow","connectionIds","restConIdAfterDelete","LogoutUserFromAllTabs","broadcastMessage","relativeTo","allText","raw","XMLHttpRequest","onreadystatechange","readyState","send","imgUrl","getRandomInt","min","max","throwError","observableThrowError","errorMsg","stack","handleErrorObservable","errorLogService","handleError","issueId","GetContactsForRoom","GetCompanies","accountId","GetRoomNotes","ClientId","v5id","validLocales","refCount","publishReplay","scan","initialMessages","updates","operation","tmpMsgs","firstMsg","latests","roomsLatestMessages","newMessages","createPrevMessages","elt","prevMessages","deleteRoomMessages","clearNotAcitveRooms","clearAll","clearAllMessages","markAsClosed","ids","notificationMessge","markAsClosedMessages","markAsAttended","markAsAttendedMessages","leave","compareFn","a","b","compareFnDesc","refreshMessages","markRoomAsRead","notificationMsg","messagesForRoomUser","clickCurrentTranscript","getLastMessageForTheRoom","filteredMessage","messagesServiceInjectables","Msal","auth","authority","graphMeEndpoint","scopes","clientApplication","UserAgentApplication","msalConfig","loginPopup","requestObj","loginResponse","getAccount","acquireTokenSilent","saveAccessTokenToCache","accessToken","account","accountIdentifier","catch","acquireTokenPopup","isOnline","getUser","getPager","totalItems","totalPages","ceil","startPage","endPage","startIndex","endIndex","pages","zone","authService","signalRServerEndPoint","hubConnection","$","useDefaultPath","qs","hubProxy","createHubProxy","hubName","stateChanged","newState","getConnectionState","context","subscriptions","Connecting","actionName","prepareHubProxy","proxy","on","listen","eventName","getCachedSubject","getZonedObservable","observable","observer","onNext","onError","onComplete","handler","listener","roomsTmp","usrsPerRoom","groupByName","sort","newRoom","checkMentorRole","roomIndex","count","mentorsCount","msgSorted","msgMentor","lastRoomStatus","roomsAsArray","itm","cntUninhibited","cntMentors","startNotification","notRespondedRoomsCache","chain","SystemPrivate","isAllSessionsSelected","page","checkMentorRoleForCloseChat","roomsServiceInjectables","reader","FileReader","readAsDataURL","onloadend","newTicket","ticketId","statusText","resut","downloadImage","btoa","HttpParams","clientLanguage","newUser","uct","exists","getFailedLogInAttempts","EmailCode","RegisterToChatMspAD","json","_errorHandler","RegisterToChatGuestExternal","RegisterUserInAtAndV5","RegisterNewMspUser","RegisterNewUser","encrypted","userData","setUserData","getUserData","failedLogInAttempts","isWidgetParameter","getQueryParamValue","dec","paramName","host","paramValue","httpParams","fromString","hex","bw","g","rs","gs","bs","padZero","str","zeros","join","userServiceInjectables","production","enableProdMode","__NgCli_bootstrap_1","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[206]}