{"version":3,"sources":["webpack:///src/app/modules/shared/components/sign-out/sign-out.component.ts","webpack:///src/app/modules/shared/components/sign-out/sign-out.component.html","webpack:///src/app/modules/shared/components/status/status.component.html","webpack:///src/app/modules/shared/components/status/status.component.ts","webpack:///src/app/modules/shared/components/change-status/change-status.component.html","webpack:///src/app/modules/shared/components/change-status/change-status.component.ts","webpack:///src/app/components/header/header.component.html","webpack:///src/app/components/header/header.component.ts","webpack:///src/app/modules/shared/components/sign-out/sign-out.module.ts","webpack:///src/app/modules/shared/components/size-detector/size-detector.module.ts","webpack:///src/app/modules/shared/components/small-reader-card/small-reader-card.module.ts","webpack:///src/app/modules/shared/components/modals/modals.module.ts","webpack:///src/app/modules/shared/components/status/status.module.ts","webpack:///src/app/modules/shared/components/change-status/change-status.module.ts","webpack:///src/app/components/header/header.module.ts","webpack:///src/app/components/left-top-menu/left-top-menu.component.html","webpack:///src/app/components/left-top-menu/left-top-menu.component.ts","webpack:///src/app/components/menu/menu.module.ts","webpack:///src/app/components/left-top-menu/left-top-menu.module.ts","webpack:///src/app/menu/menu.ts","webpack:///src/app/components/menu/menu.component.html","webpack:///src/app/components/menu/menu.component.ts","webpack:///src/app/menu/consultant-menu.ts","webpack:///src/app/components/sidebar-menu-next/sidebar-menu-next.component.html","webpack:///src/app/components/sidebar-menu-next/sidebar-menu-next.component.ts","webpack:///src/app/components/sidebar-menu-next/sidebar-menu-next.module.ts","webpack:///src/app/components/sidebar-menu/sidebar-menu.component.html","webpack:///src/app/components/sidebar-menu/sidebar-menu.component.ts","webpack:///src/app/components/sidebar-menu/sidebar-menu.module.ts","webpack:///src/app/directives/directives.module.ts","webpack:///src/app/directives/hover.directive.ts","webpack:///src/app/directives/is-granted.directive.ts","webpack:///src/app/modules/shared/components/count-messages/count-messages.component.html","webpack:///src/app/modules/shared/components/count-messages/count-messages.component.ts","webpack:///src/app/modules/shared/components/count-messages/count-messages.module.ts","webpack:///src/app/modules/shared/components/favourite/favourite.module.ts","webpack:///src/app/modules/shared/components/gift-shade/gift-shade.module.ts","webpack:///src/app/modules/shared/components/major-actions/major-actions.component.ts","webpack:///src/app/modules/shared/components/major-actions/major-actions.component.html","webpack:///src/app/modules/shared/components/major-actions/major-actions.module.ts","webpack:///src/app/modules/shared/components/online/online.module.ts","webpack:///src/app/modules/shared/components/phones-menu/phones-menu.component.html","webpack:///src/app/modules/shared/components/phones-menu/phones-menu.component.ts","webpack:///src/app/modules/shared/components/phones-menu/phones-menu.module.ts","webpack:///src/app/modules/shared/components/premier/premier.module.ts","webpack:///src/app/modules/shared/components/rating/rating.module.ts","webpack:///src/app/modules/shared/components/reader-card/reader-card.module.ts","webpack:///src/app/modules/shared/components/select-filter/select-filter.module.ts","webpack:///src/app/modules/shared/pipes.shared.module.ts","webpack:///src/app/modules/shared/primary-components/book-button/book-button.module.ts","webpack:///src/app/modules/shared/primary-components/busy-button/busy-button.module.ts","webpack:///src/app/modules/shared/primary-components/call-button/call-button.module.ts","webpack:///src/app/modules/shared/primary-components/chat-button/chat-button.module.ts","webpack:///src/app/modules/shared/primary-components/notify-button/notify-button.module.ts"],"sourcesContent":["import {Component, Inject, OnDestroy, OnInit} from '@angular/core';\nimport {finalize} from 'rxjs/operators';\nimport {BsModalService} from 'ngx-bootstrap/modal';\nimport {NGXLogger} from 'ngx-logger';\nimport {CookieService} from 'ng2-cookies';\nimport {UserService} from '../../../../services/user.service';\nimport {Router} from '@angular/router';\nimport {SubSink} from 'subsink';\n// import * as Sentry from '@sentry/browser';\nimport {AllEmiterService} from '../../../../services/all-emiter.service';\nimport {ElectronService} from '../../../../services/electron.service';\nimport {environment} from '../../../../../environments/environment';\nimport {GoogleAnalyticsEventsService} from '../../../../services/google-analytics-events.service';\nimport {UtilService} from '../../../../services/util.service';\nimport {WINDOW} from '../../../../providers/window.provider';\nimport {ConsultantService} from '../../../consultant/services/consultant.service';\n\n@Component({\n selector: 'shared-sign-out',\n templateUrl: './sign-out.component.html',\n styleUrls: ['./sign-out.component.scss'],\n})\nexport class SignOutComponent implements OnInit, OnDestroy {\n private subs = new SubSink();\n\n constructor(\n private userService: UserService,\n private bsModalService: BsModalService,\n private logger: NGXLogger,\n private cookie: CookieService,\n private router: Router,\n // private atmosphereService: AtmosphereService,\n private allEmiterService: AllEmiterService,\n private electronService: ElectronService,\n private googleAnalyticsEventsService: GoogleAnalyticsEventsService,\n private utilService: UtilService,\n @Inject(WINDOW) private window: Window,\n private consultantService: ConsultantService,\n ) {\n const self = this;\n\n }\n\n ngOnInit() {\n }\n\n async signOut() {\n\n /**\n * First check if reader is self-busy. If is self-busy I disable it and log out\n * https://lifereader.atlassian.net/browse/LA-432\n */\n const self = this;\n const role = self.utilService.localStorageGetItem('role');\n if (role === 'ROLE_READER') {\n const availability = await this.consultantService.getAvailability().toPromise();\n if (availability) {\n if (availability.busy) {\n await this.userService.addSelfBusy().toPromise();\n }\n }\n }\n await this.googleAnalyticsEventsService.logOut();\n this.subs.sink = this.userService.signOut().pipe(finalize(() => {\n try {\n // self.atmosphereService.disconnect();\n self.allEmiterService.onUserLogOut();\n self.deleteData();\n self.electronService.removeDockMenu();\n this.window.location.href = '';\n } catch (e) {\n console.error('Error deleting cookies', e);\n this.window.location.href = '';\n }\n\n })).subscribe((res) => {\n }, error => {\n try {\n // self.atmosphereService.disconnect();\n self.allEmiterService.onUserLogOut();\n } catch (e) {\n }\n try {\n self.deleteData();\n } catch (e) {\n }\n console.error(error);\n this.window.location.href = 'index.html';\n });\n }\n\n deleteData() {\n const self = this;\n const cookies_banner = self.utilService.localStorageGetItem('cookies_banner');\n\n this.cookie.deleteAll('/');\n // This is done to force reload of other tabs that are listening for this event\n self.utilService.localStorageSetItem('uid', '');\n self.utilService.localStorageClear();\n self.utilService.localStorageSetItem('cookies_banner', cookies_banner);\n }\n\n ngOnDestroy(): void {\n this.subs.unsubscribe();\n }\n}\n","\n","
\n | \n {{reader.username}} | \n