{"ast":null,"code":"import { __decorate } from \"tslib\";\nimport { Component, HostListener, Input } from '@angular/core';\nimport { interval, Subject } from 'rxjs';\nimport { takeWhile, map, takeUntil, catchError } from 'rxjs/operators';\nexport let FooterComponent = class FooterComponent {\n  constructor(socketservice, NgxSpinnerService, _eref) {\n    this.socketservice = socketservice;\n    this.NgxSpinnerService = NgxSpinnerService;\n    this._eref = _eref;\n    this.calenderopen = true;\n    this.iscalendlyactive = false;\n    this.destroy$ = new Subject();\n    this.notesopen = true;\n    this.collapsed = false;\n    this.screenWidth = 0;\n    this.waitForToken().subscribe(() => {\n      this.calendly();\n    });\n  }\n  ngOnInit() {}\n  getFooterClass() {\n    let styleClass = '';\n    if (this.collapsed && this.screenWidth > 768) {\n      styleClass = 'footer-trimmed';\n    } else if (this.collapsed && this.screenWidth <= 768 && this.screenWidth > 0) {\n      styleClass = 'footer-md-screen';\n    }\n    return styleClass;\n  }\n  notesOpenfunction() {\n    this.notesopen = !this.notesopen;\n  }\n  clickout(event) {\n    if (!this._eref.nativeElement.contains(event.target)) {\n      this.notesopen = true;\n      this.calenderopen = true;\n    }\n  }\n  calenderOpenfunction() {\n    this.calenderopen = !this.calenderopen;\n  }\n  calendly() {\n    this.NgxSpinnerService.show();\n    var url = 'Features/calendlyCheckIfActive';\n    this.socketservice.get(url).subscribe(result => {\n      if (result.status == true) {\n        this.NgxSpinnerService.hide();\n        this.iscalendlyactive = true;\n        var url = 'Features/calendlyUserDetails';\n        this.socketservice.get(url).subscribe(result => {\n          if (result.status == true) {\n            this.scheduling_url = result.scheduling_url;\n            console.log(this.scheduling_url);\n            if (this.scheduling_url == null || this.scheduling_url == \"\") this.iscalendlyactive = false;\n          }\n        });\n      } else {\n        this.NgxSpinnerService.hide();\n      }\n    });\n  }\n  waitForToken() {\n    return interval(2000) // internal every 2 seconds  \n    .pipe(takeUntil(this.destroy$),\n    // Cleanup when the component is destroyed\n    map(() => {\n      const token = localStorage.getItem('token');\n      return token !== null && token !== '';\n    }), takeWhile(tokenAvailable => !tokenAvailable, true), catchError(error => {\n      console.error('Error while polling for token:', error);\n      return [];\n    }));\n  }\n  ngOnDestroy() {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n};\n__decorate([Input()], FooterComponent.prototype, \"collapsed\", void 0);\n__decorate([Input()], FooterComponent.prototype, \"screenWidth\", void 0);\n__decorate([HostListener('document:click', ['$event'])], FooterComponent.prototype, \"clickout\", null);\nFooterComponent = __decorate([Component({\n  selector: 'layout-footer',\n  templateUrl: './footer.component.html',\n  styleUrls: ['./footer.component.scss']\n})], FooterComponent);","map":{"version":3,"names":["Component","HostListener","Input","interval","Subject","takeWhile","map","takeUntil","catchError","FooterComponent","constructor","socketservice","NgxSpinnerService","_eref","calenderopen","iscalendlyactive","destroy$","notesopen","collapsed","screenWidth","waitForToken","subscribe","calendly","ngOnInit","getFooterClass","styleClass","notesOpenfunction","clickout","event","nativeElement","contains","target","calenderOpenfunction","show","url","get","result","status","hide","scheduling_url","console","log","pipe","token","localStorage","getItem","tokenAvailable","error","ngOnDestroy","next","complete","__decorate","selector","templateUrl","styleUrls"],"sources":["D:\\web\\EMS_Base\\kot\\src\\app\\layout\\components\\footer\\footer.component.ts"],"sourcesContent":["\nimport { Component, ElementRef, HostListener, Input } from '@angular/core';\nimport { SocketService } from 'src/app/ems.utilities/services/socket.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Observable, interval, Subject } from 'rxjs';\nimport { takeWhile, map, takeUntil, catchError } from 'rxjs/operators';\n\n@Component({\n  selector: 'layout-footer',\n  templateUrl: './footer.component.html',\n  styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent {\n  calenderopen: boolean = true;\n  iscalendlyactive: boolean = false;\n  scheduling_url: string | undefined\n  private destroy$ = new Subject<void>();\n\n\n  constructor(\n    public socketservice: SocketService,\n    private NgxSpinnerService: NgxSpinnerService,\n    private _eref: ElementRef\n  ) {\n    this.waitForToken().subscribe(() => {\n      this.calendly()\n\n    });\n\n  }\n\n  ngOnInit(): void {\n    \n  }\n  notesopen: boolean = true;\n  @Input() collapsed = false;\n  @Input() screenWidth = 0;\n\n  getFooterClass(): string {\n    let styleClass = '';\n    if (this.collapsed && this.screenWidth > 768) {\n      styleClass = 'footer-trimmed';\n    } else if (this.collapsed && this.screenWidth <= 768 && this.screenWidth > 0) {\n      styleClass = 'footer-md-screen';\n    }\n    return styleClass;\n  }\n\n  notesOpenfunction() {\n    this.notesopen = !this.notesopen\n  }\n\n  @HostListener('document:click', ['$event'])\n  clickout(event: Event) {\n    if (!this._eref.nativeElement.contains(event.target)) {\n      this.notesopen = true;\n      this.calenderopen = true;\n    }\n  }\n\n  calenderOpenfunction() {\n    this.calenderopen = !this.calenderopen\n  }\n\n  calendly() {\n    this.NgxSpinnerService.show()\n    var url = 'Features/calendlyCheckIfActive';\n    this.socketservice.get(url).subscribe((result: any) => {\n      if (result.status == true) {\n        this.NgxSpinnerService.hide()\n        this.iscalendlyactive = true\n        var url = 'Features/calendlyUserDetails';\n        this.socketservice.get(url).subscribe((result: any) => {\n          if(result.status == true){\n            this.scheduling_url = result.scheduling_url\n            console.log(this.scheduling_url)\n            if(this.scheduling_url == null || this.scheduling_url == \"\")\n              this.iscalendlyactive = false\n          }\n        });\n\n        }else {\n          this.NgxSpinnerService.hide()\n        }\n      });\n  }\n\n  waitForToken(): Observable<boolean> {\n    return interval(2000) // internal every 2 seconds  \n      .pipe(\n        takeUntil(this.destroy$), // Cleanup when the component is destroyed\n        map(() => {\n          const token = localStorage.getItem('token');\n          return token !== null && token !== '';\n        }),\n        takeWhile((tokenAvailable) => !tokenAvailable, true),\n        catchError((error) => {\n          console.error('Error while polling for token:', error);\n          return [];\n        })\n      );\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}