{ "version": 3, "sources": ["src/app/components/UI/modal-hub/access.service.ts"], "sourcesContent": ["import { EventEmitter, Injectable } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { ContactsComponent } from '../../pages/contacts/contacts.component';\r\nimport { ContactSearchModalComponent } from './modals/contact-search-modal/contact-search-modal.component';\r\nimport { DocumentFromTemplateModalComponent } from './modals/document-from-template-modal/document-from-template-modal.component';\r\nimport { DocumentUploadModalComponent } from './modals/document-upload-modal/document-upload-modal.component';\r\nimport { ProfilePictureModalComponent } from './modals/profile-picture-modal/profile-picture-modal.component';\r\n\r\nexport interface ModalAccessParams {\r\n type: string,\r\n data?: any\r\n}\r\n\r\nexport type ActiveModal = void | ContactsComponent | any | null\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ModalHubAccessService {\r\n private subject!: Subject;\r\n private closeEvent = new Subject();\r\n public modalReady = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n closeModal(closeParams?: any) {\r\n this.closeEvent.next(closeParams);\r\n \r\n }\r\n\r\n modalClosed(): Observable {\r\n this.activeModal = null;\r\n return this.closeEvent.asObservable();\r\n }\r\n \r\n openModal(modalType: ModalAccessParams) {\r\n this.subject.next(modalType);\r\n return this.modalReady;\r\n }\r\n\r\n onOpenModal(): Observable {\r\n this.subject = new Subject()\r\n return this.subject.asObservable();\r\n }\r\n\r\n _activeModal!: ActiveModal;\r\n public set activeModal (value: ActiveModal) {\r\n this._activeModal = value;\r\n this.modalReady.emit(value)\r\n }\r\n\r\n public get activeModal() {\r\n return this._activeModal;\r\n }\r\n\r\n\r\n}\r\n"], "mappings": "wDAmBA,IAAaA,GAAqB,IAAA,CAA5B,MAAOA,CAAqB,CAKhCC,aAAA,CAHQ,KAAAC,WAAa,IAAIC,EAClB,KAAAC,WAAa,IAAIC,CAER,CAEhBC,WAAWC,EAAiB,CAC1B,KAAKL,WAAWM,KAAKD,CAAW,CAElC,CAEAE,aAAW,CACT,YAAKC,YAAc,KACZ,KAAKR,WAAWS,aAAY,CACrC,CAEAC,UAAUC,EAA4B,CACpC,YAAKC,QAAQN,KAAKK,CAAS,EACpB,KAAKT,UACd,CAEAW,aAAW,CACT,YAAKD,QAAU,IAAIX,EACZ,KAAKW,QAAQH,aAAY,CAClC,CAGA,IAAWD,YAAaM,EAAkB,CACxC,KAAKC,aAAeD,EACpB,KAAKZ,WAAWc,KAAKF,CAAK,CAC5B,CAEA,IAAWN,aAAW,CACpB,OAAO,KAAKO,YACd,iDAnCWjB,EAAqB,CAAA,iCAArBA,EAAqBmB,QAArBnB,EAAqBoB,UAAAC,WAHpB,MAAM,CAAA,CAAA,SAGPrB,CAAqB,GAAA", "names": ["ModalHubAccessService", "constructor", "closeEvent", "Subject", "modalReady", "EventEmitter", "closeModal", "closeParams", "next", "modalClosed", "activeModal", "asObservable", "openModal", "modalType", "subject", "onOpenModal", "value", "_activeModal", "emit", "factory", "\u0275fac", "providedIn"] }