Fairoj : PWA changes, token refresh issue, search issue
This commit is contained in:
parent
fdcd6bb21f
commit
776264d560
@ -82,7 +82,8 @@
|
||||
"replace": "src/environments/environment.ts",
|
||||
"with": "src/environments/environment.stage.ts"
|
||||
}
|
||||
]
|
||||
],
|
||||
"serviceWorker": true
|
||||
},
|
||||
"test": {
|
||||
"fileReplacements": [
|
||||
@ -90,7 +91,8 @@
|
||||
"replace": "src/environments/environment.ts",
|
||||
"with": "src/environments/environment.stage.ts"
|
||||
}
|
||||
]
|
||||
],
|
||||
"serviceWorker": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
21
ng6-seed/cert.pem
Normal file
21
ng6-seed/cert.pem
Normal file
@ -0,0 +1,21 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDdTCCAl2gAwIBAgIJALp8pgcPInoDMA0GCSqGSIb3DQEBCwUAMFExCzAJBgNV
|
||||
BAYTAklOMRMwEQYDVQQIDApUYW1pbCBOYWR1MRAwDgYDVQQHDAdDaGVubmFpMQ4w
|
||||
DAYDVQQKDAVWZW5iYTELMAkGA1UECwwCSVQwHhcNMjAxMTE2MTIxMDI3WhcNMzAx
|
||||
MTE0MTIxMDI3WjBRMQswCQYDVQQGEwJJTjETMBEGA1UECAwKVGFtaWwgTmFkdTEQ
|
||||
MA4GA1UEBwwHQ2hlbm5haTEOMAwGA1UECgwFVmVuYmExCzAJBgNVBAsMAklUMIIB
|
||||
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9Abu9StEo1KrngOXi53hQN3W
|
||||
lJUELHjRLtz+246W8/l+U2SQ8pvh/UsvS/T+2Ymtwkrn8+pLik+7abrMOFaYpW8i
|
||||
LdbLtBDZHMrP/SkKv3SN3bIQQVtyWzMwoPtmOzvRuxyyvkWjwp3qIcLmLe104Z0D
|
||||
myy4bG69lmgHY6tH9VPRzPSdMuJSETPZlTCec035CHauXub1kn33PWS/J6ZWzQV2
|
||||
j2Cdp/U22qaRtv8mqqhgy85ytHddxzJs65Ea0Bf3zUaQwFLEFTHYKgdo+wzY3OC+
|
||||
969xZA+zqh1WMWPSGikyMS113ECM/vt/0o2p2Uvj+H2Up/z5xC3li76NBQ4CRwID
|
||||
AQABo1AwTjAdBgNVHQ4EFgQUsqEFNzWzQuQswW7/EmqLFC9ovO0wHwYDVR0jBBgw
|
||||
FoAUsqEFNzWzQuQswW7/EmqLFC9ovO0wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B
|
||||
AQsFAAOCAQEAJsP1FxUT9N3SQDIiXMzId0cEMSfeqrTEJRLruQj2LvooPnvoheF1
|
||||
CEgp+YDEbFphKfmYVb8e5B3P/xCqoNRrWZDgufXLhZbvo5KCufMt6z1gPJSMVt4c
|
||||
/ChSqHonzlodz+w3gueHDkgs4bxK41E15BUhlIH4qGYuSoGPjmP2799aWIfX98k8
|
||||
bjzRoqKEQzSZDjkrwpHdcbqm5XuxR19tYB7rbPawjPVyjIehZ5IkibxFdjJ9k01M
|
||||
sETsdfXlyDZHUlyX0SA39eqUO4f7AXsidleHExYbolhQ82HpYJANXHFzmA5c9kLk
|
||||
K2QQH8yTjqirZkQW6QB9HYYrxHTkNM4SLw==
|
||||
-----END CERTIFICATE-----
|
||||
28
ng6-seed/key.pem
Normal file
28
ng6-seed/key.pem
Normal file
@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQD0Bu71K0SjUque
|
||||
A5eLneFA3daUlQQseNEu3P7bjpbz+X5TZJDym+H9Sy9L9P7Zia3CSufz6kuKT7tp
|
||||
usw4VpilbyIt1su0ENkcys/9KQq/dI3dshBBW3JbMzCg+2Y7O9G7HLK+RaPCneoh
|
||||
wuYt7XThnQObLLhsbr2WaAdjq0f1U9HM9J0y4lIRM9mVMJ5zTfkIdq5e5vWSffc9
|
||||
ZL8nplbNBXaPYJ2n9TbappG2/yaqqGDLznK0d13HMmzrkRrQF/fNRpDAUsQVMdgq
|
||||
B2j7DNjc4L73r3FkD7OqHVYxY9IaKTIxLXXcQIz++3/SjanZS+P4fZSn/PnELeWL
|
||||
vo0FDgJHAgMBAAECggEAcX0T/uN7jXVyKQ/EmAL58l/5XqqbAU/DAUd4I4YCAD9F
|
||||
F+WKX7pNdK5Vtb6gE22raNPLYi3RqeaA46AjQAROA4pW2/isTfcT8gcEidlfjUDY
|
||||
hYU9eBfebDm3YPbqSZv9Y0bqfgEHMwicDc2FnVB07kRGnBFFR/CMrXl+DkVnNtk3
|
||||
EBDxGjEja0MpQe/uVAwscCCqKG/Ra+wbRPoRHCdpT8UTLYfd5Tbz7lTMtKoPVQyy
|
||||
Svm0OfrDSCNksagJGLZgJMVQQr2W+4EGhL91pkysBIX/Gu+pV6nTWGpwlB3tjPOw
|
||||
4e4SwcWhX75kQLXRtjQYM7okq7Y/Gs3KdgdYTOS9UQKBgQD+wYs512yuiCfKwiss
|
||||
uOZyJGKUoNWQhy1CfzzvX2BvxW0DcwGcWLq4xsJtXEK4AvG3ZRwdssxF2Im38Vas
|
||||
28TFLyhkYM/gHLwmrcWczab77jXMM12BPQBvz4iwC90+BtHnBEbNNkkj7h8FFwOf
|
||||
qqNBcHzpKbBoSMn4uloDqimE6QKBgQD1N/pZU9S89NimeLPrTHibW3j/gJ6R8LO7
|
||||
NaG1eV3JM9bhrFM3qQJTXYEW8gQ4b+z1uCKx+Mgz+D7JJMF7lH6H0XM5P6d/JTxm
|
||||
6RpPOV01iuBe2ULkisg/4QQqY0F47iWuShja7WgxqVNyMrcZG4S92Neemg0DTKqT
|
||||
vuQPKT6PrwKBgQDcQsy0cuyVrkTxSpX3sdoVAB53sONVdXqNTuOJdyYzHTgWzl2r
|
||||
JxAx6C98TFOnM2x4CySXDNsO3Jyd/DzbcZwcfJxoxUeV1mJa8s2zuB9THO9IoXSL
|
||||
5Ak3ovDkfS2Jjm33Vjw8+12bgisxxGcuqmNClhZ5pcDPOXfe5IglOP9y2QKBgDDl
|
||||
dJoTSTxUZk7ripTErtfrqXjpILVhFbWiwBf7l2PjXlmpjv5uSPRulKsKnyTRzKJC
|
||||
kUiDnwgd3AcnuRz3QzO55AvqUW/c8OpkWMarXZarlonTMK95rOxv5fC90fRXKFRU
|
||||
mhgtdrVQWj9PNYtgHVvtvTD27tlVlD3Ztof/ZWYpAoGARlt6y7u87M8rI7ROz2xJ
|
||||
EX/vvsq8+/NAkW4NSXC7ETJ4bjhvigG4/vN/gNdAZpw3NGaDaNZNaIOIIoYZ+pNL
|
||||
JYnNOCfWfbu15tZGDOeQcArY8gHUjH63W2/da3c/SRvfP5rASmtk1mjOf0G8E3/v
|
||||
JY3AbidYmdex3n0792PRuMI=
|
||||
-----END PRIVATE KEY-----
|
||||
@ -19,6 +19,10 @@
|
||||
"resources": {
|
||||
"files": [
|
||||
"/assets/**"
|
||||
],
|
||||
"urls": [
|
||||
"https://fonts.googleapis.com/**",
|
||||
"https://fonts.gstatic.com/**"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@ -126,23 +126,29 @@ isloggin:boolean = false;
|
||||
// }
|
||||
refresh() {
|
||||
let tokenexp:boolean;
|
||||
this.getCurrentUser().getSession(function (err, session) {
|
||||
return Observable.create(observer=>{
|
||||
console.log("Current user check in token refresh fun",this.getCurrentUser())
|
||||
return this.getCurrentUser().getSession(function (err, session) {
|
||||
if (err) {
|
||||
console.log("Error Refreshing token",err);
|
||||
}
|
||||
|
||||
else {
|
||||
if (session.isValid()) {
|
||||
tokenexp = session.isValid();
|
||||
of(tokenexp)
|
||||
|
||||
console.log("CognitoUtil: refreshed successfully");
|
||||
} else {
|
||||
tokenexp = session.isValid();
|
||||
console.log("CognitoUtil: refreshed but session is still not valid");
|
||||
}
|
||||
}
|
||||
|
||||
return tokenexp;
|
||||
observer.next(tokenexp)
|
||||
observer.complete()
|
||||
|
||||
});
|
||||
});
|
||||
}
|
||||
getAccessToken(){
|
||||
this.refresh();
|
||||
|
||||
260
ng6-seed/src/app/_guard/req-token.interceptor.ts
Executable file
260
ng6-seed/src/app/_guard/req-token.interceptor.ts
Executable file
@ -0,0 +1,260 @@
|
||||
import { Injectable, Injector } from '@angular/core';
|
||||
import {
|
||||
HttpRequest,
|
||||
HttpHandler,
|
||||
HttpInterceptor,
|
||||
HttpSentEvent,
|
||||
HttpHeaderResponse,
|
||||
HttpProgressEvent,
|
||||
HttpResponse,
|
||||
HttpUserEvent,
|
||||
HttpEvent
|
||||
} from '@angular/common/http';
|
||||
// import { AuthGuard } from './auth.guard';
|
||||
import { Observable, of, BehaviorSubject, throwError} from 'rxjs';
|
||||
|
||||
// import { Router } from '@angular/router';
|
||||
|
||||
import { switchMap, tap, catchError, finalize } from 'rxjs/operators';
|
||||
import { HttpErrorResponse } from "@angular/common/http";
|
||||
import { Router } from '@angular/router';
|
||||
import { CognitoService } from 'app/AwsService/cognito.service';
|
||||
import { LoaderService } from 'app/shared/loaderService/loader.service';
|
||||
import { environment } from '../../environments/environment';
|
||||
import { AwsService } from 'app/AwsService/aws.service';
|
||||
|
||||
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class ReqTokenInterceptor implements HttpInterceptor{
|
||||
|
||||
constructor( private router: Router,public shared:CognitoService,private loaderService:LoaderService,private awsService:AwsService) {
|
||||
|
||||
}
|
||||
isRefreshingToken: boolean = false;
|
||||
tokenSubject: BehaviorSubject<string> = new BehaviorSubject<string>(null);
|
||||
|
||||
addToken(req: HttpRequest<any>, token: string): HttpRequest<any> {
|
||||
|
||||
return req.clone({
|
||||
setHeaders: {
|
||||
'Authorization': environment.authorization,
|
||||
'Token': token
|
||||
}
|
||||
})
|
||||
}
|
||||
// addToken1(req: HttpRequest<any>, token: string): HttpRequest<any> {
|
||||
|
||||
// console.log("Token 1",token,req);
|
||||
// return req.clone({ setHeaders: {'Authorization': environment.authorization,
|
||||
// 'Token':token,
|
||||
// // 'From':'2',
|
||||
// }})
|
||||
// }
|
||||
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent | HttpHeaderResponse | HttpProgressEvent | HttpResponse<any> | HttpUserEvent<any>> {
|
||||
|
||||
let token:any = this.shared.getAccessToken() ||"";
|
||||
// console.log("Token From Interceptor >>",cognitoService.getToken())
|
||||
if(token!=''){
|
||||
token=token.getIdToken().getJwtToken()
|
||||
}
|
||||
this.showLoader();
|
||||
// return <any>next.handle(this.addToken(req, token)).pipe(
|
||||
// catchError(error => {
|
||||
// this.onEnd();
|
||||
// console.log("Initial Error",error);
|
||||
// if (error instanceof HttpErrorResponse) {
|
||||
// if((<HttpErrorResponse>error).status) {
|
||||
// return this.handle401Error(req,next,error)
|
||||
// }
|
||||
// else{
|
||||
// return this.handle401Error(req,next,error)
|
||||
// }
|
||||
// } else {
|
||||
// console.log("observable error")
|
||||
// return Observable.throw(error);
|
||||
// }
|
||||
// }));
|
||||
return <any>next.handle(this.addToken(req, token)).pipe(
|
||||
catchError(error => {
|
||||
console.log("Initial Error",error);
|
||||
if (error instanceof HttpErrorResponse) {
|
||||
if((<HttpErrorResponse>error).status) {
|
||||
return this.handle401Error(req,next,error)
|
||||
}
|
||||
else{
|
||||
return this.handle401Error(req,next,error)
|
||||
}
|
||||
} else {
|
||||
console.log("observable error")
|
||||
return Observable.throw(error);
|
||||
}
|
||||
}),
|
||||
finalize(()=>{
|
||||
this.onEnd()
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
handle401Error(req: HttpRequest<any>, next: HttpHandler,err) {
|
||||
console.log("err",err)
|
||||
console.log("entered",this.isRefreshingToken,this.tokenSubject);
|
||||
|
||||
if (err instanceof HttpErrorResponse) {
|
||||
|
||||
if(err.status == 401 && err.error.error.toLowerCase() == 'invalid token!'){
|
||||
console.log("Refreshing Token",err.status)
|
||||
if (!this.isRefreshingToken) {
|
||||
this.isRefreshingToken = true;
|
||||
|
||||
// Reset here so that the following requests wait until the token
|
||||
// comes back from the refreshToken call.
|
||||
this.tokenSubject.next(null);
|
||||
console.log("STARTING TOKEN REFRESH")
|
||||
// return this.shared.refresh()
|
||||
// .subscribe((newToken: string) => {
|
||||
// console.log("new",newToken)
|
||||
// if (newToken) {
|
||||
// let token:any = this.shared.getAccessToken() ||"";
|
||||
// this.tokenSubject.next( token.getIdToken().getJwtToken());
|
||||
// console.log(this.tokenSubject);
|
||||
// return next.handle(this.addToken1(req, token.getIdToken().getJwtToken()))
|
||||
// // .pipe(tap((event:HttpEvent<any>)=>{
|
||||
// // if (event instanceof HttpResponse) {
|
||||
// // this.onEnd();
|
||||
// // }
|
||||
// // },
|
||||
// // (err: any) => {
|
||||
// // this.handleError<any>('role',err);
|
||||
// // console.log("Error on Refresh token",err)
|
||||
// // this.onEnd();
|
||||
// // }));
|
||||
// }
|
||||
|
||||
// // If we don't get a new token, we are in trouble so logout.
|
||||
// return this.awsService.logout();
|
||||
// },err=>console.log("Error refresh",err))
|
||||
return this.shared.refresh().pipe(
|
||||
switchMap((newToken: string) =>{
|
||||
console.log("New Token",newToken)
|
||||
if(newToken){
|
||||
this.isRefreshingToken=false
|
||||
this.tokenSubject.next(newToken);
|
||||
let token:any = this.shared.getAccessToken() ||"";
|
||||
this.showLoader();
|
||||
return next.handle(this.addToken(req, token.getIdToken().getJwtToken())).pipe(tap((event:HttpEvent<any>)=>{
|
||||
if (event instanceof HttpResponse) {
|
||||
this.onEnd();
|
||||
}
|
||||
},
|
||||
(err: any) => {
|
||||
this.handleError<any>('role',err);
|
||||
console.log("Error on Refresh token",err)
|
||||
this.onEnd();
|
||||
}));
|
||||
}
|
||||
|
||||
return this.awsService.logout();
|
||||
})
|
||||
)
|
||||
|
||||
// .catch(error => {
|
||||
// // If there is an exception calling 'refreshToken', bad news so logout.
|
||||
// return this.logoutUser();
|
||||
// })
|
||||
// .finally(() => {
|
||||
// this.isRefreshingToken = false;
|
||||
// });
|
||||
} else {
|
||||
console.log("Else Part 1201")
|
||||
// return this.tokenSubject
|
||||
// // .filter(token => token != null)
|
||||
// .take(1)
|
||||
// .switchMap(token => {
|
||||
let token:any = this.shared.getAccessToken() ||"";
|
||||
this.showLoader();
|
||||
return next.handle(this.addToken(req,token.getIdToken().getJwtToken())).pipe(tap((event:HttpEvent<any>)=>{
|
||||
if (event instanceof HttpResponse) {
|
||||
this.onEnd();
|
||||
}
|
||||
},
|
||||
(err: any) => {
|
||||
this.handleError<any>('role',err);
|
||||
console.log("Error on Refresh token",err)
|
||||
this.onEnd();
|
||||
}));
|
||||
// });
|
||||
}
|
||||
}
|
||||
else{
|
||||
// return Observable.throw("Observable throw",err);
|
||||
return this.handleError('',err)
|
||||
}
|
||||
}
|
||||
else{
|
||||
return Observable.throw("Observable throw",err);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private handleError<T> (operation = 'operation', error?: T) {
|
||||
// return (error: any): Observable<T> => {
|
||||
console.log("d",error)
|
||||
if(error instanceof HttpErrorResponse){
|
||||
// this.onEnd();
|
||||
console.log("Error from interceptor >>>",error)
|
||||
console.error("Error: " + error.status);
|
||||
if(error.status == 401){
|
||||
localStorage.clear();
|
||||
this.router.navigate(['/authentication/login']);
|
||||
}
|
||||
else if(error.status == 404){
|
||||
this.router.navigate(['/error/404']);
|
||||
}
|
||||
else if(error.status == 503){
|
||||
this.router.navigate(['/error/503']);
|
||||
}
|
||||
else if(error.status == 0){
|
||||
console.log("NO Internet")
|
||||
this.router.navigate(['/error/404']);
|
||||
}
|
||||
else{
|
||||
// alert("Please Check your Internet connection");
|
||||
let errorMessage = '';
|
||||
let type : number;
|
||||
if (error.error instanceof ErrorEvent) {
|
||||
// client-side error
|
||||
errorMessage = `Error: ${error.error.message}`;
|
||||
type = 1;
|
||||
} else {
|
||||
// server-side error
|
||||
errorMessage = `Error Code: ${error.status}\nMessage: ${error.message}`;
|
||||
type = 2;
|
||||
}
|
||||
|
||||
return throwError({error_status :type == 2 ? error.status : '',
|
||||
error_message:error.message,
|
||||
error_text :type == 2 ? error.statusText : '',
|
||||
html_format :errorMessage,
|
||||
error_type :type,
|
||||
});
|
||||
}
|
||||
return throwError(error);
|
||||
}
|
||||
// };
|
||||
}
|
||||
// };
|
||||
// }
|
||||
|
||||
private onEnd(): void {
|
||||
this.hideLoader();
|
||||
}
|
||||
private showLoader(): void {
|
||||
this.loaderService.show();
|
||||
}
|
||||
private hideLoader(): void {
|
||||
this.loaderService.hide();
|
||||
}
|
||||
}
|
||||
@ -16,7 +16,8 @@ export class AppComponent {
|
||||
window.addEventListener('beforeinstallprompt', event => {
|
||||
this.promptEvent = event;
|
||||
// this.Pwa.promptEvent=event
|
||||
alert(event);
|
||||
console.log("beforeinstall Prompt Listener",event);
|
||||
// alert("Install as App");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -51,6 +51,7 @@ import { HttpLoaderComponent } from './layouts/http-loader/http-loader.component
|
||||
import { AdvanceFilterComponent } from './sales-pd/advance-filter/advance-filter.component';
|
||||
import { ServiceWorkerModule } from '@angular/service-worker';
|
||||
import { environment } from '../environments/environment';
|
||||
import { ReqTokenInterceptor } from './_guard/req-token.interceptor';
|
||||
export function HttpLoaderFactory(http: HttpClient) {
|
||||
return new TranslateHttpLoader(http);
|
||||
}
|
||||
@ -122,7 +123,7 @@ export function createTranslateLoader(http: HttpClient) {
|
||||
// },
|
||||
{
|
||||
provide:HTTP_INTERCEPTORS,
|
||||
useClass: TokenInterceptor,
|
||||
useClass: ReqTokenInterceptor,
|
||||
multi: true
|
||||
}
|
||||
],
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
<div class="user-profile-thumb text-center">
|
||||
<div class="user-i">
|
||||
<div><h3>{{userDep}} </h3></div>
|
||||
<img [src]="profileurl ||'http://image.ibb.co/mGjZB9/usernew.png'" class="rad-full mb-1" width="100" height="100" alt="">
|
||||
<img [src]="profileurl ||'https://image.ibb.co/mGjZB9/usernew.png'" class="rad-full mb-1" width="100" height="100" alt="">
|
||||
<div><h4>{{fullName}}</h4></div>
|
||||
<div><h5>{{roleName}}</h5></div>
|
||||
</div>
|
||||
|
||||
@ -255,7 +255,7 @@
|
||||
|
||||
</mat-card-content>
|
||||
<div [hidden]="recordStatus">
|
||||
<mat-paginator #paginator class="mat-elevation-z1" [length]="PdListData.length" [pageIndex]="pageIndex"
|
||||
<mat-paginator #paginator class="mat-elevation-z1" [length]="length" [pageIndex]="pageIndex"
|
||||
[pageSize]="pageSize" [pageSizeOptions]="[5, 10, 25,50, 100]" (page)="pageEvent=OnPageChange($event)" showFirstLastButtons>
|
||||
</mat-paginator>
|
||||
</div>
|
||||
|
||||
@ -43,7 +43,7 @@ export class AllPdComponent implements OnInit, OnChanges {
|
||||
PdListData:any[] = [];
|
||||
|
||||
// pagination variable details
|
||||
length = 5;
|
||||
length = 0;
|
||||
pageIndex = 0;
|
||||
pageSize = 10;
|
||||
pageEvent: any;
|
||||
@ -110,11 +110,32 @@ console.log(this.displayedColumns)
|
||||
ngOnChanges(changes: SimpleChanges) {
|
||||
let filteredText = changes.bindFilterValue.currentValue ? changes.bindFilterValue.currentValue.trim() : changes.bindFilterValue.currentValue;
|
||||
filteredText = filteredText ? filteredText.toLowerCase() : filteredText;
|
||||
this.dataSourceTab1.filter = filteredText;
|
||||
// this.dataSourceTab1.filter = filteredText;
|
||||
// console.log("changes",this.bindFilterValue)
|
||||
this.filterData(filteredText)
|
||||
|
||||
}
|
||||
|
||||
filterData(text) {
|
||||
if(!text) {
|
||||
this.pagedList = this.PdListData.slice(0, 10);
|
||||
this.length = this.PdListData.length;
|
||||
return
|
||||
}
|
||||
this.pagedList = this.PdListData.filter(v=>{
|
||||
if ((v.pd_sno && v.pd_sno.toLowerCase().indexOf(text.toLowerCase())>-1 )|| v.applicat_details[0].applicant_name.toLowerCase().indexOf(text.toLowerCase()) > -1
|
||||
|| v.pd_status.toLowerCase().indexOf(text.toLowerCase())>-1|| v.city_name && v.city_name.toLowerCase().indexOf(text.toLowerCase())>-1 || v.lender_applicant_id.toLowerCase().indexOf(text.toLowerCase())>-1
|
||||
||( v.pd_sno_split && v.pd_sno_split.serial_no && v.pd_sno_split.serial_no.toLowerCase().indexOf(text.toLowerCase())>-1)) {
|
||||
return true;
|
||||
}
|
||||
return false
|
||||
})
|
||||
// this.pa
|
||||
// this.length = this.pagedList.length
|
||||
console.log(this.PdListData,this.pagedList,text)
|
||||
|
||||
}
|
||||
|
||||
// load inprogress pd list
|
||||
public LenderRoleID : string = localStorage.getItem('LenderRoleID');
|
||||
loadPDDetails() {
|
||||
|
||||
@ -103,6 +103,7 @@ export class CameraService {
|
||||
resolve(latLong)
|
||||
},
|
||||
err => {
|
||||
console.log("Error Getting Geolocation",err)
|
||||
resolve('error');
|
||||
});
|
||||
});
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
"theme_color": "#1976d2",
|
||||
"background_color": "#fafafa",
|
||||
"display": "standalone",
|
||||
"scope": "./",
|
||||
"start_url": "/lenderdemo",
|
||||
"scope": ".",
|
||||
"start_url": "./",
|
||||
"icons": [
|
||||
{
|
||||
"src": "assets/icons/icon-72x72.png",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user