Fairoj : sales PD Issue fixes
This commit is contained in:
parent
fc260d1f1b
commit
149282fc36
15
package-lock.json
generated
15
package-lock.json
generated
@ -601,6 +601,21 @@
|
|||||||
"localforage-cordovasqlitedriver": "~1.5.0"
|
"localforage-cordovasqlitedriver": "~1.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@netbasal/content-loader": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@netbasal/content-loader/-/content-loader-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-xzDuM4DWNu+xaTu8FiTUOoOAOHn/ryDyeagzW+3E1bG11pxmXqj9tjyWqx6SE9fH38J90RC5ozZF7LCf0fZDkQ==",
|
||||||
|
"requires": {
|
||||||
|
"tslib": "^1.9.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": {
|
||||||
|
"version": "1.10.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
|
||||||
|
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"@types/chart.js": {
|
"@types/chart.js": {
|
||||||
"version": "2.7.40",
|
"version": "2.7.40",
|
||||||
"resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.7.40.tgz",
|
"resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.7.40.tgz",
|
||||||
|
|||||||
@ -33,6 +33,7 @@
|
|||||||
"@ionic-native/splash-screen": "4.4.0",
|
"@ionic-native/splash-screen": "4.4.0",
|
||||||
"@ionic-native/status-bar": "^4.16.0",
|
"@ionic-native/status-bar": "^4.16.0",
|
||||||
"@ionic/storage": "^2.1.3",
|
"@ionic/storage": "^2.1.3",
|
||||||
|
"@netbasal/content-loader": "^1.1.0",
|
||||||
"@types/chart.js": "^2.7.40",
|
"@types/chart.js": "^2.7.40",
|
||||||
"amazon-cognito-identity-js": "^3.0.3",
|
"amazon-cognito-identity-js": "^3.0.3",
|
||||||
"chart.js": "^2.7.3",
|
"chart.js": "^2.7.3",
|
||||||
|
|||||||
@ -13,7 +13,7 @@ import {AppVersion} from '@ionic-native/app-version'
|
|||||||
|
|
||||||
|
|
||||||
import { SalesPDlistPage } from '../pages/sales_pd/pages/sales-p-dlist/sales-p-dlist';
|
import { SalesPDlistPage } from '../pages/sales_pd/pages/sales-p-dlist/sales-p-dlist';
|
||||||
import { HomePage, Section3, Section1, Section2, Section9 } from '../pages/sales_pd/pages/home/home';
|
import { HomePage, Section3, Section1, Section2, Section9, Section8 } from '../pages/sales_pd/pages/home/home';
|
||||||
import { ConstantsProvider } from '../providers/constants/constants';
|
import { ConstantsProvider } from '../providers/constants/constants';
|
||||||
import { SalesPdProvider } from '../pages/sales_pd/providers/sales-pd/sales-pd';
|
import { SalesPdProvider } from '../pages/sales_pd/providers/sales-pd/sales-pd';
|
||||||
|
|
||||||
|
|||||||
@ -80,7 +80,8 @@ import { CameraProvider } from '../pages/sales_pd/providers/camera/camera';
|
|||||||
import { SalesPDlistPage } from '../pages/sales_pd/pages/sales-p-dlist/sales-p-dlist';
|
import { SalesPDlistPage } from '../pages/sales_pd/pages/sales-p-dlist/sales-p-dlist';
|
||||||
import { LocationAccuracy } from '@ionic-native/location-accuracy';
|
import { LocationAccuracy } from '@ionic-native/location-accuracy';
|
||||||
import { ReqTokenInterceptor } from '../providers/_guard/req-token.interceptor';
|
import { ReqTokenInterceptor } from '../providers/_guard/req-token.interceptor';
|
||||||
|
import {ContentLoaderModule} from '@netbasal/content-loader'
|
||||||
|
import { ScrollHideDirective } from '../directives/scroll-hide/scroll-hide';
|
||||||
|
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
@ -93,7 +94,8 @@ import { ReqTokenInterceptor } from '../providers/_guard/req-token.interceptor';
|
|||||||
PasswordPage,
|
PasswordPage,
|
||||||
PdAllocationPage,
|
PdAllocationPage,
|
||||||
InputPage,
|
InputPage,
|
||||||
SalesPDlistPage
|
SalesPDlistPage,
|
||||||
|
ScrollHideDirective
|
||||||
|
|
||||||
],
|
],
|
||||||
imports: [
|
imports: [
|
||||||
@ -133,7 +135,8 @@ import { ReqTokenInterceptor } from '../providers/_guard/req-token.interceptor';
|
|||||||
MatStepperModule,HttpClientModule,IonicImageViewerModule,
|
MatStepperModule,HttpClientModule,IonicImageViewerModule,
|
||||||
MatFormFieldModule,
|
MatFormFieldModule,
|
||||||
NgxMatSelectSearchModule,
|
NgxMatSelectSearchModule,
|
||||||
HomePageModule
|
HomePageModule,
|
||||||
|
ContentLoaderModule
|
||||||
],
|
],
|
||||||
bootstrap: [IonicApp],
|
bootstrap: [IonicApp],
|
||||||
entryComponents: [
|
entryComponents: [
|
||||||
|
|||||||
8
src/directives/directives.module.ts
Normal file
8
src/directives/directives.module.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { ScrollHideDirective } from './scroll-hide/scroll-hide';
|
||||||
|
@NgModule({
|
||||||
|
declarations: [ScrollHideDirective],
|
||||||
|
imports: [],
|
||||||
|
exports: [ScrollHideDirective]
|
||||||
|
})
|
||||||
|
export class DirectivesModule {}
|
||||||
57
src/directives/scroll-hide/scroll-hide.ts
Normal file
57
src/directives/scroll-hide/scroll-hide.ts
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
import { Directive, Input, ElementRef, Renderer2, SimpleChanges } from '@angular/core';
|
||||||
|
import { Content } from 'ionic-angular';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generated class for the ScrollHideDirective directive.
|
||||||
|
*
|
||||||
|
* See https://angular.io/api/core/Directive for more info on Angular
|
||||||
|
* Directives.
|
||||||
|
*/
|
||||||
|
@Directive({
|
||||||
|
selector: '[scrollHide]' // Attribute selector
|
||||||
|
})
|
||||||
|
export class ScrollHideDirective {
|
||||||
|
@Input('scrollHide') config: ScrollHideConfig;
|
||||||
|
@Input('scrollContent') scrollContent: Content;
|
||||||
|
|
||||||
|
contentHeight: number;
|
||||||
|
scrollHeight: number;
|
||||||
|
lastScrollPosition: number;
|
||||||
|
lastValue: number = 0;
|
||||||
|
constructor(private element: ElementRef, private renderer: Renderer2) {
|
||||||
|
console.log('Hello ScrollHideDirective Directive');
|
||||||
|
}
|
||||||
|
ngOnChanges(changes: SimpleChanges) {
|
||||||
|
if (this.scrollContent && this.config) {
|
||||||
|
this.scrollContent.ionScrollStart.subscribe((ev) => {
|
||||||
|
this.contentHeight = this.scrollContent.getScrollElement().offsetHeight;
|
||||||
|
this.scrollHeight = this.scrollContent.getScrollElement().scrollHeight;
|
||||||
|
if (this.config.maxValue === undefined) {
|
||||||
|
this.config.maxValue = this.element.nativeElement.offsetHeight;
|
||||||
|
}
|
||||||
|
this.lastScrollPosition = ev.scrollTop;
|
||||||
|
});
|
||||||
|
this.scrollContent.ionScroll.subscribe((ev) => this.adjustElementOnScroll(ev));
|
||||||
|
this.scrollContent.ionScrollEnd.subscribe((ev) => this.adjustElementOnScroll(ev));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private adjustElementOnScroll(ev) {
|
||||||
|
if (ev) {
|
||||||
|
ev.domWrite(() => {
|
||||||
|
let scrollTop: number = ev.scrollTop > 0 ? ev.scrollTop : 0;
|
||||||
|
let scrolldiff: number = scrollTop - this.lastScrollPosition;
|
||||||
|
this.lastScrollPosition = scrollTop;
|
||||||
|
let newValue = this.lastValue + scrolldiff;
|
||||||
|
newValue = Math.max(0, Math.min(newValue, this.config.maxValue));
|
||||||
|
this.renderer.setStyle(this.element.nativeElement, this.config.cssProperty, `-${newValue}px`);
|
||||||
|
this.lastValue = newValue;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
export interface ScrollHideConfig {
|
||||||
|
cssProperty: string;
|
||||||
|
maxValue: number;
|
||||||
|
}
|
||||||
@ -49,9 +49,18 @@
|
|||||||
<button ion-fab (click)="newpage()" color="optblue"><ion-icon name="add"></ion-icon></button>
|
<button ion-fab (click)="newpage()" color="optblue"><ion-icon name="add"></ion-icon></button>
|
||||||
|
|
||||||
</ion-fab>
|
</ion-fab>
|
||||||
|
<div *ngIf="loader_access">
|
||||||
|
<div *ngFor="let i of [1,2,3,4,5]">
|
||||||
|
<content-loader>
|
||||||
|
<svg:rect x="80" y="40" rx="5" ry="5" width="300" height="70" />
|
||||||
|
|
||||||
|
<svg:circle cx="40" cy="70" r="30" stroke="3" stroke-width="3" fill="red" />
|
||||||
|
|
||||||
<div *ngIf="pdlistaccess" >
|
</content-loader>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div *ngIf="pdlistaccess && !loader_access" >
|
||||||
|
|
||||||
<mat-card>
|
<mat-card>
|
||||||
|
|
||||||
@ -173,7 +182,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="!pdlistaccess" text-center>
|
<div *ngIf="!pdlistaccess && !loader_access" text-center>
|
||||||
|
|
||||||
<h2>{{pdlistdetails}}</h2>
|
<h2>{{pdlistdetails}}</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';
|
|||||||
import { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';
|
import { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';
|
||||||
import { parseDate } from 'ionic-angular/util/datetime-util';
|
import { parseDate } from 'ionic-angular/util/datetime-util';
|
||||||
import { PdAllocationPage } from '../pd-allocation/pd-allocation';
|
import { PdAllocationPage } from '../pd-allocation/pd-allocation';
|
||||||
|
import { ScrollHideConfig } from '../../directives/scroll-hide/scroll-hide';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generated class for the PdListPage page.
|
* Generated class for the PdListPage page.
|
||||||
@ -20,6 +21,9 @@ import { PdAllocationPage } from '../pd-allocation/pd-allocation';
|
|||||||
templateUrl: 'pd-list.html',
|
templateUrl: 'pd-list.html',
|
||||||
})
|
})
|
||||||
export class PdListPage {
|
export class PdListPage {
|
||||||
|
// footerScrollConfig: ScrollHideConfig = { cssProperty: 'margin-bottom', maxValue: undefined };
|
||||||
|
// headerScrollConfig: ScrollHideConfig = { cssProperty: 'margin-top', maxValue: 55 };
|
||||||
|
|
||||||
|
|
||||||
searchpast: any;
|
searchpast: any;
|
||||||
searchinprogress: any;
|
searchinprogress: any;
|
||||||
@ -33,6 +37,7 @@ export class PdListPage {
|
|||||||
userDetails:any;
|
userDetails:any;
|
||||||
status:any;
|
status:any;
|
||||||
searchitem:any;
|
searchitem:any;
|
||||||
|
loader_access:boolean=true
|
||||||
|
|
||||||
// public category:string="inpro"
|
// public category:string="inpro"
|
||||||
// public categories:Array<string>=['inpro','past']
|
// public categories:Array<string>=['inpro','past']
|
||||||
@ -62,6 +67,7 @@ export class PdListPage {
|
|||||||
// }
|
// }
|
||||||
getlenderpddetails()
|
getlenderpddetails()
|
||||||
{
|
{
|
||||||
|
this.loader_access=true
|
||||||
let userid = this.aws.getlocale();
|
let userid = this.aws.getlocale();
|
||||||
this.aws.getuserprofile(userid).subscribe(res=>
|
this.aws.getuserprofile(userid).subscribe(res=>
|
||||||
{
|
{
|
||||||
@ -77,6 +83,7 @@ export class PdListPage {
|
|||||||
this.pdlistdetails = res;
|
this.pdlistdetails = res;
|
||||||
if(this.pdlistdetails.dataStatus == true)
|
if(this.pdlistdetails.dataStatus == true)
|
||||||
{
|
{
|
||||||
|
this.loader_access=false
|
||||||
this.pdlistaccess = true;
|
this.pdlistaccess = true;
|
||||||
this.pdinprogress = this.pdlistdetails.records.filter(past=>past.pd_status !="QC_COMPLETED");
|
this.pdinprogress = this.pdlistdetails.records.filter(past=>past.pd_status !="QC_COMPLETED");
|
||||||
this.searchinprogress = this.pdinprogress;
|
this.searchinprogress = this.pdinprogress;
|
||||||
@ -111,11 +118,19 @@ export class PdListPage {
|
|||||||
this.random_ng_past();
|
this.random_ng_past();
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
|
this.loader_access=false
|
||||||
this.pdlistaccess = false;
|
this.pdlistaccess = false;
|
||||||
this.pdlistdetails = "No Records Found";
|
this.pdlistdetails = "No Records Found";
|
||||||
}
|
}
|
||||||
|
},err=>{
|
||||||
|
this.loader_access=false
|
||||||
|
console.log("error",err);
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
},err=>{
|
||||||
|
this.loader_access=false
|
||||||
|
console.log("error",err)
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -12,9 +12,10 @@
|
|||||||
|
|
||||||
<mat-label>{{parent_ques.get('question').value}}</mat-label>
|
<mat-label>{{parent_ques.get('question').value}}</mat-label>
|
||||||
<input matInput [type]="parent_ques.get('field_type').value == 'num' || parent_ques.get('field_type').value == 'numtoword' ? 'number' : parent_ques.get('field_type').value == 'string' ? 'text' : parent_ques.get('field_type').value" formControlName="answer_value"
|
<input matInput [type]="parent_ques.get('field_type').value == 'num' || parent_ques.get('field_type').value == 'numtoword' ? 'number' : parent_ques.get('field_type').value == 'string' ? 'text' : parent_ques.get('field_type').value" formControlName="answer_value"
|
||||||
[placeholder]="parent_ques.get('field_type').value == 'num' || parent_ques.get('field_type').value == 'numtoword' ? 'Entert the Number' : 'Enter the Text'"
|
[placeholder]="parent_ques.get('place_holder').value"
|
||||||
autocomplete="off" (change)="onChangeProperty($event,parent_ques,'','',p_i)"
|
autocomplete="off" (change)="onChangeProperty($event,parent_ques,'','',p_i)"
|
||||||
>
|
>
|
||||||
|
<!-- [placeholder]="parent_ques.get('field_type').value == 'num' || parent_ques.get('field_type').value == 'numtoword' ? 'Entert the Number' : 'Enter the Text'" -->
|
||||||
<mat-hint *ngIf="parent_ques.get('answer_value').value != '' && parent_ques.get('field_type').value == 'numtoword'" align="end" style="font-size: 12px;">{{"₹"}}{{parent_ques.get('answer_value').value | numToWords}}</mat-hint>
|
<mat-hint *ngIf="parent_ques.get('answer_value').value != '' && parent_ques.get('field_type').value == 'numtoword'" align="end" style="font-size: 12px;">{{"₹"}}{{parent_ques.get('answer_value').value | numToWords}}</mat-hint>
|
||||||
<!-- <mat-hint align="end" style="font-size: 11.5px;color: gray;" *ngIf="parent_ques.get('is_amt_in_words').value == true">One Lack</mat-hint> -->
|
<!-- <mat-hint align="end" style="font-size: 11.5px;color: gray;" *ngIf="parent_ques.get('is_amt_in_words').value == true">One Lack</mat-hint> -->
|
||||||
<ng-container *ngFor="let validation of parent_ques.get('validations').value;" ngProjectAs="mat-error">
|
<ng-container *ngFor="let validation of parent_ques.get('validations').value;" ngProjectAs="mat-error">
|
||||||
@ -149,7 +150,7 @@
|
|||||||
<mat-form-field style="width: 100%" *ngIf="single_ques.get('type').value == '1'" [ngStyle]="{'margin-bottom':single_ques.get('field_type').value == 'numtoword' ? '5%' : '0' }">
|
<mat-form-field style="width: 100%" *ngIf="single_ques.get('type').value == '1'" [ngStyle]="{'margin-bottom':single_ques.get('field_type').value == 'numtoword' ? '5%' : '0' }">
|
||||||
<mat-label>{{single_ques.get('question').value}}</mat-label>
|
<mat-label>{{single_ques.get('question').value}}</mat-label>
|
||||||
<input matInput [type]="single_ques.get('field_type').value == 'num' || single_ques.get('field_type').value == 'numtoword' ? 'number' : single_ques.get('field_type').value == 'string' ? 'text' : single_ques.get('field_type').value" formControlName="answer_value"
|
<input matInput [type]="single_ques.get('field_type').value == 'num' || single_ques.get('field_type').value == 'numtoword' ? 'number' : single_ques.get('field_type').value == 'string' ? 'text' : single_ques.get('field_type').value" formControlName="answer_value"
|
||||||
[placeholder]="single_ques.get('field_type').value == 'num' || single_ques.get('field_type').value == 'numtoword' ? 'Enter the Number' : 'Enter the Text'"
|
[placeholder]="single_ques.get('place_holder').value"
|
||||||
autocomplete="off" (change)="onChangeProperty($event,single_ques,group_ques,2,s_i)">
|
autocomplete="off" (change)="onChangeProperty($event,single_ques,group_ques,2,s_i)">
|
||||||
<mat-hint *ngIf="single_ques.get('answer_value').value != '' && single_ques.get('field_type').value == 'numtoword'" align="end" style="font-size: 10px;">{{"₹"}}{{single_ques.get('answer_value').value | numToWords}}</mat-hint>
|
<mat-hint *ngIf="single_ques.get('answer_value').value != '' && single_ques.get('field_type').value == 'numtoword'" align="end" style="font-size: 10px;">{{"₹"}}{{single_ques.get('answer_value').value | numToWords}}</mat-hint>
|
||||||
<!-- <mat-error align="end" style="font-style: italic;margin-right: 5px;">Field is Required</mat-error> -->
|
<!-- <mat-error align="end" style="font-style: italic;margin-right: 5px;">Field is Required</mat-error> -->
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -20,7 +20,17 @@
|
|||||||
<ion-list >
|
<ion-list >
|
||||||
<ion-grid class="fadeIn">
|
<ion-grid class="fadeIn">
|
||||||
<mat-card class="md-box" reorder="true">
|
<mat-card class="md-box" reorder="true">
|
||||||
<ion-list style="margin-top: 5px;">
|
<div *ngIf="loader_access">
|
||||||
|
<div *ngFor="let i of [1,2,3,4,5]">
|
||||||
|
<content-loader>
|
||||||
|
<svg:rect x="80" y="40" rx="5" ry="5" width="300" height="70" />
|
||||||
|
|
||||||
|
<svg:circle cx="40" cy="70" r="30" stroke="3" stroke-width="3" fill="red" />
|
||||||
|
|
||||||
|
</content-loader>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ion-list style="margin-top: 5px;" *ngIf="!loader_access">
|
||||||
<ion-item *ngFor="let val of sales_displayValue" (click)="presentActionSheet(val.sales_pd_id)">
|
<ion-item *ngFor="let val of sales_displayValue" (click)="presentActionSheet(val.sales_pd_id)">
|
||||||
<!-- <p item-start class="lettericon">{{val.abbr}}</p> -->
|
<!-- <p item-start class="lettericon">{{val.abbr}}</p> -->
|
||||||
<!-- <ion-icon style="font-size:90%" item-start="" class="lettericon" [style.background]="bgColor[i]" *ngIf="progess.applicat_details ===undefined || progess.applicat_details[0].applicant_name ==null">{{progess.pd_id}}</ion-icon> -->
|
<!-- <ion-icon style="font-size:90%" item-start="" class="lettericon" [style.background]="bgColor[i]" *ngIf="progess.applicat_details ===undefined || progess.applicat_details[0].applicant_name ==null">{{progess.pd_id}}</ion-icon> -->
|
||||||
|
|||||||
@ -18,6 +18,7 @@ import { ToastProvider } from '../../../../providers/common-provider/toast';
|
|||||||
})
|
})
|
||||||
export class SalesPDlistPage {
|
export class SalesPDlistPage {
|
||||||
sales_displayValue: any=[];
|
sales_displayValue: any=[];
|
||||||
|
loader_access:any=true
|
||||||
|
|
||||||
constructor(public actionSheetCtrl: ActionSheetController,public navCtrl: NavController, public navParams: NavParams,private salesPDService:SalesPdProvider,private toastProvider:ToastProvider) {
|
constructor(public actionSheetCtrl: ActionSheetController,public navCtrl: NavController, public navParams: NavParams,private salesPDService:SalesPdProvider,private toastProvider:ToastProvider) {
|
||||||
}
|
}
|
||||||
@ -31,8 +32,15 @@ export class SalesPDlistPage {
|
|||||||
this.salesPDService.getSalesPDList().subscribe(res=>{
|
this.salesPDService.getSalesPDList().subscribe(res=>{
|
||||||
if(res['dataStatus']){
|
if(res['dataStatus']){
|
||||||
this.sales_displayValue=res['records']
|
this.sales_displayValue=res['records']
|
||||||
|
this.loader_access=false
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
this.loader_access=false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
},err=>{
|
||||||
|
console.log("Error",err)
|
||||||
|
this.loader_access=false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
newForm(){
|
newForm(){
|
||||||
|
|||||||
@ -244,6 +244,7 @@ export class QuesServiceProvider {
|
|||||||
//FOR numeric of string field
|
//FOR numeric of string field
|
||||||
if(data.type == '1'){
|
if(data.type == '1'){
|
||||||
curr_control.controls[curr_index].addControl('field_type',new FormControl(data.field_type))
|
curr_control.controls[curr_index].addControl('field_type',new FormControl(data.field_type))
|
||||||
|
curr_control.controls[curr_index].addControl('place_holder',new FormControl(data.place_holder))
|
||||||
}
|
}
|
||||||
|
|
||||||
//FOR SEARCHABLE FIELD VALUE KEY ()
|
//FOR SEARCHABLE FIELD VALUE KEY ()
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import {
|
|||||||
HttpUserEvent
|
HttpUserEvent
|
||||||
} from '@angular/common/http';
|
} from '@angular/common/http';
|
||||||
// import { AuthGuard } from './auth.guard';
|
// import { AuthGuard } from './auth.guard';
|
||||||
import { Observable, of, BehaviorSubject} from 'rxjs';
|
import { Observable, of, BehaviorSubject, throwError} from 'rxjs';
|
||||||
|
|
||||||
// import { Router } from '@angular/router';
|
// import { Router } from '@angular/router';
|
||||||
|
|
||||||
@ -23,6 +23,9 @@ import { ConstantsProvider } from '../constants/constants';
|
|||||||
// import { catchError } from 'rxjs/operators';
|
// import { catchError } from 'rxjs/operators';
|
||||||
import 'rxjs/add/operator/catch';
|
import 'rxjs/add/operator/catch';
|
||||||
import { AwsServiceProvider } from '../aws-service/aws-service';
|
import { AwsServiceProvider } from '../aws-service/aws-service';
|
||||||
|
import { NavController } from 'ionic-angular';
|
||||||
|
import { LoginPage } from '../../pages/login/login';
|
||||||
|
import { ToastProvider } from '../common-provider/toast';
|
||||||
|
|
||||||
// const cognitoService=this.injector.get(CognitoServiceProvider)
|
// const cognitoService=this.injector.get(CognitoServiceProvider)
|
||||||
// const constantProvider=this.injector.get(ConstantsProvider)
|
// const constantProvider=this.injector.get(ConstantsProvider)
|
||||||
@ -70,6 +73,9 @@ intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent |
|
|||||||
if((<HttpErrorResponse>error).status) {
|
if((<HttpErrorResponse>error).status) {
|
||||||
return this.handle401Error(req,next,error)
|
return this.handle401Error(req,next,error)
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
return this.handle401Error(req,next,error)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log("observable error")
|
console.log("observable error")
|
||||||
return Observable.throw(error);
|
return Observable.throw(error);
|
||||||
@ -136,7 +142,7 @@ intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent |
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
this.handleError('Error From Token Interceptor',err);
|
return this.handleError('',err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -145,16 +151,25 @@ intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent |
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private handleError<T> (operation = 'operation', result?: T) {
|
private handleError<T> (operation = 'operation', error?: HttpErrorResponse) {
|
||||||
return (error: any): Observable<T> => {
|
// return (error: any): Observable<T> => {
|
||||||
if(error instanceof HttpErrorResponse){
|
// if(error instanceof HttpErrorResponse){
|
||||||
console.error("Error: " + error.status);
|
console.log("Error: " ,error);
|
||||||
if(error.status == 401){
|
if(error.status == 401){
|
||||||
localStorage.clear();
|
localStorage.clear();
|
||||||
// this.router.navigate(['/authentication/login']);
|
const NavCtrl=this.injector.get(NavController)
|
||||||
}
|
NavCtrl.setRoot(LoginPage);
|
||||||
return of(result as T);
|
|
||||||
}
|
}
|
||||||
};
|
else
|
||||||
}
|
// if(error.status == 0)
|
||||||
|
{
|
||||||
|
const toastProvider=this.injector.get(ToastProvider)
|
||||||
|
toastProvider.lenderappmessage("Network Error")
|
||||||
|
}
|
||||||
|
|
||||||
|
return throwError(error)
|
||||||
|
// return of(result as T);
|
||||||
|
}
|
||||||
|
// };
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
BIN
www/assets/fonts/ionicons.eot
Normal file
BIN
www/assets/fonts/ionicons.eot
Normal file
Binary file not shown.
50
www/assets/fonts/ionicons.scss
Normal file
50
www/assets/fonts/ionicons.scss
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
|
||||||
|
// Ionicons Icon Font CSS
|
||||||
|
// --------------------------
|
||||||
|
// Ionicons CSS for Ionic's <ion-icon> element
|
||||||
|
// ionicons-icons.scss has the icons and their unicode characters
|
||||||
|
|
||||||
|
$ionicons-font-path: $font-path !default;
|
||||||
|
|
||||||
|
@import "ionicons-icons";
|
||||||
|
@import "ionicons-variables";
|
||||||
|
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Ionicons";
|
||||||
|
src: url("#{$ionicons-font-path}/ionicons.woff2?v=#{$ionicons-version}") format("woff2"),
|
||||||
|
url("#{$ionicons-font-path}/ionicons.woff?v=#{$ionicons-version}") format("woff"),
|
||||||
|
url("#{$ionicons-font-path}/ionicons.ttf?v=#{$ionicons-version}") format("truetype");
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
ion-icon {
|
||||||
|
display: inline-block;
|
||||||
|
|
||||||
|
font-family: "Ionicons";
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
font-style: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
line-height: 1;
|
||||||
|
text-rendering: auto;
|
||||||
|
text-transform: none;
|
||||||
|
speak: none;
|
||||||
|
|
||||||
|
@include rtl() {
|
||||||
|
&[aria-label^="arrow"]::before,
|
||||||
|
&[flip-rtl]::before {
|
||||||
|
transform: scaleX(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
&[unflip-rtl]::before {
|
||||||
|
transform: scaleX(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
}
|
||||||
2630
www/assets/fonts/ionicons.svg
Normal file
2630
www/assets/fonts/ionicons.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 391 KiB |
BIN
www/assets/fonts/ionicons.ttf
Normal file
BIN
www/assets/fonts/ionicons.ttf
Normal file
Binary file not shown.
BIN
www/assets/fonts/noto-sans-bold.ttf
Normal file
BIN
www/assets/fonts/noto-sans-bold.ttf
Normal file
Binary file not shown.
BIN
www/assets/fonts/noto-sans-bold.woff
Normal file
BIN
www/assets/fonts/noto-sans-bold.woff
Normal file
Binary file not shown.
BIN
www/assets/fonts/noto-sans-regular.ttf
Normal file
BIN
www/assets/fonts/noto-sans-regular.ttf
Normal file
Binary file not shown.
BIN
www/assets/fonts/noto-sans-regular.woff
Normal file
BIN
www/assets/fonts/noto-sans-regular.woff
Normal file
Binary file not shown.
34
www/assets/fonts/noto-sans.scss
Normal file
34
www/assets/fonts/noto-sans.scss
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
// Noto Sans Font
|
||||||
|
// Google
|
||||||
|
// Apache License, version 2.0
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
|
||||||
|
$noto-sans-font-path: $font-path !default;
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Noto Sans";
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
src: local("Noto Sans"), local("Noto-Sans-Regular"), url("#{$noto-sans-font-path}/noto-sans-regular.woff") format("woff"), url("#{$noto-sans-font-path}/noto-sans-regular.ttf") format("truetype");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Noto Sans";
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local("Noto Sans"), local("Noto-Sans-Regular"), url("#{$noto-sans-font-path}/noto-sans-regular.woff") format("woff"), url("#{$noto-sans-font-path}/noto-sans-regular.ttf") format("truetype");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Noto Sans";
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
src: local("Noto Sans Bold"), local("Noto-Sans-Bold"), url("#{$noto-sans-font-path}/noto-sans-bold.woff") format("woff"), url("#{$noto-sans-font-path}/noto-sans-bold.ttf") format("truetype");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Noto Sans";
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local("Noto Sans Bold"), local("Noto-Sans-Bold"), url("#{$noto-sans-font-path}/noto-sans-bold.woff") format("woff"), url("#{$noto-sans-font-path}/noto-sans-bold.ttf") format("truetype");
|
||||||
|
}
|
||||||
BIN
www/assets/fonts/roboto-bold.ttf
Normal file
BIN
www/assets/fonts/roboto-bold.ttf
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-bold.woff
Normal file
BIN
www/assets/fonts/roboto-bold.woff
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-bold.woff2
Normal file
BIN
www/assets/fonts/roboto-bold.woff2
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-light.ttf
Normal file
BIN
www/assets/fonts/roboto-light.ttf
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-light.woff
Normal file
BIN
www/assets/fonts/roboto-light.woff
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-light.woff2
Normal file
BIN
www/assets/fonts/roboto-light.woff2
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-medium.ttf
Normal file
BIN
www/assets/fonts/roboto-medium.ttf
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-medium.woff
Normal file
BIN
www/assets/fonts/roboto-medium.woff
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-medium.woff2
Normal file
BIN
www/assets/fonts/roboto-medium.woff2
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-regular.ttf
Normal file
BIN
www/assets/fonts/roboto-regular.ttf
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-regular.woff
Normal file
BIN
www/assets/fonts/roboto-regular.woff
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-regular.woff2
Normal file
BIN
www/assets/fonts/roboto-regular.woff2
Normal file
Binary file not shown.
34
www/assets/fonts/roboto.scss
Normal file
34
www/assets/fonts/roboto.scss
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
// Roboto Font
|
||||||
|
// Google
|
||||||
|
// Apache License, version 2.0
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
|
||||||
|
$roboto-font-path: $font-path !default;
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Roboto";
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
src: local("Roboto Light"), local("Roboto-Light"), url("#{$roboto-font-path}/roboto-light.woff2") format("woff2"), url("#{$roboto-font-path}/roboto-light.woff") format("woff"), url("#{$roboto-font-path}/roboto-light.ttf") format("truetype");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Roboto";
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local("Roboto"), local("Roboto-Regular"), url("#{$roboto-font-path}/roboto-regular.woff2") format("woff2"), url("#{$roboto-font-path}/roboto-regular.woff") format("woff"), url("#{$roboto-font-path}/roboto-regular.ttf") format("truetype");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Roboto";
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
src: local("Roboto Medium"), local("Roboto-Medium"), url("#{$roboto-font-path}/roboto-medium.woff2") format("woff2"), url("#{$roboto-font-path}/roboto-medium.woff") format("woff"), url("#{$roboto-font-path}/roboto-medium.ttf") format("truetype");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Roboto";
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local("Roboto Bold"), local("Roboto-Bold"), url("#{$roboto-font-path}/roboto-bold.woff2") format("woff2"), url("#{$roboto-font-path}/roboto-bold.woff") format("woff"), url("#{$roboto-font-path}/roboto-bold.ttf") format("truetype");
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
28793
www/build/main.css
28793
www/build/main.css
File diff suppressed because one or more lines are too long
1
www/build/main.css.map
Normal file
1
www/build/main.css.map
Normal file
@ -0,0 +1 @@
|
|||||||
|
null
|
||||||
5892
www/build/main.js
5892
www/build/main.js
File diff suppressed because one or more lines are too long
1
www/build/main.js.map
Normal file
1
www/build/main.js.map
Normal file
File diff suppressed because one or more lines are too long
202858
www/build/vendor.js
202858
www/build/vendor.js
File diff suppressed because one or more lines are too long
1
www/build/vendor.js.map
Normal file
1
www/build/vendor.js.map
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user