import { BlockUI, NgBlockUI } from 'ng-block-ui'; import { AuthService } from '../auth/auth.service'; import { Injectable } from '@angular/core'; import { UNotificationControl } from '../interface/Interactive Component/UNotificationControl'; import { Router } from '@angular/router'; @Injectable() export class RouteHandleService { @BlockUI() blockUI: NgBlockUI; public Url: string; constructor(private authService: AuthService , public routerNav?: Router) { } checkifisroutehandling(component: UNotificationControl) { const soid = localStorage.getItem('selectedObjectId'); if (soid != null && soid != '') { const f = this.getocCode(); this.authService.changeSelectedOc(f); component.selectedObjectId = soid; component.NotificationControl(); this.stopblockUi(); this.clearsoid(); } else { this.stopblockUi(); } this.clearurl(); } showblockUi() { this.blockUI.start('Redirecting...'); } stopblockUi() { this.blockUI.stop(); } isUrlExist(): boolean { const url = localStorage.getItem('redirecturl'); return (url != null); } seturl(url: string, soid: string, occode: string) { localStorage.setItem('redirecturl', url); localStorage.setItem('selectedObjectId', soid); localStorage.setItem('ocCode', occode); } geturl() { const url = localStorage.getItem('redirecturl'); if (url != null) { localStorage.removeItem('redirecturl'); return url; } else { return ''; } } getocCode() { const occode = localStorage.getItem('ocCode'); if (occode != null) { localStorage.removeItem('ocCode'); return occode; } else { return ''; } } clearurl() { const url = localStorage.getItem('redirecturl'); if (url != null) { localStorage.removeItem('redirecturl'); } } clearsoid() { const soid = localStorage.getItem('selectedObjectId'); if (soid != null && soid != '') { localStorage.removeItem('selectedObjectId'); } } isRedirectDetailsExist(): boolean { const url = localStorage.getItem('redirectfullUrl'); return (url != null); } setRedirectDetails(fullUrl: string, url: string, count: number) { console.log('setRedirectDetails start', fullUrl); localStorage.setItem('redirectfullUrl', fullUrl); localStorage.setItem('redirecturl', url); localStorage.setItem('redirectcount', count.toString()); sessionStorage.setItem('sfullUrl', fullUrl); console.log('setRedirectDetails end', url); } getRedirectDetails() { try { console.log('getRedirectDetails start', this.routerNav.url); const sfullUrl = sessionStorage.getItem('sfullUrl'); console.log('getRedirectDetails sfullUrl', sfullUrl); const fullUrl = localStorage.getItem('redirectfullUrl'); const url = localStorage.getItem('redirecturl'); const count = localStorage.getItem('redirectcount'); console.log('getRedirectDetails count', count); if (fullUrl !== null && url !== null && count !== null) { const no = parseInt(count, 10); if (no <= 1) { localStorage.removeItem('redirectfullUrl'); localStorage.removeItem('redirecturl'); localStorage.removeItem('redirectcount'); } else { localStorage.setItem('redirectcount', (no - 1).toString()); } const fullUrls = JSON.parse(fullUrl); const urls = JSON.parse(url); const result = { fullUrl: fullUrls[no - 1], url: urls[no - 1], count: no }; console.log('getRedirectDetails', result); return result; } else { return null; } } catch (error) { console.log('getRedirectDetails error', error); return null; } } setRedirectDetail(key: string, object: any) { const objStr = JSON.stringify(object); sessionStorage.removeItem(key); sessionStorage.setItem(key, objStr); console.log('setRedirectDetail end'); } getRedirectDetail(key: string): any { console.log('getRedirectDetail start', this.routerNav.url); const objStr = sessionStorage.getItem(key); console.log('getRedirectDetail objStr', objStr); if (!objStr || objStr === null) { return null; } const object = JSON.parse(objStr); return object; } }