You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
287 lines
8.3 KiB
TypeScript
287 lines
8.3 KiB
TypeScript
import { Component, OnInit, ViewChild, AfterViewInit } from "@angular/core";
|
|
import { Platform, Events, MenuController } from "@ionic/angular";
|
|
import { TranslatorService } from "./hmg-common/services/translator/translator.service";
|
|
import { CommonService } from "./hmg-common/services/common/common.service";
|
|
import { AuthenticationService } from "./hmg-common/services/authentication/authentication.service";
|
|
import { AuthenticatedUser } from "./hmg-common/services/authentication/models/authenticated-user";
|
|
import { TabsBarComponent } from "./hmg-common/ui/tabs-bar/tabs-bar.component";
|
|
import { KeyboardService } from "./hmg-common/services/keyboard/keyboard.service";
|
|
import { SMSCheckResponse } from "src/app/hmg-common/services/authentication/models/smscheck.response";
|
|
import { PushService } from '../../src/app/hmg-common/services/push/push.service';
|
|
import { LazyLoadingService } from "./hmg-common/services/lazy-loading/lazy-loading.service";
|
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
// import { SplashScreen } from '@ionic-native/splash-screen';
|
|
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
|
|
|
|
|
|
@Component({
|
|
selector: "app-root",
|
|
styleUrls: ["./app.component.scss"],
|
|
templateUrl: "app.component.html"
|
|
})
|
|
export class AppComponent implements OnInit, AfterViewInit {
|
|
// rootPage:any = LoginPage;
|
|
// @ViewChild(Nav) nav: Nav;
|
|
start: any = false;
|
|
menuList: any = [];
|
|
User_name_Emp: string = "";
|
|
user_image: any = "../assets/imgs/profile.png";
|
|
menuSide: string = "left";
|
|
notBadge: number;
|
|
companyUrl: string = "../assets/imgs/CS.png";
|
|
companyDesc: string = "Powered By Cloud Solutions";
|
|
public direction = "ltr";
|
|
User_Job_name: string;
|
|
public logoutFlage: any =false;
|
|
requestGetLoginInfo: {
|
|
DeviceType: string; DeviceToken: string; //this.deviceToken
|
|
};
|
|
user: boolean;
|
|
deviceToken: string;
|
|
TeamFlag :string = "false";
|
|
constructor(
|
|
public ts: TranslatorService,
|
|
private cs: CommonService,
|
|
private lazyLoadingService: LazyLoadingService,
|
|
private platform: Platform,
|
|
private events: Events,
|
|
private keyboardService: KeyboardService,
|
|
private menu: MenuController,
|
|
private authService: AuthenticationService,
|
|
private sanitizer: DomSanitizer,
|
|
public pushService: PushService,
|
|
private splashScreen: SplashScreen
|
|
|
|
) {
|
|
this.events.subscribe("img-change", displayImg => {
|
|
console.log("app compont: "+displayImg);
|
|
//this.user_image = "data:image/png;base64"+displayImg;
|
|
this.user_image = this.sanitizer.bypassSecurityTrustUrl("data:Image/*;base64,"+displayImg);
|
|
|
|
});
|
|
|
|
}
|
|
ngOnInit() {
|
|
this.initializeApp();
|
|
|
|
|
|
}
|
|
ngAfterViewInit() {}
|
|
initializeApp() {
|
|
this.start = false;
|
|
this.menu.enable(false)
|
|
this.lazyLoadingService.monitorLazyLoading(15, true);
|
|
this.platform.ready().then(() => {
|
|
this.ts.loadResources(() => {
|
|
this.initializeDirection();
|
|
// this.statusBar.styleDefault();
|
|
this.start = true;
|
|
this.watchLanguageChangeEvents();
|
|
this.subscribeEvents();
|
|
this.keyboardService.watchKeyboard();
|
|
this.startReceivingPushService();
|
|
});
|
|
});
|
|
}
|
|
|
|
private startReceivingPushService() {
|
|
console.log("platform.ready")
|
|
this.pushService.startReceiving();
|
|
setTimeout(() => {
|
|
console.log(" in setTimeout startReceiving");
|
|
this.getLastLoginInfo();
|
|
},4000);
|
|
|
|
}
|
|
subscribeEvents() {
|
|
this.events.subscribe("setMenu", () => {
|
|
const user = this.authService
|
|
.loadAuthenticatedUser()
|
|
.subscribe((user: AuthenticatedUser) => {
|
|
if (user) {
|
|
this.companyUrl = user.CompanyImageURL
|
|
? user.CompanyImageURL
|
|
: "../assets/imgs/CS.png";
|
|
|
|
this.companyDesc = user.CompanyImageDescription
|
|
? user.CompanyImageDescription
|
|
: "Powered By Cloud Solutions";
|
|
this.User_name_Emp = user.EMPLOYEE_DISPLAY_NAME;
|
|
if(this.cs.getUpdateImage().status){
|
|
this.user_image =this.sanitizer.bypassSecurityTrustUrl("data:image/png;base64,"+this.cs.getUpdateImage().img);
|
|
}else{
|
|
this.user_image = user.EMPLOYEE_IMAGE
|
|
? "data:image/png;base64," + user.EMPLOYEE_IMAGE
|
|
: "../assets/imgs/profile.png";
|
|
}
|
|
this.User_Job_name=user.JOB_NAME;
|
|
|
|
console.log(user);
|
|
} else {
|
|
console.log(user);
|
|
}
|
|
});
|
|
});
|
|
this.events.subscribe("getNotCount", badge => {
|
|
this.notBadge = badge;
|
|
});
|
|
|
|
this.events.subscribe('myTeamFlag', myTeamFlag => {
|
|
this.TeamFlag = myTeamFlag;
|
|
});
|
|
console.log("this.TeamFlag>>>>>>>>>"+ this.TeamFlag);
|
|
}
|
|
private initializeDirection() {
|
|
this.direction = TranslatorService.getCurrentDirection();
|
|
}
|
|
private watchUserLoginChangeEvents() {
|
|
this.events.subscribe(
|
|
AuthenticationService.LOGIN_EVENT,
|
|
(user: AuthenticatedUser, time: Date) => {}
|
|
);
|
|
}
|
|
private watchLanguageChangeEvents() {
|
|
this.events.subscribe(TranslatorService.CHANGE_EVENT, () => {
|
|
this.start = false;
|
|
this.initializeDirection();
|
|
setTimeout(() => {
|
|
this.start = true;
|
|
}, 100);
|
|
});
|
|
}
|
|
logout() {
|
|
this.cs.sharedService.clearAll();
|
|
//this.menu.toggle();
|
|
this.menu.enable(false);
|
|
this.logoutFlage=true;
|
|
this.events.publish('logoutFlage', this.logoutFlage);
|
|
|
|
this.getLastLoginInfo();
|
|
// this.cs.openLogin();
|
|
|
|
|
|
}
|
|
|
|
openMyTeamPage() {
|
|
this.menu.toggle();
|
|
this.cs.openMyTeamPage();
|
|
|
|
}
|
|
// profile() {
|
|
// this.cs.openProfile();
|
|
// this.menu.toggle();
|
|
// }
|
|
|
|
profile() {
|
|
this.cs.openEditProfile();
|
|
this.menu.toggle();
|
|
}
|
|
openNotification(){
|
|
|
|
this.cs.openNotificationPage();
|
|
this.menu.toggle();
|
|
}
|
|
|
|
openChangePassword(){
|
|
this.cs.openChangePassword();
|
|
this.menu.toggle();
|
|
}
|
|
|
|
// openPayslipPage(){
|
|
// this.cs.openPayslipPage();
|
|
// this.menu.toggle();
|
|
// }
|
|
|
|
private changeImage() {
|
|
this.cs.openChangeImagePage();
|
|
this.menu.toggle();
|
|
}
|
|
|
|
closeMenu(){
|
|
this.menu.toggle();
|
|
}
|
|
|
|
getLastLoginInfo(){
|
|
|
|
|
|
console.log(" getLastLoginInfo");
|
|
console.log("get method :"+this.cs.getDeviceToken());
|
|
this.deviceToken= this.cs.getDeviceToken();
|
|
//this.cs.sharedService.getSharedData("new-device-token",false);// localStorage.getItem('devicyeToken');
|
|
console.log("let deviceToken app" + this.cs.sharedService.getSharedData("new-device-token",false));
|
|
console.log("localStorage.getItem app" + localStorage.getItem('devicyeToken'));
|
|
console.log("sheard DEVICE_TOKEN" + this.cs.sharedService.getSharedData(AuthenticationService.DEVICE_TOKEN, false));
|
|
|
|
|
|
|
|
|
|
if (this.deviceToken) {
|
|
console.log('login enabled first time: ' + this.deviceToken);
|
|
} else {
|
|
console.log("no deviceToken" );
|
|
|
|
this.pushService.startReceiving();
|
|
setTimeout(() => {
|
|
this.deviceToken= localStorage.getItem('deviceToken');
|
|
console.log('login enabled second time: ' + this.deviceToken);
|
|
|
|
}, 1000);
|
|
}
|
|
|
|
|
|
this.requestGetLoginInfo= {
|
|
DeviceType:this.cs.getDeviceType(),//'Android',
|
|
DeviceToken:this.deviceToken//"5ca8a69cf1804db55264c349edffb99b9d63acd9fa9b6b18956bcb2ad3f2ba36"//this.deviceToken
|
|
}
|
|
this.authService.getLoginInfo(this.requestGetLoginInfo,() => {}, this.ts.trPK('general', 'ok')).subscribe(res => {
|
|
|
|
if (this.cs.validResponse(res)) {
|
|
|
|
if(res.Mohemm_GetMobileLoginInfoList.length > 0){
|
|
|
|
this.cs.sharedService.setSharedData(
|
|
// res.Patient_SELECTDeviceIMEIbyIMEIList[0],
|
|
res.Mohemm_GetMobileLoginInfoList[0],
|
|
AuthenticationService.IMEI_USER_DATA
|
|
);
|
|
this.user = true;
|
|
this.events.publish('user', this.user);
|
|
setTimeout(() => {
|
|
this.splashScreen.hide();
|
|
},3000);
|
|
|
|
if(this.logoutFlage){
|
|
this.cs.openLogin();
|
|
|
|
}
|
|
|
|
}
|
|
else{
|
|
this.user = false;
|
|
this.events.publish('user', this.user);
|
|
|
|
setTimeout(() => {
|
|
this.splashScreen.hide();
|
|
},3000);
|
|
|
|
if(this.logoutFlage){
|
|
this.cs.openLogin();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}else{
|
|
// this.user = false;
|
|
// this.splashScreen.hide();
|
|
// if(this.logoutFlage){
|
|
// this.cs.openLogin();
|
|
|
|
// }
|
|
}
|
|
});
|
|
}
|
|
|
|
}
|