diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 884e58c..9d23bc6 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -90,6 +90,11 @@ import { AlgoComponentComponent } from './algo-component/algo-component.componen // services import { loginService } from './services/loginService/login.service'; import { dataService } from './services/dataService/data.service'; +import { AuthContextService } from './services/state/auth-context.service'; +import { RoleContextService } from './services/state/role-context.service'; +import { BeneficiaryStateService } from './services/state/beneficiary-state.service'; +import { CallStateService } from './services/state/call-state.service'; +import { UiEventBusService } from './services/state/ui-event-bus.service'; import { DashboardHttpServices } from './http-service/http-service.service'; import { HttpServices } from './services/http-services/http_services.service'; import { SearchService } from './services/searchBeneficiaryService/search.service'; @@ -472,7 +477,7 @@ import { FeedbackModule } from './platform-feedback/feedback.module'; ], schemas: [CUSTOM_ELEMENTS_SCHEMA], - providers: [loginService, dataService, DashboardHttpServices, HttpServices, SearchService, CoReferralService, SchemeService, CallServices, + providers: [loginService, AuthContextService, RoleContextService, BeneficiaryStateService, CallStateService, UiEventBusService, dataService, DashboardHttpServices, HttpServices, SearchService, CoReferralService, SchemeService, CallServices, CoCategoryService, FeedbackTypes, LocationService, UserBeneficiaryData, CoFeedbackService, CzentrixServices, PrescriptionService, CaseSheetService, OtherHelplineService, SioService, EpidemicServices, CDSSService, OrganDonationServices, BloodOnCallServices, CallerService, FoodSafetyServices, ConfigService,sessionStorageService, diff --git a/src/app/multi-role-screen/multi-role-screen.component.ts b/src/app/multi-role-screen/multi-role-screen.component.ts index 065a274..8cd2712 100644 --- a/src/app/multi-role-screen/multi-role-screen.component.ts +++ b/src/app/multi-role-screen/multi-role-screen.component.ts @@ -22,7 +22,9 @@ import { Component, OnInit } from "@angular/core"; -import { dataService } from "../services/dataService/data.service"; +import { AuthContextService } from "../services/state/auth-context.service"; +import { RoleContextService } from "../services/state/role-context.service"; +import { UiEventBusService } from "../services/state/ui-event-bus.service"; import { Router } from "@angular/router"; import { CzentrixServices } from "../services/czentrix/czentrix.service"; import { ConfirmationDialogsService } from "./../services/dialog/confirmation.service"; @@ -75,7 +77,9 @@ export class MultiRoleScreenComponent implements OnInit { private sessionstorage:sessionStorageService, private message: ConfirmationDialogsService, private authService: AuthService, - public getCommonData: dataService, + public authCtx: AuthContextService, + public roleCtx: RoleContextService, + public uiEventBus: UiEventBusService, public router: Router, location: PlatformLocation, private czentrixServices: CzentrixServices, @@ -104,20 +108,20 @@ export class MultiRoleScreenComponent implements OnInit { ngOnInit() { this.assignSelectedLanguage(); - this.data = this.getCommonData.Userdata; + this.data = this.authCtx.Userdata; // this.router.navigate(['/MultiRoleScreenComponent', { outlets: { 'postLogin_router': [''] } }]); - this.current_role = this.getCommonData.current_role - ? this.getCommonData.current_role.RoleName + this.current_role = this.roleCtx.current_role + ? this.roleCtx.current_role.RoleName : ""; - this.current_service = this.getCommonData.current_service - ? this.getCommonData.current_service.serviceName + this.current_service = this.roleCtx.current_service + ? this.roleCtx.current_service.serviceName : ""; - this.id = this.getCommonData.agentID - ? this.getCommonData.agentID - : this.getCommonData.Userdata.agentID - ? this.getCommonData.Userdata.agentID + this.id = this.authCtx.agentID + ? this.authCtx.agentID + : this.authCtx.Userdata.agentID + ? this.authCtx.Userdata.agentID : undefined; - this.getCommonData.roleSelected.subscribe((obj) => { + this.roleCtx.roleSelected.subscribe((obj: any) => { this.id = obj["id"]; this.current_role = obj["role"]; this.current_service = obj["service"]; @@ -128,7 +132,7 @@ export class MultiRoleScreenComponent implements OnInit { const url = this.configService.getTelephonyServerURL() + "bar/cti_handler.php"; this.ctiHandlerURL = this.sanitizer.bypassSecurityTrustResourceUrl(url); - this.getCommonData.sendHeaderStatus.subscribe((data) => { + this.uiEventBus.sendHeaderStatus.subscribe((data) => { this.setHeaderName(data); }); @@ -146,7 +150,7 @@ export class MultiRoleScreenComponent implements OnInit { const getLanguageJson = new SetLanguageComponent(this.HttpServices); getLanguageJson.setLanguage(); this.currentLanguageSet = getLanguageJson.currentLanguageObject; - this.app_language=this.getCommonData.appLanguage; + this.app_language = this.roleCtx.appLanguage; // this.label=this.currentLanguageSet.roleSelection; } @@ -180,12 +184,12 @@ export class MultiRoleScreenComponent implements OnInit { // } } ipSuccessLogoutHandler() { - this.czentrixServices.agentLogout(this.getCommonData.agentID, "").subscribe( + this.czentrixServices.agentLogout(this.authCtx.agentID, "").subscribe( (res) => { this.sessionstorage.removeItem("key"); this.sessionstorage.removeItem("onCall"); this.sessionstorage.removeItem("setLanguage"); - this.getCommonData.appLanguage="English"; + this.roleCtx.appLanguage = "English"; this.loginService .userLogout() .subscribe((response) => this.handleSuccess(response)); @@ -197,7 +201,7 @@ export class MultiRoleScreenComponent implements OnInit { this.sessionstorage.removeItem("key"); this.sessionstorage.removeItem("onCall"); this.sessionstorage.removeItem("setLanguage"); - this.getCommonData.appLanguage="English"; + this.roleCtx.appLanguage = "English"; this.loginService .userLogout() .subscribe((response) => this.handleSuccess(response)); @@ -325,12 +329,12 @@ export class MultiRoleScreenComponent implements OnInit { this.languageArray.forEach((item) => { if (item.languageName === language) { this.app_language = language; - this.getCommonData.appLanguage=language; + this.roleCtx.appLanguage = language; } }); } else { this.app_language = language; - this.getCommonData.appLanguage=language; + this.roleCtx.appLanguage = language; } this.HttpServices.getCurrentLanguage(response[language]); } diff --git a/src/app/services/dataService/data.service.ts b/src/app/services/dataService/data.service.ts index 7e1d113..177ac3a 100644 --- a/src/app/services/dataService/data.service.ts +++ b/src/app/services/dataService/data.service.ts @@ -20,114 +20,104 @@ * along with this program. If not, see https://www.gnu.org/licenses/. */ - import { Injectable } from '@angular/core'; - -import { Http, Response } from '@angular/http'; -import { BehaviorSubject } from 'rxjs'; -import { Observable } from 'rxjs/Observable'; -import { Subject } from 'rxjs/Subject'; -import 'rxjs/add/operator/catch'; -import 'rxjs/add/operator/map'; - +import { AuthContextService } from '../state/auth-context.service'; +import { RoleContextService } from '../state/role-context.service'; +import { BeneficiaryStateService } from '../state/beneficiary-state.service'; +import { CallStateService } from '../state/call-state.service'; +import { UiEventBusService } from '../state/ui-event-bus.service'; + @Injectable() export class dataService { - - providerID: any; - providerServiceMapID:any; - // checking stash save - Userdata: any; - userPriveliges: any; - uid: any; - uname:any; - benData:any; - ipAddress: any; - agentID: any; - loginKey: any; - benCallID: any; - current_role: any; - current_roleName: any; - current_roleID: any; - current_workingLocationID: any; - current_service: any; // current_service.serviceID contains providerServiceMapId - current_serviceID: any = 3; - current_campaign: any; - current_feature: any; - screens: any; - callData: any = {}; - beneficiaryData: any = {}; - beneficiaryDetails:any; - sessionID :any; - sio_outbond_providerlist: any={}; - screeningService_selected:any; - beneficiaryDataAcrossApp:any={}; - benRegID: any; - ph:any=""; - benHealthID:any; - outboundBenID: any; - outboundCallReqID: any; - inOutBound: any; - outboundBloodReqtID: any; - avoidingEvent: boolean = false; - transactionId:any; - isBenDetails: any=""; - isBenDetailsData = new BehaviorSubject(this.isBenDetails); - isBenDetails$ = this.isBenDetailsData.asObservable(); - - // bpQuestionTypeId = 18; - // diabeticQuestionTypeId = 19; - // diabeticRiskFactorsQuestionTypeId = 20; - - // qualitativeQuestionTypeId = 21; - // utilityQuestionTypeId = 22; - // quantitativeQuestionTypeId = 23; - - // callTypeID = 10 ;// for valid calls - callTypeID:any; - feedbackStatusID = 2; // Id for feedback status Open - - service_providerID : any; - - roleSelected = new Subject(); - callDisconnected = new Subject(); - sendBMI = new Subject(); - sendHeaderStatus = new Subject(); - isSelf = new Subject(); - isEmergency = new Subject(); - /*Edited By:Diamond Khanna , Date:28 september,2017 */ - current_stateID_based_on_role: any; - firstName: any; - lastName: any; - age: any; - gender: any; - districtID: any; - blockID : any; - ben_gender_name:any; - dummyPh: any; - callID: any; - healthcareTypeID; - serviceAvailed = new Subject(); - sendRoutine = new Subject(); - caste: any; - educationID: any; - outboundRequestID: any; - - roleChanged = new Subject(); - - closeCallerCount:number=0; - setUniqueCallIDForInBound: Boolean = false; // restricted multiple triggering start call API for inbound - setUniqueCallIDForOutbound: Boolean = false; //restricted multiple triggering start call API for outbound - benDataInRO: any; - apiCalledForInbound=false; - appLanguage:any="English"; + constructor( + private auth: AuthContextService, + private role: RoleContextService, + private ben: BeneficiaryStateService, + private call: CallStateService, + private ui: UiEventBusService + ) {} - getBenDetailsOfCall(value : any){ - this.isBenDetails = value; - this.isBenDetailsData.next(this.isBenDetails); - } - clearBenData(){ - this.isBenDetails = null; - this.isBenDetailsData.next(this.isBenDetails); - } + // Auth + get Userdata() { return this.auth.Userdata; } set Userdata(v) { this.auth.Userdata = v; } + get userPriveliges() { return this.auth.userPriveliges; } set userPriveliges(v) { this.auth.userPriveliges = v; } + get uid() { return this.auth.uid; } set uid(v) { this.auth.uid = v; } + get uname() { return this.auth.uname; } set uname(v) { this.auth.uname = v; } + get ipAddress() { return this.auth.ipAddress; } set ipAddress(v) { this.auth.ipAddress = v; } + get agentID() { return this.auth.agentID; } set agentID(v) { this.auth.agentID = v; } + get loginKey() { return this.auth.loginKey; } set loginKey(v) { this.auth.loginKey = v; } + get sessionID() { return this.auth.sessionID; } set sessionID(v) { this.auth.sessionID = v; } + + // Role + get current_role() { return this.role.current_role; } set current_role(v) { this.role.current_role = v; } + get current_roleName() { return this.role.current_roleName; } set current_roleName(v) { this.role.current_roleName = v; } + get current_roleID() { return this.role.current_roleID; } set current_roleID(v) { this.role.current_roleID = v; } + get current_workingLocationID() { return this.role.current_workingLocationID; } set current_workingLocationID(v) { this.role.current_workingLocationID = v; } + get current_service() { return this.role.current_service; } set current_service(v) { this.role.current_service = v; } + get current_serviceID() { return this.role.current_serviceID; } set current_serviceID(v) { this.role.current_serviceID = v; } + get current_campaign() { return this.role.current_campaign; } set current_campaign(v) { this.role.current_campaign = v; } + get current_feature() { return this.role.current_feature; } set current_feature(v) { this.role.current_feature = v; } + get screens() { return this.role.screens; } set screens(v) { this.role.screens = v; } + get current_stateID_based_on_role() { return this.role.current_stateID_based_on_role; } set current_stateID_based_on_role(v) { this.role.current_stateID_based_on_role = v; } + get appLanguage() { return this.role.appLanguage; } set appLanguage(v) { this.role.appLanguage = v; } + get roleSelected() { return this.role.roleSelected; } set roleSelected(v) { this.role.roleSelected = v; } + get roleChanged() { return this.role.roleChanged; } set roleChanged(v) { this.role.roleChanged = v; } + + // Beneficiary + get benData() { return this.ben.benData; } set benData(v) { this.ben.benData = v; } + get benCallID() { return this.ben.benCallID; } set benCallID(v) { this.ben.benCallID = v; } + get beneficiaryData() { return this.ben.beneficiaryData; } set beneficiaryData(v) { this.ben.beneficiaryData = v; } + get beneficiaryDetails() { return this.ben.beneficiaryDetails; } set beneficiaryDetails(v) { this.ben.beneficiaryDetails = v; } + get beneficiaryDataAcrossApp() { return this.ben.beneficiaryDataAcrossApp; } set beneficiaryDataAcrossApp(v) { this.ben.beneficiaryDataAcrossApp = v; } + get benRegID() { return this.ben.benRegID; } set benRegID(v) { this.ben.benRegID = v; } + get ph() { return this.ben.ph; } set ph(v) { this.ben.ph = v; } + get benHealthID() { return this.ben.benHealthID; } set benHealthID(v) { this.ben.benHealthID = v; } + get firstName() { return this.ben.firstName; } set firstName(v) { this.ben.firstName = v; } + get lastName() { return this.ben.lastName; } set lastName(v) { this.ben.lastName = v; } + get age() { return this.ben.age; } set age(v) { this.ben.age = v; } + get gender() { return this.ben.gender; } set gender(v) { this.ben.gender = v; } + get districtID() { return this.ben.districtID; } set districtID(v) { this.ben.districtID = v; } + get blockID() { return this.ben.blockID; } set blockID(v) { this.ben.blockID = v; } + get ben_gender_name() { return this.ben.ben_gender_name; } set ben_gender_name(v) { this.ben.ben_gender_name = v; } + get dummyPh() { return this.ben.dummyPh; } set dummyPh(v) { this.ben.dummyPh = v; } + get caste() { return this.ben.caste; } set caste(v) { this.ben.caste = v; } + get educationID() { return this.ben.educationID; } set educationID(v) { this.ben.educationID = v; } + get benDataInRO() { return this.ben.benDataInRO; } set benDataInRO(v) { this.ben.benDataInRO = v; } + get isBenDetails() { return this.ben.isBenDetails; } set isBenDetails(v) { this.ben.isBenDetails = v; } + get isBenDetailsData() { return this.ben.isBenDetailsData; } set isBenDetailsData(v) { this.ben.isBenDetailsData = v; } + get isBenDetails$() { return this.ben.isBenDetails$; } set isBenDetails$(v) { this.ben.isBenDetails$ = v; } -}; + getBenDetailsOfCall(value: any) { this.ben.getBenDetailsOfCall(value); } + clearBenData() { this.ben.clearBenData(); } + + // Call + get callData() { return this.call.callData; } set callData(v) { this.call.callData = v; } + get callTypeID() { return this.call.callTypeID; } set callTypeID(v) { this.call.callTypeID = v; } + get callID() { return this.call.callID; } set callID(v) { this.call.callID = v; } + get inOutBound() { return this.call.inOutBound; } set inOutBound(v) { this.call.inOutBound = v; } + get outboundBenID() { return this.call.outboundBenID; } set outboundBenID(v) { this.call.outboundBenID = v; } + get outboundCallReqID() { return this.call.outboundCallReqID; } set outboundCallReqID(v) { this.call.outboundCallReqID = v; } + get sio_outbond_providerlist() { return this.call.sio_outbond_providerlist; } set sio_outbond_providerlist(v) { this.call.sio_outbond_providerlist = v; } + get outboundBloodReqtID() { return this.call.outboundBloodReqtID; } set outboundBloodReqtID(v) { this.call.outboundBloodReqtID = v; } + get outboundRequestID() { return this.call.outboundRequestID; } set outboundRequestID(v) { this.call.outboundRequestID = v; } + get closeCallerCount() { return this.call.closeCallerCount; } set closeCallerCount(v) { this.call.closeCallerCount = v; } + get apiCalledForInbound() { return this.call.apiCalledForInbound; } set apiCalledForInbound(v) { this.call.apiCalledForInbound = v; } + get setUniqueCallIDForInBound() { return this.call.setUniqueCallIDForInBound; } set setUniqueCallIDForInBound(v) { this.call.setUniqueCallIDForInBound = v; } + get setUniqueCallIDForOutbound() { return this.call.setUniqueCallIDForOutbound; } set setUniqueCallIDForOutbound(v) { this.call.setUniqueCallIDForOutbound = v; } + get callDisconnected() { return this.call.callDisconnected; } set callDisconnected(v) { this.call.callDisconnected = v; } + + // UI Event Bus + get providerID() { return this.ui.providerID; } set providerID(v) { this.ui.providerID = v; } + get providerServiceMapID() { return this.ui.providerServiceMapID; } set providerServiceMapID(v) { this.ui.providerServiceMapID = v; } + get screeningService_selected() { return this.ui.screeningService_selected; } set screeningService_selected(v) { this.ui.screeningService_selected = v; } + get avoidingEvent() { return this.ui.avoidingEvent; } set avoidingEvent(v) { this.ui.avoidingEvent = v; } + get transactionId() { return this.ui.transactionId; } set transactionId(v) { this.ui.transactionId = v; } + get feedbackStatusID() { return this.ui.feedbackStatusID; } set feedbackStatusID(v) { this.ui.feedbackStatusID = v; } + get service_providerID() { return this.ui.service_providerID; } set service_providerID(v) { this.ui.service_providerID = v; } + get healthcareTypeID() { return this.ui.healthcareTypeID; } set healthcareTypeID(v) { this.ui.healthcareTypeID = v; } + get sendBMI() { return this.ui.sendBMI; } set sendBMI(v) { this.ui.sendBMI = v; } + get sendHeaderStatus() { return this.ui.sendHeaderStatus; } set sendHeaderStatus(v) { this.ui.sendHeaderStatus = v; } + get isSelf() { return this.ui.isSelf; } set isSelf(v) { this.ui.isSelf = v; } + get isEmergency() { return this.ui.isEmergency; } set isEmergency(v) { this.ui.isEmergency = v; } + get serviceAvailed() { return this.ui.serviceAvailed; } set serviceAvailed(v) { this.ui.serviceAvailed = v; } + get sendRoutine() { return this.ui.sendRoutine; } set sendRoutine(v) { this.ui.sendRoutine = v; } +} diff --git a/src/app/services/state/auth-context.service.ts b/src/app/services/state/auth-context.service.ts new file mode 100644 index 0000000..a5636d6 --- /dev/null +++ b/src/app/services/state/auth-context.service.ts @@ -0,0 +1,13 @@ +import { Injectable } from '@angular/core'; + +@Injectable() +export class AuthContextService { + Userdata: any; + userPriveliges: any; + uid: any; + uname: any; + ipAddress: any; + agentID: any; + loginKey: any; + sessionID: any; +} diff --git a/src/app/services/state/beneficiary-state.service.ts b/src/app/services/state/beneficiary-state.service.ts new file mode 100644 index 0000000..7fb8df6 --- /dev/null +++ b/src/app/services/state/beneficiary-state.service.ts @@ -0,0 +1,39 @@ +import { Injectable } from '@angular/core'; +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; + +@Injectable() +export class BeneficiaryStateService { + benData: any; + benCallID: any; + beneficiaryData: any = {}; + beneficiaryDetails: any; + beneficiaryDataAcrossApp: any = {}; + benRegID: any; + ph: any = ""; + benHealthID: any; + firstName: any; + lastName: any; + age: any; + gender: any; + districtID: any; + blockID: any; + ben_gender_name: any; + dummyPh: any; + caste: any; + educationID: any; + benDataInRO: any; + + isBenDetails: any = ""; + isBenDetailsData = new BehaviorSubject(this.isBenDetails); + isBenDetails$ = this.isBenDetailsData.asObservable(); + + getBenDetailsOfCall(value: any) { + this.isBenDetails = value; + this.isBenDetailsData.next(this.isBenDetails); + } + + clearBenData() { + this.isBenDetails = null; + this.isBenDetailsData.next(this.isBenDetails); + } +} diff --git a/src/app/services/state/call-state.service.ts b/src/app/services/state/call-state.service.ts new file mode 100644 index 0000000..ac101a2 --- /dev/null +++ b/src/app/services/state/call-state.service.ts @@ -0,0 +1,21 @@ +import { Injectable } from '@angular/core'; +import { Subject } from 'rxjs/Subject'; + +@Injectable() +export class CallStateService { + callData: any = {}; + callTypeID: any; + callID: any; + inOutBound: any; + outboundBenID: any; + outboundCallReqID: any; + sio_outbond_providerlist: any = {}; + outboundBloodReqtID: any; + outboundRequestID: any; + closeCallerCount: number = 0; + apiCalledForInbound = false; + setUniqueCallIDForInBound: Boolean = false; + setUniqueCallIDForOutbound: Boolean = false; + + callDisconnected = new Subject(); +} diff --git a/src/app/services/state/role-context.service.ts b/src/app/services/state/role-context.service.ts new file mode 100644 index 0000000..56b030a --- /dev/null +++ b/src/app/services/state/role-context.service.ts @@ -0,0 +1,20 @@ +import { Injectable } from '@angular/core'; +import { Subject } from 'rxjs/Subject'; + +@Injectable() +export class RoleContextService { + current_role: any; + current_roleName: any; + current_roleID: any; + current_workingLocationID: any; + current_service: any; + current_serviceID: any = 3; + current_campaign: any; + current_feature: any; + screens: any; + current_stateID_based_on_role: any; + appLanguage: any = "English"; + + roleSelected = new Subject(); + roleChanged = new Subject(); +} diff --git a/src/app/services/state/ui-event-bus.service.ts b/src/app/services/state/ui-event-bus.service.ts new file mode 100644 index 0000000..0ff3dac --- /dev/null +++ b/src/app/services/state/ui-event-bus.service.ts @@ -0,0 +1,21 @@ +import { Injectable } from '@angular/core'; +import { Subject } from 'rxjs/Subject'; + +@Injectable() +export class UiEventBusService { + providerID: any; + providerServiceMapID: any; + screeningService_selected: any; + avoidingEvent: boolean = false; + transactionId: any; + feedbackStatusID = 2; + service_providerID: any; + healthcareTypeID: any; + + sendBMI = new Subject(); + sendHeaderStatus = new Subject(); + isSelf = new Subject(); + isEmergency = new Subject(); + serviceAvailed = new Subject(); + sendRoutine = new Subject(); +}