From a787f6797db9637fba7b9855eb94d5ae7d9feb5c Mon Sep 17 00:00:00 2001 From: ansariakhtar Date: Tue, 25 Jun 2019 09:43:58 +0300 Subject: [PATCH 01/22] Login API --- Mohem/src/app/app-routing.module.ts | 35 +++--- Mohem/src/app/app.component.scss | 112 ++++++++++++++++++ .../authentication/authentication.module.ts | 6 + .../forgot/forgot.component.html | 6 +- .../authentication/forgot/forgot.component.ts | 4 +- .../authentication/login/login.component.html | 8 +- .../authentication/login/login.component.ts | 49 ++++---- .../sms-page/sms-page.module.ts | 26 ++++ .../sms-page/sms-page.page.html | 36 ++++++ .../sms-page/sms-page.page.scss | 0 .../sms-page/sms-page.page.spec.ts | 27 +++++ .../authentication/sms-page/sms-page.page.ts | 38 ++++++ .../authentication/authentication.service.ts | 22 ++-- .../models/check-user-auth.request.ts | 16 ++- .../services/common/common.service.ts | 3 + .../app/hmg-common/services/models/request.ts | 1 + Mohem/src/app/hmg-common/ui/sms/sms.page.html | 77 +++++------- 17 files changed, 358 insertions(+), 108 deletions(-) create mode 100644 Mohem/src/app/authentication/sms-page/sms-page.module.ts create mode 100644 Mohem/src/app/authentication/sms-page/sms-page.page.html create mode 100644 Mohem/src/app/authentication/sms-page/sms-page.page.scss create mode 100644 Mohem/src/app/authentication/sms-page/sms-page.page.spec.ts create mode 100644 Mohem/src/app/authentication/sms-page/sms-page.page.ts diff --git a/Mohem/src/app/app-routing.module.ts b/Mohem/src/app/app-routing.module.ts index 42c149de..613e47bc 100644 --- a/Mohem/src/app/app-routing.module.ts +++ b/Mohem/src/app/app-routing.module.ts @@ -1,18 +1,19 @@ -import { NgModule } from '@angular/core'; -import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; +import { NgModule } from '@angular/core'; +import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; + +const routes: Routes = [ + { path: '', redirectTo: 'authentication/login', pathMatch: 'full' }, + { + path: 'authentication', loadChildren: './authentication/authentication.module#AuthenticationPageModule', + data: { preload: true, delay: 1000 } + }, { path: 'sms-page', loadChildren: './authentication/sms-page/sms-page.module#SmsPagePageModule' } -const routes: Routes = [ - { path: '', redirectTo: 'authentication/login', pathMatch: 'full' }, - { - path: 'authentication', loadChildren: './authentication/authentication.module#AuthenticationPageModule', - data: { preload: true, delay: 1000 } - } -]; - -@NgModule({ - imports: [ - RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) - ], - exports: [RouterModule] -}) -export class AppRoutingModule { } +]; + +@NgModule({ + imports: [ + RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) + ], + exports: [RouterModule] +}) +export class AppRoutingModule { } diff --git a/Mohem/src/app/app.component.scss b/Mohem/src/app/app.component.scss index e69de29b..88fe6829 100644 --- a/Mohem/src/app/app.component.scss +++ b/Mohem/src/app/app.component.scss @@ -0,0 +1,112 @@ +/* +header +*/ +.menu-header { + height: 2.5cm; + } + + .content-ios:not([no-bounce]) > .scroll-content::before { + bottom: 0; + } + + .menu-header .logo { + position: absolute; + left: 0.6cm; + top: 0.9cm; + width: 1.6cm; + } + + .menu-header .background { + height: 1.5cm; + width: 100%; + } + + /* title */ + .title-v-spacer { + height: 0.7cm; + } + + .suliman-title { + margin-left: 0.3cm; + margin-right: 0.3cm; + font-weight: bold; + font-size: 0.5cm; + } + + .group-title { + margin-left: 0.4cm; + margin-right: 0.4cm; + font-size: 0.4cm; + } + + /* + items + */ + .items-buttons-spacer { + height: 10%; + } + /* + user information + */ + .user-v-spacer { + height: 0.5cm; + } + + .user-name-title { + margin-left: 0.3cm; + margin-right: 0.3cm; + font-weight: bold; + } + + .file-id-title { + margin-left: 0.4cm; + margin-right: 0.4cm; + } + + .social-media-container { + position: absolute !important; + width: 100%; + bottom: 0.2cm; + background-color: white; + } + + .icon-spacer { + margin-right: 0.3cm; + margin-left: 0.3cm; + } + + /*mobile Landscape */ + @media only screen and (min-device-height: 0px) and (max-device-height: 515px) and (orientation: landscape) { + .social-media-container { + display: none; + } + } + .info-container { + overflow-y: scroll; + width: 100%; + position: absolute; + top: 2.6cm; + bottom: 0.2cm; + padding-bottom: 4.5cm; + } + + @media only screen and (orientation: landscape) { + .info-container { + padding-bottom: 0.2cm; + } + } + + .member { + border-bottom-color: var(--ion-color-medium) !important; + border-bottom-width: 0.02cm; + border-bottom-style: solid; + /* margin-left: 0.4cm; */ + } + + .selected-member { + border-bottom-color: var(--ion-color-secondary) !important; + border-bottom-width: 0.02cm; + border-bottom-style: solid; + margin-left: 0.2cm; + } + \ No newline at end of file diff --git a/Mohem/src/app/authentication/authentication.module.ts b/Mohem/src/app/authentication/authentication.module.ts index 9b270564..c1551cb3 100644 --- a/Mohem/src/app/authentication/authentication.module.ts +++ b/Mohem/src/app/authentication/authentication.module.ts @@ -17,6 +17,7 @@ import { SearchableOptionsModule } from '../hmg-common/ui/searchable-select/sear import { MobileNumberModule } from 'src/app/hmg-common/ui/mobile-number/mobile-number.module'; import { SmsdialogPageModule } from 'src/app/hmg-common/ui/smsdialog/smsdialog.module'; import { SmsPageModule } from 'src/app/hmg-common/ui/sms/sms.module'; +import { SmsPagePage } from './sms-page/sms-page.page'; @@ -36,6 +37,10 @@ const routes: Routes = [ { path: 'agreement', component: AgreementComponent + }, + { + path: 'smspage', + component: SmsPagePage } ] } @@ -60,6 +65,7 @@ const routes: Routes = [ LoginComponent, ForgotComponent, AgreementComponent, + SmsPagePage ], providers:[ FingerprintAIO, diff --git a/Mohem/src/app/authentication/forgot/forgot.component.html b/Mohem/src/app/authentication/forgot/forgot.component.html index 8c8d2004..caaaa9df 100644 --- a/Mohem/src/app/authentication/forgot/forgot.component.html +++ b/Mohem/src/app/authentication/forgot/forgot.component.html @@ -1,9 +1,11 @@ - - + + {{'login,forgot-password' | translate}} + + diff --git a/Mohem/src/app/authentication/forgot/forgot.component.ts b/Mohem/src/app/authentication/forgot/forgot.component.ts index 8b7f7e30..949f40a2 100644 --- a/Mohem/src/app/authentication/forgot/forgot.component.ts +++ b/Mohem/src/app/authentication/forgot/forgot.component.ts @@ -58,8 +58,8 @@ export class ForgotComponent implements OnInit,OnDestroy { private sendSMSForForgotPassword() { const request = new CheckUserAuthenticationRequest(); - request.PatientMobileNumber = this.countryCode.number; - request.ZipCode = CountryCode.localCode(this.countryCode.code); + //request.PatientMobileNumber = this.countryCode.number; + //request.ZipCode = CountryCode.localCode(this.countryCode.code); this.authService.sendSMSForForgotFileNumber( request, diff --git a/Mohem/src/app/authentication/login/login.component.html b/Mohem/src/app/authentication/login/login.component.html index 043e923d..9de58fab 100644 --- a/Mohem/src/app/authentication/login/login.component.html +++ b/Mohem/src/app/authentication/login/login.component.html @@ -16,18 +16,18 @@ {{ts.trPK('login','username')}} - + {{ts.trPK('login','password')}} - + -
+
@@ -38,7 +38,7 @@
- {{ts.trPK('login','login')}} + {{ts.trPK('login','login')}}

diff --git a/Mohem/src/app/authentication/login/login.component.ts b/Mohem/src/app/authentication/login/login.component.ts index e547c75a..fcb916f8 100644 --- a/Mohem/src/app/authentication/login/login.component.ts +++ b/Mohem/src/app/authentication/login/login.component.ts @@ -31,6 +31,11 @@ export class LoginComponent implements OnInit, OnDestroy { isSupportAr:boolean=false; isAppleStore:boolean=false; memberLogin: any = {}; + + private password: string; + private language: string; + private username : string; + constructor( public cs: CommonService, public authService: AuthenticationService, @@ -58,6 +63,14 @@ export class LoginComponent implements OnInit, OnDestroy { } public changeLanguage(){ this.ts.switchLanguage(); + console.log(this.ts.getCurrentSystemLanguageName()); + if(TranslatorService.CURRENT_LANGUAGE == TranslatorService.EN) + { + this.language = "US"; + } + else{ + this.language = "AR"; + } } private checkIfLoggedInBefore() { this.cs.startLoading(); @@ -135,10 +148,10 @@ export class LoginComponent implements OnInit, OnDestroy { private initializeForAuthentictedUser(user: AuthenticatedUser) { this.ngZone.run(() => { - this.isMobileFingerPrint = true; - this.FingerPrintPatientIdentificationID = user.IdentificationNo; - this.mobileNumber = user.MobileNumber; - this.zipCode = CountryCode.localCode(user.ZipCode); + //this.isMobileFingerPrint = true; + //this.FingerPrintPatientIdentificationID = user.IdentificationNo; + //this.mobileNumber = user.MobileNumber; + //this.zipCode = CountryCode.localCode(user.ZipCode); }); } @@ -157,16 +170,7 @@ export class LoginComponent implements OnInit, OnDestroy { }).catch((error: any) => console.log(error)); } - - /** - we need holders here since the country code maybe is not loaded yet for automatic login - */ - private mobileNumber: string; - private zipCode: string; - public onLogin() { - - this.checkUserAuthentication(); } @@ -344,17 +348,17 @@ export class LoginComponent implements OnInit, OnDestroy { private checkUserAuthentication() { const request = new CheckUserAuthenticationRequest(); - request.PatientMobileNumber = this.mobileNumber; - request.ZipCode = this.zipCode; - request.isRegister = false; - request.TokenID = ''; - + request.P_USER_NAME = this.username; + request.P_LANGUAGE = this.language; + request.P_PASSWORD = this.password; + console.log(request); this.authService.checkUserAuthentication( request, () => { - }, this.ts.trPK('general', 'ok')).subscribe((result: CheckUserAuthenticationResponse) => { if (this.cs.validResponse(result)) { + console.log(result); + this.cs.openSMSPage(); this.loginTokenID = result.LogInTokenID; this.patientOutSA = result.PatientOutSA; this.isMobileFingerPrint = false; @@ -399,7 +403,7 @@ export class LoginComponent implements OnInit, OnDestroy { private FingerPrintPatientIdentificationID: string; private checkActivationCode(readedCode?) { - const request = new CheckActivationCodeRequest(); + /*const request = new CheckActivationCodeRequest(); request.IsMobileFingerPrint = this.isMobileFingerPrint; request.FingerPrintPatientIdentificationID = this.FingerPrintPatientIdentificationID; request.LogInTokenID = this.loginTokenID; @@ -408,6 +412,8 @@ export class LoginComponent implements OnInit, OnDestroy { request.IsSilentLogin = !readedCode; request.PatientMobileNumber = this.mobileNumber; request.ZipCode = this.zipCode; + request.isRegister = false;*/ + // request.SearchType = this.loginType; // if (this.loginType === LoginComponent.IDENTIFCIATION_LOGIN_TYPE) { // request.PatientIdentificationID = this.id; @@ -416,7 +422,6 @@ export class LoginComponent implements OnInit, OnDestroy { // request.PatientID = Number(this.id); // request.PatientIdentificationID = ''; // } - request.isRegister = false; // this.authService.checkActivationCode( // request, // () => { @@ -440,7 +445,7 @@ export class LoginComponent implements OnInit, OnDestroy { if (this.authService.isAgreedBefore()) { this.cs.openHome(); } else { - this.cs.openAgreement(); + //this.cs.openAgreement(); } }); } diff --git a/Mohem/src/app/authentication/sms-page/sms-page.module.ts b/Mohem/src/app/authentication/sms-page/sms-page.module.ts new file mode 100644 index 00000000..049e14a0 --- /dev/null +++ b/Mohem/src/app/authentication/sms-page/sms-page.module.ts @@ -0,0 +1,26 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { Routes, RouterModule } from '@angular/router'; + +import { IonicModule } from '@ionic/angular'; + +import { SmsPagePage } from './sms-page.page'; + +const routes: Routes = [ + { + path: 'smspage', + component: SmsPagePage + } +]; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + RouterModule.forChild(routes) + ], + declarations: [SmsPagePage] +}) +export class SmsPagePageModule {} diff --git a/Mohem/src/app/authentication/sms-page/sms-page.page.html b/Mohem/src/app/authentication/sms-page/sms-page.page.html new file mode 100644 index 00000000..c49cc795 --- /dev/null +++ b/Mohem/src/app/authentication/sms-page/sms-page.page.html @@ -0,0 +1,36 @@ + + + {{'verificationcode.verificationcode' | translate}} + + + + + + + + + + + + +

{{'verificationcode.title' | translate}}{{'verificationcode.verificationcode' | translate}} {{'verificationcode.by' | translate}}{{'verificationcode.sms' | translate}}{{'verificationcode.instruct' | translate}}{{'general.submit' | translate}}

+
+
+
+

+ +
+

{{displayTime}}

+

+ + {{'verificationcode.verificationcode' | translate}} + + + +
+
+ +
+ +
+
\ No newline at end of file diff --git a/Mohem/src/app/authentication/sms-page/sms-page.page.scss b/Mohem/src/app/authentication/sms-page/sms-page.page.scss new file mode 100644 index 00000000..e69de29b diff --git a/Mohem/src/app/authentication/sms-page/sms-page.page.spec.ts b/Mohem/src/app/authentication/sms-page/sms-page.page.spec.ts new file mode 100644 index 00000000..48e022a2 --- /dev/null +++ b/Mohem/src/app/authentication/sms-page/sms-page.page.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SmsPagePage } from './sms-page.page'; + +describe('SmsPagePage', () => { + let component: SmsPagePage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SmsPagePage ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SmsPagePage); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/authentication/sms-page/sms-page.page.ts b/Mohem/src/app/authentication/sms-page/sms-page.page.ts new file mode 100644 index 00000000..9d67eec3 --- /dev/null +++ b/Mohem/src/app/authentication/sms-page/sms-page.page.ts @@ -0,0 +1,38 @@ +import { Component, OnInit } from '@angular/core'; +import { ElementRef} from '@angular/core'; +import { NavController } from '@ionic/angular'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; +@Component({ + selector: 'app-sms-page', + templateUrl: './sms-page.page.html', + styleUrls: ['./sms-page.page.scss'], +}) +export class SmsPagePage implements OnInit { + + Channel: number=0; + activationCode: string; + P_SESSION_ID: number; + timeInSeconds: any; + time:any; + runTimer:any; + hasStarted: any; + hasFinished: any; + remainingTime:any; + displayTime:any; + loginTokenID:string; +public isForgetPwd:boolean=false; +public isExpiredPwd:boolean=false; +public count:number=0; + + constructor(public navCtrl: NavController, + public translate: TranslatorService, + public common:CommonService, + private elementRef:ElementRef, + public sharedData:SharedDataService) { } + + ngOnInit() { + } + +} diff --git a/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts b/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts index 0a70b492..b5afd01e 100644 --- a/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts +++ b/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts @@ -36,6 +36,9 @@ export class AuthenticationService { /* login methods */ public static loginURL = 'Services/Authentication.svc/REST/CheckPatientAuthentication'; public static checkUserAuthURL = 'Services/Authentication.svc/REST/CheckPatientAuthentication'; + + public static login = 'Services/ERP.svc/REST/MemberLogin'; + public static activationCodeURL = 'Services/Authentication.svc/REST/CheckActivationCode'; public static getLoginInfoURL = 'Services/Authentication.svc/REST/GetMobileLoginInfo'; @@ -90,12 +93,13 @@ export class AuthenticationService { } public setPublicFields(request: Request): Request { - request.VersionID = 3.6; - request.Channel = 3; + request.VersionID = 1; + request.Channel = 31; request.LanguageID = TranslatorService.getCurrentLanguageCode(); - request.IPAdress = '10.10.10.10'; + //request.IPAdress = '10.10.10.10'; request.SessionID = 'any thing'; // ??? required for not authorized login funny - request.isDentalAllowedBackend = false; + request.MobileType = "android"; + //request.isDentalAllowedBackend = false; return request; } @@ -420,7 +424,7 @@ export class AuthenticationService { public checkUserAuthentication(request: CheckUserAuthenticationRequest, onError: any, errorLabel: string) : Observable { this.setPublicFields(request); - return this.con.post(AuthenticationService.checkUserAuthURL, request, onError, errorLabel); + return this.con.post(AuthenticationService.login, request, onError, errorLabel); } public checkActivationCode(request: CheckActivationCodeRequest, onError: any, errorLabel: string) @@ -466,8 +470,8 @@ export class AuthenticationService { request.TokenID = ''; request.PatientIdentificationID = ''; request.PatientID = 0; - request.SearchType = 2; - request.isRegister = false; + //request.SearchType = 2; + //request.isRegister = false; return this.con.post(AuthenticationService.sendSMSForgotFileNoURL, request, onError, errorLabel); } @@ -540,7 +544,7 @@ export class AuthenticationService { } else { this.cs.presentConfirmDialog(this.ts.trPK('login', 'enter-email'), () => { - this.cs.openPatientProfile(); + //this.cs.openPatientProfile(); observer.complete(); }); } @@ -564,7 +568,7 @@ export class AuthenticationService { private sessionTimeOutDialog() { this.cs.presentConfirmDialog(this.ts.trPK('general', 'idle-relogin'), () => { - this.cs.openUserLogin(); + //this.cs.openUserLogin(); }); } diff --git a/Mohem/src/app/hmg-common/services/authentication/models/check-user-auth.request.ts b/Mohem/src/app/hmg-common/services/authentication/models/check-user-auth.request.ts index 5121f239..45314c6f 100644 --- a/Mohem/src/app/hmg-common/services/authentication/models/check-user-auth.request.ts +++ b/Mohem/src/app/hmg-common/services/authentication/models/check-user-auth.request.ts @@ -1,10 +1,14 @@ import { Request } from '../../models/request'; export class CheckUserAuthenticationRequest extends Request { - PatientIdentificationID: string; // id - PatientMobileNumber: string; // phone number - ZipCode: string; - SearchType: number; // 1 for id , 2 for file no - isRegister: boolean; // false - LogInTokenID?: string; + // PatientIdentificationID: string; // id + // PatientMobileNumber: string; // phone number + // ZipCode: string; + // SearchType: number; // 1 for id , 2 for file no + // isRegister: boolean; // false + // LogInTokenID?: string; + + P_USER_NAME:string; + P_LANGUAGE: string; + P_PASSWORD: string; } diff --git a/Mohem/src/app/hmg-common/services/common/common.service.ts b/Mohem/src/app/hmg-common/services/common/common.service.ts index 2a54f10e..7cdaa3ab 100644 --- a/Mohem/src/app/hmg-common/services/common/common.service.ts +++ b/Mohem/src/app/hmg-common/services/common/common.service.ts @@ -899,6 +899,9 @@ export class CommonService { public openUserForgot() { this.nav.navigateForward(["/authentication/forgot"]); } + public openSMSPage() { + this.nav.navigateForward(["/authentication/smspage"]); + } public navigateTo(url: string) { diff --git a/Mohem/src/app/hmg-common/services/models/request.ts b/Mohem/src/app/hmg-common/services/models/request.ts index d88b96f0..77dee9a3 100644 --- a/Mohem/src/app/hmg-common/services/models/request.ts +++ b/Mohem/src/app/hmg-common/services/models/request.ts @@ -12,6 +12,7 @@ export class Request { public IsIrisPrescription: boolean; public TokenID: string; public SessionID: string; + public MobileType: string; public PatientIdentificationID: string; public PatientMobileNumber: string; public BookedBy?: number; diff --git a/Mohem/src/app/hmg-common/ui/sms/sms.page.html b/Mohem/src/app/hmg-common/ui/sms/sms.page.html index ac32038f..c49cc795 100644 --- a/Mohem/src/app/hmg-common/ui/sms/sms.page.html +++ b/Mohem/src/app/hmg-common/ui/sms/sms.page.html @@ -1,51 +1,36 @@ - - {{'sms,title' | translate}} - + + {{'verificationcode.verificationcode' | translate}} + - - - - - - - - - -
{{ 'home,verification-code-text'| translate}}
-
- -
{{mobile}}
-
-
- - - {{ 'h2o,verification_message' | translate}} - - - - - - - {{ 'h2o,validation_message' | translate}} - - - {{displayTime}} - + + + + + + - - -

{{'h2o,code_failure' | translate}}

-
- - {{'h2o,resend' | translate}} - -
- - - {{'general,submit' | translate}} - + + +

{{'verificationcode.title' | translate}}{{'verificationcode.verificationcode' | translate}} {{'verificationcode.by' | translate}}{{'verificationcode.sms' | translate}}{{'verificationcode.instruct' | translate}}{{'general.submit' | translate}}

+
-
-
\ No newline at end of file +
+

+ +
+

{{displayTime}}

+

+ + {{'verificationcode.verificationcode' | translate}} + + + +
+
+ +
+ +
+
\ No newline at end of file From cad200261ea00fd2a2fc6990924a3cda2d2ef506 Mon Sep 17 00:00:00 2001 From: Sultan Khan Date: Tue, 25 Jun 2019 16:42:52 +0300 Subject: [PATCH 02/22] updated home page --- Mohem/src/app/app-routing.module.ts | 35 ++++++----- Mohem/src/app/app.component.html | 40 +----------- Mohem/src/app/app.component.ts | 11 +--- Mohem/src/app/home/home.module.ts | 31 ++++++++++ Mohem/src/app/home/home.page.html | 69 +++++++++++++++++++++ Mohem/src/app/home/home.page.scss | 93 ++++++++++++++++++++++++++++ Mohem/src/app/home/home.page.spec.ts | 27 ++++++++ Mohem/src/app/home/home.page.ts | 16 +++++ 8 files changed, 259 insertions(+), 63 deletions(-) create mode 100644 Mohem/src/app/home/home.module.ts create mode 100644 Mohem/src/app/home/home.page.html create mode 100644 Mohem/src/app/home/home.page.scss create mode 100644 Mohem/src/app/home/home.page.spec.ts create mode 100644 Mohem/src/app/home/home.page.ts diff --git a/Mohem/src/app/app-routing.module.ts b/Mohem/src/app/app-routing.module.ts index 42c149de..7ea9259e 100644 --- a/Mohem/src/app/app-routing.module.ts +++ b/Mohem/src/app/app-routing.module.ts @@ -1,18 +1,19 @@ -import { NgModule } from '@angular/core'; -import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; +import { NgModule } from '@angular/core'; +import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; + +const routes: Routes = [ + { path: '', redirectTo: 'authentication/login', pathMatch: 'full' }, + { + path: 'authentication', loadChildren: './authentication/authentication.module#AuthenticationPageModule', + data: { preload: true, delay: 1000 } + }, { path: 'home', loadChildren: './home/home.module#HomePageModule' } -const routes: Routes = [ - { path: '', redirectTo: 'authentication/login', pathMatch: 'full' }, - { - path: 'authentication', loadChildren: './authentication/authentication.module#AuthenticationPageModule', - data: { preload: true, delay: 1000 } - } -]; - -@NgModule({ - imports: [ - RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) - ], - exports: [RouterModule] -}) -export class AppRoutingModule { } +]; + +@NgModule({ + imports: [ + RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) + ], + exports: [RouterModule] +}) +export class AppRoutingModule { } diff --git a/Mohem/src/app/app.component.html b/Mohem/src/app/app.component.html index ed86517c..97f8ceb3 100644 --- a/Mohem/src/app/app.component.html +++ b/Mohem/src/app/app.component.html @@ -2,8 +2,8 @@ - diff --git a/Mohem/src/app/app.component.ts b/Mohem/src/app/app.component.ts index 84068821..966e42c2 100644 --- a/Mohem/src/app/app.component.ts +++ b/Mohem/src/app/app.component.ts @@ -40,14 +40,13 @@ export class AppComponent implements OnInit, AfterViewInit { } ngAfterViewInit() {} initializeApp() { - this.start = false; this.lazyLoadingService.monitorLazyLoading(15, true); this.platform.ready().then(() => { this.translatorService.loadResources(() => { this.initializeDirection(); - // this.statusBar.styleDefault(); - this.start = true; + // this.statusBar.styleDefault(); + this.start = true; this.watchLanguageChangeEvents(); // this.checkIfUserLoggedInBefore(); this.keyboardService.watchKeyboard(); @@ -61,11 +60,7 @@ export class AppComponent implements OnInit, AfterViewInit { this.events.subscribe( AuthenticationService.LOGIN_EVENT, (user: AuthenticatedUser, time: Date) => { - // if (user) { - // this.loggedInMainUser = user; - // this.loggedInUser = user; - // this.loadFamilyMembers(); - // } + } ); } diff --git a/Mohem/src/app/home/home.module.ts b/Mohem/src/app/home/home.module.ts new file mode 100644 index 00000000..552dcba8 --- /dev/null +++ b/Mohem/src/app/home/home.module.ts @@ -0,0 +1,31 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { Routes, RouterModule } from '@angular/router'; +import { HmgCommonModule } from '../hmg-common/hmg-common.module'; +import { IonicModule } from '@ionic/angular'; +import { HomePage } from './home.page'; + +const routes: Routes = [ + { + path: '', + component: HomePage + } +]; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + HmgCommonModule, + RouterModule.forChild([ + { + path: '', + component: HomePage + } + ]) + ], + declarations: [HomePage] +}) +export class HomePageModule {} diff --git a/Mohem/src/app/home/home.page.html b/Mohem/src/app/home/home.page.html new file mode 100644 index 00000000..5ebdfa09 --- /dev/null +++ b/Mohem/src/app/home/home.page.html @@ -0,0 +1,69 @@ + + +
+ +
+

{{"home.hello" | translate}}, {{User_name_Emp}}

+
+
+
+ +
+
+

{{"home.dashboard" | translate}}

+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
diff --git a/Mohem/src/app/home/home.page.scss b/Mohem/src/app/home/home.page.scss new file mode 100644 index 00000000..709bf833 --- /dev/null +++ b/Mohem/src/app/home/home.page.scss @@ -0,0 +1,93 @@ +.button-menutoggle.button-menutoggle-md,button-menutoggle.button-menutoggle-ios, +.bar-buttons.bar-buttons-ios.button.button-ios.button-default.button-default-ios.button-menutoggle.button-menutoggle-ios{ + box-shadow: none; + -webkit-box-shadow:none; + -moz-box-shadow: none; + background: transparent !important; + } + .menubutton{ + white-space: normal; + color: var(--light); + text-transform: capitalize; + min-height: 47px; + background: transparent; + font-size: 2rem; + } + #homeBadgeBtn{ + position: absolute; + top: 2px; + width: 20px; + font-size: 10px; + height: 20px; + padding: 0px; + line-height: 2; + min-width: auto; + min-height: auto; + } + .header-div{ + background:var(--primary); + background: -moz-linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%,var(--secondary) 59%, var(--customnavy) 100%); + background: -webkit-linear-gradient(45deg, (--primary) 0%, var(--secondary) 36%,var(--secondary) 59%, var(--customnavy) 100%); + background: linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%,var(--secondary) 59%, var(--customnavy) 100%); + color:var(--light); + text-transform: capitalize; + + display: block; + position: relative; + height: 120px; + margin-bottom:60px; + } + + .dash-header{ + text-align: center; + margin: 16px 0 0 0; + + } + + .TxtPlace { + margin: 0; + padding: 0 0 10px 0; + text-align: center; + } + + .serviceItem { + min-height: 160px !important; + padding: 0; + width:100%; + border: 2px solid #e4e5e7; + background: transparent !important; + color: var(--dark); + p{ + margin-top: 0px; margin-bottom:0px; + font-weight: normal; + font-size: 14px; + min-height: 20px; + // white-space: normal; + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; + } + span { + display: block; + + } + .serviceItemImg { + min-width: 60px !important; + min-height: 70px !important; + width: 80px; + height: 80px; + margin: 10px auto; + background: transparent !important; + } + + } + .serviceItem.button,.serviceItem.button-md, .serviceItem.button-ios{ + background: transparent !important; + color:var(--dark); + box-shadow: none; + -webkit-box-shadow:none; + -moz-box-shadow: none; + border: 2px solid var(--gray); + min-width: auto; + } \ No newline at end of file diff --git a/Mohem/src/app/home/home.page.spec.ts b/Mohem/src/app/home/home.page.spec.ts new file mode 100644 index 00000000..cfa74c8f --- /dev/null +++ b/Mohem/src/app/home/home.page.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HomePage } from './home.page'; + +describe('HomePage', () => { + let component: HomePage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ HomePage ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(HomePage); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts new file mode 100644 index 00000000..b19357af --- /dev/null +++ b/Mohem/src/app/home/home.page.ts @@ -0,0 +1,16 @@ +import { Component, OnInit } from '@angular/core'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +@Component({ + selector: 'app-home', + templateUrl: './home.page.html', + styleUrls: ['./home.page.scss'], +}) +export class HomePage implements OnInit { + home: any ={}; + user_image : any = "../assets/imgs/profile.png"; + constructor(public ts:TranslatorService ) { } + + ngOnInit() { + } + +} From 50500b39bb47f62c28e5f3e679dda72d5bf58135 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Wed, 26 Jun 2019 11:38:21 +0300 Subject: [PATCH 03/22] package.json changes --- Mohem/package-lock.json | 5550 ++++++++++++++++++++++++++++----------- 1 file changed, 4018 insertions(+), 1532 deletions(-) diff --git a/Mohem/package-lock.json b/Mohem/package-lock.json index f9f85e35..32c46d95 100644 --- a/Mohem/package-lock.json +++ b/Mohem/package-lock.json @@ -1,28 +1,17 @@ { - "name": "Mohem", + "name": "MOHEM", "version": "0.0.1", "lockfileVersion": 1, "requires": true, "dependencies": { "@angular-devkit/architect": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.13.9.tgz", - "integrity": "sha512-EAFtCs9dsGhpMRC45PoYsrkiExpWz9Ax15qXfzwdDRacz5DmdOVt+QpkLW1beUOwiyj/bhFyj23eaONK2RTn/w==", + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.12.4.tgz", + "integrity": "sha512-19f3jbGyP+GzTSBgrHR4SWGK81SUgtTxhkAcyhmsIEDuXrMJM8kPu0HB9WivJ5p08+jzwz6xdF9mpNYSeD9uqw==", "dev": true, "requires": { - "@angular-devkit/core": "7.3.9", + "@angular-devkit/core": "7.2.4", "rxjs": "6.3.3" - }, - "dependencies": { - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } } }, "@angular-devkit/build-angular": { @@ -78,6 +67,29 @@ "webpack-subresource-integrity": "1.1.0-rc.6" }, "dependencies": { + "@angular-devkit/architect": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.13.9.tgz", + "integrity": "sha512-EAFtCs9dsGhpMRC45PoYsrkiExpWz9Ax15qXfzwdDRacz5DmdOVt+QpkLW1beUOwiyj/bhFyj23eaONK2RTn/w==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.3.9", + "rxjs": "6.3.3" + } + }, + "@angular-devkit/core": { + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.9.tgz", + "integrity": "sha512-SaxD+nKFW3iCBKsxNR7+66J30EexW/y7tm8m5AvUH+GwSAgIj0ZYmRUzFEPggcaLVA4WnE/YWqIXZMJW5dT7gw==", + "dev": true, + "requires": { + "ajv": "6.9.1", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, "rxjs": { "version": "6.3.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", @@ -126,6 +138,29 @@ "rxjs": "6.3.3" }, "dependencies": { + "@angular-devkit/architect": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.13.9.tgz", + "integrity": "sha512-EAFtCs9dsGhpMRC45PoYsrkiExpWz9Ax15qXfzwdDRacz5DmdOVt+QpkLW1beUOwiyj/bhFyj23eaONK2RTn/w==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.3.9", + "rxjs": "6.3.3" + } + }, + "@angular-devkit/core": { + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.9.tgz", + "integrity": "sha512-SaxD+nKFW3iCBKsxNR7+66J30EexW/y7tm8m5AvUH+GwSAgIj0ZYmRUzFEPggcaLVA4WnE/YWqIXZMJW5dT7gw==", + "dev": true, + "requires": { + "ajv": "6.9.1", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, "rxjs": { "version": "6.3.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", @@ -138,69 +173,122 @@ } }, "@angular-devkit/core": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.9.tgz", - "integrity": "sha512-SaxD+nKFW3iCBKsxNR7+66J30EexW/y7tm8m5AvUH+GwSAgIj0ZYmRUzFEPggcaLVA4WnE/YWqIXZMJW5dT7gw==", + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.2.4.tgz", + "integrity": "sha512-XHF59tIHg2qEM1Wd415xhykBLjjfOK6yMB7CjNk1bToUMX2QDT87izJF4y1Vwa0lIw9G0jdgP/4/M/OqXcbYmA==", "dev": true, "requires": { - "ajv": "6.9.1", + "ajv": "6.6.2", "chokidar": "2.0.4", "fast-json-stable-stringify": "2.0.0", "rxjs": "6.3.3", "source-map": "0.7.3" }, "dependencies": { - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", + "ajv": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", + "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", "dev": true, "requires": { - "tslib": "^1.9.0" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } } } }, "@angular-devkit/schematics": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.3.9.tgz", - "integrity": "sha512-xzROGCYp7aQbeJ3V6YC0MND7wKEAdWqmm/GaCufEk0dDS8ZGe0sQhcM2oBRa2nQqGQNeThFIH51kx+FayrJP0w==", + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.2.4.tgz", + "integrity": "sha512-ObIDnIxXRpts+Jzs0PQ7JVuK4d5vWEh9K+Ow8nMO5/LmYJQ8/2nMEQo/9lhdKPMiXmhbuvB7qZL5J+cxwwijhw==", "dev": true, "requires": { - "@angular-devkit/core": "7.3.9", + "@angular-devkit/core": "7.2.4", "rxjs": "6.3.3" - }, - "dependencies": { - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + } + }, + "@angular/animations": { + "version": "7.2.15", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.2.15.tgz", + "integrity": "sha512-8oBt3HLgd2+kyJHUgsd7OzKCCss67t2sch15XNoIWlOLfxclqU+EfFE6t/vCzpT8/+lpZS6LU9ZrTnb+UBj5jg==", + "requires": { + "tslib": "^1.9.0" } }, "@angular/cli": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.3.9.tgz", - "integrity": "sha512-7oJj7CKDlFUbQav1x1CV4xKKcbt0pnxY4unKcm7Q1tVXhu8bU2bc3cDA0aJnbofcYb6TJcd/C2qHgCt78q7edA==", + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.3.6.tgz", + "integrity": "sha512-u5lBcYVQRk9cez/DozJvFOYomeko9b5kE+NElyFhPtM3GF1SBcXKb5QyNxH/zSOc850VL7KPe7ZfC6kW3Phhyw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.13.9", - "@angular-devkit/core": "7.3.9", - "@angular-devkit/schematics": "7.3.9", - "@schematics/angular": "7.3.9", - "@schematics/update": "0.13.9", + "@angular-devkit/architect": "0.13.6", + "@angular-devkit/core": "7.3.6", + "@angular-devkit/schematics": "7.3.6", + "@schematics/angular": "7.3.6", + "@schematics/update": "0.13.6", "@yarnpkg/lockfile": "1.1.0", "ini": "1.3.5", "inquirer": "6.2.1", "npm-package-arg": "6.1.0", - "open": "6.0.0", + "opn": "5.4.0", "pacote": "9.4.0", "semver": "5.6.0", "symbol-observable": "1.2.0" + }, + "dependencies": { + "@angular-devkit/architect": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.13.6.tgz", + "integrity": "sha512-Cg9z4lmCvjt5uD00E/0tBRz3ESjYicmqT3NL/BIsNVNb+s1GwCCoPSOIM8Ss4nyGDtrdono1XKSOmkJnlzF3Cw==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.3.6", + "rxjs": "6.3.3" + } + }, + "@angular-devkit/core": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.6.tgz", + "integrity": "sha512-aoarMK0DJIdwjVA0OuQIN7b8nKPcF9n5vSMF7MFmhKpTw5/uV3SynQZbm3YCgylu/2CMuiTzKuAunnWWdli//g==", + "dev": true, + "requires": { + "ajv": "6.9.1", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "@angular-devkit/schematics": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.3.6.tgz", + "integrity": "sha512-YXF7QusmMy3D9H0vNczc1n5BkuEHLwt7cW33euNeGNgTIsD0n6DrUhgClurXicnr2GNPSDYE5+3115lmJkhyrg==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.3.6", + "rxjs": "6.3.3" + } + }, + "opn": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", + "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "rxjs": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", + "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + } } }, "@angular/common": { @@ -672,1853 +760,3745 @@ } } }, - "@ionic-native/core": { + "@ionic-native/android-permissions": { "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-5.8.0.tgz", - "integrity": "sha512-HHsbgFEIAwM9wACpCTMgQT1zcqfWmZzmj5S4w8b1ShGjaJCVZAvuU+78tkVRAK2MK5/8bIJyugE8N2GpVgLTmg==", + "resolved": "https://registry.npmjs.org/@ionic-native/android-permissions/-/android-permissions-5.8.0.tgz", + "integrity": "sha512-02VOlzmYmYl07f2XqLt7itCUBrS/kO8XP/0+b0R4p3ozZBxnEp/DKCjJoswiZpa++fmf9b3PfpJnPBGTyC/U0Q==", "requires": { "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } } }, - "@ionic-native/splash-screen": { + "@ionic-native/app-availability": { "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-5.8.0.tgz", - "integrity": "sha512-2SciN/EU7QIm9SGBEeJvhMT51NhEumur9mAeZcKFgb9BLxzmhoCVfPbMB196sb42FlPadQRyEvwfgFJrbozryQ==", + "resolved": "https://registry.npmjs.org/@ionic-native/app-availability/-/app-availability-5.8.0.tgz", + "integrity": "sha512-v/7g7TGKZoC2WMIpnJPcpM7atzT8bejrRhgpOv1XyDTmQk0dz5ziSv4I42R30PN6jPwUkHKZI06LD1e1rZ8YbA==", "requires": { "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } } }, - "@ionic-native/status-bar": { + "@ionic-native/app-rate": { "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-5.8.0.tgz", - "integrity": "sha512-Qi662KBn4k96+yNpBB89Q9pZA0UKyewFkb/dge1gTASCBzGHddzmjh4Gaabfba05ULSp2y9oo0SNd009qHwtQw==", + "resolved": "https://registry.npmjs.org/@ionic-native/app-rate/-/app-rate-5.8.0.tgz", + "integrity": "sha512-GugKjCv5ZcozCkl7G7pFbRIgutipXUXgsNUqcSmAmDwYoXTqfIgNeIBRCmCGW40b6bqNyXVpEdcMGEHnZVWh5w==", "requires": { "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } } }, - "@ionic/angular": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-4.5.0.tgz", - "integrity": "sha512-lUrswumErqCqu0Uaf7++8lghYw4Hg0IPoEtEE+TzQJaADTVpnlJx9vliBVUP87tDL/LhGdZWS+r7mksOC2jmVQ==", + "@ionic-native/background-geolocation": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/background-geolocation/-/background-geolocation-5.8.0.tgz", + "integrity": "sha512-/2PmhKHMkYMESKAHqt0w7CUtzmdrrjG9OED9iHS67jR+04qu2pZCd/LQK3y8njfszxZE/9XyfUpI8UghImks9g==", "requires": { - "@ionic/core": "4.5.0", - "tslib": "^1.9.3" + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } } }, - "@ionic/angular-toolkit": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@ionic/angular-toolkit/-/angular-toolkit-1.5.1.tgz", - "integrity": "sha512-B5LHuzEv/lgFP7yxfOA3/wggDM/X1mDkWFX8rZtaBRZBbC0vtZwdwDu73RnkfFZ0jTFyIgtoBW8qTrrCyd5MLA==", - "dev": true, + "@ionic-native/badge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/badge/-/badge-5.8.0.tgz", + "integrity": "sha512-rhLyEP8p6jKA7/ynr+R/FMM+i4bkJzMMdGz+jfFvsIEDDSxdsi/hDeW9wkBDkiyA+paKRj3lEzc49gmX1bNFnQ==", "requires": { - "@schematics/angular": "^7.0.3", - "tslib": "^1.9.0", - "typescript": "~3.3.3333", - "ws": "^6.1.4" + "@types/cordova": "^0.0.34" }, "dependencies": { - "typescript": { - "version": "3.3.4000", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.4000.tgz", - "integrity": "sha512-jjOcCZvpkl2+z7JFn0yBOoLQyLoIkNZAs/fYJkUG6VKy6zLPHJGfQJYFHzibB6GJaF/8QrcECtlQ5cpvRHSMEA==", - "dev": true + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" } } }, - "@ionic/core": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-4.5.0.tgz", - "integrity": "sha512-vck9hBkIVtWrLYERgQ5utpyCoSvSJo7ViQtoaZLwdjz7Pz2RzTgYEiLEU1No5oY8TR1amOq1yxAHDvM7qsFx2Q==", + "@ionic-native/barcode-scanner": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/barcode-scanner/-/barcode-scanner-5.8.0.tgz", + "integrity": "sha512-fypCb/8MikdTPaUl+oAtK+abrdgWnsYk3FtN3HPcNU4VB53QtBrx4LFC0l9xXD9rW8S7S0Xr2uHogtzhbh1bdg==", "requires": { - "ionicons": "4.5.8" + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } } }, - "@ngtools/webpack": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.3.9.tgz", - "integrity": "sha512-+ROpqfCXLdQwfP+UNDLk4p959ZrocpStkdd2Iy9CeOJ8yDkityqpstTwQC3oHzzu/95BiyZ0hrHbM6AsPPIvJg==", - "dev": true, + "@ionic-native/ble": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/ble/-/ble-5.8.0.tgz", + "integrity": "sha512-qlu6At74EqRcDVsdhXoDrJh6Vm1DTdVJUyQxAfMrIFYh6v75+XuGhcWl048FpOuvXs8+P9O9S3cM9QA+f4DLPw==", "requires": { - "@angular-devkit/core": "7.3.9", - "enhanced-resolve": "4.1.0", - "rxjs": "6.3.3", - "tree-kill": "1.2.1", - "webpack-sources": "1.3.0" + "@types/cordova": "^0.0.34" }, "dependencies": { - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" } } }, - "@schematics/angular": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.3.9.tgz", - "integrity": "sha512-B3lytFtFeYNLfWdlrIzvy3ulFRccD2/zkoL0734J+DAGfUz7vbysJ50RwYL46sQUcKdZdvb48ktfu1S8yooP6Q==", - "dev": true, + "@ionic-native/call-number": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/call-number/-/call-number-5.8.0.tgz", + "integrity": "sha512-mAM83IAyawaEbYMZvE8NZnKBW3hu9q0V8+YnOlYy20flC4mnJZssuLUlonH5L5IWf3zY0FjsG/fx4SPVQ5Ac/A==", "requires": { - "@angular-devkit/core": "7.3.9", - "@angular-devkit/schematics": "7.3.9", - "typescript": "3.2.4" + "@types/cordova": "^0.0.34" }, "dependencies": { - "typescript": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz", - "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==", - "dev": true + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" } } }, - "@schematics/update": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.13.9.tgz", - "integrity": "sha512-4MQcaKFxhMzZyE//+DknDh3h3duy3avg2oxSHxdwXlCZ8Q92+4lpegjJcSRiqlEwO4qeJ5XnrjrvzfIiaIZOmA==", - "dev": true, + "@ionic-native/camera": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/camera/-/camera-5.8.0.tgz", + "integrity": "sha512-DGSb1tHbzVblcoGlezSihvvlAPNcwZKiOEJVXZUUWoe5DY10KQrDfktGOR5qyvJx/HrtV1KnqULMhZnSDbWQjA==", "requires": { - "@angular-devkit/core": "7.3.9", - "@angular-devkit/schematics": "7.3.9", - "@yarnpkg/lockfile": "1.1.0", - "ini": "1.3.5", - "pacote": "9.4.0", - "rxjs": "6.3.3", - "semver": "5.6.0", - "semver-intersect": "1.4.0" + "@types/cordova": "^0.0.34" }, "dependencies": { - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" } } }, - "@types/cordova": { - "version": "0.0.34", - "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", - "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" - }, - "@types/jasmine": { - "version": "2.8.16", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.16.tgz", - "integrity": "sha512-056oRlBBp7MDzr+HoU5su099s/s7wjZ3KcHxLfv+Byqb9MwdLUvsfLgw1VS97hsh3ddxSPyQu+olHMnoVTUY6g==", - "dev": true - }, - "@types/jasminewd2": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.6.tgz", - "integrity": "sha512-2ZOKrxb8bKRmP/po5ObYnRDgFE4i+lQiEB27bAMmtMWLgJSqlIDqlLx6S0IRorpOmOPRQ6O80NujTmQAtBkeNw==", - "dev": true, + "@ionic-native/core": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-5.8.0.tgz", + "integrity": "sha512-HHsbgFEIAwM9wACpCTMgQT1zcqfWmZzmj5S4w8b1ShGjaJCVZAvuU+78tkVRAK2MK5/8bIJyugE8N2GpVgLTmg==", "requires": { - "@types/jasmine": "*" + "@types/cordova": "^0.0.34" } }, - "@types/node": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz", - "integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==", - "dev": true - }, - "@types/q": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", - "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", - "dev": true - }, - "@types/selenium-webdriver": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.16.tgz", - "integrity": "sha512-lMC2G0ItF2xv4UCiwbJGbnJlIuUixHrioOhNGHSCsYCJ8l4t9hMCUimCytvFv7qy6AfSzRxhRHoGa+UqaqwyeA==", - "dev": true - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/webpack-sources": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.5.tgz", - "integrity": "sha512-zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w==", - "dev": true, + "@ionic-native/device": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/device/-/device-5.8.0.tgz", + "integrity": "sha512-JXx7gR4cEKKwtLqKjTcAT9O8xQfANo3tEM0RJCbrHi9rUmx3xF9Y5WpqFK/eayyXt8J5+8HktZkAy+K/u0/D1A==", "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.6.1" + "@types/cordova": "^0.0.34" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" } } }, - "@webassemblyjs/ast": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz", - "integrity": "sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==", - "dev": true, + "@ionic-native/diagnostic": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/diagnostic/-/diagnostic-5.8.0.tgz", + "integrity": "sha512-uSyaHlOD+bf/kDNkBMGASWdEC9EAYls/6BML5PhFxJpZb9nnS2Jj6igvMp1vBm0Skmwd6XEZ+6B1f4O3U7Rrbw==", "requires": { - "@webassemblyjs/helper-module-context": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/wast-parser": "1.7.11" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz", - "integrity": "sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==", - "dev": true + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } + } }, - "@webassemblyjs/helper-api-error": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz", - "integrity": "sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==", - "dev": true + "@ionic-native/fingerprint-aio": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/fingerprint-aio/-/fingerprint-aio-5.8.0.tgz", + "integrity": "sha512-KVLV5a7zErFZBr18J+dQPBo5G7QoS6xOFKC+8lPRIKGlTVGEFUNAW66yyJk+qJTpRI966YKhGHKqcDsGplRnqA==", + "requires": { + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } + } }, - "@webassemblyjs/helper-buffer": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz", - "integrity": "sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==", - "dev": true + "@ionic-native/globalization": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/globalization/-/globalization-5.8.0.tgz", + "integrity": "sha512-rIpce2YY3qFh5Gszpm9VhXbX+QR73WLwC8A2Rz3EZBS63lL9UR/THlXE2J5IJpY2pD0tXf8sgAtItUM8AlPOvg==", + "requires": { + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } + } }, - "@webassemblyjs/helper-code-frame": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz", - "integrity": "sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==", - "dev": true, + "@ionic-native/health": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/health/-/health-5.8.0.tgz", + "integrity": "sha512-zpBJJYuX3Oe39qhMSXeUb6Zreco5pu5fJBOuhPQy2pexgh6GwdEctNNC37SdHq2MK9afzraj+aiVJlNhDsLDsQ==", "requires": { - "@webassemblyjs/wast-printer": "1.7.11" + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } } }, - "@webassemblyjs/helper-fsm": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz", - "integrity": "sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==", - "dev": true + "@ionic-native/in-app-browser": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/in-app-browser/-/in-app-browser-5.8.0.tgz", + "integrity": "sha512-47QonrALGE8HHNm6+d3IQn8gbT0u2IvaPeRcUJNWhE+7LHPe6uBIcDN1pd4LyLOTA/KT/hQjGnZ414B6P9yuTg==", + "requires": { + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } + } }, - "@webassemblyjs/helper-module-context": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz", - "integrity": "sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==", - "dev": true + "@ionic-native/keyboard": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/keyboard/-/keyboard-5.8.0.tgz", + "integrity": "sha512-uJ017rW3BE/FsucyXls4hgC7h07F6cKkurWzoOml6Cvb25vequNs859ZiBN4ahmRgKRaYPKPnw7K7wWqyCyvbg==", + "requires": { + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } + } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz", - "integrity": "sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==", - "dev": true + "@ionic-native/launch-navigator": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/launch-navigator/-/launch-navigator-5.8.0.tgz", + "integrity": "sha512-DoAm4y/UbpvfrYEDTqJvfx5xPk934Ta4XennDF8yk0o0oYCOk/9w/ULFcTk/kIvLVioR+kNMexlCR0jJPj7jyA==", + "requires": { + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } + } }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz", - "integrity": "sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==", - "dev": true, + "@ionic-native/local-notifications": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/local-notifications/-/local-notifications-5.8.0.tgz", + "integrity": "sha512-g8Q9cgSp9zGuR3oZRejIQWmkeQD0jOB9dzGiLUiq4QKzWtIy8KyL0kGiRdCYdRwCpszPnitm64PNVvjKkGOWjg==", "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-buffer": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/wasm-gen": "1.7.11" + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } } }, - "@webassemblyjs/ieee754": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz", - "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==", - "dev": true, + "@ionic-native/native-storage": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/native-storage/-/native-storage-5.8.0.tgz", + "integrity": "sha512-wrvW+zIXuzHmt+mDSBITdlqo7bAze8TdkTQXRivimAdnnixOYlI9Q696qEitSyComj6OO5NR1rEiASCDTjJwOw==", "requires": { - "@xtuc/ieee754": "^1.2.0" + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } } }, - "@webassemblyjs/leb128": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz", - "integrity": "sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==", - "dev": true, + "@ionic-native/push": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/push/-/push-5.8.0.tgz", + "integrity": "sha512-JLfw8fMzZIskKU3fG7UO4POQTNoIY2IfGKYV8Q+cf45LFg+tLJSlN14y0ZPr3bm7y9DacQtiKQsErpIZLT64yw==", "requires": { - "@xtuc/long": "4.2.1" + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } } }, - "@webassemblyjs/utf8": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz", - "integrity": "sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==", - "dev": true + "@ionic-native/sms": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/sms/-/sms-5.8.0.tgz", + "integrity": "sha512-4SRiwmOgTNU2BMhWt3kHXO5XBzeniP0ndyF45wViwrYfIU9Stp59YPjlSTwp1k9S9m7sou9Sm6D3B21UxVWDYQ==", + "requires": { + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } + } }, - "@webassemblyjs/wasm-edit": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz", - "integrity": "sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==", - "dev": true, + "@ionic-native/splash-screen": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-5.8.0.tgz", + "integrity": "sha512-2SciN/EU7QIm9SGBEeJvhMT51NhEumur9mAeZcKFgb9BLxzmhoCVfPbMB196sb42FlPadQRyEvwfgFJrbozryQ==", "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-buffer": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/helper-wasm-section": "1.7.11", - "@webassemblyjs/wasm-gen": "1.7.11", - "@webassemblyjs/wasm-opt": "1.7.11", - "@webassemblyjs/wasm-parser": "1.7.11", - "@webassemblyjs/wast-printer": "1.7.11" + "@types/cordova": "^0.0.34" } }, - "@webassemblyjs/wasm-gen": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz", - "integrity": "sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==", - "dev": true, + "@ionic-native/sqlite": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/sqlite/-/sqlite-5.8.0.tgz", + "integrity": "sha512-VpVt0peSqxzEYIftzLJupIJnXePPLMmCu7XSW5BxfnV7faVKpezhLUiHgt6CctDz1FZGMT/SsfOW4WIvvY4x4w==", "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/ieee754": "1.7.11", - "@webassemblyjs/leb128": "1.7.11", - "@webassemblyjs/utf8": "1.7.11" + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } } }, - "@webassemblyjs/wasm-opt": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz", - "integrity": "sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==", - "dev": true, + "@ionic-native/status-bar": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-5.8.0.tgz", + "integrity": "sha512-Qi662KBn4k96+yNpBB89Q9pZA0UKyewFkb/dge1gTASCBzGHddzmjh4Gaabfba05ULSp2y9oo0SNd009qHwtQw==", "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-buffer": "1.7.11", - "@webassemblyjs/wasm-gen": "1.7.11", - "@webassemblyjs/wasm-parser": "1.7.11" + "@types/cordova": "^0.0.34" } }, - "@webassemblyjs/wasm-parser": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz", - "integrity": "sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==", - "dev": true, + "@ionic-native/themeable-browser": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ionic-native/themeable-browser/-/themeable-browser-5.8.0.tgz", + "integrity": "sha512-MDdvWCxJT+pCzRU54ytTYMpVjj3aREN68PhNEdCOQlVWSelRIefkA04ycrSr6v2Un2skIeWRuM7WCcVfEM0IQg==", "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-api-error": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/ieee754": "1.7.11", - "@webassemblyjs/leb128": "1.7.11", - "@webassemblyjs/utf8": "1.7.11" + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } } }, - "@webassemblyjs/wast-parser": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz", - "integrity": "sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==", - "dev": true, + "@ionic/angular": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-4.5.0.tgz", + "integrity": "sha512-lUrswumErqCqu0Uaf7++8lghYw4Hg0IPoEtEE+TzQJaADTVpnlJx9vliBVUP87tDL/LhGdZWS+r7mksOC2jmVQ==", "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/floating-point-hex-parser": "1.7.11", - "@webassemblyjs/helper-api-error": "1.7.11", - "@webassemblyjs/helper-code-frame": "1.7.11", - "@webassemblyjs/helper-fsm": "1.7.11", - "@xtuc/long": "4.2.1" + "@ionic/core": "4.5.0", + "tslib": "^1.9.3" } }, - "@webassemblyjs/wast-printer": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz", - "integrity": "sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==", + "@ionic/angular-toolkit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@ionic/angular-toolkit/-/angular-toolkit-1.4.1.tgz", + "integrity": "sha512-EBXDUPWD53a4upRAtGZDXP24h4FNnZlDyDplNVZOwvTv9+Izg63tPHjl1LkGYm2pPAu+LVgNF/BpNQLk8qbG9g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/wast-parser": "1.7.11", - "@xtuc/long": "4.2.1" + "@schematics/angular": "^7.0.3", + "tslib": "^1.9.0", + "typescript": "^3.2.4" + }, + "dependencies": { + "typescript": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", + "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", + "dev": true + } } }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "@ionic/core": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-4.5.0.tgz", + "integrity": "sha512-vck9hBkIVtWrLYERgQ5utpyCoSvSJo7ViQtoaZLwdjz7Pz2RzTgYEiLEU1No5oY8TR1amOq1yxAHDvM7qsFx2Q==", + "requires": { + "ionicons": "4.5.8" + } }, - "@xtuc/long": { + "@ng-bootstrap/ng-bootstrap": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz", - "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==", - "dev": true - }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, + "resolved": "https://registry.npmjs.org/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-4.2.1.tgz", + "integrity": "sha512-7etP9X9jKIkbuDzU3ngI2jQhHQDZxIu0ErvlkHb7u7YH9akIOLVkXvz2mTMvcFABWZhze64UjFuEgR46b6WGSw==", "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" + "tslib": "^1.9.0" } }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "optional": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "@ngtools/webpack": { + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.3.9.tgz", + "integrity": "sha512-+ROpqfCXLdQwfP+UNDLk4p959ZrocpStkdd2Iy9CeOJ8yDkityqpstTwQC3oHzzu/95BiyZ0hrHbM6AsPPIvJg==", "dev": true, "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "@angular-devkit/core": "7.3.9", + "enhanced-resolve": "4.1.0", + "rxjs": "6.3.3", + "tree-kill": "1.2.1", + "webpack-sources": "1.3.0" + }, + "dependencies": { + "@angular-devkit/core": { + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.9.tgz", + "integrity": "sha512-SaxD+nKFW3iCBKsxNR7+66J30EexW/y7tm8m5AvUH+GwSAgIj0ZYmRUzFEPggcaLVA4WnE/YWqIXZMJW5dT7gw==", + "dev": true, + "requires": { + "ajv": "6.9.1", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "rxjs": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", + "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + } } }, - "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", - "dev": true - }, - "acorn-dynamic-import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", - "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", - "dev": true - }, - "adm-zip": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz", - "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==", - "dev": true - }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "@schematics/angular": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.3.6.tgz", + "integrity": "sha512-Q4VXAjVaCDb2zXFXoIdOfNPsn+EQjqDBHK4a97omytnSNAmu1erl3l2FkEMi6x/VuzK2mQSzBbmHJIgauMmOAA==", "dev": true, "requires": { - "es6-promisify": "^5.0.0" + "@angular-devkit/core": "7.3.6", + "@angular-devkit/schematics": "7.3.6", + "typescript": "3.2.4" + }, + "dependencies": { + "@angular-devkit/core": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.6.tgz", + "integrity": "sha512-aoarMK0DJIdwjVA0OuQIN7b8nKPcF9n5vSMF7MFmhKpTw5/uV3SynQZbm3YCgylu/2CMuiTzKuAunnWWdli//g==", + "dev": true, + "requires": { + "ajv": "6.9.1", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "@angular-devkit/schematics": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.3.6.tgz", + "integrity": "sha512-YXF7QusmMy3D9H0vNczc1n5BkuEHLwt7cW33euNeGNgTIsD0n6DrUhgClurXicnr2GNPSDYE5+3115lmJkhyrg==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.3.6", + "rxjs": "6.3.3" + } + }, + "rxjs": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", + "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "typescript": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz", + "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==", + "dev": true + } } }, - "agentkeepalive": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", - "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", + "@schematics/update": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.13.6.tgz", + "integrity": "sha512-TkeigdQTHG40ZGj4CAAzQHh7/rSotg0J6nkBBtc4Y+9md7IGg6dzSFJAvYbDX5JZ9tk7DpukdRHOVVopS/J0AQ==", "dev": true, "requires": { - "humanize-ms": "^1.2.1" + "@angular-devkit/core": "7.3.6", + "@angular-devkit/schematics": "7.3.6", + "@yarnpkg/lockfile": "1.1.0", + "ini": "1.3.5", + "pacote": "9.4.0", + "rxjs": "6.3.3", + "semver": "5.6.0", + "semver-intersect": "1.4.0" + }, + "dependencies": { + "@angular-devkit/core": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.6.tgz", + "integrity": "sha512-aoarMK0DJIdwjVA0OuQIN7b8nKPcF9n5vSMF7MFmhKpTw5/uV3SynQZbm3YCgylu/2CMuiTzKuAunnWWdli//g==", + "dev": true, + "requires": { + "ajv": "6.9.1", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "@angular-devkit/schematics": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.3.6.tgz", + "integrity": "sha512-YXF7QusmMy3D9H0vNczc1n5BkuEHLwt7cW33euNeGNgTIsD0n6DrUhgClurXicnr2GNPSDYE5+3115lmJkhyrg==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.3.6", + "rxjs": "6.3.3" + } + }, + "rxjs": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", + "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + } } }, - "ajv": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.1.tgz", - "integrity": "sha512-XDN92U311aINL77ieWHmqCcNlwjoP5cHXDxIxbf2MaPYuCXOHS7gHH8jktxeK5omgd52XbSTX6a4Piwd1pQmzA==", - "dev": true, + "@swimlane/ngx-charts": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@swimlane/ngx-charts/-/ngx-charts-10.1.0.tgz", + "integrity": "sha512-0nZ3ub5o/qQfFMz+av89u/VKqsqiVhPFBDDOOPq2qimP83i+pcb0i3MEao7PSxIbKAEkL/pwRcEJw4KDZ8B67w==", "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "d3": "^4.10.2", + "d3-array": "^1.2.1", + "d3-brush": "^1.0.4", + "d3-color": "^1.0.3", + "d3-force": "^1.1.0", + "d3-format": "^1.2.0", + "d3-hierarchy": "^1.1.5", + "d3-interpolate": "^1.1.5", + "d3-scale": "^1.0.6", + "d3-selection": "^1.1.0", + "d3-shape": "^1.2.0", + "d3-time-format": "^2.1.0" } }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" }, - "ajv-keywords": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", - "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", + "@types/jasmine": { + "version": "2.8.16", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.16.tgz", + "integrity": "sha512-056oRlBBp7MDzr+HoU5su099s/s7wjZ3KcHxLfv+Byqb9MwdLUvsfLgw1VS97hsh3ddxSPyQu+olHMnoVTUY6g==", "dev": true }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true + "@types/jasminewd2": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.6.tgz", + "integrity": "sha512-2ZOKrxb8bKRmP/po5ObYnRDgFE4i+lQiEB27bAMmtMWLgJSqlIDqlLx6S0IRorpOmOPRQ6O80NujTmQAtBkeNw==", + "dev": true, + "requires": { + "@types/jasmine": "*" + } }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "@types/node": { + "version": "10.12.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.30.tgz", + "integrity": "sha512-nsqTN6zUcm9xtdJiM9OvOJ5EF0kOI8f1Zuug27O/rgtxCRJHGqncSWfCMZUP852dCKPsDsYXGvBhxfRjDBkF5Q==", "dev": true }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "@types/q": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", + "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", "dev": true }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "@types/selenium-webdriver": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.16.tgz", + "integrity": "sha512-lMC2G0ItF2xv4UCiwbJGbnJlIuUixHrioOhNGHSCsYCJ8l4t9hMCUimCytvFv7qy6AfSzRxhRHoGa+UqaqwyeA==", "dev": true }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", "dev": true }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "@types/webpack-sources": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.5.tgz", + "integrity": "sha512-zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "@webassemblyjs/ast": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz", + "integrity": "sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==", "dev": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "@webassemblyjs/helper-module-context": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/wast-parser": "1.7.11" } }, - "app-root-path": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz", - "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==", + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz", + "integrity": "sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==", "dev": true }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "@webassemblyjs/helper-api-error": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz", + "integrity": "sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz", + "integrity": "sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz", + "integrity": "sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==", "dev": true, "requires": { - "default-require-extensions": "^2.0.0" + "@webassemblyjs/wast-printer": "1.7.11" } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "@webassemblyjs/helper-fsm": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz", + "integrity": "sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==", "dev": true }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } + "@webassemblyjs/helper-module-context": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz", + "integrity": "sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==", + "dev": true }, - "arg": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", - "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==", + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz", + "integrity": "sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==", "dev": true }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "@webassemblyjs/helper-wasm-section": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz", + "integrity": "sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-buffer": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/wasm-gen": "1.7.11" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "@webassemblyjs/ieee754": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz", + "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==", "dev": true, - "optional": true - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true + "requires": { + "@xtuc/ieee754": "^1.2.0" + } }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "@webassemblyjs/leb128": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz", + "integrity": "sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==", "dev": true, "requires": { - "array-uniq": "^1.0.1" + "@xtuc/long": "4.2.1" } }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "@webassemblyjs/utf8": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz", + "integrity": "sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==", "dev": true }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true + "@webassemblyjs/wasm-edit": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz", + "integrity": "sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-buffer": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/helper-wasm-section": "1.7.11", + "@webassemblyjs/wasm-gen": "1.7.11", + "@webassemblyjs/wasm-opt": "1.7.11", + "@webassemblyjs/wasm-parser": "1.7.11", + "@webassemblyjs/wast-printer": "1.7.11" + } }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true + "@webassemblyjs/wasm-gen": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz", + "integrity": "sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/ieee754": "1.7.11", + "@webassemblyjs/leb128": "1.7.11", + "@webassemblyjs/utf8": "1.7.11" + } }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "@webassemblyjs/wasm-opt": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz", + "integrity": "sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==", "dev": true, - "optional": true + "requires": { + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-buffer": "1.7.11", + "@webassemblyjs/wasm-gen": "1.7.11", + "@webassemblyjs/wasm-parser": "1.7.11" + } }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "@webassemblyjs/wasm-parser": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz", + "integrity": "sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==", "dev": true, "requires": { - "safer-buffer": "~2.1.0" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-api-error": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/ieee754": "1.7.11", + "@webassemblyjs/leb128": "1.7.11", + "@webassemblyjs/utf8": "1.7.11" } }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "@webassemblyjs/wast-parser": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz", + "integrity": "sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/floating-point-hex-parser": "1.7.11", + "@webassemblyjs/helper-api-error": "1.7.11", + "@webassemblyjs/helper-code-frame": "1.7.11", + "@webassemblyjs/helper-fsm": "1.7.11", + "@xtuc/long": "4.2.1" } }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "@webassemblyjs/wast-printer": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz", + "integrity": "sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==", "dev": true, "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/wast-parser": "1.7.11", + "@xtuc/long": "4.2.1" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "@xtuc/long": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz", + "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==", "dev": true }, - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, "requires": { - "lodash": "^4.17.11" + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" } }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, - "async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, - "optional": true - }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", - "dev": true + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "acorn": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", + "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", "dev": true }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "acorn-dynamic-import": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", + "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", "dev": true }, - "autoprefixer": { - "version": "9.4.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.4.6.tgz", - "integrity": "sha512-Yp51mevbOEdxDUy5WjiKtpQaecqYq9OqZSL04rSoCiry7Tc5I9FEyo3bfxiTJc1DfHeKwSFCUYbBAiOQ2VGfiw==", - "dev": true, - "requires": { - "browserslist": "^4.4.1", - "caniuse-lite": "^1.0.30000929", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.13", - "postcss-value-parser": "^3.3.1" - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "adm-zip": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz", + "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==", "dev": true }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", "dev": true }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } + "es6-promisify": "^5.0.0" } }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "agentkeepalive": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", + "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "humanize-ms": "^1.2.1" } }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "ajv": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.1.tgz", + "integrity": "sha512-XDN92U311aINL77ieWHmqCcNlwjoP5cHXDxIxbf2MaPYuCXOHS7gHH8jktxeK5omgd52XbSTX6a4Piwd1pQmzA==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, + "ajv-keywords": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", + "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "angular-calendar": { + "version": "0.26.11", + "resolved": "https://registry.npmjs.org/angular-calendar/-/angular-calendar-0.26.11.tgz", + "integrity": "sha512-ofvxMF8rzWMmjW1F1fZgCOG6CqqBl46BrKM279aCZRFiETNgTtsQZoJEmrTWFsRn9p0TgmFO7DM7bpfnydO83g==", "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "angular-draggable-droppable": "^4.2.0", + "angular-resizable-element": "^3.2.4", + "calendar-utils": "^0.2.2", + "positioning": "^1.4.0", + "tslib": "^1.9.0" } }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, + "angular-draggable-droppable": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/angular-draggable-droppable/-/angular-draggable-droppable-4.3.1.tgz", + "integrity": "sha512-ZzPOUH9fQ17YjwcAaihPi2vcvlwDKzysA2Cbn8L5OAE8gGMyi2SAiIgcfWGgskACD9euQIBYqyIjwxQ+uqEzYg==", "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "dom-autoscroller": "^2.3.4", + "tslib": "^1.9.0" } }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, + "angular-resizable-element": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/angular-resizable-element/-/angular-resizable-element-3.2.4.tgz", + "integrity": "sha512-Qd/WRTaJgmDJoeWzmK0F52I3X0nLtFPirmsVC2ceic4EQ/3X2yYFCOWgCtH+PvMZct6Whoky3OQLqCpFXQsKHQ==", "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "tslib": "^1.9.0" } }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "animation-frame-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/animation-frame-polyfill/-/animation-frame-polyfill-1.0.1.tgz", + "integrity": "sha1-X1rZk6eHlL0Xas3lttzmKGdBDJ0=" + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", "dev": true }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", "dev": true }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "color-convert": "^1.9.0" } }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } }, - "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "app-root-path": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz", + "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==", "dev": true }, - "base64id": { + "append-transform": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", - "dev": true + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", + "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "dev": true, + "requires": { + "default-require-extensions": "^2.0.0" + } }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "requires": { - "tweetnacl": "^0.14.3" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "arg": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", + "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "callsite": "1.0.0" + "sprintf-js": "~1.0.2" } }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", "dev": true, - "optional": true, - "requires": { - "inherits": "~2.0.0" - } + "optional": true }, - "blocking-proxy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", - "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "array-from": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", + "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "minimist": "^1.2.0" + "array-uniq": "^1.0.1" } }, - "bluebird": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "dev": true }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", "dev": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } - } + "optional": true }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" + "safer-buffer": "~2.1.0" } }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" }, "dependencies": { - "extend-shallow": { + "inherits": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "inherits": "2.0.1" } } } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", + "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", "dev": true, "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "lodash": "^4.17.11" } }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } + "optional": true }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "9.4.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.4.6.tgz", + "integrity": "sha512-Yp51mevbOEdxDUy5WjiKtpQaecqYq9OqZSL04rSoCiry7Tc5I9FEyo3bfxiTJc1DfHeKwSFCUYbBAiOQ2VGfiw==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" + "browserslist": "^4.4.1", + "caniuse-lite": "^1.0.30000929", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.13", + "postcss-value-parser": "^3.3.1" } }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } } }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "pako": "~1.0.5" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } } }, - "browserslist": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.3.tgz", - "integrity": "sha512-CNBqTCq22RKM8wKJNowcqihHJ4SkI8CGeK7KOR9tPboXUuS5Zk5lQgzzTbs4oxD8x+6HUshZUa2OyNI9lR93bQ==", + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000975", - "electron-to-chromium": "^1.3.164", - "node-releases": "^1.1.23" + "babel-runtime": "^6.22.0" } }, - "browserstack": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.2.tgz", - "integrity": "sha512-+6AFt9HzhKykcPF79W6yjEUJcdvZOV0lIXdkORXMJftGrDl0OKWqRF4GHqpDNkxiceDT/uB7Fb/aDwktvXX7dg==", + "babel-plugin-add-header-comment": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-add-header-comment/-/babel-plugin-add-header-comment-1.0.3.tgz", + "integrity": "sha1-URxJAQYmQNWkgLSsPt1pRBlYUOw=" + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "https-proxy-agent": "^2.2.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", "dev": true }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", "dev": true }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" }, - "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "base64id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", + "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", "dev": true }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, - "cacache": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" + "tweetnacl": "^0.14.3" } }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "callsite": "1.0.0" } }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - } + "big-integer": { + "version": "1.6.44", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.44.tgz", + "integrity": "sha512-7MzElZPTyJ2fNvBkPxtFQ2fWIkVmuzw41+BZHSzpEq3ymB2MfeKp1+yXl/tS75xCx+WnyV+yb0kp+K1C3UNwmQ==" }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", "dev": true }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "dev": true, - "optional": true + "optional": true, + "requires": { + "inherits": "~2.0.0" + } }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "blocking-proxy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", + "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", "dev": true, - "optional": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "minimist": "^1.2.0" } }, - "caniuse-lite": { - "version": "1.0.30000975", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000975.tgz", - "integrity": "sha512-ZsXA9YWQX6ATu5MNg+Vx/cMQ+hM6vBBSqDeJs8ruk9z0ky4yIHML15MoxcFt088ST2uyjgqyUGRJButkptWf0w==", + "bluebird": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", "dev": true }, - "canonical-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz", - "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", "dev": true }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" }, "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true } } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "dev": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" } }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, + "bplist-creator": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", + "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=", "requires": { - "tslib": "^1.9.0" + "stream-buffers": "~2.2.0" } }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, + "bplist-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", + "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "big-integer": "^1.6.7" } }, - "circular-dependency-plugin": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.0.2.tgz", - "integrity": "sha512-oC7/DVAyfcY3UWKm0sN/oVoDedQDQiw/vIiAnuTWTpE5s0zWf7l3WY417Xw/Fbi/QbAjctAkxgMiS9P0s3zkmA==", - "dev": true + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-extendable": "^0.1.0" } } } }, - "clean-css": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", - "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "restore-cursor": "^2.0.0" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" } }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } }, - "clone-deep": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", - "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "for-own": "^1.0.0", - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.0", - "shallow-clone": "^1.0.0" + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.3.tgz", + "integrity": "sha512-CNBqTCq22RKM8wKJNowcqihHJ4SkI8CGeK7KOR9tPboXUuS5Zk5lQgzzTbs4oxD8x+6HUshZUa2OyNI9lR93bQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000975", + "electron-to-chromium": "^1.3.164", + "node-releases": "^1.1.23" + } + }, + "browserstack": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.2.tgz", + "integrity": "sha512-+6AFt9HzhKykcPF79W6yjEUJcdvZOV0lIXdkORXMJftGrDl0OKWqRF4GHqpDNkxiceDT/uB7Fb/aDwktvXX7dg==", + "dev": true, + "requires": { + "https-proxy-agent": "^2.2.1" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "calendar-utils": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/calendar-utils/-/calendar-utils-0.2.3.tgz", + "integrity": "sha512-wXxvJX/fdVZqrHeyxEWq5kbwALXrjifbY2L3fXvuS815cCwoWv+Uuiu0jkfqZNTtOSKaTXHdMkIhmLRqcC0E5g==" + }, + "call-number": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-number/-/call-number-1.0.1.tgz", + "integrity": "sha1-v52q5If9alVz+JqjZV++ivA2r9I=" + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "dev": true + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true, + "optional": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "caniuse-lite": { + "version": "1.0.30000975", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000975.tgz", + "integrity": "sha512-ZsXA9YWQX6ATu5MNg+Vx/cMQ+hM6vBBSqDeJs8ruk9z0ky4yIHML15MoxcFt088ST2uyjgqyUGRJButkptWf0w==", + "dev": true + }, + "canonical-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz", + "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chart.js": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.8.0.tgz", + "integrity": "sha512-Di3wUL4BFvqI5FB5K26aQ+hvWh8wnP9A3DWGvXHVkO13D3DSnaSsdZx29cXlEsYKVkn1E2az+ZYFS4t0zi8x0w==", + "requires": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "chartjs-color": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.3.0.tgz", + "integrity": "sha512-hEvVheqczsoHD+fZ+tfPUE+1+RbV6b+eksp2LwAhwRTVXEjCSEavvk+Hg3H6SZfGlPh/UfmWKGIvZbtobOEm3g==", + "requires": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^0.5.3" + }, + "dependencies": { + "color-convert": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=" + } + } + }, + "chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "requires": { + "color-name": "^1.0.0" + } + }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.2.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "lodash.debounce": "^4.0.8", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.5" + } + }, + "chownr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "circular-dependency-plugin": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.0.2.tgz", + "integrity": "sha512-oC7/DVAyfcY3UWKm0sN/oVoDedQDQiw/vIiAnuTWTpE5s0zWf7l3WY417Xw/Fbi/QbAjctAkxgMiS9P0s3zkmA==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clone-deep": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.0", + "shallow-clone": "^1.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "codelyzer": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-4.5.0.tgz", + "integrity": "sha512-oO6vCkjqsVrEsmh58oNlnJkRXuA30hF8cdNAQV9DytEalDwyOFRvHMnlKFzmOStNerOmPGZU9GAHnBo4tGvtiQ==", + "dev": true, + "requires": { + "app-root-path": "^2.1.0", + "css-selector-tokenizer": "^0.7.0", + "cssauron": "^1.4.0", + "semver-dsl": "^1.0.1", + "source-map": "^0.5.7", + "sprintf-js": "^1.1.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true + } + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "compare-versions": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz", + "integrity": "sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg==", + "dev": true + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", + "dev": true + }, + "compressible": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "dev": true, + "requires": { + "mime-db": ">= 1.40.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + } + }, + "cordova-android": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-7.1.4.tgz", + "integrity": "sha512-Rtvu002I83uzfVyCsE6p2krFKVHt9TSAqZUATes+zH+o9cdxYGrLHY+PKCQo4SLCdSMdrkIHCDnQPTYTp/d7+g==", + "requires": { + "abbrev": "*", + "android-versions": "1.4.0", + "ansi": "*", + "balanced-match": "*", + "base64-js": "1.2.0", + "big-integer": "1.6.32", + "bplist-parser": "*", + "brace-expansion": "*", + "concat-map": "*", + "cordova-common": "2.2.5", + "cordova-registry-mapper": "*", + "elementtree": "0.1.6", + "glob": "5.0.15", + "inflight": "*", + "inherits": "*", + "minimatch": "*", + "nopt": "3.0.1", + "once": "*", + "path-is-absolute": "1.0.1", + "plist": "2.1.0", + "properties-parser": "0.2.3", + "q": "1.4.1", + "sax": "0.3.5", + "semver": "5.5.0", + "shelljs": "0.5.3", + "underscore": "*", + "unorm": "*", + "wrappy": "*", + "xmlbuilder": "8.2.2", + "xmldom": "*" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "android-versions": { + "version": "1.4.0", + "bundled": true, + "requires": { + "semver": "^5.4.1" + } + }, + "ansi": { + "version": "0.3.1", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "base64-js": { + "version": "1.2.0", + "bundled": true + }, + "big-integer": { + "version": "1.6.32", + "bundled": true + }, + "bplist-parser": { + "version": "0.1.1", + "bundled": true, + "requires": { + "big-integer": "^1.6.7" + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "cordova-common": { + "version": "2.2.5", + "bundled": true, + "requires": { + "ansi": "^0.3.1", + "bplist-parser": "^0.1.0", + "cordova-registry-mapper": "^1.1.8", + "elementtree": "0.1.6", + "glob": "^5.0.13", + "minimatch": "^3.0.0", + "plist": "^2.1.0", + "q": "^1.4.1", + "shelljs": "^0.5.3", + "underscore": "^1.8.3", + "unorm": "^1.3.3" + } + }, + "cordova-registry-mapper": { + "version": "1.1.15", + "bundled": true + }, + "elementtree": { + "version": "0.1.6", + "bundled": true, + "requires": { + "sax": "0.3.5" + } + }, + "glob": { + "version": "5.0.15", + "bundled": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "nopt": { + "version": "3.0.1", + "bundled": true, + "requires": { + "abbrev": "1" + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "plist": { + "version": "2.1.0", + "bundled": true, + "requires": { + "base64-js": "1.2.0", + "xmlbuilder": "8.2.2", + "xmldom": "0.1.x" + } + }, + "properties-parser": { + "version": "0.2.3", + "bundled": true + }, + "q": { + "version": "1.4.1", + "bundled": true + }, + "sax": { + "version": "0.3.5", + "bundled": true + }, + "semver": { + "version": "5.5.0", + "bundled": true + }, + "shelljs": { + "version": "0.5.3", + "bundled": true + }, + "underscore": { + "version": "1.9.1", + "bundled": true + }, + "unorm": { + "version": "1.4.1", + "bundled": true + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "xmlbuilder": { + "version": "8.2.2", + "bundled": true + }, + "xmldom": { + "version": "0.1.27", + "bundled": true + } + } + }, + "cordova-android-support-gradle-release": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cordova-android-support-gradle-release/-/cordova-android-support-gradle-release-2.1.0.tgz", + "integrity": "sha512-rKqNQ5PCHuZ/qUWYrLz5dKJpdJ/ArkhTCEv4CxbFuny0a0JNg5lwufmZ7qfVIqxoK0Nvs9XsIYKiFSGxaQ8lTg==", + "requires": { + "q": "^1.4.1", + "semver": "5.1.0", + "xml2js": "~0.4.19" + }, + "dependencies": { + "semver": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz", + "integrity": "sha1-hfLPhVBGXE3wAM99hvawVBBqueU=" + } + } + }, + "cordova-browser": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cordova-browser/-/cordova-browser-5.0.4.tgz", + "integrity": "sha512-EDuG+9NGsaYpNSY6wF0kR34m1m38V+nRglGXxQ609fgMYrMHEYR2lg38nDr1Os4qeF0LJz8UQ7nq7Y+idg6Aig==", + "requires": { + "abbrev": "*", + "accepts": "*", + "ansi": "*", + "ansi-regex": "2.1.1", + "ansi-styles": "2.2.1", + "array-flatten": "1.1.1", + "balanced-match": "*", + "base64-js": "1.2.0", + "big-integer": "*", + "body-parser": "1.18.2", + "bplist-parser": "*", + "brace-expansion": "*", + "bytes": "*", + "chalk": "1.1.3", + "compressible": "*", + "compression": "1.7.2", + "concat-map": "*", + "content-disposition": "*", + "content-type": "*", + "cookie": "*", + "cookie-signature": "1.0.6", + "cordova-common": "2.2.5", + "cordova-registry-mapper": "*", + "cordova-serve": "2.0.1", + "debug": "2.6.9", + "depd": "*", + "destroy": "*", + "ee-first": "*", + "elementtree": "0.1.6", + "encodeurl": "*", + "escape-html": "*", + "escape-string-regexp": "*", + "etag": "*", + "express": "*", + "finalhandler": "*", + "forwarded": "*", + "fresh": "*", + "glob": "5.0.15", + "has-ansi": "2.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.19", + "inflight": "*", + "inherits": "*", + "ipaddr.js": "1.6.0", + "is-wsl": "*", + "media-typer": "*", + "merge-descriptors": "*", + "methods": "*", + "mime": "1.4.1", + "mime-db": "1.33.0", + "mime-types": "2.1.18", + "minimatch": "*", + "ms": "2.0.0", + "negotiator": "*", + "nopt": "3.0.6", + "on-finished": "*", + "on-headers": "*", + "once": "*", + "opn": "*", + "parseurl": "*", + "path-is-absolute": "*", + "path-to-regexp": "0.1.7", + "plist": "2.1.0", + "proxy-addr": "2.0.3", + "q": "*", + "qs": "6.5.1", + "range-parser": "*", + "raw-body": "2.3.2", + "safe-buffer": "5.1.1", + "sax": "0.3.5", + "send": "*", + "serve-static": "*", + "setprototypeof": "*", + "shelljs": "0.5.3", + "statuses": "1.4.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0", + "type-is": "*", + "underscore": "*", + "unorm": "*", + "unpipe": "*", + "utils-merge": "*", + "vary": "*", + "wrappy": "*", + "xmlbuilder": "8.2.2", + "xmldom": "*" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "accepts": { + "version": "1.3.5", + "bundled": true, + "requires": { + "mime-types": "~2.1.18", + "negotiator": "0.6.1" + } + }, + "ansi": { + "version": "0.3.1", + "bundled": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "ansi-styles": { + "version": "2.2.1", + "bundled": true + }, + "array-flatten": { + "version": "1.1.1", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "base64-js": { + "version": "1.2.0", + "bundled": true + }, + "big-integer": { + "version": "1.6.32", + "bundled": true + }, + "body-parser": { + "version": "1.18.2", + "bundled": true, + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.1", + "http-errors": "~1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "~2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "~1.6.15" + } + }, + "bplist-parser": { + "version": "0.1.1", + "bundled": true, + "requires": { + "big-integer": "^1.6.7" + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "bytes": { + "version": "3.0.0", + "bundled": true + }, + "chalk": { + "version": "1.1.3", + "bundled": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "compressible": { + "version": "2.0.14", + "bundled": true, + "requires": { + "mime-db": ">= 1.34.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.34.0", + "bundled": true + } + } + }, + "compression": { + "version": "1.7.2", + "bundled": true, + "requires": { + "accepts": "~1.3.4", + "bytes": "3.0.0", + "compressible": "~2.0.13", + "debug": "2.6.9", + "on-headers": "~1.0.1", + "safe-buffer": "5.1.1", + "vary": "~1.1.2" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "content-disposition": { + "version": "0.5.2", + "bundled": true + }, + "content-type": { + "version": "1.0.4", + "bundled": true + }, + "cookie": { + "version": "0.3.1", + "bundled": true + }, + "cookie-signature": { + "version": "1.0.6", + "bundled": true + }, + "cordova-common": { + "version": "2.2.5", + "bundled": true, + "requires": { + "ansi": "^0.3.1", + "bplist-parser": "^0.1.0", + "cordova-registry-mapper": "^1.1.8", + "elementtree": "0.1.6", + "glob": "^5.0.13", + "minimatch": "^3.0.0", + "plist": "^2.1.0", + "q": "^1.4.1", + "shelljs": "^0.5.3", + "underscore": "^1.8.3", + "unorm": "^1.3.3" + } + }, + "cordova-registry-mapper": { + "version": "1.1.15", + "bundled": true + }, + "cordova-serve": { + "version": "2.0.1", + "bundled": true, + "requires": { + "chalk": "^1.1.1", + "compression": "^1.6.0", + "express": "^4.13.3", + "opn": "^5.3.0", + "shelljs": "^0.5.3" + } + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "bundled": true + }, + "destroy": { + "version": "1.0.4", + "bundled": true + }, + "ee-first": { + "version": "1.1.1", + "bundled": true + }, + "elementtree": { + "version": "0.1.6", + "bundled": true, + "requires": { + "sax": "0.3.5" + } + }, + "encodeurl": { + "version": "1.0.2", + "bundled": true + }, + "escape-html": { + "version": "1.0.3", + "bundled": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true + }, + "etag": { + "version": "1.8.1", + "bundled": true + }, + "express": { + "version": "4.16.3", + "bundled": true, + "requires": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.3", + "qs": "6.5.1", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "finalhandler": { + "version": "1.1.1", + "bundled": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + } + }, + "forwarded": { + "version": "0.1.2", + "bundled": true + }, + "fresh": { + "version": "0.5.2", + "bundled": true + }, + "glob": { + "version": "5.0.15", + "bundled": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "bundled": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "iconv-lite": { + "version": "0.4.19", + "bundled": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ipaddr.js": { + "version": "1.6.0", + "bundled": true + }, + "is-wsl": { + "version": "1.1.0", + "bundled": true + }, + "media-typer": { + "version": "0.3.0", + "bundled": true + }, + "merge-descriptors": { + "version": "1.0.1", + "bundled": true + }, + "methods": { + "version": "1.1.2", + "bundled": true + }, + "mime": { + "version": "1.4.1", + "bundled": true + }, + "mime-db": { + "version": "1.33.0", + "bundled": true + }, + "mime-types": { + "version": "2.1.18", + "bundled": true, + "requires": { + "mime-db": "~1.33.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true + }, + "negotiator": { + "version": "0.6.1", + "bundled": true + }, + "nopt": { + "version": "3.0.6", + "bundled": true, + "requires": { + "abbrev": "1" + } + }, + "on-finished": { + "version": "2.3.0", + "bundled": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "bundled": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1" + } + }, + "opn": { + "version": "5.3.0", + "bundled": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "parseurl": { + "version": "1.3.2", + "bundled": true + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "path-to-regexp": { + "version": "0.1.7", + "bundled": true + }, + "plist": { + "version": "2.1.0", + "bundled": true, + "requires": { + "base64-js": "1.2.0", + "xmlbuilder": "8.2.2", + "xmldom": "0.1.x" + } + }, + "proxy-addr": { + "version": "2.0.3", + "bundled": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.6.0" + } + }, + "q": { + "version": "1.5.1", + "bundled": true + }, + "qs": { + "version": "6.5.1", + "bundled": true + }, + "range-parser": { + "version": "1.2.0", + "bundled": true + }, + "raw-body": { + "version": "2.3.2", + "bundled": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "bundled": true + }, + "http-errors": { + "version": "1.6.2", + "bundled": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": ">= 1.3.1 < 2" + } + }, + "setprototypeof": { + "version": "1.0.3", + "bundled": true + } + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true + }, + "sax": { + "version": "0.3.5", + "bundled": true + }, + "send": { + "version": "0.16.2", + "bundled": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + } + }, + "serve-static": { + "version": "1.13.2", + "bundled": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "setprototypeof": { + "version": "1.1.0", + "bundled": true + }, + "shelljs": { + "version": "0.5.3", + "bundled": true + }, + "statuses": { + "version": "1.4.0", + "bundled": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "bundled": true + }, + "type-is": { + "version": "1.6.16", + "bundled": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.18" + } + }, + "underscore": { + "version": "1.9.1", + "bundled": true + }, + "unorm": { + "version": "1.4.1", + "bundled": true + }, + "unpipe": { + "version": "1.0.0", + "bundled": true + }, + "utils-merge": { + "version": "1.0.1", + "bundled": true + }, + "vary": { + "version": "1.1.2", + "bundled": true + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "xmlbuilder": { + "version": "8.2.2", + "bundled": true + }, + "xmldom": { + "version": "0.1.27", + "bundled": true + } + } + }, + "cordova-ios": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/cordova-ios/-/cordova-ios-4.5.5.tgz", + "integrity": "sha512-3+30m2dZ2yii7kg+H7cgpdpkXpMj54zoX5imjGGG4Z7dPXKmalTLc/9rLq+Iaa+Q1BqyOrUFaHopWOODRU6vCg==", + "requires": { + "abbrev": "*", + "ansi": "*", + "balanced-match": "*", + "base64-js": "1.2.0", + "big-integer": "*", + "bplist-creator": "*", + "bplist-parser": "*", + "brace-expansion": "*", + "concat-map": "*", + "cordova-common": "2.2.5", + "cordova-registry-mapper": "*", + "elementtree": "0.1.6", + "glob": "5.0.15", + "inflight": "*", + "inherits": "*", + "ios-sim": "6.1.3", + "minimatch": "*", + "nopt": "3.0.6", + "once": "*", + "path-is-absolute": "*", + "plist": "2.1.0", + "q": "1.5.1", + "sax": "0.3.5", + "shelljs": "0.5.3", + "simctl": "*", + "simple-plist": "0.2.1", + "stream-buffers": "2.2.0", + "tail": "0.4.0", + "underscore": "*", + "unorm": "*", + "uuid": "3.0.1", + "wrappy": "*", + "xcode": "0.9.3", + "xml-escape": "1.1.0", + "xmlbuilder": "8.2.2", + "xmldom": "*" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "ansi": { + "version": "0.3.1", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "base64-js": { + "version": "1.2.0", + "bundled": true + }, + "big-integer": { + "version": "1.6.32", + "bundled": true + }, + "bplist-creator": { + "version": "0.0.7", + "bundled": true, + "requires": { + "stream-buffers": "~2.2.0" + } + }, + "bplist-parser": { + "version": "0.1.1", + "bundled": true, + "requires": { + "big-integer": "^1.6.7" + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "cordova-common": { + "version": "2.2.5", + "bundled": true, + "requires": { + "ansi": "^0.3.1", + "bplist-parser": "^0.1.0", + "cordova-registry-mapper": "^1.1.8", + "elementtree": "0.1.6", + "glob": "^5.0.13", + "minimatch": "^3.0.0", + "plist": "^2.1.0", + "q": "^1.4.1", + "shelljs": "^0.5.3", + "underscore": "^1.8.3", + "unorm": "^1.3.3" + } + }, + "cordova-registry-mapper": { + "version": "1.1.15", + "bundled": true + }, + "elementtree": { + "version": "0.1.6", + "bundled": true, + "requires": { + "sax": "0.3.5" + } + }, + "glob": { + "version": "5.0.15", + "bundled": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ios-sim": { + "version": "6.1.3", + "bundled": true, + "requires": { + "bplist-parser": "^0.0.6", + "nopt": "1.0.9", + "plist": "^2.1.0", + "simctl": "^1.1.1" + }, + "dependencies": { + "bplist-parser": { + "version": "0.0.6", + "bundled": true + }, + "nopt": { + "version": "1.0.9", + "bundled": true, + "requires": { + "abbrev": "1" + } + } + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "nopt": { + "version": "3.0.6", + "bundled": true, + "requires": { + "abbrev": "1" + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "plist": { + "version": "2.1.0", + "bundled": true, + "requires": { + "base64-js": "1.2.0", + "xmlbuilder": "8.2.2", + "xmldom": "0.1.x" + } + }, + "q": { + "version": "1.5.1", + "bundled": true + }, + "sax": { + "version": "0.3.5", + "bundled": true + }, + "shelljs": { + "version": "0.5.3", + "bundled": true + }, + "simctl": { + "version": "1.1.1", + "bundled": true, + "requires": { + "shelljs": "^0.2.6", + "tail": "^0.4.0" + }, + "dependencies": { + "shelljs": { + "version": "0.2.6", + "bundled": true + } + } + }, + "simple-plist": { + "version": "0.2.1", + "bundled": true, + "requires": { + "bplist-creator": "0.0.7", + "bplist-parser": "0.1.1", + "plist": "2.0.1" + }, + "dependencies": { + "base64-js": { + "version": "1.1.2", + "bundled": true + }, + "plist": { + "version": "2.0.1", + "bundled": true, + "requires": { + "base64-js": "1.1.2", + "xmlbuilder": "8.2.2", + "xmldom": "0.1.x" + } + } + } + }, + "stream-buffers": { + "version": "2.2.0", + "bundled": true + }, + "tail": { + "version": "0.4.0", + "bundled": true + }, + "underscore": { + "version": "1.9.1", + "bundled": true + }, + "unorm": { + "version": "1.4.1", + "bundled": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "xcode": { + "version": "0.9.3", + "bundled": true, + "requires": { + "pegjs": "^0.10.0", + "simple-plist": "^0.2.1", + "uuid": "3.0.1" + } + }, + "xml-escape": { + "version": "1.1.0", + "bundled": true + }, + "xmlbuilder": { + "version": "8.2.2", + "bundled": true + }, + "xmldom": { + "version": "0.1.27", + "bundled": true + } } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true + "cordova-opentok-android-permissions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cordova-opentok-android-permissions/-/cordova-opentok-android-permissions-1.0.1.tgz", + "integrity": "sha1-/mYUXx3eHx/LKTHzy1Fuzb9dESg=" }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true + "cordova-plugin-actionsheet": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/cordova-plugin-actionsheet/-/cordova-plugin-actionsheet-2.3.3.tgz", + "integrity": "sha1-6SYbLQBKjaQHOI1g31NMFWxS/xE=" }, - "codelyzer": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-4.5.0.tgz", - "integrity": "sha512-oO6vCkjqsVrEsmh58oNlnJkRXuA30hF8cdNAQV9DytEalDwyOFRvHMnlKFzmOStNerOmPGZU9GAHnBo4tGvtiQ==", - "dev": true, + "cordova-plugin-add-swift-support": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-add-swift-support/-/cordova-plugin-add-swift-support-2.0.2.tgz", + "integrity": "sha512-K03WDnsD3GT+n7Od3BnS17D8rYnAFZbZjjQJa2r7qW8QLq8+h7hGbFaiF+w5+nUtyAqUNq+HT/d/MdqBGLNzxA==", "requires": { - "app-root-path": "^2.1.0", - "css-selector-tokenizer": "^0.7.0", - "cssauron": "^1.4.0", - "semver-dsl": "^1.0.1", - "source-map": "^0.5.7", - "sprintf-js": "^1.1.1" + "glob": "^7.1.3", + "semver": "^6.0.0", + "xcode": "^2.0.0" }, "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "dev": true + "semver": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.2.tgz", + "integrity": "sha512-z4PqiCpomGtWj8633oeAdXm1Kn1W++3T8epkZYnwiVgIYIJ0QHszhInYSJTYxebByQH7KVCEAn8R9duzZW2PhQ==" } } }, - "collection-visit": { + "cordova-plugin-android-permissions": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "resolved": "https://registry.npmjs.org/cordova-plugin-android-permissions/-/cordova-plugin-android-permissions-1.0.0.tgz", + "integrity": "sha1-nnwRa+Zo6336QUkbE9jUfalUgUk=" }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true + "cordova-plugin-appavailability": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-appavailability/-/cordova-plugin-appavailability-0.4.2.tgz", + "integrity": "sha1-oBeq8PiCfuWZ3HeLYkXcwTULy6g=" }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } + "cordova-plugin-apprate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-apprate/-/cordova-plugin-apprate-1.4.0.tgz", + "integrity": "sha512-4HflFYuxzctnxQHYL9L5og7GVtVDQuqFX4WGXBzslln8V9/ODCafBTTtLSt+EKoIOJvL1iD5dztYkfyDn7HpBg==" }, - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "dev": true + "cordova-plugin-badge": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/cordova-plugin-badge/-/cordova-plugin-badge-0.8.8.tgz", + "integrity": "sha512-RhIBtd5xhD/iLnxjt35jvOae28oNW/wtMZBOmQR3Rf0y4wirvA1bpAZEhBoFqL+rZGhsd6ddOdQXdex1T0DRyQ==" }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true + "cordova-plugin-ble-central": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-ble-central/-/cordova-plugin-ble-central-1.2.2.tgz", + "integrity": "sha512-81+BD9UQSp8Fuati9bPvKG/6lSGHHtw3JeLxQl8Q85ZS1n3GkSfA3DBMqKRjmOG6OVe4csR+XcO7cd75HMl6Qg==" }, - "compare-versions": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz", - "integrity": "sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg==", - "dev": true + "cordova-plugin-camera": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/cordova-plugin-camera/-/cordova-plugin-camera-4.0.3.tgz", + "integrity": "sha1-c3Olk4MYyGzP2E43E+I4LRD+B2s=" }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true + "cordova-plugin-compat": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-compat/-/cordova-plugin-compat-1.2.0.tgz", + "integrity": "sha1-C8ZXVyduvZIMASzpIOJ0F3V2Nz4=" }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "cordova-plugin-device": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-2.0.2.tgz", + "integrity": "sha1-/Ajzci5n7ve2xnv8mag99q3Quro=" }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true + "cordova-plugin-dialogs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cordova-plugin-dialogs/-/cordova-plugin-dialogs-2.0.1.tgz", + "integrity": "sha1-N/7xUSWWyNXflUP7eHJFkPdn3PM=" }, - "compressible": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", - "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", - "dev": true, + "cordova-plugin-fingerprint-aio": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-fingerprint-aio/-/cordova-plugin-fingerprint-aio-1.7.0.tgz", + "integrity": "sha512-pV+JUeEhZUP85nXs9KMpHRClZppVHnpZA5h+8ReKBi4AV4vnzAcpUDBgFN7g3Ra83zmREYI/MqrlZlXn16pg3g==", "requires": { - "mime-db": ">= 1.40.0 < 2" + "cordova-plugin-add-swift-support": "^2.0.2" } }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - } + "cordova-plugin-globalization": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-globalization/-/cordova-plugin-globalization-1.11.0.tgz", + "integrity": "sha1-6sMVgQAphJOvowvolA5pj2HvvP4=" }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "cordova-plugin-health": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cordova-plugin-health/-/cordova-plugin-health-1.1.3.tgz", + "integrity": "sha512-hX2C95AetTbeQ5OXOu7xugDQhJVhSe7hnbmN3EJccbRvy5dN/vaWE/MaYhdzZxrOzYSd2V/z6lLJliWVX5bRjA==" }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } + "cordova-plugin-inappbrowser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-inappbrowser/-/cordova-plugin-inappbrowser-3.0.0.tgz", + "integrity": "sha1-1K4A02Z2IQdRBXrSWK5K1KkWGto=" }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - } + "cordova-plugin-ionic-keyboard": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-keyboard/-/cordova-plugin-ionic-keyboard-2.1.3.tgz", + "integrity": "sha512-6ucQ6FdlLdBm8kJfFnzozmBTjru/0xekHP/dAhjoCZggkGRlgs8TsUJFkxa/bV+qi7Dlo50JjmpE4UMWAO+aOQ==" }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true + "cordova-plugin-ionic-webview": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-webview/-/cordova-plugin-ionic-webview-3.1.2.tgz", + "integrity": "sha512-i4hFMMebCPDe0KCNbwWhtYcxNIDdbUEfwuo+HBubfaRL/b5xjti/K5KdaJk5x/zB2pqDkY1E9ggZEt1+6j6iIg==" }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "requires": { - "date-now": "^0.1.4" - } + "cordova-plugin-local-notification": { + "version": "0.9.0-beta.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-local-notification/-/cordova-plugin-local-notification-0.9.0-beta.2.tgz", + "integrity": "sha512-63n77K1pt8dnbWnNR8QWETi9Glezi1bvNHvHWmGNIOv0xCb0phZnm+Ku49BQ+omwe8Z5voMvrA4I03SYPpv38w==" }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true + "cordova-plugin-mauron85-background-geolocation": { + "version": "3.0.0-alpha.50", + "resolved": "https://registry.npmjs.org/cordova-plugin-mauron85-background-geolocation/-/cordova-plugin-mauron85-background-geolocation-3.0.0-alpha.50.tgz", + "integrity": "sha512-TVdsJ4gPOuFANB3SX/bDLp4igK6o5nPXO95+tv9RpLr5Rwh2XhiozmEpaC0mnMFiuKi6j1xbaZLklhhVBwC14w==" }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true + "cordova-plugin-nativestorage": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-nativestorage/-/cordova-plugin-nativestorage-2.3.2.tgz", + "integrity": "sha512-olg/BzYRk0NGbKQ5f7rf21RYQEyJI19CCZn6RpVMO9/kbRRFqae/6ixjDNy81dXSu2TQ42brjBddGe1Qpn5ViA==" }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } + "cordova-plugin-sms-receive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-sms-receive/-/cordova-plugin-sms-receive-1.0.2.tgz", + "integrity": "sha512-y2QMX709RgrbCHVDHAewjvXi50h+u+VcuCQADPJS+tH/BosFie+x1vo5mMwysuIEiaQ25b0qhIzo63RCyT5Fyw==" }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true + "cordova-plugin-splashscreen": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-splashscreen/-/cordova-plugin-splashscreen-5.0.2.tgz", + "integrity": "sha1-dH509W4gHNWFvGLRS8oZ9oZ/8e0=" }, - "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } + "cordova-plugin-statusbar": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-statusbar/-/cordova-plugin-statusbar-2.4.2.tgz", + "integrity": "sha1-/B+9wNjXAzp+jh8ff/FnrJvU+vY=" }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true + "cordova-plugin-themeablebrowser": { + "version": "0.2.18", + "resolved": "https://registry.npmjs.org/cordova-plugin-themeablebrowser/-/cordova-plugin-themeablebrowser-0.2.18.tgz", + "integrity": "sha512-FdE1L3wItbTtUudysX/QxN6DTnfGPTMiS4Np/XKeSfYM0bU8sP6DhUIUp1vA8GAulihkEfbNIvy68oVkx2xtFQ==" }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true + "cordova-plugin-whitelist": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.3.tgz", + "integrity": "sha1-tehezbv+Wu3tQKG/TuI3LmfZb7Q=" }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, + "cordova-sms-plugin": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cordova-sms-plugin/-/cordova-sms-plugin-1.0.0.tgz", + "integrity": "sha512-DdRf1zdJkwC9BJ3fVg2yx/faoW5eOscg6oFIWODfOIBu5AQ1oV6+gsGTO5pHVLBzlt5V8U9zG9PwhR1IbnW/EQ==" + }, + "cordova-sqlite-storage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cordova-sqlite-storage/-/cordova-sqlite-storage-3.2.0.tgz", + "integrity": "sha512-++qDuswavJ6k9zvoG2rAGmkvvzBO0sUWwh2Ccs64/Fj+CV8pmED76crq3/Lj2myDFqwuJ1LnMIlmXIlb5dAaxg==", "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "cordova-sqlite-storage-dependencies": "2.0.0" } }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "cordova-sqlite-storage-dependencies": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cordova-sqlite-storage-dependencies/-/cordova-sqlite-storage-dependencies-2.0.0.tgz", + "integrity": "sha512-aYD5Cn1TJwgPmpZhQUYq4gOv5t+imzIxGo4SVa/fwEB/pLhiahi+2xK5gLd79YHrz6WdzFBr/126UPXhlSqRWA==" + }, + "cordova-support-google-services": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cordova-support-google-services/-/cordova-support-google-services-1.3.1.tgz", + "integrity": "sha512-YbFWYBSkbErZh/moothPZG/p1p79ytXTc0iR4YHypBXg9TSDp7M7wm5eKk0f6wV4Ugv6a7UgBvAEtq2nllI8UA==" }, - "copy-webpack-plugin": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", - "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", - "dev": true, + "cordova.plugins.diagnostic": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/cordova.plugins.diagnostic/-/cordova.plugins.diagnostic-4.0.12.tgz", + "integrity": "sha512-GOMY92LPibmI8IbqooGhzIw1SJjbdlqtZ4LUaIXzqP+T381B+WDLDUkxcmJc60M8Nryw77lH+jX5izfadixwKQ==", "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "globby": "^7.1.1", - "is-glob": "^4.0.0", - "loader-utils": "^1.1.0", - "minimatch": "^3.0.4", - "p-limit": "^1.0.0", - "serialize-javascript": "^1.4.0" + "colors": "^1.1.2", + "elementtree": "^0.1.6", + "minimist": "1.2.0" } }, "core-js": { @@ -2593,6 +4573,14 @@ "sha.js": "^2.4.8" } }, + "create-point-cb": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-point-cb/-/create-point-cb-1.2.0.tgz", + "integrity": "sha1-G85H/E/AGFXuEhONZ2sMsqfLznE=", + "requires": { + "type-func": "^1.0.1" + } + }, "cross-spawn": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", @@ -2677,6 +4665,335 @@ "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", "dev": true }, + "d3": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-4.13.0.tgz", + "integrity": "sha512-l8c4+0SldjVKLaE2WG++EQlqD7mh/dmQjvi2L2lKPadAVC+TbJC4ci7Uk9bRi+To0+ansgsS0iWfPjD7DBy+FQ==", + "requires": { + "d3-array": "1.2.1", + "d3-axis": "1.0.8", + "d3-brush": "1.0.4", + "d3-chord": "1.0.4", + "d3-collection": "1.0.4", + "d3-color": "1.0.3", + "d3-dispatch": "1.0.3", + "d3-drag": "1.2.1", + "d3-dsv": "1.0.8", + "d3-ease": "1.0.3", + "d3-force": "1.1.0", + "d3-format": "1.2.2", + "d3-geo": "1.9.1", + "d3-hierarchy": "1.1.5", + "d3-interpolate": "1.1.6", + "d3-path": "1.0.5", + "d3-polygon": "1.0.3", + "d3-quadtree": "1.0.3", + "d3-queue": "3.0.7", + "d3-random": "1.1.0", + "d3-request": "1.0.6", + "d3-scale": "1.0.7", + "d3-selection": "1.3.0", + "d3-shape": "1.2.0", + "d3-time": "1.0.8", + "d3-time-format": "2.1.1", + "d3-timer": "1.0.7", + "d3-transition": "1.1.1", + "d3-voronoi": "1.1.2", + "d3-zoom": "1.7.1" + }, + "dependencies": { + "d3-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.1.tgz", + "integrity": "sha512-CyINJQ0SOUHojDdFDH4JEM0552vCR1utGyLHegJHyYH0JyCpSeTPxi4OBqHMA2jJZq4NH782LtaJWBImqI/HBw==" + }, + "d3-brush": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.0.4.tgz", + "integrity": "sha1-AMLyOAGfJPbAoZSibUGhUw/+e8Q=", + "requires": { + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" + } + }, + "d3-color": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.0.3.tgz", + "integrity": "sha1-vHZD/KjlOoNH4vva/6I2eWtYUJs=" + }, + "d3-force": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.1.0.tgz", + "integrity": "sha512-2HVQz3/VCQs0QeRNZTYb7GxoUCeb6bOzMp/cGcLa87awY9ZsPvXOGeZm0iaGBjXic6I1ysKwMn+g+5jSAdzwcg==", + "requires": { + "d3-collection": "1", + "d3-dispatch": "1", + "d3-quadtree": "1", + "d3-timer": "1" + } + }, + "d3-format": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.2.2.tgz", + "integrity": "sha512-zH9CfF/3C8zUI47nsiKfD0+AGDEuM8LwBIP7pBVpyR4l/sKkZqITmMtxRp04rwBrlshIZ17XeFAaovN3++wzkw==" + }, + "d3-hierarchy": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.5.tgz", + "integrity": "sha1-ochFxC+Eoga88cAcAQmOpN2qeiY=" + }, + "d3-interpolate": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.1.6.tgz", + "integrity": "sha512-mOnv5a+pZzkNIHtw/V6I+w9Lqm9L5bG3OTXPM5A+QO0yyVMQ4W1uZhR+VOJmazaOZXri2ppbiZ5BUNWT0pFM9A==", + "requires": { + "d3-color": "1" + } + }, + "d3-selection": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.3.0.tgz", + "integrity": "sha512-qgpUOg9tl5CirdqESUAu0t9MU/t3O9klYfGfyKsXEmhyxyzLpzpeh08gaxBUTQw1uXIOkr/30Ut2YRjSSxlmHA==" + }, + "d3-shape": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.2.0.tgz", + "integrity": "sha1-RdAVOPBkuv0F6j1tLLdI/YxB93c=", + "requires": { + "d3-path": "1" + } + }, + "d3-time-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.1.tgz", + "integrity": "sha512-8kAkymq2WMfzW7e+s/IUNAtN/y3gZXGRrdGfo6R8NKPAA85UBTxZg5E61bR6nLwjPjj4d3zywSQe1CkYLPFyrw==", + "requires": { + "d3-time": "1" + } + } + } + }, + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" + }, + "d3-axis": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.8.tgz", + "integrity": "sha1-MacFoLU15ldZ3hQXOjGTMTfxjvo=" + }, + "d3-brush": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.0.6.tgz", + "integrity": "sha512-lGSiF5SoSqO5/mYGD5FAeGKKS62JdA1EV7HPrU2b5rTX4qEJJtpjaGLJngjnkewQy7UnGstnFd3168wpf5z76w==", + "requires": { + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" + } + }, + "d3-chord": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.4.tgz", + "integrity": "sha1-fexPC6iG9xP+ERxF92NBT290yiw=", + "requires": { + "d3-array": "1", + "d3-path": "1" + } + }, + "d3-collection": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.4.tgz", + "integrity": "sha1-NC39EoN8kJdPM/HMCnha6lcNzcI=" + }, + "d3-color": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.2.3.tgz", + "integrity": "sha512-x37qq3ChOTLd26hnps36lexMRhNXEtVxZ4B25rL0DVdDsGQIJGB18S7y9XDwlDD6MD/ZBzITCf4JjGMM10TZkw==" + }, + "d3-dispatch": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.3.tgz", + "integrity": "sha1-RuFJHqqbWMNY/OW+TovtYm54cfg=" + }, + "d3-drag": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.1.tgz", + "integrity": "sha512-Cg8/K2rTtzxzrb0fmnYOUeZHvwa4PHzwXOLZZPwtEs2SKLLKLXeYwZKBB+DlOxUvFmarOnmt//cU4+3US2lyyQ==", + "requires": { + "d3-dispatch": "1", + "d3-selection": "1" + } + }, + "d3-dsv": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.8.tgz", + "integrity": "sha512-IVCJpQ+YGe3qu6odkPQI0KPqfxkhbP/oM1XhhE/DFiYmcXKfCRub4KXyiuehV1d4drjWVXHUWx4gHqhdZb6n/A==", + "requires": { + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" + } + }, + "d3-ease": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.3.tgz", + "integrity": "sha1-aL+8NJM4o4DETYrMT7wzBKotjA4=" + }, + "d3-force": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", + "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", + "requires": { + "d3-collection": "1", + "d3-dispatch": "1", + "d3-quadtree": "1", + "d3-timer": "1" + } + }, + "d3-format": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.3.2.tgz", + "integrity": "sha512-Z18Dprj96ExragQ0DeGi+SYPQ7pPfRMtUXtsg/ChVIKNBCzjO8XYJvRTC1usblx52lqge56V5ect+frYTQc8WQ==" + }, + "d3-geo": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.9.1.tgz", + "integrity": "sha512-l9wL/cEQkyZQYXw3xbmLsH3eQ5ij+icNfo4r0GrLa5rOCZR/e/3am45IQ0FvQ5uMsv+77zBRunLc9ufTWSQYFA==", + "requires": { + "d3-array": "1" + } + }, + "d3-hierarchy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz", + "integrity": "sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w==" + }, + "d3-interpolate": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.3.2.tgz", + "integrity": "sha512-NlNKGopqaz9qM1PXh9gBF1KSCVh+jSFErrSlD/4hybwoNX/gt1d8CDbDW+3i+5UOHhjC6s6nMvRxcuoMVNgL2w==", + "requires": { + "d3-color": "1" + } + }, + "d3-path": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.5.tgz", + "integrity": "sha1-JB6xhJvZ6egCHA0KeZ+KDo5EF2Q=" + }, + "d3-polygon": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.3.tgz", + "integrity": "sha1-FoiOkCZGCTPysXllKtN4Ik04LGI=" + }, + "d3-quadtree": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.3.tgz", + "integrity": "sha1-rHmH4+I/6AWpkPKOG1DTj8uCJDg=" + }, + "d3-queue": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/d3-queue/-/d3-queue-3.0.7.tgz", + "integrity": "sha1-yTouVLQXwJWRKdfXP2z31Ckudhg=" + }, + "d3-random": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.0.tgz", + "integrity": "sha1-ZkLlBsb6OmSFldKyRpeIqNElKdM=" + }, + "d3-request": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-request/-/d3-request-1.0.6.tgz", + "integrity": "sha512-FJj8ySY6GYuAJHZMaCQ83xEYE4KbkPkmxZ3Hu6zA1xxG2GD+z6P+Lyp+zjdsHf0xEbp2xcluDI50rCS855EQ6w==", + "requires": { + "d3-collection": "1", + "d3-dispatch": "1", + "d3-dsv": "1", + "xmlhttprequest": "1" + } + }, + "d3-scale": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-1.0.7.tgz", + "integrity": "sha512-KvU92czp2/qse5tUfGms6Kjig0AhHOwkzXG0+PqIJB3ke0WUv088AHMZI0OssO9NCkXt4RP8yju9rpH8aGB7Lw==", + "requires": { + "d3-array": "^1.2.0", + "d3-collection": "1", + "d3-color": "1", + "d3-format": "1", + "d3-interpolate": "1", + "d3-time": "1", + "d3-time-format": "2" + } + }, + "d3-selection": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.0.tgz", + "integrity": "sha512-EYVwBxQGEjLCKF2pJ4+yrErskDnz5v403qvAid96cNdCMr8rmCYfY5RGzWz24mdIbxmDf6/4EAH+K9xperD5jg==" + }, + "d3-shape": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.5.tgz", + "integrity": "sha512-VKazVR3phgD+MUCldapHD7P9kcrvPcexeX/PkMJmkUov4JM8IxsSg1DvbYoYich9AtdTsa5nNk2++ImPiDiSxg==", + "requires": { + "d3-path": "1" + } + }, + "d3-time": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.0.8.tgz", + "integrity": "sha512-YRZkNhphZh3KcnBfitvF3c6E0JOFGikHZ4YqD+Lzv83ZHn1/u6yGenRU1m+KAk9J1GnZMnKcrtfvSktlA1DXNQ==" + }, + "d3-time-format": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.3.tgz", + "integrity": "sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA==", + "requires": { + "d3-time": "1" + } + }, + "d3-timer": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.7.tgz", + "integrity": "sha512-vMZXR88XujmG/L5oB96NNKH5lCWwiLM/S2HyyAQLcjWJCloK5shxta4CwOFYLZoY3AWX73v8Lgv4cCAdWtRmOA==" + }, + "d3-transition": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.1.1.tgz", + "integrity": "sha512-xeg8oggyQ+y5eb4J13iDgKIjUcEfIOZs2BqV/eEmXm2twx80wTzJ4tB4vaZ5BKfz7XsI/DFmQL5me6O27/5ykQ==", + "requires": { + "d3-color": "1", + "d3-dispatch": "1", + "d3-ease": "1", + "d3-interpolate": "1", + "d3-selection": "^1.1.0", + "d3-timer": "1" + } + }, + "d3-voronoi": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.2.tgz", + "integrity": "sha1-Fodmfo8TotFYyAwUgMWinLDYlzw=" + }, + "d3-zoom": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.7.1.tgz", + "integrity": "sha512-sZHQ55DGq5BZBFGnRshUT8tm2sfhPHFnOlmPbbwTkAoPeVdRTkB4Xsf9GCY0TSHrTD8PeJPZGmP/TpGicwJDJQ==", + "requires": { + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" + } + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -2686,6 +5003,11 @@ "assert-plus": "^1.0.0" } }, + "date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" + }, "date-format": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.0.0.tgz", @@ -2892,9 +5214,9 @@ "dev": true }, "diff": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true }, "diffie-hellman": { @@ -2942,6 +5264,32 @@ "buffer-indexof": "^1.0.0" } }, + "dom-autoscroller": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/dom-autoscroller/-/dom-autoscroller-2.3.4.tgz", + "integrity": "sha512-HcAdt/2Dq9x4CG6LWXc2x9Iq0MJPAu8fuzHncclq7byufqYEYVtx9sZ/dyzR+gdj4qwEC9p27Lw1G2HRRYX6jQ==", + "requires": { + "animation-frame-polyfill": "^1.0.0", + "create-point-cb": "^1.0.0", + "dom-mousemove-dispatcher": "^1.0.1", + "dom-plane": "^1.0.1", + "dom-set": "^1.0.1", + "type-func": "^1.0.1" + } + }, + "dom-mousemove-dispatcher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dom-mousemove-dispatcher/-/dom-mousemove-dispatcher-1.0.1.tgz", + "integrity": "sha1-okpt35Oye7NpT3IIdUalf8fpFA8=" + }, + "dom-plane": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dom-plane/-/dom-plane-1.0.2.tgz", + "integrity": "sha1-+MheaXxYfxR+j8L6wd4HjB/kFyw=", + "requires": { + "create-point-cb": "^1.0.0" + } + }, "dom-serialize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", @@ -2954,6 +5302,16 @@ "void-elements": "^2.0.0" } }, + "dom-set": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/dom-set/-/dom-set-1.1.1.tgz", + "integrity": "sha1-XCxhDuSDm1IO1fmN28vjFMD6lUo=", + "requires": { + "array-from": "^2.1.1", + "is-array": "^1.0.1", + "iselement": "^1.1.4" + } + }, "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -2994,6 +5352,21 @@ "integrity": "sha512-7XwtJz81H/PBnkmQ/07oVPOGTkBZs6ibZN8OqXNUrxjRPzR0Xj+MFcMmRZEXGilEg1Pm+97V8BZVI63qnBX1hQ==", "dev": true }, + "elementtree": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz", + "integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=", + "requires": { + "sax": "1.1.4" + }, + "dependencies": { + "sax": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz", + "integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk=" + } + } + }, "elliptic": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", @@ -3784,8 +6157,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "1.2.9", @@ -4397,7 +6769,6 @@ "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -4779,7 +7150,6 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -4949,7 +7319,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -4958,8 +7327,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "1.3.5", @@ -5000,6 +7368,15 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "rxjs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz", + "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -5040,6 +7417,11 @@ } } }, + "install": { + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/install/-/install-0.8.9.tgz", + "integrity": "sha1-n0tcDRhR74cunfheT3Fi1OXc2+0=" + }, "internal-ip": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz", @@ -5053,8 +7435,7 @@ "interpret": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==" }, "invariant": { "version": "2.2.4", @@ -5114,6 +7495,11 @@ } } }, + "is-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-array/-/is-array-1.0.1.tgz", + "integrity": "sha1-6YUMwsyGDDvAl36EzPDdRkWEJ5o=" + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -5323,6 +7709,11 @@ "buffer-alloc": "^1.2.0" } }, + "iselement": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/iselement/-/iselement-1.1.4.tgz", + "integrity": "sha1-flW1Ko68pQp+LoDluNKEDzI1MUY=" + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -6374,7 +8765,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6382,8 +8772,7 @@ "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "minipass": { "version": "2.3.5", @@ -6486,6 +8875,11 @@ } } }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -6528,6 +8922,11 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, + "mx.ferreyra.callnumber": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/mx.ferreyra.callnumber/-/mx.ferreyra.callnumber-0.0.2.tgz", + "integrity": "sha512-J9FJiMrfWG9Q8AQEz/cgYLcXTTD/Z5+vfq29hn8K7yVWjxkSzr7zFi7Dpn8wcv2iKHBHDJY+U0z8yoAzDugXMw==" + }, "nan": { "version": "2.14.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", @@ -6944,7 +9343,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -7020,8 +9418,7 @@ "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { "version": "1.4.0", @@ -7036,14 +9433,12 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -7345,8 +9740,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", @@ -7363,8 +9757,7 @@ "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "path-to-regexp": { "version": "0.1.7", @@ -7394,12 +9787,51 @@ "sha.js": "^2.4.8" } }, + "pegjs": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz", + "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0=" + }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, + "phonegap-plugin-barcodescanner": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/phonegap-plugin-barcodescanner/-/phonegap-plugin-barcodescanner-8.1.0.tgz", + "integrity": "sha512-WQCDCoH9EQ9WEn2bce+B95jbNJduilAn2Vtske8KfcYAeGu7bdFqRD7zGCLCQao62VwoEwlX0cUvbQ/am12Jwg==", + "requires": { + "nopt": "^4.0.1", + "shelljs": "^0.8.3" + }, + "dependencies": { + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + } + } + }, + "phonegap-plugin-multidex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/phonegap-plugin-multidex/-/phonegap-plugin-multidex-1.0.0.tgz", + "integrity": "sha512-1wvc3iQOQpEBaQbXgLxA2JUiLSQ2azdF/bF29ghXDiQJWSpQ1BF8gSuqttM8WZoj081Ps8OKL0gYxdDBkFNPqA==" + }, + "phonegap-plugin-push": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/phonegap-plugin-push/-/phonegap-plugin-push-2.2.3.tgz", + "integrity": "sha512-5mjT0G1vfRhXVnZFLwjfzcFwYjVRMibgYDCfYvEujGsP8YwwrIIzcf+xBYAjQV/W2JCjzuNaYd7xJ0yVQaPeig==", + "requires": { + "babel-plugin-add-header-comment": "^1.0.3", + "install": "^0.8.2" + } + }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -7430,6 +9862,16 @@ "find-up": "^2.1.0" } }, + "plist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", + "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", + "requires": { + "base64-js": "^1.2.3", + "xmlbuilder": "^9.0.7", + "xmldom": "0.1.x" + } + }, "portfinder": { "version": "1.0.20", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", @@ -7449,6 +9891,11 @@ } } }, + "positioning": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/positioning/-/positioning-1.4.0.tgz", + "integrity": "sha512-LbN+mgAXtcDdN46xMJ3yZwjndqqYJODaO5qKmU+MVMu5tL3K2dlm1Qha/zh1k2JAFym5HDaZpnPfO4gr91VTRw==" + }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -7514,6 +9961,16 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, + "primeicons": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/primeicons/-/primeicons-1.0.0.tgz", + "integrity": "sha512-p/hzIjUVccW4eJPhuORHI3AUkDpqfvCQVrjxbFEejnTEdWY4C8fomVfjiaA9jCu83fSQnBHuRIGB96iAR8R6uA==" + }, + "primeng": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/primeng/-/primeng-7.1.3.tgz", + "integrity": "sha512-t+DC5VtTJBCz4fPa3wMspByhtdQYgyLEIMWok2kH1J/a/2bTXSYM31ueHKjgV8XuUaeDwMzARLTQv+V9HczIEQ==" + }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -7752,8 +10209,7 @@ "q": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=" }, "qjobs": { "version": "1.2.0", @@ -7948,7 +10404,6 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, "requires": { "resolve": "^1.1.6" } @@ -8103,7 +10558,6 @@ "version": "1.11.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", - "dev": true, "requires": { "path-parse": "^1.0.6" } @@ -8176,6 +10630,14 @@ "inherits": "^2.0.1" } }, + "run": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/run/-/run-1.4.0.tgz", + "integrity": "sha1-4X2ekEOrL+F3dsspnhI3848LT/o=", + "requires": { + "minimatch": "*" + } + }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", @@ -8194,10 +10656,15 @@ "aproba": "^1.1.1" } }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + }, "rxjs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz", - "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==", + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", + "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", "requires": { "tslib": "^1.9.0" } @@ -8220,8 +10687,7 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass-graph": { "version": "2.2.4", @@ -8544,7 +11010,6 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", - "dev": true, "requires": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -8557,6 +11022,16 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, + "simple-plist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.0.0.tgz", + "integrity": "sha512-043L2rO80LVF7zfZ+fqhsEkoJFvW8o59rt/l4ctx1TJWoTx7/jkiS1R5TatD15Z1oYnuLJytzE7gcnnBuIPL2g==", + "requires": { + "bplist-creator": "0.0.7", + "bplist-parser": "0.1.1", + "plist": "^3.0.1" + } + }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -9142,6 +11617,11 @@ "readable-stream": "^2.0.2" } }, + "stream-buffers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=" + }, "stream-each": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", @@ -9712,13 +12192,13 @@ } }, "ts-node": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz", - "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.0.3.tgz", + "integrity": "sha512-2qayBA4vdtVRuDo11DEFSsD/SFsBXQBRZZhbRGSIkmYmVkWjULn/GGMdG10KVqkaGndljfaTD8dKjWgcejO8YA==", "dev": true, "requires": { "arg": "^4.1.0", - "diff": "^4.0.1", + "diff": "^3.1.0", "make-error": "^1.1.1", "source-map-support": "^0.5.6", "yn": "^3.0.0" @@ -9730,32 +12210,23 @@ "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" }, "tslint": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.17.0.tgz", - "integrity": "sha512-pflx87WfVoYepTet3xLfDOLDm9Jqi61UXIKePOuca0qoAZyrGWonDG9VTbji58Fy+8gciUn8Bt7y69+KEVjc/w==", + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.12.1.tgz", + "integrity": "sha512-sfodBHOucFg6egff8d1BvuofoOQ/nOeYNfbp7LDlKBcLNrL3lmS5zoiDGyOMdT7YsEXAwWpTdAHwOGOc8eRZAw==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", + "babel-code-frame": "^6.22.0", "builtin-modules": "^1.1.1", "chalk": "^2.3.0", "commander": "^2.12.1", "diff": "^3.2.0", "glob": "^7.1.1", - "js-yaml": "^3.13.1", + "js-yaml": "^3.7.0", "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", "resolve": "^1.3.2", "semver": "^5.3.0", "tslib": "^1.8.0", - "tsutils": "^2.29.0" - }, - "dependencies": { - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - } + "tsutils": "^2.27.2" } }, "tsutils": { @@ -9788,6 +12259,11 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, + "type-func": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/type-func/-/type-func-1.0.3.tgz", + "integrity": "sha1-qxhCNK6A2NUAV87+/zstl9CK6bA=" + }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -9830,6 +12306,11 @@ } } }, + "uk.co.workingedge.phonegap.plugin.launchnavigator": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/uk.co.workingedge.phonegap.plugin.launchnavigator/-/uk.co.workingedge.phonegap.plugin.launchnavigator-3.2.2.tgz", + "integrity": "sha1-g7rPTQyjspbtFL5tQpRzHQd4jkQ=" + }, "ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", @@ -10038,8 +12519,7 @@ "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, "validate-npm-package-license": { "version": "3.0.4", @@ -10635,23 +13115,21 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, + "xcode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.0.0.tgz", + "integrity": "sha512-5xF6RCjAdDEiEsbbZaS/gBRt3jZ/177otZcpoLCjGN/u1LrfgH7/Sgeeavpr/jELpyDqN2im3AKosl2G2W8hfw==", "requires": { - "async-limiter": "~1.0.0" + "simple-plist": "^1.0.0", + "uuid": "^3.3.2" } }, "xml2js": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", - "dev": true, "requires": { "sax": ">=0.6.0", "xmlbuilder": "~9.0.1" @@ -10660,16 +13138,24 @@ "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" } } }, "xmlbuilder": { "version": "9.0.7", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", - "dev": true + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + }, + "xmldom": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", + "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=" + }, + "xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=" }, "xmlhttprequest-ssl": { "version": "1.5.5", From 1d79849787ba69b9afb7dda35bbc3ee069aeeeac Mon Sep 17 00:00:00 2001 From: ansariakhtar Date: Wed, 26 Jun 2019 16:29:15 +0300 Subject: [PATCH 04/22] forgot password completed --- .../authentication/authentication.module.ts | 8 +- .../check-user/check-user.component.html | 33 +++++++ .../check-user/check-user.component.scss | 7 ++ .../check-user/check-user.component.spec.ts | 27 +++++ .../check-user/check-user.component.ts | 98 +++++++++++++++++++ .../forgot/forgot.component.html | 27 +++-- .../authentication/forgot/forgot.component.ts | 82 ++++++---------- .../authentication/login/login.component.ts | 5 +- .../authentication/models/forget.password.ts | 7 ++ .../src/app/authentication/models/password.ts | 10 ++ .../authentication/sms-page/sms-page.page.ts | 25 ++++- .../authentication/authentication.service.ts | 39 ++++++-- .../authentication/models/basic.info.ts | 7 ++ .../models/check-user-auth.response.ts | 10 ++ .../authentication/models/login.request.ts | 5 + .../authentication/models/member.list.ts | 9 ++ .../services/common/common.service.ts | 8 +- Mohem/src/assets/localization/i18n.json | 14 +++ 18 files changed, 348 insertions(+), 73 deletions(-) create mode 100644 Mohem/src/app/authentication/check-user/check-user.component.html create mode 100644 Mohem/src/app/authentication/check-user/check-user.component.scss create mode 100644 Mohem/src/app/authentication/check-user/check-user.component.spec.ts create mode 100644 Mohem/src/app/authentication/check-user/check-user.component.ts create mode 100644 Mohem/src/app/authentication/models/forget.password.ts create mode 100644 Mohem/src/app/authentication/models/password.ts create mode 100644 Mohem/src/app/hmg-common/services/authentication/models/basic.info.ts create mode 100644 Mohem/src/app/hmg-common/services/authentication/models/member.list.ts diff --git a/Mohem/src/app/authentication/authentication.module.ts b/Mohem/src/app/authentication/authentication.module.ts index c1551cb3..80456df0 100644 --- a/Mohem/src/app/authentication/authentication.module.ts +++ b/Mohem/src/app/authentication/authentication.module.ts @@ -18,6 +18,7 @@ import { MobileNumberModule } from 'src/app/hmg-common/ui/mobile-number/mobile- import { SmsdialogPageModule } from 'src/app/hmg-common/ui/smsdialog/smsdialog.module'; import { SmsPageModule } from 'src/app/hmg-common/ui/sms/sms.module'; import { SmsPagePage } from './sms-page/sms-page.page'; +import { CheckUserComponent } from './check-user/check-user.component'; @@ -41,6 +42,10 @@ const routes: Routes = [ { path: 'smspage', component: SmsPagePage + }, + { + path: 'checkuser', + component: CheckUserComponent } ] } @@ -65,7 +70,8 @@ const routes: Routes = [ LoginComponent, ForgotComponent, AgreementComponent, - SmsPagePage + SmsPagePage, + CheckUserComponent ], providers:[ FingerprintAIO, diff --git a/Mohem/src/app/authentication/check-user/check-user.component.html b/Mohem/src/app/authentication/check-user/check-user.component.html new file mode 100644 index 00000000..40ce8b47 --- /dev/null +++ b/Mohem/src/app/authentication/check-user/check-user.component.html @@ -0,0 +1,33 @@ + + + + + + {{'login,forgot-password' | translate}} + + + + + + + + + + + + {{ts.trPK('login','username')}} + + + + + + + + + + + +
+ {{ts.trPK('login','changepassword')}} +
+
\ No newline at end of file diff --git a/Mohem/src/app/authentication/check-user/check-user.component.scss b/Mohem/src/app/authentication/check-user/check-user.component.scss new file mode 100644 index 00000000..4357e11d --- /dev/null +++ b/Mohem/src/app/authentication/check-user/check-user.component.scss @@ -0,0 +1,7 @@ +.header-toolbar{ + --background: linear-gradient(45deg, #3ac1f1 0%, #19a163 36%, #19a163 59%, #1a586d 100%); +} + +.btnBack{ + background: transparent; +} \ No newline at end of file diff --git a/Mohem/src/app/authentication/check-user/check-user.component.spec.ts b/Mohem/src/app/authentication/check-user/check-user.component.spec.ts new file mode 100644 index 00000000..b1d86516 --- /dev/null +++ b/Mohem/src/app/authentication/check-user/check-user.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CheckUserComponent } from './check-user.component'; + +describe('CheckUserComponent', () => { + let component: CheckUserComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ CheckUserComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CheckUserComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/authentication/check-user/check-user.component.ts b/Mohem/src/app/authentication/check-user/check-user.component.ts new file mode 100644 index 00000000..b510b256 --- /dev/null +++ b/Mohem/src/app/authentication/check-user/check-user.component.ts @@ -0,0 +1,98 @@ +import { Component, OnInit, ViewChild, ChangeDetectorRef, OnDestroy } from '@angular/core'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service'; +import { Router } from '@angular/router'; +import { AlertController } from '@ionic/angular'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +import { CheckUserAuthenticationRequest } from 'src/app/hmg-common/services/authentication/models/check-user-auth.request'; +import { CheckUserAuthenticationResponse } from 'src/app/hmg-common/services/authentication/models/check-user-auth.response'; +import { CheckActivationCodeRequest } from 'src/app/hmg-common/services/authentication/models/check-activation-code.request'; +import { SmsReaderService } from 'src/app/hmg-common/services/sms/sms-reader.service'; +import { ForgotFileIDResponse } from '../../hmg-common/services/authentication/models/forgot-File-ID.response'; +import { InternationalMobileComponent } from 'src/app/hmg-common/ui/mobile-number/international-mobile/international-mobile.component'; +import { CountryCode } from 'src/app/hmg-common/ui/mobile-number/international-mobile/models/country-code.model'; +import { LoginRequest } from 'src/app/hmg-common/services/authentication/models/login.request'; +import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; +import { Password } from '../models/password'; +import { LoginModel } from '../models/LoginModel'; + +@Component({ + selector: 'app-check-user', + templateUrl: './check-user.component.html', + styleUrls: ['./check-user.component.scss'], +}) +export class CheckUserComponent implements OnInit,OnDestroy { + public P_USER_NAME : string; + private loginData = new LoginModel(); + + @ViewChild(InternationalMobileComponent) internationlMobile: InternationalMobileComponent; + constructor(public cs: CommonService, + public authService: AuthenticationService, + public router: Router, + public alertController: AlertController, + public ts: TranslatorService, + public smsService: SmsReaderService, + public sharedData: SharedDataService, + public changeDetector: ChangeDetectorRef) { } + + ngOnInit() {} + + ngOnDestroy(): void { + this.smsService.stopSMSMonitoring(); + } + + public onForgot() { + this.sendSMSForForgotPassword(); + } + + public userCheck() + { + this.cs.startLoading(); + const request = new CheckUserAuthenticationRequest(); + request.P_USER_NAME = this.P_USER_NAME; + this.authService.checkUserAuthentication( + request, + () => { + //this.sendSMSForForgotPassword(); + }, this.ts.trPK('general', 'ok')).subscribe((result: CheckUserAuthenticationResponse) => { + if (this.cs.validResponse(result)) { + this.checkUserResult = result; + this.cs.stopLoading(); + this.sendSMSForForgotPassword(); + + // if (result.isSMSSent) { + // this.startReceivingSMS(); + // this.presentSMSPasswordDialog(); + // } + } + }); + } + + private checkUserResult: CheckUserAuthenticationResponse; + + private sendSMSForForgotPassword() { + this.cs.startLoading(); + let changePwdObj= new LoginRequest(); + changePwdObj.MobileNumber= this.checkUserResult.BasicMemberInformation.P_MOBILE_NUMBER; + changePwdObj.P_USER_NAME=this.P_USER_NAME; + changePwdObj.P_MOBILE_NUMBER=this.checkUserResult.BasicMemberInformation.P_MOBILE_NUMBER; + + this.authService.sendPublicSMS( + changePwdObj, + () => { + this.sendSMSForForgotPassword(); + }, this.ts.trPK('general', 'ok')).subscribe((result: CheckUserAuthenticationResponse) => { + if (this.cs.validResponse(result)) { + this.checkUserResult = result; + console.log("2"); + console.log(result); + this.loginData.LogInTokenID = result.LogInTokenID; + this.loginData.P_USER_NAME = this.P_USER_NAME; + this.sharedData.setSharedData(this.loginData, "logindata"); + this.sharedData.setSharedData(true,Password.IS_FORGET_PSW); + this.cs.stopLoading(); + this.cs.openSMSPage(); + }}); + } +} + diff --git a/Mohem/src/app/authentication/forgot/forgot.component.html b/Mohem/src/app/authentication/forgot/forgot.component.html index 1bc60365..9e46cdb7 100644 --- a/Mohem/src/app/authentication/forgot/forgot.component.html +++ b/Mohem/src/app/authentication/forgot/forgot.component.html @@ -12,14 +12,21 @@ - - - - {{ts.trPK('login','username')}} - - - - + + + {{'changePassword,newPassword' | translate}} + + + + + + + {{'changePassword,confirmPassword' | translate}} + + + @@ -28,6 +35,6 @@
- {{ts.trPK('login','changepassword')}} -
+ {{ts.trPK('login','changepassword')}} +
\ No newline at end of file diff --git a/Mohem/src/app/authentication/forgot/forgot.component.ts b/Mohem/src/app/authentication/forgot/forgot.component.ts index 949f40a2..3cbe099a 100644 --- a/Mohem/src/app/authentication/forgot/forgot.component.ts +++ b/Mohem/src/app/authentication/forgot/forgot.component.ts @@ -11,7 +11,9 @@ import { SmsReaderService } from 'src/app/hmg-common/services/sms/sms-reader.ser import { ForgotFileIDResponse } from '../../hmg-common/services/authentication/models/forgot-File-ID.response'; import { InternationalMobileComponent } from 'src/app/hmg-common/ui/mobile-number/international-mobile/international-mobile.component'; import { CountryCode } from 'src/app/hmg-common/ui/mobile-number/international-mobile/models/country-code.model'; - +import { ForgetPassword } from '../models/forget.password'; +import { LoginModel } from '../models/LoginModel'; +import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; @Component({ selector: 'app-forgot', @@ -20,7 +22,10 @@ import { CountryCode } from 'src/app/hmg-common/ui/mobile-number/international-m }) export class ForgotComponent implements OnInit,OnDestroy { - public countryCode: CountryCode; + private loginData = new LoginModel(); + public P_NEW_PASSWORD: string; + public P_Confirm_NEW_PASSWORD : string; + public P_USER_NAME : string; @ViewChild(InternationalMobileComponent) internationlMobile: InternationalMobileComponent; constructor( public cs: CommonService, @@ -29,7 +34,8 @@ export class ForgotComponent implements OnInit,OnDestroy { public alertController: AlertController, public ts: TranslatorService, public smsService: SmsReaderService, - public changeDetector: ChangeDetectorRef + public changeDetector: ChangeDetectorRef, + public sharedData: SharedDataService ) { } @@ -39,77 +45,49 @@ export class ForgotComponent implements OnInit,OnDestroy { ngOnDestroy(): void { this.smsService.stopSMSMonitoring(); } + public onForgot() { this.sendSMSForForgotPassword(); } - - public countryCodeChanged(countryCode: CountryCode) { - this.countryCode = countryCode; - } - - public isValidForm() { - return (this.countryCode && this.countryCode.isValid); - } - - - private checkUserResult: CheckUserAuthenticationResponse; private sendSMSForForgotPassword() { - const request = new CheckUserAuthenticationRequest(); + const request = new ForgetPassword(); //request.PatientMobileNumber = this.countryCode.number; //request.ZipCode = CountryCode.localCode(this.countryCode.code); - - this.authService.sendSMSForForgotFileNumber( + this.authService.sendForgetPassword( request, () => { this.sendSMSForForgotPassword(); }, this.ts.trPK('general', 'ok')).subscribe((result: CheckUserAuthenticationResponse) => { if (this.cs.validResponse(result)) { this.checkUserResult = result; - if (result.isSMSSent) { - this.startReceivingSMS(); - this.presentSMSPasswordDialog(); - } } }); } - - private startReceivingSMS() { - this.smsService.startSMSMonitoring((code) => { - this.cs.dismissSMSDialog().subscribe(cleared => { - this.checkActivationCode(code); - }); - }); - } - public presentSMSPasswordDialog() { - this.cs.presentSMSPasswordDialog( - (code: string) => { - this.checkActivationCode(code); - }); - } - - private checkActivationCode(readedCode?) { - const request = new CheckActivationCodeRequest(); - request.LogInTokenID = this.checkUserResult.LogInTokenID; - request.PatientOutSA = this.checkUserResult.PatientOutSA ? 1 : 0; - request.PatientMobileNumber = this.countryCode.number; - request.ZipCode = CountryCode.localCode(this.countryCode.code); - request.activationCode = readedCode; - - this.authService.forgotFileIdActivation(request, + public forgotpassword(){ + const data = this.sharedData.getSharedData("logindata", false); + this.loginData.P_USER_NAME = this.P_USER_NAME; + let request:ForgetPassword = new ForgetPassword(); + request.P_Confirm_NEW_PASSWORD=this.P_NEW_PASSWORD; + request.P_NEW_PASSWORD=this.P_Confirm_NEW_PASSWORD; + request.P_USER_NAME = data.P_USER_NAME; + //console.log(request); + //request.P_USER_NAME = this.userName.P_USER_NAME; + this.authService.submitForgetPassword( + request, () => { - this.presentSMSPasswordDialog(); - }, this.ts.trPK('general', 'retry')).subscribe((result: ForgotFileIDResponse) => { + //this.sendSMSForForgotPassword(); + }, this.ts.trPK('general', 'ok')).subscribe((result: CheckUserAuthenticationResponse) => { if (this.cs.validResponse(result)) { - this.smsService.stopSMSMonitoring(); - this.cs.presentAlert(result.ReturnMessage); + this.checkUserResult = result; + console.log(result); + this.cs.toastPK("changePassword","passwordchanged"); + this.cs.openLogin(); } }); - + } - - } diff --git a/Mohem/src/app/authentication/login/login.component.ts b/Mohem/src/app/authentication/login/login.component.ts index d5e5bfde..09cb7398 100644 --- a/Mohem/src/app/authentication/login/login.component.ts +++ b/Mohem/src/app/authentication/login/login.component.ts @@ -17,6 +17,7 @@ import { Device } from '@ionic-native/device/ngx'; import { SplashScreen } from '@ionic-native/splash-screen/ngx'; import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; import { LoginModel } from '../models/LoginModel'; +import { LoginRequest } from 'src/app/hmg-common/services/authentication/models/login.request'; @Component({ selector: 'login', @@ -356,12 +357,12 @@ export class LoginComponent implements OnInit, OnDestroy { } private checkUserAuthentication() { - const request = new CheckUserAuthenticationRequest(); + const request = new LoginRequest(); request.P_USER_NAME = this.username; request.P_LANGUAGE = this.language; request.P_PASSWORD = this.password; console.log(request); - this.authService.checkUserAuthentication( + this.authService.login( request, () => { }, this.ts.trPK('general', 'ok')).subscribe((result: CheckUserAuthenticationResponse) => { diff --git a/Mohem/src/app/authentication/models/forget.password.ts b/Mohem/src/app/authentication/models/forget.password.ts new file mode 100644 index 00000000..b6cda129 --- /dev/null +++ b/Mohem/src/app/authentication/models/forget.password.ts @@ -0,0 +1,7 @@ +import { Request } from 'src/app/hmg-common/services/models/request'; +export class ForgetPassword extends Request { + public static IS_FORGET_PSW:string="is_forget_password"; + public P_NEW_PASSWORD: string; + public P_Confirm_NEW_PASSWORD:string; + public P_USER_NAME : string; +} diff --git a/Mohem/src/app/authentication/models/password.ts b/Mohem/src/app/authentication/models/password.ts new file mode 100644 index 00000000..4a160292 --- /dev/null +++ b/Mohem/src/app/authentication/models/password.ts @@ -0,0 +1,10 @@ +import { Request } from 'src/app/hmg-common/services/models/request'; + + +export class Password extends Request { + public static IS_FORGET_PSW:string="is_forget_password"; + public IS_FORGET_PWD:boolean; + public P_NEW_PASSWORD: string; + public P_OLD_PASSWORD:string; + public P_Confirm_NEW_PASSWORD:string; +} \ No newline at end of file diff --git a/Mohem/src/app/authentication/sms-page/sms-page.page.ts b/Mohem/src/app/authentication/sms-page/sms-page.page.ts index 7a07a8aa..b28e7db6 100644 --- a/Mohem/src/app/authentication/sms-page/sms-page.page.ts +++ b/Mohem/src/app/authentication/sms-page/sms-page.page.ts @@ -8,6 +8,7 @@ import { SMSCheckRequest } from 'src/app/hmg-common/services/authentication/mode import { LoginModel } from '../models/LoginModel'; import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service'; import { SMSCheckResponse } from 'src/app/hmg-common/services/authentication/models/smscheck.response'; +import { Password } from '../models/password'; @Component({ @@ -44,6 +45,7 @@ export class SmsPagePage implements OnInit { this.count = 0; this.initTimer(); this.startTimer(); + this.isForgetPwd = this.sharedData.getSharedData(Password.IS_FORGET_PSW) || false; } @@ -126,7 +128,7 @@ export class SmsPagePage implements OnInit { request.activationCode =this.activationCode; //request.P_USER_NAME=this.userName, //request.MobileNumber=this.member.MemberLoginList.P_MOBILE_NUMBER - + console.log(data.LogInTokenID); this.authService.checkSMS( request, () => { @@ -143,7 +145,28 @@ export class SmsPagePage implements OnInit { public checkForgetPwdSMS() { + const data = this.sharedData.getSharedData("logindata", false); + const request = new SMSCheckRequest(); + + request.LogInTokenID= data.LogInTokenID, + request.activationCode =this.activationCode; + //request.P_USER_NAME=this.userName, + //request.MobileNumber=this.member.MemberLoginList.P_MOBILE_NUMBER + console.log(data.LogInTokenID); + this.authService.checkForgetSMS( + request, + () => { + }, this.translate.trPK('general', 'ok')).subscribe((result: SMSCheckResponse) => { + console.log(result); + if (this.common.validResponse(result)) { + console.log(result); + + //this.loginData.LogInTokenID = result.LogInTokenID; + //this.sharedData.setSharedData(this.loginData, "logindata"); + this.common.openForgotPassword(); + } + }); } } diff --git a/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts b/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts index f71a6117..292297ef 100644 --- a/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts +++ b/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts @@ -26,6 +26,7 @@ import { Events } from '@ionic/angular'; import { InternationalMobileComponent } from '../../ui/mobile-number/international-mobile/international-mobile.component'; import { SMSCheckRequest } from './models/smscheck.request'; import { SMSCheckResponse } from './models/smscheck.response'; +import { ForgetPassword } from 'src/app/authentication/models/forget.password'; @Injectable({ providedIn: 'root' @@ -58,6 +59,10 @@ export class AuthenticationService { public static forgotFileIDURL = 'Services/Authentication.svc/REST/CheckActivationCodeForSendFileNo'; public static user: AuthenticatedUser; + /*user checking methods */ + public static userChecking = 'Services/ERP.svc/REST/Get_BasicUserInformation'; + public static changePasswordForget ='Services/ERP.svc/REST/ChangePassword_Forget'; + public static LOGIN_EVENT = 'user-login-event'; public static FAMILY_LOGIN_EVENT = 'family-login-event'; public static AUTHENTICATED_USER_KEY = 'save-authenticated-user'; @@ -156,11 +161,8 @@ export class AuthenticationService { public login(request: LoginRequest, onError: any, errorLabel: string): Observable { - request.PatientID = 0; - request.TokenID = ''; - request.isDentalAllowedBackend = false; - request.isRegister = false; - return this.con.post(AuthenticationService.loginURL, request, onError, errorLabel); + this.setPublicFields(request); + return this.con.post(AuthenticationService.login, request, onError, errorLabel); } @@ -430,7 +432,7 @@ export class AuthenticationService { public checkUserAuthentication(request: CheckUserAuthenticationRequest, onError: any, errorLabel: string) : Observable { this.setPublicFields(request); - return this.con.post(AuthenticationService.login, request, onError, errorLabel); + return this.con.post(AuthenticationService.userChecking, request, onError, errorLabel); } public checkActivationCode(request: CheckActivationCodeRequest, onError: any, errorLabel: string) @@ -445,6 +447,18 @@ export class AuthenticationService { return this.con.post(AuthenticationService.smsCheck, request, onError, errorLabel); } + public checkForgetSMS(request: SMSCheckRequest, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + return this.con.post(AuthenticationService.smsCheckForget, request, onError, errorLabel); + } + + public sendPublicSMS(request: SMSCheckRequest, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + return this.con.post(AuthenticationService.smsSendCode, request, onError, errorLabel); + } + /* client side: id no , mobile no , zip code @@ -476,6 +490,19 @@ export class AuthenticationService { return this.con.post(AuthenticationService.activationCodeURL, request, onError, errorLabel); } + public sendForgetPassword(request: ForgetPassword, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + return this.con.post(AuthenticationService.smsSendCode, request, onError, errorLabel); + } + + public submitForgetPassword(request: ForgetPassword, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + return this.con.post(AuthenticationService.changePasswordForget, request, onError, errorLabel); + } + + public sendSMSForForgotFileNumber(request: CheckUserAuthenticationRequest, onError: any, errorLabel: string) : Observable { this.setPublicFields(request); diff --git a/Mohem/src/app/hmg-common/services/authentication/models/basic.info.ts b/Mohem/src/app/hmg-common/services/authentication/models/basic.info.ts new file mode 100644 index 00000000..fc4a19a1 --- /dev/null +++ b/Mohem/src/app/hmg-common/services/authentication/models/basic.info.ts @@ -0,0 +1,7 @@ + +export class BasicInfo extends Request{ + public P_EMAIL_ADDRESS:string; + public P_MOBILE_NUMBER: string; + public P_RETURN_MSG: string; + public P_RETURN_STATUS: string; +} diff --git a/Mohem/src/app/hmg-common/services/authentication/models/check-user-auth.response.ts b/Mohem/src/app/hmg-common/services/authentication/models/check-user-auth.response.ts index e7e942f0..cc33d22d 100644 --- a/Mohem/src/app/hmg-common/services/authentication/models/check-user-auth.response.ts +++ b/Mohem/src/app/hmg-common/services/authentication/models/check-user-auth.response.ts @@ -1,4 +1,6 @@ import { Response } from '../../models/response'; +import { BasicInfo } from './basic.info'; +import { MemberList } from './member.list'; export class CheckUserAuthenticationResponse extends Response { PatientHasFile: boolean; @@ -10,4 +12,12 @@ export class CheckUserAuthenticationResponse extends Response { hasFile: boolean; isSMSSent: boolean; LogInTokenID: string; + P_EMAIL_ADDRESS : string; + P_MOBILE_NUMBER : string; + P_RETURN_MSG : string; + P_RETURN_STATUS : string; + public IsPasswordExpired: boolean; + //public P_SESSION_ID:string; + public MemberLoginList: MemberList ; + public BasicMemberInformation: BasicInfo; } diff --git a/Mohem/src/app/hmg-common/services/authentication/models/login.request.ts b/Mohem/src/app/hmg-common/services/authentication/models/login.request.ts index 5d6b3511..cb1cdbf5 100644 --- a/Mohem/src/app/hmg-common/services/authentication/models/login.request.ts +++ b/Mohem/src/app/hmg-common/services/authentication/models/login.request.ts @@ -7,6 +7,11 @@ export class LoginRequest extends Request { SearchType: number; // 1 for iqama 2 for file number TokenID: string; // "" ZipCode: string; // "966" + MobileNumber: string; + P_USER_NAME : string; + P_MOBILE_NUMBER : string; + P_PASSWORD : string; + P_LANGUAGE : string; // isDentalAllowedBackend: false isRegister: boolean; // false } diff --git a/Mohem/src/app/hmg-common/services/authentication/models/member.list.ts b/Mohem/src/app/hmg-common/services/authentication/models/member.list.ts new file mode 100644 index 00000000..e74b563f --- /dev/null +++ b/Mohem/src/app/hmg-common/services/authentication/models/member.list.ts @@ -0,0 +1,9 @@ +export class MemberList { + public P_EMAIL_ADDRESS:string; + public P_INVALID_LOGIN_MSG: string; + public P_MOBILE_NUMBER: string; + public P_PASSOWRD_EXPIRED: string; + public P_RETURN_MSG: string; + public P_RETURN_STATUS: string; + public P_SESSION_ID: number; +} \ No newline at end of file diff --git a/Mohem/src/app/hmg-common/services/common/common.service.ts b/Mohem/src/app/hmg-common/services/common/common.service.ts index e13d1fad..ac967af1 100644 --- a/Mohem/src/app/hmg-common/services/common/common.service.ts +++ b/Mohem/src/app/hmg-common/services/common/common.service.ts @@ -891,6 +891,9 @@ export class CommonService { public openHome() { this.alternateNavigate(CommonService.HOME_URL, "home-open", true); } + public openForgotPassword() { + this.nav.navigateForward(["/authentication/forgot"]); + } public reload(url: string, from: string) { console.log("force reload called from:" + from); @@ -930,9 +933,12 @@ export class CommonService { } } + public openLogin() { + this.nav.navigateRoot(["/authentication/login"]); + } public openUserForgot() { - this.nav.navigateForward(["/authentication/forgot"]); + this.nav.navigateForward(["/authentication/checkuser"]); } public openSMSPage() { this.nav.navigateForward(["/authentication/smspage"]); diff --git a/Mohem/src/assets/localization/i18n.json b/Mohem/src/assets/localization/i18n.json index 3467ca8a..4f926ef5 100644 --- a/Mohem/src/assets/localization/i18n.json +++ b/Mohem/src/assets/localization/i18n.json @@ -90,6 +90,20 @@ "ar":"تحقق مرة واحدة كلمة المرور" } }, +"changePassword":{ + "newPassword":{ + "en":"New Password", + "ar":"كلمة المرور الجديدة" + }, + "confirmPassword":{ + "en":"Confirm Password", + "ar":"تأكيد كلمة المرور" + }, + "passwordchanged":{ + "en":"Your password changed successfully", + "ar":"تم تغيير كلمة المرور الخاصة بك بنجاح" + } +}, "verificationcode": { "verificationcode":{ From f24b082f7c337f66418739ac7ab4f3435eb2733a Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Wed, 26 Jun 2019 16:52:25 +0300 Subject: [PATCH 05/22] working on vacation rule --- Mohem/src/app/app-routing.module.ts | 3 +- Mohem/src/app/app.scss | 3 +- .../services/translator/translator.service.ts | 2 +- Mohem/src/app/home/home.module.ts | 15 +- Mohem/src/app/home/home.page.ts | 58 +- .../vacation-rule/home/home.component.html | 82 + .../vacation-rule/home/home.component.scss | 93 ++ .../vacation-rule/home/home.component.spec.ts | 27 + .../app/vacation-rule/home/home.component.ts | 152 ++ .../model/VacationRuleRequest.ts | 7 + .../vacation-rule-service.service.spec.ts | 12 + .../service/vacation-rule-service.service.ts | 35 + .../app/vacation-rule/vacation-rule.module.ts | 38 + .../app/vacation-rule/vacation-rule.page.html | 9 + .../app/vacation-rule/vacation-rule.page.scss | 0 .../vacation-rule/vacation-rule.page.spec.ts | 27 + .../app/vacation-rule/vacation-rule.page.ts | 15 + Mohem/src/assets/icon/progress-loading.gif | Bin 0 -> 170486 bytes Mohem/src/assets/localization/i18n.json | 1359 +++++++++-------- 19 files changed, 1233 insertions(+), 704 deletions(-) create mode 100644 Mohem/src/app/vacation-rule/home/home.component.html create mode 100644 Mohem/src/app/vacation-rule/home/home.component.scss create mode 100644 Mohem/src/app/vacation-rule/home/home.component.spec.ts create mode 100644 Mohem/src/app/vacation-rule/home/home.component.ts create mode 100644 Mohem/src/app/vacation-rule/model/VacationRuleRequest.ts create mode 100644 Mohem/src/app/vacation-rule/service/vacation-rule-service.service.spec.ts create mode 100644 Mohem/src/app/vacation-rule/service/vacation-rule-service.service.ts create mode 100644 Mohem/src/app/vacation-rule/vacation-rule.module.ts create mode 100644 Mohem/src/app/vacation-rule/vacation-rule.page.html create mode 100644 Mohem/src/app/vacation-rule/vacation-rule.page.scss create mode 100644 Mohem/src/app/vacation-rule/vacation-rule.page.spec.ts create mode 100644 Mohem/src/app/vacation-rule/vacation-rule.page.ts create mode 100644 Mohem/src/assets/icon/progress-loading.gif diff --git a/Mohem/src/app/app-routing.module.ts b/Mohem/src/app/app-routing.module.ts index a1fab539..01cd9e3a 100644 --- a/Mohem/src/app/app-routing.module.ts +++ b/Mohem/src/app/app-routing.module.ts @@ -8,7 +8,8 @@ const routes: Routes = [ data: { preload: true, delay: 1000 } }, { path: 'home', loadChildren: './home/home.module#HomePageModule' }, - { path: 'sms-page', loadChildren: './authentication/sms-page/sms-page.module#SmsPagePageModule' } + { path: 'sms-page', loadChildren: './authentication/sms-page/sms-page.module#SmsPagePageModule' }, + { path: 'vacation-rule', loadChildren: './vacation-rule/vacation-rule.module#VacationRulePageModule' } ]; diff --git a/Mohem/src/app/app.scss b/Mohem/src/app/app.scss index a3596b78..45ab8719 100644 --- a/Mohem/src/app/app.scss +++ b/Mohem/src/app/app.scss @@ -3,4 +3,5 @@ // Put style rules here that you want to apply to the entire application. These // styles are for the entire app and not just one component. Additionally, this // file can hold Sass mixins, functions, and placeholder classes to be imported -// and used throughout the application. \ No newline at end of file +// and used throughout the application. + diff --git a/Mohem/src/app/hmg-common/services/translator/translator.service.ts b/Mohem/src/app/hmg-common/services/translator/translator.service.ts index ae9559b3..fff6de9e 100644 --- a/Mohem/src/app/hmg-common/services/translator/translator.service.ts +++ b/Mohem/src/app/hmg-common/services/translator/translator.service.ts @@ -14,7 +14,7 @@ export class TranslatorService { public static EN = 'en'; public static EN_US = 'en-us'; public static AR = 'ar'; - public static CURRENT_LANGUAGE = TranslatorService.AR; + public static CURRENT_LANGUAGE = TranslatorService.EN; public static CHANGE_EVENT = 'language-changed-event'; private static translations: any; constructor( diff --git a/Mohem/src/app/home/home.module.ts b/Mohem/src/app/home/home.module.ts index 552dcba8..603eccc5 100644 --- a/Mohem/src/app/home/home.module.ts +++ b/Mohem/src/app/home/home.module.ts @@ -9,7 +9,7 @@ import { HomePage } from './home.page'; const routes: Routes = [ { path: '', - component: HomePage + component: HomePage, } ]; @@ -19,13 +19,10 @@ const routes: Routes = [ FormsModule, IonicModule, HmgCommonModule, - RouterModule.forChild([ - { - path: '', - component: HomePage - } - ]) + RouterModule.forChild(routes) ], - declarations: [HomePage] + declarations: [ + HomePage + ] }) -export class HomePageModule {} +export class HomePageModule { } diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index 361f0ead..707b17a5 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -1,6 +1,6 @@ import { Component, OnInit } from '@angular/core'; import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; -import { MenuController } from '@ionic/angular'; +import { MenuController, NavController } from '@ionic/angular'; import { AuthenticationService } from "src/app/hmg-common/services/authentication/authentication.service"; import { SMSCheckResponse } from "src/app/hmg-common/services/authentication/models/smscheck.response"; import { AuthenticatedUser } from 'src/app/hmg-common/services/authentication/models/authenticated-user'; @@ -10,37 +10,41 @@ import { AuthenticatedUser } from 'src/app/hmg-common/services/authentication/mo styleUrls: ['./home.page.scss'], }) export class HomePage implements OnInit { - userData: any ={}; - user_image : any = "../assets/imgs/profile.png"; - constructor(public ts: TranslatorService, public menu: MenuController, public authService: AuthenticationService ) { } + userData: any = {}; + user_image: any = "../assets/imgs/profile.png"; + constructor(public ts: TranslatorService, public menu: MenuController, public authService: AuthenticationService, public nav: NavController) { } ngOnInit() { this.getUserDetails(); } - private openMenu(){ + private openMenu() { this.menu.toggle(); } - private getUserDetails(){ - const user = this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => { - if (user) { - this.userData=user; - console.log(user); - }else{ - console.log(user); - } - }) - + private getUserDetails() { + const user = this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => { + if (user) { + this.userData = user; + console.log(user); + } else { + console.log(user); + } + }); } -// private getMenu(){ -// this.menuService.getMenu(). -// subscribe((result: MenuResponse) => { -// this.handleMenuResult(result); -// }); -// } -// private handleMenuResult(result){ -// if (this.common.validResponse(result)) { -// if (this.common.hasData(result.List_Menu)) { -// this.menuList = result.List_Menu; -// } -// } + + public Vaction_Rule() { + this.nav.navigateForward(['/vacation-rule/home']); + } + + // private getMenu(){ + // this.menuService.getMenu(). + // subscribe((result: MenuResponse) => { + // this.handleMenuResult(result); + // }); + // } + // private handleMenuResult(result){ + // if (this.common.validResponse(result)) { + // if (this.common.hasData(result.List_Menu)) { + // this.menuList = result.List_Menu; + // } + // } } diff --git a/Mohem/src/app/vacation-rule/home/home.component.html b/Mohem/src/app/vacation-rule/home/home.component.html new file mode 100644 index 00000000..43d923e7 --- /dev/null +++ b/Mohem/src/app/vacation-rule/home/home.component.html @@ -0,0 +1,82 @@ + + + + + + + {{ 'general,vacation-rule' | translate}} + + + + +
+ +
+ + + + + + {{'vacation-rule, rule-Info' | translate}} + + + + + + + + + + + + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
\ No newline at end of file diff --git a/Mohem/src/app/vacation-rule/home/home.component.scss b/Mohem/src/app/vacation-rule/home/home.component.scss new file mode 100644 index 00000000..1f0f2007 --- /dev/null +++ b/Mohem/src/app/vacation-rule/home/home.component.scss @@ -0,0 +1,93 @@ +.item-md p, +.item-md ios { + white-space: normal; +} +.col { + white-space: normal; + font-size: 14px; +} +ion-col.colBold { + color: #1a586d; +} +.imgSize { + width: 22px; + height: 22px; + -webkit-box-shadow: none; + box-shadow: none; +} + +ion-button { + background: transparent; +} + +ion-card-header { + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.header-toolbar { + --background: linear-gradient(45deg, #3ac1f1 0%, #19a163 36%, #19a163 59%, #1a586d 100%); +} + +.btnBack { + background: transparent; + float: right; +} + +.button, +.button-md, +button-ios { + background: transparent; +} + +ion-card-header { + padding: 0px 10px !important; + color: #ffffff !important; + -webkit-border-top-left-radius: 10px; + -webkit-border-top-right-radius: 10px; + -moz-border-radius-topleft: 10px; + -moz-border-radius-topright: 10px; + border-top-left-radius: 10px; + border-top-right-radius: 10px; + background: #acacac; + .hrTitle { + white-space: normal; + padding: 5px; + padding-top: 12px; + width: 100%; + min-height: 45px; + // @media screen and (max-width: 565px) { + // width: 80%; + // } + // @media screen and (max-width: 450px) { + // width: 74%; + // } + + // @include ltr() { + // float: left; + // } + // @include rtl() { + // float: right; + // } + line-height: 1.2; + } + .button, + .button-md, + button-ios { + background: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + min-width: auto; + padding: 0px !important; + margin: 0px 5px !important; + // @include ltr() { + // float: right; + // } + // @include rtl() { + // float: left; + // } + } +} diff --git a/Mohem/src/app/vacation-rule/home/home.component.spec.ts b/Mohem/src/app/vacation-rule/home/home.component.spec.ts new file mode 100644 index 00000000..5ec1377b --- /dev/null +++ b/Mohem/src/app/vacation-rule/home/home.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HomeComponent } from './home.component'; + +describe('HomeComponent', () => { + let component: HomeComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ HomeComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(HomeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/vacation-rule/home/home.component.ts b/Mohem/src/app/vacation-rule/home/home.component.ts new file mode 100644 index 00000000..06263bb4 --- /dev/null +++ b/Mohem/src/app/vacation-rule/home/home.component.ts @@ -0,0 +1,152 @@ +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { VacationRuleServiceService } from './../service/vacation-rule-service.service'; +import { VacationRuleRequest } from './../model/VacationRuleRequest'; +import { Component, OnInit } from '@angular/core'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; + +@Component({ + selector: 'app-home', + templateUrl: './home.component.html', + styleUrls: ['./home.component.scss'], +}) +export class HomeComponent implements OnInit { + + userName: any; + P_PAGE_NUM: number; + P_PAGE_LIMIT: number; + GetVacationRulesList: any = []; + isUpdate: boolean = false; + IsReachEnd: boolean = false; + RespondAttributeList: any; + + + constructor(public vacationRuleService: VacationRuleServiceService, public ts: TranslatorService, public cs: CommonService) { + this.P_PAGE_NUM = 1; + this.P_PAGE_LIMIT = 50; + + this.GetVacationRulesList = [ + { + "ACTION": "FORWARD", + "ACTION_DISPLAY": "Forward", + "BEGIN_DATE": "6/26/2019 2:50:14 PM", + "END_DATE": "6/30/2019 2:50:22 PM", + "FROM_ROW_NUM": 1, + "FYI_FLAG": "Y", + "ITEM_TYPE": "HRSSA", + "ITEM_TYPE_DISPLAY_NAME": "HR", + "MESSAGE": "TEst Rule", + "NOTIFICATION_DISPLAY_NAME": "", + "NOTIFICATION_NAME": "*", + "NOTIFICATION_SUBJECT": "", + "NO_OF_ROWS": 1, + "REPLACEMENT_USER_NAME": "70915", + "ROW_NUM": 1, + "RULE_ID": 7770756, + "RULE_NAME": "Delegate: Al Oulah, Mohammed", + "RULE_STATUS": "Active", + "RULE_TIP_MESSAGE": "", + "TO_ROW_NUM": 1 + }, + { + "ACTION": "FORWARD", + "ACTION_DISPLAY": "Forward", + "BEGIN_DATE": "6/26/2019 2:50:14 PM", + "END_DATE": "6/30/2019 2:50:22 PM", + "FROM_ROW_NUM": 1, + "FYI_FLAG": "Y", + "ITEM_TYPE": "HRSSA", + "ITEM_TYPE_DISPLAY_NAME": "HR", + "MESSAGE": "TEst Rule", + "NOTIFICATION_DISPLAY_NAME": "", + "NOTIFICATION_NAME": "*", + "NOTIFICATION_SUBJECT": "", + "NO_OF_ROWS": 1, + "REPLACEMENT_USER_NAME": "70915", + "ROW_NUM": 1, + "RULE_ID": 7770756, + "RULE_NAME": "Delegate: Al Oulah, Mohammed", + "RULE_STATUS": "Active", + "RULE_TIP_MESSAGE": "", + "TO_ROW_NUM": 1 + }, + { + "ACTION": "FORWARD", + "ACTION_DISPLAY": "Forward", + "BEGIN_DATE": "6/26/2019 2:50:14 PM", + "END_DATE": "6/30/2019 2:50:22 PM", + "FROM_ROW_NUM": 1, + "FYI_FLAG": "Y", + "ITEM_TYPE": "HRSSA", + "ITEM_TYPE_DISPLAY_NAME": "HR", + "MESSAGE": "TEst Rule", + "NOTIFICATION_DISPLAY_NAME": "", + "NOTIFICATION_NAME": "*", + "NOTIFICATION_SUBJECT": "", + "NO_OF_ROWS": 1, + "REPLACEMENT_USER_NAME": "70915", + "ROW_NUM": 1, + "RULE_ID": 7770756, + "RULE_NAME": "Delegate: Al Oulah, Mohammed", + "RULE_STATUS": "Active", + "RULE_TIP_MESSAGE": "", + "TO_ROW_NUM": 1 + }, + { + "ACTION": "FORWARD", + "ACTION_DISPLAY": "Forward", + "BEGIN_DATE": "6/26/2019 2:50:14 PM", + "END_DATE": "6/30/2019 2:50:22 PM", + "FROM_ROW_NUM": 1, + "FYI_FLAG": "Y", + "ITEM_TYPE": "HRSSA", + "ITEM_TYPE_DISPLAY_NAME": "HR", + "MESSAGE": "TEst Rule", + "NOTIFICATION_DISPLAY_NAME": "", + "NOTIFICATION_NAME": "*", + "NOTIFICATION_SUBJECT": "", + "NO_OF_ROWS": 1, + "REPLACEMENT_USER_NAME": "70915", + "ROW_NUM": 1, + "RULE_ID": 7770756, + "RULE_NAME": "Delegate: Al Oulah, Mohammed", + "RULE_STATUS": "Active", + "RULE_TIP_MESSAGE": "", + "TO_ROW_NUM": 1 + } + + ]; + + } + + ngOnInit() { + console.log('OnInit'); + this.getVacationRules(); + console.log(this.GetVacationRulesList); + } + + getVacationRules() { + this.P_PAGE_NUM = 1; + this.IsReachEnd = false; + let request: VacationRuleRequest = new VacationRuleRequest(); + request.P_PAGE_LIMIT = this.P_PAGE_LIMIT; + request.P_PAGE_NUM = this.P_PAGE_NUM; + + this.vacationRuleService.getVacationRule(request, () => { + this.getVacationRules(); + }, this.ts.trPK('general', 'retry')).subscribe((result) => { + if (this.cs.validResponse(result)) { + console.log(result); + console.log(JSON.stringify(result)); + } else { + this.cs.presentAlert(result.ErrorEndUserMessage); + } + }); + } + + deleteFunc(i) { + } + + updateFunc(i) { + } + +} diff --git a/Mohem/src/app/vacation-rule/model/VacationRuleRequest.ts b/Mohem/src/app/vacation-rule/model/VacationRuleRequest.ts new file mode 100644 index 00000000..bb65276d --- /dev/null +++ b/Mohem/src/app/vacation-rule/model/VacationRuleRequest.ts @@ -0,0 +1,7 @@ +import { Request } from '../../hmg-common/services/models/request'; + +export class VacationRuleRequest extends Request { + public static SHARED_DATA = 'vacation-request'; + public P_PAGE_NUM: number; + public P_PAGE_LIMIT: number; +} \ No newline at end of file diff --git a/Mohem/src/app/vacation-rule/service/vacation-rule-service.service.spec.ts b/Mohem/src/app/vacation-rule/service/vacation-rule-service.service.spec.ts new file mode 100644 index 00000000..a679f19b --- /dev/null +++ b/Mohem/src/app/vacation-rule/service/vacation-rule-service.service.spec.ts @@ -0,0 +1,12 @@ +import { TestBed } from '@angular/core/testing'; + +import { VacationRuleServiceService } from './vacation-rule-service.service'; + +describe('VacationRuleServiceService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: VacationRuleServiceService = TestBed.get(VacationRuleServiceService); + expect(service).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/vacation-rule/service/vacation-rule-service.service.ts b/Mohem/src/app/vacation-rule/service/vacation-rule-service.service.ts new file mode 100644 index 00000000..fd9d5e46 --- /dev/null +++ b/Mohem/src/app/vacation-rule/service/vacation-rule-service.service.ts @@ -0,0 +1,35 @@ +import { Response } from 'src/app/hmg-common/services/models/response'; +import { VacationRuleRequest } from './../model/VacationRuleRequest'; +import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service'; +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; +import { ConnectorService } from 'src/app/hmg-common/services/connector/connector.service'; + +@Injectable({ + providedIn: 'root' +}) +export class VacationRuleServiceService { + + /* Vacation Rule Methods */ + public static getVacationRule = 'Services/ERP.svc/REST/GET_VACATION_RULES'; + public static changePassword = 'Services/ERP.svc/REST/ChangePassword_FromActiveSession'; + public static userChecking = 'Services/ERP.svc/REST/Get_BasicUserInformation'; + public static getVacationType = 'Services/ERP.svc/REST/GET_VR_ITEM_TYPES'; + public static getNotificationType = 'Services/ERP.svc/REST/GET_ITEM_TYPE_NOTIFICATIONS'; + public static createVacationRule = 'Services/ERP.svc/REST/CREATE_VACATION_RULE'; + public static deleteVacationRule = 'Services/ERP.svc/REST/DELETE_VACATION_RULE'; + public static updateVacationRule = 'Services/ERP.svc/REST/UPDATE_VACATION_RULE'; + public static respondAttributes = 'Services/ERP.svc/REST/GET_RESPOND_ATTRIBUTES'; + public static notificationReassign = 'Services/ERP.svc/REST/GET_NOTIFICATION_REASSIGN_MODE'; + + constructor(public authService: AuthenticationService, public con: ConnectorService) { } + + + public getVacationRule(vacationRuleRequest: VacationRuleRequest, onError: any, errorLabel: string): Observable { + const request = vacationRuleRequest; + console.log(request); + this.authService.authenticateRequest(request); + return this.con.post(VacationRuleServiceService.getVacationRule, request, onError, errorLabel) + } + +} diff --git a/Mohem/src/app/vacation-rule/vacation-rule.module.ts b/Mohem/src/app/vacation-rule/vacation-rule.module.ts new file mode 100644 index 00000000..2bf8e2eb --- /dev/null +++ b/Mohem/src/app/vacation-rule/vacation-rule.module.ts @@ -0,0 +1,38 @@ +import { HmgCommonModule } from './../hmg-common/hmg-common.module'; +import { HomeComponent } from './home/home.component'; +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { Routes, RouterModule } from '@angular/router'; + +import { IonicModule } from '@ionic/angular'; + +import { VacationRulePage } from './vacation-rule.page'; + +const routes: Routes = [ + { + path: '', + component: VacationRulePage, + children: [ + { + path: 'home', + component: HomeComponent + } + ] + } +]; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + HmgCommonModule, + RouterModule.forChild(routes) + ], + declarations: [ + VacationRulePage, + HomeComponent + ] +}) +export class VacationRulePageModule { } diff --git a/Mohem/src/app/vacation-rule/vacation-rule.page.html b/Mohem/src/app/vacation-rule/vacation-rule.page.html new file mode 100644 index 00000000..1da5b50d --- /dev/null +++ b/Mohem/src/app/vacation-rule/vacation-rule.page.html @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/Mohem/src/app/vacation-rule/vacation-rule.page.scss b/Mohem/src/app/vacation-rule/vacation-rule.page.scss new file mode 100644 index 00000000..e69de29b diff --git a/Mohem/src/app/vacation-rule/vacation-rule.page.spec.ts b/Mohem/src/app/vacation-rule/vacation-rule.page.spec.ts new file mode 100644 index 00000000..5b482f8e --- /dev/null +++ b/Mohem/src/app/vacation-rule/vacation-rule.page.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { VacationRulePage } from './vacation-rule.page'; + +describe('VacationRulePage', () => { + let component: VacationRulePage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ VacationRulePage ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(VacationRulePage); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/vacation-rule/vacation-rule.page.ts b/Mohem/src/app/vacation-rule/vacation-rule.page.ts new file mode 100644 index 00000000..e9c3ff3c --- /dev/null +++ b/Mohem/src/app/vacation-rule/vacation-rule.page.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-vacation-rule', + templateUrl: './vacation-rule.page.html', + styleUrls: ['./vacation-rule.page.scss'], +}) +export class VacationRulePage implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/Mohem/src/assets/icon/progress-loading.gif b/Mohem/src/assets/icon/progress-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..df5620d43be7c89d5264cfbb81c0046f88033a03 GIT binary patch literal 170486 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 literal 0 HcmV?d00001 diff --git a/Mohem/src/assets/localization/i18n.json b/Mohem/src/assets/localization/i18n.json index 3467ca8a..1b030c8e 100644 --- a/Mohem/src/assets/localization/i18n.json +++ b/Mohem/src/assets/localization/i18n.json @@ -4,671 +4,700 @@ "ar", "fr" ], -"login": { "login": { - "en": "Login", - "ar": "الدخول" - }, - "username":{ - "en":"User Name", - "ar":"اسم المستخدم" - }, - "login-type": { - "en": "Login Type", - "ar": "نوع الدخول" - }, - "register": { - "en": "Register", - "ar": "التسجيل" - }, - "sign-out": { - "en": "Are you sure you want to Sign Out", - "ar": "هل أنت متأكد من إغلاق الحساب" - }, - "forgot-id": { - "en": "Forgot Patient ID", - "ar": "نسيت رقم الملف" - }, - "forgot-password": { - "en": "Forgot Password", - "ar": "نسيت كلمة المرور" - }, - "password": { - "en": "Password", - "ar": "كلمه السر" - }, - "changepassword": { - "en": "Change Password", - "ar": "غير كلمة السر" - }, - "forgot-your-id": { - "en": "Forgot Your Patient ID", - "ar": "هل نسيت رقم ملف المريض" - }, - "forgot-desc": { - "en": "Enter your mobile number to receive your patient file number via SMS", - "ar": "أدخل رقم جوالك لاستلام رقم الملف الخاص بك عن طريق الرسائل النصية" - }, - "enter-email": { - "en": "Please you need to enter your email", - "ar": "لو سمحت أدخل البريد الإلكتروني الخاص بك" - }, - "enable-biometric": { - "en": "Do you want to use biometric sensors to ease your login", - "ar": "هل ترغب في استخدام أجهزة الاستشعار البصمة لتسهيل تسجيل دخولك" - }, - "face": { - "en": "Do you want to login with face recognition", - "ar": "هل تود الدخول ببصمة الوجة" - }, - "finger": { - "en": "Do you want to login with finger print", - "ar": "هل تود الدخول ببصمة الإصبع" - }, - "signout": { - "en": "Sign Out", - "ar": "تسجيل خروج" - }, - "find-us": { - "en": "Find us on social", - "ar": "تواصل معنا" - }, - "login-register": { - "en": "Login / Register", - "ar": "دخول / تسجيل" - }, - "id-or-file": { - "en": "ID or File No", - "ar": "هوية أو رقم الملف" - }, - "national-id-or-iqama": { - "en": "National ID or Iqama", - "ar": "رقم الهوية أو الإقامة" - }, - "sms-page":{ - "en": "Verify OTP", - "ar":"تحقق مرة واحدة كلمة المرور" - } -}, -"verificationcode": -{ - "verificationcode":{ - "en":"Verification Code", - "ar":"رمز التحقق" - }, - "emptyCode":{ - "en":"Please enter the verification code", - "ar":"الرجاء ادخال رمز التحقق" - }, - "title":{ - "en":"You will receive a ", - "ar":" سوف تستلم " - }, - "by":{ - "en":" by ", - "ar":"عن طريق " - }, - "sms":{ - "en":"SMS", - "ar":" رسالة نصية " - }, - "instruct":{ - "en":" fill the code and ", - "ar":" ادخل الرمز و اضغط " - } -}, -"general": { - "birth_date": { - "en": "Birth Date", - "ar": "تاريخ الميلاد" - }, - "alert": { - "en": "Alert", - "ar": "تنبية" - }, - "details": { - "en": "Details", - "ar": "التفاصيل" - }, - "title": { - "en": "Title", - "ar": "العنوان" - }, - "info": { - "en": "Information", - "ar": "معلومات" - }, - "reset": { - "en": "Reset", - "ar": "إعادة تعيين" - }, - "ok": { - "en": "Ok", - "ar": "موافق" - }, - "confirm": { - "en": "Confirm", - "ar": "تأكيد" - }, - "cancel": { - "en": "Cancel", - "ar": "إلغاء" - }, - "done": { - "en": "Done", - "ar": "تم" - }, - "close": { - "en": "Close", - "ar": "إغلق" - }, - "back": { - "en": "Back", - "ar": "رجوع" - }, - "about": { - "en": "About", - "ar": "عن" - }, - "hide": { - "en": "Hide", - "ar": "إخفي" - }, - "select-only": { - "en": "Select", - "ar": "إختر" - }, - "select": { - "en": "Please select", - "ar": "إختر لو سمحت" - }, - "need": { - "en": "You need", - "ar": "أنت تحتاج" - }, - "hospital.location": { - "en": "Hospital Location", - "ar": "مكان المستشفي" - }, - "complaint": { - "en": "Raise Complaint", - "ar": "إرفع شكوي" - }, - "retry": { - "en": "Retry", - "ar": "أعد" - }, - "cart": { - "en": "Add to cart", - "ar": "أضف للسلة" - }, - "reminder": { - "en": "Add Reminder", - "ar": "أضف تذكير" - }, - "cancel-reminder": { - "en": "Cancel Reminder", - "ar": "الغي تذكير" - }, - "send-copy": { - "en": "Send Copy", - "ar": "أرسل نسخة" - }, - "personal-info": { - "en": "Personal Information", - "ar": "البيانات الشخصية" - }, - "qualification": { - "en": "Qualifications", - "ar": "المؤهلات" - }, - "nationality": { - "en": "Nationality", - "ar": "الجنسية" - }, - "empty": { - "en": "Sorry no data avaiable", - "ar": "لا يوجد بيانات" - }, - "no-match": { - "en": "Sorry no match", - "ar": "لا توجد نتيجة" - }, - "home": { - "en": "Home", - "ar": "الرئيسية" - }, - "date": { - "en": "Date", - "ar": "التاريخ" - }, - "num": { - "en": "No", - "ar": "الرقم" - }, - "time": { - "en": "Time", - "ar": "االوقت" - }, - "week": { - "en": "Week", - "ar": "أسبوع" - }, - "weeks": { - "en": "Weeks", - "ar": "أسابيع" - }, - "month": { - "en": "Month", - "ar": "شهر" - }, - "year": { - "en": "Year", - "ar": "سنة" - }, - "delete": { - "en": "Delete", - "ar": "إحذف" - }, - "add": { - "en": "Add", - "ar": "أضف" - }, - "edit": { - "en": "Edit", - "ar": "تعديل" - }, - "measure-unit": { - "en": "Measure unit", - "ar": "وحدة القياس" - }, - "measure-time": { - "en": "Measure time", - "ar": "وقت القياس" - }, - "save": { - "en": "Save", - "ar": "إحفظ" - }, - "success": { - "en": "Done successfully", - "ar": "تم بنجاح" - }, - "other": { - "en": "Other", - "ar": "أخري" - }, - "provide-missing": { - "en": "Please provide required information", - "ar": "لو سمحت قم بإدخال البيانات المطلوبة" - }, - "type": { - "en": "Type", - "ar": "النوع" - }, - "location": { - "en": "Location", - "ar": "المكان" - }, - "sequence": { - "en": "Sequence", - "ar": "رقم" - }, - "status": { - "en": "Status", - "ar": "الحالة" - }, - "scan": { - "en": "Scan", - "ar": "إبحث" - }, - "stop": { - "en": "Stop", - "ar": "توقف" - }, - "stop-connection": { - "en": "Stop Connection", - "ar": "وقف الإتصال" - }, - "remove-measure": { - "en": "Are you sure you want to remove this measure", - "ar": "هل متأكد تريد حذف عذة القراءة" - }, - "optional": { - "en": "Optional", - "ar": "خياري" - }, - "search": { - "en": "Search", - "ar": "إبحث" - }, - "advanced-search": { - "en": "Advanced Search", - "ar": "بحث متقدم" - }, - "email": { - "en": "Email", - "ar": "البريد الالكتروني" - }, - "filter": { - "en": "Filter", - "ar": "تفضيل" - }, - "first-name": { - "en": "First Name", - "ar": "الاسم الأول" - }, - "middle-name": { - "en": "Middle Name", - "ar": "إسم الوالد" - }, - "last-name": { - "en": "Last Name", - "ar": "إسم العائلة" - }, - "subject": { - "en": "Subject", - "ar": "موضوع" - }, - "message": { - "en": "Message", - "ar": "رسالة" - }, - "attachment": { - "en": "Attachment", - "ar": "مرفق" - }, - "select-attachment": { - "en": "Select Attachment", - "ar": "إختر مرفق" - }, - "large-file": { - "en": "Kindly select smaller file", - "ar": "لو سمحت إختر ملف أصغر" - }, - "open": { - "en": "Open", - "ar": "إفتح" - }, - "submit": { - "en": "Submit", - "ar": "أرسل" - }, - "enter-sms-code": { - "en": "Enter verification code", - "ar": "أدخل رقم التعريف" - }, - "enter-sms-enable-biometric": { - "en": "Enter verification for biometric", - "ar": "أدخل رقم التفعيل للبصمة" - }, - "enter-sms": { - "en": "Enter sms ", - "ar": "أدخل رقم الرسالة" - }, - "no-need": { - "en": "No Need", - "ar": "لا حاجة" - }, - "search-citeria": { - "en": "Select search criteria", - "ar": "إختر كيفية البحث" - }, - "search-by-complaint": { - "en": "Chaif Complaint Number", - "ar": "رقم الشكوي" - }, - "complaint-num": { - "en": "Complaint No", - "ar": "رقم الشكوي" - }, - "search-by-file": { - "en": "File Number", - "ar": "رقم الملف" - }, - "search-by-id": { - "en": "Identification Number", - "ar": "رقم الإقامة" - }, - "enter-complaint-no": { - "en": "Enter Chaif Complaint Number", - "ar": "أدخل رقم الشكوي" - }, - "enter-file-no": { - "en": "Enter File Number", - "ar": "أدخل رقم الملف" - }, - "file-no": { - "en": "File Number", - "ar": "رقم الملف" - }, - "enter-id-no": { - "en": "Enter Identification Number", - "ar": "أدخل رقم الإقامة أو الهوية" - }, - "id-no": { - "en": "Identification Number", - "ar": "رقم الإقامة أو الهوية" - }, - "enter-national-id": { - "en": "Enter National ID", - "ar": "أدخل رقم الهوية" - }, - "national-id": { - "en": "National ID", - "ar": "رقم الهوية" - }, - "enter-iqama-no": { - "en": "Enter ID Number", - "ar": "أدخل رقم الإقامة" - }, - "iqama-no": { - "en": "ID Number", - "ar": "رقم الإقامة" - }, - "complaint-no": { - "en": "Complaint No", - "ar": "رقم الشكوي" - }, - "number": { - "en": "Number", - "ar": "الرقم" - }, - "accept": { - "en": "Accept", - "ar": "موافق" - }, - "decline": { - "en": "Decline", - "ar": "أرفض" - }, - "usage-agreement": { - "en": "Usage Agreement", - "ar": "إتفاق الإستخدام" - }, - "loading": { - "en": "Loading ...", - "ar": "يتم التحميل ..." - }, - "email-sent": { - "en": "Email sent successfully", - "ar": "تم إرسال نسخة إلي البريد الإلكتروني" - }, - "send-email": { - "en": "Do you want to send copy of this examination to your personal email
[0]", - "ar": "هل تريد إرسال نسخة من هذا الاختبار إلى بريدك الإلكتروني الشخصي
[0]" - }, - "relogin": { - "en": "You need to login to use this service", - "ar": "تحتاج إلي الدخول لحسابك من أجل إستخدام هذة الخدمة" - }, - "idle-relogin": { - "en": "Your session has expired kindly relogin to use this service ", - "ar": "انتهت صلاحية جلستك يرجى التفضل بإعادة الدخول لإستخدام هذه الخدمة" - }, - "select-type": { - "en": "Select One", - "ar": "اختر فئة" - }, - "from": { - "en": "From", - "ar": "من" - }, - "to": { - "en": "To", - "ar": "الى" - }, - "result": { - "en": "Result", - "ar": "النتيجة" - }, - "select-date": { - "en": "Select Date", - "ar": "إختر ميعاد" - }, - "normal": { - "en": "Normal", - "ar": "عادي" - }, - "use-pin": { - "en": "Use Pin", - "ar": "إستخدم الرقم التعريفي" - }, - "auth-please": { - "en": "Please Authenticated", - "ar": "عرف نفسك" - }, - "dial-code": { - "en": "Dial Code", - "ar": "كود الإتصال" - }, - "country": { - "en": "Country", - "ar": "الدولة" - }, - "settings": { - "en": "Settings", - "ar": "إعدادات" - }, - "about-app": { - "en": "About the app", - "ar": "عن التطبيق" - }, - "mobile": { - "en": "Mobile No", - "ar": "رقم الجوال" - }, - "english": { - "en": "English", - "ar": "الإنجليزية" - }, - "english-change": { - "en": "الإنجليزية", - "ar": "English" - }, - "arabic": { - "en": "Arabic", - "ar": "العربية" - }, - "arabic-change": { - "en": "العربية", - "ar": "Arabic" - }, - "switch-lng": { - "en": "Do you want to change current language", - "ar": "هل تريد تغيير اللغة" - }, - "show-more": { - "en": "Show More >", - "ar": "عرض المزيد >" - }, - "read-less": { - "en": "Read Less <", - "ar": "قراءة أقل <" - }, - "read-more": { - "en": "Read More >", - "ar": "اقرأ المزيد >" - }, - "more":{ - "en": "More...", - "ar": "أكثر..." - }, - "send-email-short": { - "en": "Email", - "ar": "بريد" - }, - "hi": { - "en": "HI", - "ar": "مرحبا" - }, - "blood-type": { - "en": "blood type", - "ar": "فصيلة الدم" - }, - "sync-success": { - "en": "Data Synced Successfully", - "ar": "تمت مزامنة البيانات بنجاح" - }, - "already-synced": { - "en": "Latest data already synced", - "ar": "أحدث البيانات المتزامنة بالفعل" - }, - "weekly": { - "en": "Weekly", - "ar": "أسبوعي" - }, - "monthly": { - "en": "Monthly", - "ar": "شهريا" - }, - "yearly": { - "en": "Yearly", - "ar": "سنوي" - }, - "report-view": { - "en": "Report View", - "ar": "عرض تقرير" - }, - "graph-view": { - "en": "Graph View", - "ar": "عرض الرسم البياني" - }, - "distance-covered": { - "en": "Distance covered in KMs", - "ar": "المسافة المقطوعة بالكيلومترات" - }, - "steps-covered": { - "en": "Steps covered", - "ar": "الخطوات المغطاة" - }, - "hours-asleep": { - "en": "Time asleep in hours", - "ar": "الوقت نائم في ساعات" - }, - "bad": { - "en": "Bad", - "ar": "سيئ" - }, - "poor": { - "en": "Poor", - "ar": "ضعيف" - }, - "acceptable": { - "en": "Acceptable", - "ar": "مقبول" - }, - "good": { - "en": "Good", - "ar": "جيد" - }, - "excellent": { - "en": "Excellent", - "ar": "ممتاز" - }, - "not-allowed": { - "en": "User has no permissions", - "ar": "المستخدم ليس لدية صلاحيات" + "login": { + "en": "Login", + "ar": "الدخول" + }, + "username": { + "en": "User Name", + "ar": "اسم المستخدم" + }, + "login-type": { + "en": "Login Type", + "ar": "نوع الدخول" + }, + "register": { + "en": "Register", + "ar": "التسجيل" + }, + "sign-out": { + "en": "Are you sure you want to Sign Out", + "ar": "هل أنت متأكد من إغلاق الحساب" + }, + "forgot-id": { + "en": "Forgot Patient ID", + "ar": "نسيت رقم الملف" + }, + "forgot-password": { + "en": "Forgot Password", + "ar": "نسيت كلمة المرور" + }, + "password": { + "en": "Password", + "ar": "كلمه السر" + }, + "changepassword": { + "en": "Change Password", + "ar": "غير كلمة السر" + }, + "forgot-your-id": { + "en": "Forgot Your Patient ID", + "ar": "هل نسيت رقم ملف المريض" + }, + "forgot-desc": { + "en": "Enter your mobile number to receive your patient file number via SMS", + "ar": "أدخل رقم جوالك لاستلام رقم الملف الخاص بك عن طريق الرسائل النصية" + }, + "enter-email": { + "en": "Please you need to enter your email", + "ar": "لو سمحت أدخل البريد الإلكتروني الخاص بك" + }, + "enable-biometric": { + "en": "Do you want to use biometric sensors to ease your login", + "ar": "هل ترغب في استخدام أجهزة الاستشعار البصمة لتسهيل تسجيل دخولك" + }, + "face": { + "en": "Do you want to login with face recognition", + "ar": "هل تود الدخول ببصمة الوجة" + }, + "finger": { + "en": "Do you want to login with finger print", + "ar": "هل تود الدخول ببصمة الإصبع" + }, + "signout": { + "en": "Sign Out", + "ar": "تسجيل خروج" + }, + "find-us": { + "en": "Find us on social", + "ar": "تواصل معنا" + }, + "login-register": { + "en": "Login / Register", + "ar": "دخول / تسجيل" + }, + "id-or-file": { + "en": "ID or File No", + "ar": "هوية أو رقم الملف" + }, + "national-id-or-iqama": { + "en": "National ID or Iqama", + "ar": "رقم الهوية أو الإقامة" + }, + "sms-page": { + "en": "Verify OTP", + "ar": "تحقق مرة واحدة كلمة المرور" + } + }, + "vacation-rule": { + "main-heading": { + "en": "

You can EDIT or DELETE your current rules or CREATE RULE

", + "ar": "

يمكنك تعديل أو حذف القواعد الحالية أو إنشاء قاعدة جديدة

" + }, + "rule-Info": { + "en": "Rule Information", + "ar": "معلومات القاعدة" + }, + "rule-name": { + "en": "Rule Name", + "ar": "اسم القاعدة" + }, + "rule-type": { + "en": "Item Type", + "ar": "نوع العنصر" + }, + "notification-label": { + "en": "Notification", + "ar": "إعلام" + }, + "rule-status": { + "en": "Status", + "ar": "الحالة" + } + }, + "verificationcode": { + "verificationcode": { + "en": "Verification Code", + "ar": "رمز التحقق" + }, + "emptyCode": { + "en": "Please enter the verification code", + "ar": "الرجاء ادخال رمز التحقق" + }, + "title": { + "en": "You will receive a ", + "ar": " سوف تستلم " + }, + "by": { + "en": " by ", + "ar": "عن طريق " + }, + "sms": { + "en": "SMS", + "ar": " رسالة نصية " + }, + "instruct": { + "en": " fill the code and ", + "ar": " ادخل الرمز و اضغط " + } + }, + "general": { + "birth_date": { + "en": "Birth Date", + "ar": "تاريخ الميلاد" + }, + "alert": { + "en": "Alert", + "ar": "تنبية" + }, + "details": { + "en": "Details", + "ar": "التفاصيل" + }, + "title": { + "en": "Title", + "ar": "العنوان" + }, + "info": { + "en": "Information", + "ar": "معلومات" + }, + "reset": { + "en": "Reset", + "ar": "إعادة تعيين" + }, + "ok": { + "en": "Ok", + "ar": "موافق" + }, + "confirm": { + "en": "Confirm", + "ar": "تأكيد" + }, + "cancel": { + "en": "Cancel", + "ar": "إلغاء" + }, + "done": { + "en": "Done", + "ar": "تم" + }, + "close": { + "en": "Close", + "ar": "إغلق" + }, + "back": { + "en": "Back", + "ar": "رجوع" + }, + "about": { + "en": "About", + "ar": "عن" + }, + "hide": { + "en": "Hide", + "ar": "إخفي" + }, + "select-only": { + "en": "Select", + "ar": "إختر" + }, + "select": { + "en": "Please select", + "ar": "إختر لو سمحت" + }, + "need": { + "en": "You need", + "ar": "أنت تحتاج" + }, + "hospital.location": { + "en": "Hospital Location", + "ar": "مكان المستشفي" + }, + "complaint": { + "en": "Raise Complaint", + "ar": "إرفع شكوي" + }, + "retry": { + "en": "Retry", + "ar": "أعد" + }, + "cart": { + "en": "Add to cart", + "ar": "أضف للسلة" + }, + "reminder": { + "en": "Add Reminder", + "ar": "أضف تذكير" + }, + "cancel-reminder": { + "en": "Cancel Reminder", + "ar": "الغي تذكير" + }, + "send-copy": { + "en": "Send Copy", + "ar": "أرسل نسخة" + }, + "personal-info": { + "en": "Personal Information", + "ar": "البيانات الشخصية" + }, + "qualification": { + "en": "Qualifications", + "ar": "المؤهلات" + }, + "nationality": { + "en": "Nationality", + "ar": "الجنسية" + }, + "empty": { + "en": "Sorry no data avaiable", + "ar": "لا يوجد بيانات" + }, + "no-match": { + "en": "Sorry no match", + "ar": "لا توجد نتيجة" + }, + "home": { + "en": "Home", + "ar": "الرئيسية" + }, + "date": { + "en": "Date", + "ar": "التاريخ" + }, + "num": { + "en": "No", + "ar": "الرقم" + }, + "time": { + "en": "Time", + "ar": "االوقت" + }, + "week": { + "en": "Week", + "ar": "أسبوع" + }, + "weeks": { + "en": "Weeks", + "ar": "أسابيع" + }, + "month": { + "en": "Month", + "ar": "شهر" + }, + "year": { + "en": "Year", + "ar": "سنة" + }, + "delete": { + "en": "Delete", + "ar": "إحذف" + }, + "add": { + "en": "Add", + "ar": "أضف" + }, + "edit": { + "en": "Edit", + "ar": "تعديل" + }, + "measure-unit": { + "en": "Measure unit", + "ar": "وحدة القياس" + }, + "measure-time": { + "en": "Measure time", + "ar": "وقت القياس" + }, + "save": { + "en": "Save", + "ar": "إحفظ" + }, + "success": { + "en": "Done successfully", + "ar": "تم بنجاح" + }, + "other": { + "en": "Other", + "ar": "أخري" + }, + "provide-missing": { + "en": "Please provide required information", + "ar": "لو سمحت قم بإدخال البيانات المطلوبة" + }, + "type": { + "en": "Type", + "ar": "النوع" + }, + "location": { + "en": "Location", + "ar": "المكان" + }, + "sequence": { + "en": "Sequence", + "ar": "رقم" + }, + "status": { + "en": "Status", + "ar": "الحالة" + }, + "scan": { + "en": "Scan", + "ar": "إبحث" + }, + "stop": { + "en": "Stop", + "ar": "توقف" + }, + "stop-connection": { + "en": "Stop Connection", + "ar": "وقف الإتصال" + }, + "remove-measure": { + "en": "Are you sure you want to remove this measure", + "ar": "هل متأكد تريد حذف عذة القراءة" + }, + "optional": { + "en": "Optional", + "ar": "خياري" + }, + "search": { + "en": "Search", + "ar": "إبحث" + }, + "advanced-search": { + "en": "Advanced Search", + "ar": "بحث متقدم" + }, + "email": { + "en": "Email", + "ar": "البريد الالكتروني" + }, + "filter": { + "en": "Filter", + "ar": "تفضيل" + }, + "first-name": { + "en": "First Name", + "ar": "الاسم الأول" + }, + "middle-name": { + "en": "Middle Name", + "ar": "إسم الوالد" + }, + "last-name": { + "en": "Last Name", + "ar": "إسم العائلة" + }, + "subject": { + "en": "Subject", + "ar": "موضوع" + }, + "message": { + "en": "Message", + "ar": "رسالة" + }, + "attachment": { + "en": "Attachment", + "ar": "مرفق" + }, + "select-attachment": { + "en": "Select Attachment", + "ar": "إختر مرفق" + }, + "large-file": { + "en": "Kindly select smaller file", + "ar": "لو سمحت إختر ملف أصغر" + }, + "open": { + "en": "Open", + "ar": "إفتح" + }, + "submit": { + "en": "Submit", + "ar": "أرسل" + }, + "enter-sms-code": { + "en": "Enter verification code", + "ar": "أدخل رقم التعريف" + }, + "enter-sms-enable-biometric": { + "en": "Enter verification for biometric", + "ar": "أدخل رقم التفعيل للبصمة" + }, + "enter-sms": { + "en": "Enter sms ", + "ar": "أدخل رقم الرسالة" + }, + "no-need": { + "en": "No Need", + "ar": "لا حاجة" + }, + "search-citeria": { + "en": "Select search criteria", + "ar": "إختر كيفية البحث" + }, + "search-by-complaint": { + "en": "Chaif Complaint Number", + "ar": "رقم الشكوي" + }, + "complaint-num": { + "en": "Complaint No", + "ar": "رقم الشكوي" + }, + "search-by-file": { + "en": "File Number", + "ar": "رقم الملف" + }, + "search-by-id": { + "en": "Identification Number", + "ar": "رقم الإقامة" + }, + "enter-complaint-no": { + "en": "Enter Chaif Complaint Number", + "ar": "أدخل رقم الشكوي" + }, + "enter-file-no": { + "en": "Enter File Number", + "ar": "أدخل رقم الملف" + }, + "file-no": { + "en": "File Number", + "ar": "رقم الملف" + }, + "enter-id-no": { + "en": "Enter Identification Number", + "ar": "أدخل رقم الإقامة أو الهوية" + }, + "id-no": { + "en": "Identification Number", + "ar": "رقم الإقامة أو الهوية" + }, + "enter-national-id": { + "en": "Enter National ID", + "ar": "أدخل رقم الهوية" + }, + "national-id": { + "en": "National ID", + "ar": "رقم الهوية" + }, + "enter-iqama-no": { + "en": "Enter ID Number", + "ar": "أدخل رقم الإقامة" + }, + "iqama-no": { + "en": "ID Number", + "ar": "رقم الإقامة" + }, + "complaint-no": { + "en": "Complaint No", + "ar": "رقم الشكوي" + }, + "number": { + "en": "Number", + "ar": "الرقم" + }, + "accept": { + "en": "Accept", + "ar": "موافق" + }, + "decline": { + "en": "Decline", + "ar": "أرفض" + }, + "usage-agreement": { + "en": "Usage Agreement", + "ar": "إتفاق الإستخدام" + }, + "loading": { + "en": "Loading ...", + "ar": "يتم التحميل ..." + }, + "email-sent": { + "en": "Email sent successfully", + "ar": "تم إرسال نسخة إلي البريد الإلكتروني" + }, + "send-email": { + "en": "Do you want to send copy of this examination to your personal email
[0]", + "ar": "هل تريد إرسال نسخة من هذا الاختبار إلى بريدك الإلكتروني الشخصي
[0]" + }, + "relogin": { + "en": "You need to login to use this service", + "ar": "تحتاج إلي الدخول لحسابك من أجل إستخدام هذة الخدمة" + }, + "idle-relogin": { + "en": "Your session has expired kindly relogin to use this service ", + "ar": "انتهت صلاحية جلستك يرجى التفضل بإعادة الدخول لإستخدام هذه الخدمة" + }, + "select-type": { + "en": "Select One", + "ar": "اختر فئة" + }, + "from": { + "en": "From", + "ar": "من" + }, + "to": { + "en": "To", + "ar": "الى" + }, + "result": { + "en": "Result", + "ar": "النتيجة" + }, + "select-date": { + "en": "Select Date", + "ar": "إختر ميعاد" + }, + "normal": { + "en": "Normal", + "ar": "عادي" + }, + "use-pin": { + "en": "Use Pin", + "ar": "إستخدم الرقم التعريفي" + }, + "auth-please": { + "en": "Please Authenticated", + "ar": "عرف نفسك" + }, + "dial-code": { + "en": "Dial Code", + "ar": "كود الإتصال" + }, + "country": { + "en": "Country", + "ar": "الدولة" + }, + "settings": { + "en": "Settings", + "ar": "إعدادات" + }, + "about-app": { + "en": "About the app", + "ar": "عن التطبيق" + }, + "mobile": { + "en": "Mobile No", + "ar": "رقم الجوال" + }, + "english": { + "en": "English", + "ar": "الإنجليزية" + }, + "english-change": { + "en": "الإنجليزية", + "ar": "English" + }, + "arabic": { + "en": "Arabic", + "ar": "العربية" + }, + "arabic-change": { + "en": "العربية", + "ar": "Arabic" + }, + "switch-lng": { + "en": "Do you want to change current language", + "ar": "هل تريد تغيير اللغة" + }, + "show-more": { + "en": "Show More >", + "ar": "عرض المزيد >" + }, + "read-less": { + "en": "Read Less <", + "ar": "قراءة أقل <" + }, + "read-more": { + "en": "Read More >", + "ar": "اقرأ المزيد >" + }, + "more": { + "en": "More...", + "ar": "أكثر..." + }, + "send-email-short": { + "en": "Email", + "ar": "بريد" + }, + "hi": { + "en": "HI", + "ar": "مرحبا" + }, + "blood-type": { + "en": "blood type", + "ar": "فصيلة الدم" + }, + "sync-success": { + "en": "Data Synced Successfully", + "ar": "تمت مزامنة البيانات بنجاح" + }, + "already-synced": { + "en": "Latest data already synced", + "ar": "أحدث البيانات المتزامنة بالفعل" + }, + "weekly": { + "en": "Weekly", + "ar": "أسبوعي" + }, + "monthly": { + "en": "Monthly", + "ar": "شهريا" + }, + "yearly": { + "en": "Yearly", + "ar": "سنوي" + }, + "report-view": { + "en": "Report View", + "ar": "عرض تقرير" + }, + "graph-view": { + "en": "Graph View", + "ar": "عرض الرسم البياني" + }, + "distance-covered": { + "en": "Distance covered in KMs", + "ar": "المسافة المقطوعة بالكيلومترات" + }, + "steps-covered": { + "en": "Steps covered", + "ar": "الخطوات المغطاة" + }, + "hours-asleep": { + "en": "Time asleep in hours", + "ar": "الوقت نائم في ساعات" + }, + "bad": { + "en": "Bad", + "ar": "سيئ" + }, + "poor": { + "en": "Poor", + "ar": "ضعيف" + }, + "acceptable": { + "en": "Acceptable", + "ar": "مقبول" + }, + "good": { + "en": "Good", + "ar": "جيد" + }, + "excellent": { + "en": "Excellent", + "ar": "ممتاز" + }, + "not-allowed": { + "en": "User has no permissions", + "ar": "المستخدم ليس لدية صلاحيات" + }, + "vacation-rule": { + "en": "Vacation Rule", + "ar": "قاعدة عطلة" + } } -} } \ No newline at end of file From b967536b265cd3e7305ce6dc9f409bec88454e5b Mon Sep 17 00:00:00 2001 From: Sultan Khan Date: Wed, 26 Jun 2019 17:04:03 +0300 Subject: [PATCH 06/22] update home --- Mohem/src/app/app.component.html | 4 +- Mohem/src/app/app.component.scss | 267 ++-- Mohem/src/app/app.component.ts | 2 +- .../authentication/forgot/forgot.component.ts | 2 +- .../authentication/login/login.component.ts | 9 +- Mohem/src/app/hmg-common/hmg-common.module.ts | 5 +- .../authentication/authentication.service.ts | 1177 +++++++++-------- .../models/authenticated-user.ts | 142 +- .../models/check-activation-code.response.ts | 5 + .../authentication/models/smscheck.request.ts | 2 +- .../models/smscheck.response.ts | 9 +- .../services/geofencing/geofencing.service.ts | 4 +- .../services/menu/menuservice.service.spec.ts | 12 + .../services/menu/menuservice.service.ts | 50 + .../services/menu/models/list.menu.ts | 7 + .../menu/models/menu-entries.request.ts | 6 + .../services/menu/models/menu-response.ts | 9 + .../services/menu/models/menu.entry.ts | 13 + .../services/menu/models/request.ts | 18 + .../app/hmg-common/services/models/request.ts | 13 +- .../services/translator/translator.service.ts | 2 +- Mohem/src/app/home/home.page.html | 4 +- Mohem/src/app/home/home.page.ts | 71 +- Mohem/src/theme/styles.scss | 8 +- 24 files changed, 1068 insertions(+), 773 deletions(-) create mode 100644 Mohem/src/app/hmg-common/services/menu/menuservice.service.spec.ts create mode 100644 Mohem/src/app/hmg-common/services/menu/menuservice.service.ts create mode 100644 Mohem/src/app/hmg-common/services/menu/models/list.menu.ts create mode 100644 Mohem/src/app/hmg-common/services/menu/models/menu-entries.request.ts create mode 100644 Mohem/src/app/hmg-common/services/menu/models/menu-response.ts create mode 100644 Mohem/src/app/hmg-common/services/menu/models/menu.entry.ts create mode 100644 Mohem/src/app/hmg-common/services/menu/models/request.ts diff --git a/Mohem/src/app/app.component.html b/Mohem/src/app/app.component.html index 97f8ceb3..edf5dc1b 100644 --- a/Mohem/src/app/app.component.html +++ b/Mohem/src/app/app.component.html @@ -12,7 +12,7 @@
- +
-

{{"home.dashboard" | translate}}

+

{{"userData.dashboard" | translate}}

diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index 361f0ead..fcd61833 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -1,46 +1,59 @@ -import { Component, OnInit } from '@angular/core'; -import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; -import { MenuController } from '@ionic/angular'; +import { Component, OnInit } from "@angular/core"; +import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service"; +import { MenuController } from "@ionic/angular"; import { AuthenticationService } from "src/app/hmg-common/services/authentication/authentication.service"; import { SMSCheckResponse } from "src/app/hmg-common/services/authentication/models/smscheck.response"; -import { AuthenticatedUser } from 'src/app/hmg-common/services/authentication/models/authenticated-user'; +import { AuthenticatedUser } from "src/app/hmg-common/services/authentication/models/authenticated-user"; +import { MenuService } from "src/app/hmg-common/services/menu/menuservice.service"; +import { MenuResponse } from "src/app/hmg-common/services/menu/models/menu-response"; +import { CommonService } from "src/app/hmg-common/services/common/common.service"; @Component({ - selector: 'app-home', - templateUrl: './home.page.html', - styleUrls: ['./home.page.scss'], + selector: "app-home", + templateUrl: "./home.page.html", + styleUrls: ["./home.page.scss"] }) export class HomePage implements OnInit { - userData: any ={}; - user_image : any = "../assets/imgs/profile.png"; - constructor(public ts: TranslatorService, public menu: MenuController, public authService: AuthenticationService ) { } + userData: any = {}; + user_image: any = "../assets/imgs/profile.png"; + menuList: any = []; + constructor( + public ts: TranslatorService, + public menu: MenuController, + public authService: AuthenticationService, + public menuService: MenuService, + public common: CommonService + ) {} ngOnInit() { this.getUserDetails(); + this.getMenu(); } - private openMenu(){ + + private openMenu() { this.menu.toggle(); } - private getUserDetails(){ - const user = this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => { + private getUserDetails() { + const user = this.authService + .loadAuthenticatedUser() + .subscribe((user: AuthenticatedUser) => { if (user) { - this.userData=user; + this.userData = user; console.log(user); - }else{ + } else { console.log(user); } - }) - + }); + } + private getMenu() { + this.menuService.getMenu().subscribe((result: MenuResponse) => { + this.handleMenuResult(result); + }); + } + private handleMenuResult(result) { + if (this.common.validResponse(result)) { + if (this.common.hasData(result.List_Menu)) { + this.menuList = result.List_Menu; + } + } } -// private getMenu(){ -// this.menuService.getMenu(). -// subscribe((result: MenuResponse) => { -// this.handleMenuResult(result); -// }); -// } -// private handleMenuResult(result){ -// if (this.common.validResponse(result)) { -// if (this.common.hasData(result.List_Menu)) { -// this.menuList = result.List_Menu; -// } -// } } diff --git a/Mohem/src/theme/styles.scss b/Mohem/src/theme/styles.scss index 307a507a..7b52e4e6 100644 --- a/Mohem/src/theme/styles.scss +++ b/Mohem/src/theme/styles.scss @@ -139,10 +139,10 @@ ion-header ion-icon.icon.icon-ios.ion-ios-add{ color: (--darkgray); } .toolbar-background { - background: (--primary); - background: -moz-linear-gradient(45deg, (--primary) 0%, (--secondary) 36%,(--secondary) 59%, (--customnavy) 100%); - background: -webkit-linear-gradient(45deg, (--primary) 0%, (--secondary) 36%,(--secondary) 59%, (--customnavy) 100%); - background: linear-gradient(45deg, (--primary) 0%, (--secondary) 36%,(--secondary) 59%, (--customnavy) 100%); + background: var(--primary); + background: -moz-linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%,var(--secondary) 59%, var(--customnavy) 100%); + background: -webkit-linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%,var(--secondary) 59%, var(--customnavy) 100%); + background: linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%,var(--secondary) 59%, var(--customnavy) 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='var(--primary)', endColorstr='--var(customnavy)',GradientType=1 ); } /***************button bckground***************/ From 947fbda4da8dbd7d99c5a72c0f58d526fde0e849 Mon Sep 17 00:00:00 2001 From: Sultan Khan Date: Wed, 26 Jun 2019 17:35:41 +0300 Subject: [PATCH 07/22] update home --- .../authentication/authentication.service.ts | 485 ++++++++---------- 1 file changed, 222 insertions(+), 263 deletions(-) diff --git a/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts b/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts index e55ba276..69c0d4b7 100644 --- a/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts +++ b/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts @@ -32,73 +32,72 @@ import { ForgetPassword } from 'src/app/authentication/models/forget.password'; providedIn: "root" }) export class AuthenticationService { - public static MOBILE_USER = 102; - - /* login methods */ - public static loginURL = - "Services/Authentication.svc/REST/CheckPatientAuthentication"; - public static checkUserAuthURL = - "Services/Authentication.svc/REST/CheckPatientAuthentication"; - - public static login = "Services/ERP.svc/REST/MemberLogin"; - - public static activationCodeURL = - "Services/Authentication.svc/REST/CheckActivationCode"; - public static getLoginInfoURL = - "Services/Authentication.svc/REST/GetMobileLoginInfo"; - - public static smsCheck = "Services/ERP.svc/REST/CheckActivationCode"; - public static smsCheckForget = - "Services/ERP.svc/REST/CheckPublicActivationCode"; - public static smsSendCode = "Services/ERP.svc/REST/SendPublicActivationCode"; - - /* register methods */ - - public static checkPatientForRegisterationURL = - "Services/Authentication.svc/REST/CheckPatientForRegisteration"; - public static sendSmsForRegisterURL = - "Services/Authentication.svc/REST/SendSMSForPatientRegisteration"; - public static registerTempUserURL = - "Services/Authentication.svc/REST/RegisterTempPatientWithoutSMS"; - - public static sendSMSForgotFileNoURL = - "Services/Authentication.svc/REST/SendPatientIDSMSByMobileNumber"; - public static forgotFileIDURL = - "Services/Authentication.svc/REST/CheckActivationCodeForSendFileNo"; - public static user: AuthenticatedUser; - - public static LOGIN_EVENT = "user-login-event"; - public static FAMILY_LOGIN_EVENT = "family-login-event"; - public static AUTHENTICATED_USER_KEY = "save-authenticated-user"; - - // private static user: AuthenticatedUser; - constructor( - public con: ConnectorService, - public cs: CommonService, - public ts: TranslatorService, - public nativeStorage: NativeStorage, - public localNotifications: UserLocalNotificationService, - private events: Events - ) {} - - public authenticateRequest(request: Request, automaticLogin = true): Request { - this.setPublicFields(request); - const user = this.getAuthenticatedUser(); - if (user) { - /*user with eye prescriptions*/ - request.P_SESSION_ID = user.P_SESSION_ID; - request.MobileNumber = user.EMPLOYEE_MOBILE_NUMBER; - request.LogInTokenID = user.LogInTokenID; - request.TokenID = user.TokenID; - request.P_USER_NAME = user.EMPLOYEE_NUMBER; - request.UserName = user.EMPLOYEE_NUMBER; - if (AuthenticationService.requireRelogin) { - this.sessionTimeOutDialog(); - } - } else { - this.cs.userNeedToReLogin(); - } - /* + + + public static MOBILE_USER = 102; + + /* login methods */ + public static loginURL = 'Services/Authentication.svc/REST/CheckPatientAuthentication'; + public static checkUserAuthURL = 'Services/Authentication.svc/REST/CheckPatientAuthentication'; + + public static login = 'Services/ERP.svc/REST/MemberLogin'; + + public static activationCodeURL = 'Services/Authentication.svc/REST/CheckActivationCode'; + public static getLoginInfoURL = 'Services/Authentication.svc/REST/GetMobileLoginInfo'; + + public static smsCheck='Services/ERP.svc/REST/CheckActivationCode'; + public static smsCheckForget='Services/ERP.svc/REST/CheckPublicActivationCode'; + public static smsSendCode='Services/ERP.svc/REST/SendPublicActivationCode'; + + /* register methods */ + + public static checkPatientForRegisterationURL = 'Services/Authentication.svc/REST/CheckPatientForRegisteration'; + public static sendSmsForRegisterURL = 'Services/Authentication.svc/REST/SendSMSForPatientRegisteration'; + public static registerTempUserURL = 'Services/Authentication.svc/REST/RegisterTempPatientWithoutSMS'; + + public static sendSMSForgotFileNoURL = 'Services/Authentication.svc/REST/SendPatientIDSMSByMobileNumber'; + public static forgotFileIDURL = 'Services/Authentication.svc/REST/CheckActivationCodeForSendFileNo'; + public static user: AuthenticatedUser; + + /*user checking methods */ + public static userChecking = 'Services/ERP.svc/REST/Get_BasicUserInformation'; + public static changePasswordForget ='Services/ERP.svc/REST/ChangePassword_Forget'; + + public static LOGIN_EVENT = 'user-login-event'; + public static FAMILY_LOGIN_EVENT = 'family-login-event'; + public static AUTHENTICATED_USER_KEY = 'save-authenticated-user'; + + + + + // private static user: AuthenticatedUser; + constructor( + public con: ConnectorService, + public cs: CommonService, + public ts: TranslatorService, + public nativeStorage: NativeStorage, + public localNotifications: UserLocalNotificationService, + private events: Events + ) { } + + public authenticateRequest(request: Request, automaticLogin = true): Request { + + this.setPublicFields(request); + const user = this.getAuthenticatedUser(); + if (user) { + request.P_SESSION_ID = user.P_SESSION_ID; + request.MobileNumber = user.EMPLOYEE_MOBILE_NUMBER; + request.LogInTokenID = user.LogInTokenID; + request.TokenID = user.TokenID; + request.P_USER_NAME = user.EMPLOYEE_NUMBER; + request.UserName = user.EMPLOYEE_NUMBER; + if (AuthenticationService.requireRelogin) { + this.sessionTimeOutDialog(); + } + } else { + this.cs.userNeedToReLogin(); + } + /* else { if (automaticLogin) { this.cs.openUserLogin(); @@ -118,7 +117,6 @@ export class AuthenticationService { //request.isDentalAllowedBackend = false; return request; } - public authenticateAndSetPersonalInformation( request: EmailRequest, examinationInfo?: any @@ -164,71 +162,67 @@ export class AuthenticationService { return request; } + public getAuthenticatedRequest(login = true): Request { const request = new Request(); this.authenticateRequest(request, login); return request; } - public getPublicRequest(): Request { - const request = new Request(); - this.setPublicFields(request); - return request; - } - public login( - request: LoginRequest, - onError: any, - errorLabel: string - ): Observable { - request.PatientID = 0; - request.TokenID = ""; - request.isDentalAllowedBackend = false; - request.isRegister = false; - return this.con.post( - AuthenticationService.loginURL, - request, - onError, - errorLabel - ); - } - public isAuthenticated(): boolean { - return AuthenticationService.user != null; - } + public getPublicRequest(): Request { + const request = new Request(); + this.setPublicFields(request); + return request; + } - /** - * this fucntion load from user information if he logged in before - * and save user into memory and local storage - * disable notifications for previous user if new user logged in with different user - * - * - * info: - * 1- user stored in local storage without token - * @param result check activation code result - */ - public setAuthenticatedUser( - result: CheckActivationCodeResponse - ): Observable { - return Observable.create(observer => { - this.loadAuthenticatedUser().subscribe( - (loadedUser: AuthenticatedUser) => { - AuthenticationService.requireRelogin = false; - this.startIdleMonitoring(); - const user = this.updateAuthenticatedUser(result, loadedUser); - /* we store in hd without token but with token in memory*/ - this.saveUserInStorage(user).subscribe((success: boolean) => { - AuthenticationService.user = user; - - this.publishUserChangeEvent(); - observer.next(true); - observer.complete(); - }); - } - ); - }); - } + public login(request: LoginRequest, onError: any, errorLabel: string): Observable { + this.setPublicFields(request); + return this.con.post(AuthenticationService.login, request, onError, errorLabel); + + } + + public isAuthenticated(): boolean { + return AuthenticationService.user != null; + } + + + + /** + * this fucntion load from user information if he logged in before + * and save user into memory and local storage + * disable notifications for previous user if new user logged in with different user + * + * + * info: + * 1- user stored in local storage without token + * @param result check activation code result + */ + public setAuthenticatedUser( + result: CheckActivationCodeResponse + ): Observable { + return Observable.create(observer => { + this.loadAuthenticatedUser().subscribe( + (loadedUser: AuthenticatedUser) => { + AuthenticationService.requireRelogin = false; + this.startIdleMonitoring(); + const user = this.updateAuthenticatedUser(result, loadedUser); + /* we store in hd without token but with token in memory*/ + this.saveUserInStorage(user).subscribe((success: boolean) => { + AuthenticationService.user = user; + + this.publishUserChangeEvent(); + observer.next(true); + observer.complete(); + }); + } + ); + }); + } + + public resetAuthenticatedUser(user: AuthenticatedUser) { AuthenticationService.user = user; AuthenticationService.requireRelogin = false; @@ -260,7 +254,6 @@ export class AuthenticationService { }); }); } - public setDeviceToken(token: string) { const user = this.getAuthenticatedUser(); if (user) { @@ -355,7 +348,6 @@ export class AuthenticationService { } }); } - /** * signout *clear user session and storage information @@ -428,52 +420,41 @@ export class AuthenticationService { return AuthenticationService.user; } */ - return AuthenticationService.user; - } + return AuthenticationService.user; + } - public checkUserAuthentication( - request: CheckUserAuthenticationRequest, - onError: any, - errorLabel: string - ): Observable { - this.setPublicFields(request); - return this.con.post( - AuthenticationService.login, - request, - onError, - errorLabel - ); - } - public checkActivationCode( - request: CheckActivationCodeRequest, - onError: any, - errorLabel: string - ): Observable { - this.setPublicFields(request); - return this.con.post( - AuthenticationService.activationCodeURL, - request, - onError, - errorLabel - ); - } + public checkUserAuthentication(request: CheckUserAuthenticationRequest, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + return this.con.post(AuthenticationService.userChecking, request, onError, errorLabel); + } - public checkSMS( - request: SMSCheckRequest, - onError: any, - errorLabel: string - ): Observable { - //this.setPublicFields(request); - return this.con.post( - AuthenticationService.smsCheck, - request, - onError, - errorLabel - ); - } + public checkActivationCode(request: CheckActivationCodeRequest, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + return this.con.post(AuthenticationService.activationCodeURL, request, onError, errorLabel); + } - /* + public checkSMS(request: SMSCheckRequest, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + return this.con.post(AuthenticationService.smsCheck, request, onError, errorLabel); + } + + public checkForgetSMS(request: SMSCheckRequest, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + return this.con.post(AuthenticationService.smsCheckForget, request, onError, errorLabel); + } + + public sendPublicSMS(request: SMSCheckRequest, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + return this.con.post(AuthenticationService.smsSendCode, request, onError, errorLabel); + } + + /* client side: id no , mobile no , zip code */ @@ -482,112 +463,90 @@ export class AuthenticationService { client side: id no , mobile no , zip code */ - public sendSmsForPatientRegisteration( - request: CheckPatientRegisterationRequest, - onError: any, - errorLabel: string - ): Observable { - this.setPublicFields(request); - request.TokenID = ""; - request.isRegister = false; - return this.con.post( - AuthenticationService.sendSmsForRegisterURL, - request, - onError, - errorLabel - ); - } + public sendSmsForPatientRegisteration(request: CheckPatientRegisterationRequest, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + request.TokenID = ''; + request.isRegister = false; + return this.con.post(AuthenticationService.sendSmsForRegisterURL, request, onError, errorLabel); + } - public checkRegisterationActivationCode( - request: CheckRegisterationCodeRequest, - onError: any, - errorLabel: string - ): Observable { - this.setPublicFields(request); - return this.con.post( - AuthenticationService.activationCodeURL, - request, - onError, - errorLabel - ); - } + public checkRegisterationActivationCode(request: CheckRegisterationCodeRequest, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + return this.con.post(AuthenticationService.activationCodeURL, request, onError, errorLabel); + } - public sendSMSForForgotFileNumber( - request: CheckUserAuthenticationRequest, - onError: any, - errorLabel: string - ): Observable { - this.setPublicFields(request); - request.TokenID = ""; - // request.PatientIdentificationID = ''; - // request.PatientID = 0; - //request.SearchType = 2; - //request.isRegister = false; - return this.con.post( - AuthenticationService.sendSMSForgotFileNoURL, - request, - onError, - errorLabel - ); - } + public sendForgetPassword(request: ForgetPassword, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + return this.con.post(AuthenticationService.smsSendCode, request, onError, errorLabel); + } - public forgotFileIdActivation( - request: CheckActivationCodeRequest, - onError: any, - errorLabel: string - ): Observable { - this.setPublicFields(request); - request.TokenID = ""; - request.PatientIdentificationID = ""; - // request.PatientID = 0; - request.SearchType = 2; - request.isRegister = false; - return this.con.post( - AuthenticationService.forgotFileIDURL, - request, - onError, - errorLabel - ); - } + public submitForgetPassword(request: ForgetPassword, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + return this.con.post(AuthenticationService.changePasswordForget, request, onError, errorLabel); + } - public isSAUDIIDValid(id: string): boolean { - if (!id) { - return false; + + public sendSMSForForgotFileNumber(request: CheckUserAuthenticationRequest, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + request.TokenID = ''; + //request.SearchType = 2; + //request.isRegister = false; + return this.con.post(AuthenticationService.sendSMSForgotFileNoURL, request, onError, errorLabel); } - try { - id = id.toString(); - id = id.trim(); - const returnValue = Number(id); - let sum = 0; - if (returnValue > 0) { - const type = Number(id.charAt(0)); - - if (id.length !== 10) { - return false; - } - if (type !== 2 && type !== 1) { + + public forgotFileIdActivation(request: CheckActivationCodeRequest, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + request.TokenID = ''; + request.SearchType = 2; + request.isRegister = false; + return this.con.post(AuthenticationService.forgotFileIDURL, request, onError, errorLabel); + } + + + public isSAUDIIDValid(id: string): boolean { + if (!id) { return false; } - - for (let i = 0; i < 10; i++) { - if (i % 2 === 0) { - const a = id.charAt(i); - const x = Number(a) * 2; - let b = x.toString(); - if (b.length === 1) { - b = "0" + b; + try { + id = id.toString(); + id = id.trim(); + const returnValue = Number(id); + let sum = 0; + if (returnValue > 0) { + const type = Number(id.charAt(0)); + + if (id.length !== 10) { + return false; + } + if (type !== 2 && type !== 1) { + return false; } - sum += Number(b.charAt(0)) + Number(b.charAt(1)); - } else { - sum += Number(id.charAt(i)); + + for (let i = 0; i < 10; i++) { + if (i % 2 === 0) { + const a = id.charAt(i); + const x = Number(a) * 2; + let b = x.toString(); + if (b.length === 1) { + b = "0" + b; + } + sum += Number(b.charAt(0)) + Number(b.charAt(1)); + } else { + sum += Number(id.charAt(i)); + } + } + return sum % 10 === 0; } - } - return sum % 10 === 0; + } catch (err) {} + return false; } - } catch (err) {} - return false; - } - + public checkUserHasEmailDialog(): Observable { return Observable.create(observer => { if (this.isAuthenticatedUserHasRealEmail()) { From debded96a08f381c6ccde913f1f372a1a68ace31 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Wed, 26 Jun 2019 17:39:45 +0300 Subject: [PATCH 08/22] Vacation Rule Continued --- .../services/translator/translator.service.ts | 2 +- .../ui/nav-buttons/nav-buttons.component.html | 2 +- .../vacation-rule/home/home.component.html | 122 +++++++++--------- .../vacation-rule/home/home.component.scss | 31 +---- .../app/vacation-rule/home/home.component.ts | 4 + Mohem/src/assets/localization/i18n.json | 4 + 6 files changed, 76 insertions(+), 89 deletions(-) diff --git a/Mohem/src/app/hmg-common/services/translator/translator.service.ts b/Mohem/src/app/hmg-common/services/translator/translator.service.ts index fff6de9e..00870278 100644 --- a/Mohem/src/app/hmg-common/services/translator/translator.service.ts +++ b/Mohem/src/app/hmg-common/services/translator/translator.service.ts @@ -174,7 +174,7 @@ export class TranslatorService { } private setCurrentLanguageToDefault() { - TranslatorService.CURRENT_LANGUAGE = TranslatorService.AR; + TranslatorService.CURRENT_LANGUAGE = TranslatorService.EN; } public setCurrentLanguage(language: string) { TranslatorService.CURRENT_LANGUAGE = language; diff --git a/Mohem/src/app/hmg-common/ui/nav-buttons/nav-buttons.component.html b/Mohem/src/app/hmg-common/ui/nav-buttons/nav-buttons.component.html index 2b618a0e..bfedc08a 100644 --- a/Mohem/src/app/hmg-common/ui/nav-buttons/nav-buttons.component.html +++ b/Mohem/src/app/hmg-common/ui/nav-buttons/nav-buttons.component.html @@ -11,7 +11,7 @@ --> - + diff --git a/Mohem/src/app/vacation-rule/home/home.component.html b/Mohem/src/app/vacation-rule/home/home.component.html index 43d923e7..5935739e 100644 --- a/Mohem/src/app/vacation-rule/home/home.component.html +++ b/Mohem/src/app/vacation-rule/home/home.component.html @@ -1,82 +1,84 @@ - + + {{ 'general,vacation-rule' | translate}} + +
+ + + + + + {{'vacation-rule, rule-Info' | translate}} + + + + + + + + + -
- - - - - - {{'vacation-rule, rule-Info' | translate}} - - - - - - - - - - - + - - -
- - - - - - - - -
- - - - - - - - + + +
- + - - - - - - - - - + +
+ + + + + + + + + + + + + + + + + + + + + + + + -
-
+
+
-
-
+
+
- \ No newline at end of file + +
+ {{'vacation-rule, create-rule' | translate}} +
+
\ No newline at end of file diff --git a/Mohem/src/app/vacation-rule/home/home.component.scss b/Mohem/src/app/vacation-rule/home/home.component.scss index 1f0f2007..7f727a35 100644 --- a/Mohem/src/app/vacation-rule/home/home.component.scss +++ b/Mohem/src/app/vacation-rule/home/home.component.scss @@ -16,10 +16,6 @@ ion-col.colBold { box-shadow: none; } -ion-button { - background: transparent; -} - ion-card-header { display: block; overflow: hidden; @@ -36,10 +32,10 @@ ion-card-header { float: right; } -.button, -.button-md, -button-ios { - background: transparent; +.footer-button { + border-radius: 2px; + padding: 0 1.1em; + min-height: 45px; } ion-card-header { @@ -58,19 +54,6 @@ ion-card-header { padding-top: 12px; width: 100%; min-height: 45px; - // @media screen and (max-width: 565px) { - // width: 80%; - // } - // @media screen and (max-width: 450px) { - // width: 74%; - // } - - // @include ltr() { - // float: left; - // } - // @include rtl() { - // float: right; - // } line-height: 1.2; } .button, @@ -83,11 +66,5 @@ ion-card-header { min-width: auto; padding: 0px !important; margin: 0px 5px !important; - // @include ltr() { - // float: right; - // } - // @include rtl() { - // float: left; - // } } } diff --git a/Mohem/src/app/vacation-rule/home/home.component.ts b/Mohem/src/app/vacation-rule/home/home.component.ts index 06263bb4..5180fe2c 100644 --- a/Mohem/src/app/vacation-rule/home/home.component.ts +++ b/Mohem/src/app/vacation-rule/home/home.component.ts @@ -124,6 +124,10 @@ export class HomeComponent implements OnInit { console.log(this.GetVacationRulesList); } + Vaction_Type() { + + } + getVacationRules() { this.P_PAGE_NUM = 1; this.IsReachEnd = false; diff --git a/Mohem/src/assets/localization/i18n.json b/Mohem/src/assets/localization/i18n.json index 1b030c8e..93391298 100644 --- a/Mohem/src/assets/localization/i18n.json +++ b/Mohem/src/assets/localization/i18n.json @@ -114,6 +114,10 @@ "rule-status": { "en": "Status", "ar": "الحالة" + }, + "create-rule": { + "en": "Create Rule", + "ar": "إنشاء قاعدة" } }, "verificationcode": { From dc8a66b206a98d2fe406a3792f7e27e264fa1ec6 Mon Sep 17 00:00:00 2001 From: Sultan Khan Date: Wed, 26 Jun 2019 18:53:33 +0300 Subject: [PATCH 09/22] home page update --- Mohem/package.json | 40 +- .../authentication/login/login.component.ts | 890 +++++++++--------- .../authentication/sms-page/sms-page.page.ts | 65 +- Mohem/src/app/hmg-common/hmg-common.module.ts | 5 +- .../authentication/authentication.service.ts | 2 +- .../hmg-common/services/push/push.service.ts | 100 +- Mohem/src/app/home/home.page.scss | 2 +- Mohem/src/assets/localization/i18n.json | 31 + 8 files changed, 556 insertions(+), 579 deletions(-) diff --git a/Mohem/package.json b/Mohem/package.json index 0c42ecb6..a43cfecc 100644 --- a/Mohem/package.json +++ b/Mohem/package.json @@ -26,7 +26,6 @@ "@ionic-native/app-rate": "^5.5.1", "@ionic-native/background-geolocation": "^5.4.0", "@ionic-native/badge": "^5.4.0", - "@ionic-native/barcode-scanner": "^5.4.0", "@ionic-native/ble": "^5.4.0", "@ionic-native/call-number": "^5.4.0", "@ionic-native/camera": "^5.4.0", @@ -35,13 +34,11 @@ "@ionic-native/diagnostic": "^5.4.0", "@ionic-native/fingerprint-aio": "^5.4.0", "@ionic-native/globalization": "^5.4.0", - "@ionic-native/health": "^5.4.0", "@ionic-native/in-app-browser": "^5.5.1", "@ionic-native/keyboard": "^5.4.0", "@ionic-native/launch-navigator": "^5.4.0", "@ionic-native/local-notifications": "^5.4.0", "@ionic-native/native-storage": "^5.4.0", - "@ionic-native/push": "^5.4.0", "@ionic-native/sms": "^5.8.0", "@ionic-native/splash-screen": "^5.0.0", "@ionic-native/sqlite": "^5.5.1", @@ -54,7 +51,6 @@ "call-number": "^1.0.1", "chart.js": "^2.8.0", "cordova-android": "7.1.4", - "cordova-android-support-gradle-release": "2.1.0", "cordova-browser": "5.0.4", "cordova-ios": "4.5.5", "cordova-opentok-android-permissions": "1.0.1", @@ -71,12 +67,10 @@ "cordova-plugin-dialogs": "2.0.1", "cordova-plugin-fingerprint-aio": "^1.7.0", "cordova-plugin-globalization": "^1.11.0", - "cordova-plugin-health": "1.1.3", "cordova-plugin-inappbrowser": "3.0.0", "cordova-plugin-ionic-keyboard": "^2.1.3", "cordova-plugin-ionic-webview": "^3.1.2", "cordova-plugin-local-notification": "^0.9.0-beta.2", - "cordova-plugin-mauron85-background-geolocation": "3.0.0-alpha.50", "cordova-plugin-nativestorage": "^2.3.2", "cordova-plugin-sms-receive": "^1.0.2", "cordova-plugin-splashscreen": "^5.0.2", @@ -85,14 +79,11 @@ "cordova-plugin-whitelist": "^1.3.3", "cordova-sms-plugin": "1.0.0", "cordova-sqlite-storage": "^3.2.0", - "cordova-support-google-services": "^1.1.0", "cordova.plugins.diagnostic": "^4.0.12", "core-js": "^2.5.4", "date-fns": "^1.30.1", "mx.ferreyra.callnumber": "0.0.2", - "phonegap-plugin-barcodescanner": "^8.0.1", "phonegap-plugin-multidex": "^1.0.0", - "phonegap-plugin-push": "2.2.3", "primeicons": "^1.0.0", "primeng": "^7.1.2", "run": "1.4.0", @@ -136,18 +127,6 @@ "cordova-plugin-ionic-webview": { "ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+" }, - "cordova-plugin-mauron85-background-geolocation": { - "GOOGLE_PLAY_SERVICES_VERSION": "16.0.0", - "ANDROID_SUPPORT_LIBRARY_VERSION": "26+", - "ICON": "@mipmap/icon", - "SMALL_ICON": "@mipmap/icon", - "ACCOUNT_NAME": "@string/app_name", - "ACCOUNT_LABEL": "@string/app_name", - "ACCOUNT_TYPE": "$PACKAGE_NAME.account", - "CONTENT_AUTHORITY": "$PACKAGE_NAME", - "ALWAYS_USAGE_DESCRIPTION": "This app always requires location tracking", - "MOTION_USAGE_DESCRIPTION": "This app requires motion detection" - }, "cordova-sqlite-storage": {}, "cordova-plugin-nativestorage": {}, "cordova-plugin-ble-central": {}, @@ -165,28 +144,11 @@ "cordova.plugins.diagnostic": { "ANDROID_SUPPORT_VERSION": "28.+" }, - "phonegap-plugin-barcodescanner": { - "ANDROID_SUPPORT_V4_VERSION": "27.+" - }, "cordova-plugin-camera": {}, "cordova-plugin-ionic-keyboard": {}, - "cordova-android-support-gradle-release": { - "ANDROID_SUPPORT_VERSION": "27.+" - }, "cordova-opentok-android-permissions": {}, - "cordova-plugin-health": { - "HEALTH_READ_PERMISSION": "App needs read access to read heart rate", - "HEALTH_WRITE_PERMISSION": "App needs write access for heart rate", - "GMS_VERSION": "16.0.1" - }, "cordova-plugin-appavailability": {}, "call-number": {}, - "cordova-support-google-services": {}, - "phonegap-plugin-push": { - "GOOGLE_PLAY_SERVICES_VERSION": "16.0.0", - "FCM_VERSION": "15.0.0", - "ANDROID_SUPPORT_V13_VERSION": "27.+" - }, "cordova-plugin-apprate": {}, "cordova-plugin-inappbrowser": {}, "cordova-sms-plugin": {} @@ -197,4 +159,4 @@ "android" ] } -} +} \ No newline at end of file diff --git a/Mohem/src/app/authentication/login/login.component.ts b/Mohem/src/app/authentication/login/login.component.ts index c5da9e6f..6c9ee3bf 100644 --- a/Mohem/src/app/authentication/login/login.component.ts +++ b/Mohem/src/app/authentication/login/login.component.ts @@ -1,397 +1,400 @@ -import { Component, OnInit, ViewChild, ChangeDetectorRef, NgZone, OnDestroy } from '@angular/core'; -import { CommonService } from 'src/app/hmg-common/services/common/common.service'; -import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service'; -import { Router } from '@angular/router'; -import { AlertController } from '@ionic/angular'; -import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; -import { CheckUserAuthenticationRequest } from 'src/app/hmg-common/services/authentication/models/check-user-auth.request'; -import { CheckUserAuthenticationResponse } from 'src/app/hmg-common/services/authentication/models/check-user-auth.response'; -import { CheckActivationCodeResponse } from 'src/app/hmg-common/services/authentication/models/check-activation-code.response'; -import { SmsReaderService } from 'src/app/hmg-common/services/sms/sms-reader.service'; -import { AuthenticatedUser } from 'src/app/hmg-common/services/authentication/models/authenticated-user'; -import { PATIENT_TYPE } from 'src/app/hmg-common/services/models/patient.type'; -import { FingerprintAIO } from '@ionic-native/fingerprint-aio/ngx'; -import { GetLoginInfoRequest } from 'src/app/hmg-common/services/authentication/models/get-login-info.request'; -import { GetLoginInfoResponse } from 'src/app/hmg-common/services/authentication/models/get-login-info.response'; -import { Device } from '@ionic-native/device/ngx'; -import { SplashScreen } from '@ionic-native/splash-screen/ngx'; -import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; -import { LoginModel } from '../models/LoginModel'; -import { LoginRequest } from 'src/app/hmg-common/services/authentication/models/login.request'; +import { + Component, + OnInit, + ViewChild, + ChangeDetectorRef, + NgZone, + OnDestroy +} from "@angular/core"; +import { CommonService } from "src/app/hmg-common/services/common/common.service"; +import { AuthenticationService } from "src/app/hmg-common/services/authentication/authentication.service"; +import { Router } from "@angular/router"; +import { AlertController } from "@ionic/angular"; +import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service"; +import { CheckUserAuthenticationRequest } from "src/app/hmg-common/services/authentication/models/check-user-auth.request"; +import { CheckUserAuthenticationResponse } from "src/app/hmg-common/services/authentication/models/check-user-auth.response"; +import { CheckActivationCodeResponse } from "src/app/hmg-common/services/authentication/models/check-activation-code.response"; +import { SmsReaderService } from "src/app/hmg-common/services/sms/sms-reader.service"; +import { AuthenticatedUser } from "src/app/hmg-common/services/authentication/models/authenticated-user"; +import { PATIENT_TYPE } from "src/app/hmg-common/services/models/patient.type"; +import { FingerprintAIO } from "@ionic-native/fingerprint-aio/ngx"; +import { GetLoginInfoRequest } from "src/app/hmg-common/services/authentication/models/get-login-info.request"; +import { GetLoginInfoResponse } from "src/app/hmg-common/services/authentication/models/get-login-info.response"; +import { Device } from "@ionic-native/device/ngx"; +import { SplashScreen } from "@ionic-native/splash-screen/ngx"; +import { SharedDataService } from "src/app/hmg-common/services/shared-data-service/shared-data.service"; +import { LoginModel } from "../models/LoginModel"; +import { LoginRequest } from "src/app/hmg-common/services/authentication/models/login.request"; @Component({ - selector: 'login', - templateUrl: './login.component.html', - styleUrls: ['./login.component.scss'] + selector: "login", + templateUrl: "./login.component.html", + styleUrls: ["./login.component.scss"] }) - export class LoginComponent implements OnInit, OnDestroy { - appLang:number=1; - isExpired:boolean =false; - isSupportAr:boolean=false; - isAppleStore:boolean=false; - memberLogin: any = {}; - private password: string; - private language: string; - private username : string; - private currentLang : any =1; - private patientOutSA: boolean; - private loginTokenID: string; - private isMobileFingerPrint: boolean; - private FingerPrintPatientIdentificationID: string; - private loginData = new LoginModel(); - constructor( - public cs: CommonService, - public authService: AuthenticationService, - public router: Router, - public alertController: AlertController, - public ts: TranslatorService, - public smsService: SmsReaderService, - private faio: FingerprintAIO, - public ngZone: NgZone, - public device: Device, - public splash: SplashScreen, - public sharedData: SharedDataService - ) { - } - - ngOnInit() { - - } - - ngOnDestroy(): void { - this.backClicked(); - } - public changeLanguage(){ - this.ts.switchLanguage(); - if(TranslatorService.CURRENT_LANGUAGE == TranslatorService.EN) - { - this.language = "US"; - } - else{ - this.language = "AR"; - } - this.currentLang = TranslatorService.getCurrentLanguageCode(); - - } - // private checkIfLoggedInBefore() { - // this.cs.startLoading(); - // // check if user logged in before - // this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => { - // if (user) { - // this.startBiometricLogin(user); - // } else { - // this.hideSplashScreen(true); - // } - // }); - // } - private forgetPasswordPage(){ - this.cs.openUserForgot(); + appLang: number = 1; + isExpired: boolean = false; + isSupportAr: boolean = false; + isAppleStore: boolean = false; + memberLogin: any = {}; + private password: string; + private language: string; + private username: string; + private currentLang: any = 1; + private patientOutSA: boolean; + private loginTokenID: string; + private isMobileFingerPrint: boolean; + private FingerPrintPatientIdentificationID: string; + private loginData = new LoginModel(); + constructor( + public cs: CommonService, + public authService: AuthenticationService, + public router: Router, + public alertController: AlertController, + public ts: TranslatorService, + public smsService: SmsReaderService, + private faio: FingerprintAIO, + public ngZone: NgZone, + public device: Device, + public splash: SplashScreen, + public sharedData: SharedDataService + ) {} + + ngOnInit() {} + + ngOnDestroy(): void { + this.backClicked(); + } + public changeLanguage() { + this.ts.switchLanguage(); + if (TranslatorService.CURRENT_LANGUAGE == TranslatorService.EN) { + this.language = "US"; + } else { + this.language = "AR"; } - private hideSplashScreen(stopLoading = false) { - // this.splash.hide(); - if (stopLoading) { - this.cs.stopLoading(); - } - } - // private startBiometricLogin(user: AuthenticatedUser) { - // this.faio.isAvailable().then((options) => { - // this.hideSplashScreen(true); - // if (user.biometricEnabled) { - // // ask if login with face or finger - // this.cs.presentConfirmDialog( - // this.ts.trPK('login', options), - // () => this.presentBiometricDialog(user), - // () => { } - // ); - // } else { - // // ask to enable biometric - // this.getPermissionToActivateBiometric(user); - // } - // }, () => { - // this.hideSplashScreen(true); - // }); - // } - - private getPermissionToActivateBiometric(user: AuthenticatedUser) { - this.cs.presentConfirmDialog( - this.ts.trPK('login', 'enable-biometric'), - () => { - user['biometricEnabled'] = true; - this.authService.updateLoggedInUser(user).subscribe((success: boolean) => { - this.presentBiometricDialog(user); - }); - }, - () => { } - ); + this.currentLang = TranslatorService.getCurrentLanguageCode(); + } + // private checkIfLoggedInBefore() { + // this.cs.startLoading(); + // // check if user logged in before + // this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => { + // if (user) { + // this.startBiometricLogin(user); + // } else { + // this.hideSplashScreen(true); + // } + // }); + // } + private forgetPasswordPage() { + this.cs.openUserForgot(); + } + private hideSplashScreen(stopLoading = false) { + // this.splash.hide(); + if (stopLoading) { + this.cs.stopLoading(); } - /* + } + // private startBiometricLogin(user: AuthenticatedUser) { + // this.faio.isAvailable().then((options) => { + // this.hideSplashScreen(true); + // if (user.biometricEnabled) { + // // ask if login with face or finger + // this.cs.presentConfirmDialog( + // this.ts.trPK('login', options), + // () => this.presentBiometricDialog(user), + // () => { } + // ); + // } else { + // // ask to enable biometric + // this.getPermissionToActivateBiometric(user); + // } + // }, () => { + // this.hideSplashScreen(true); + // }); + // } + + private getPermissionToActivateBiometric(user: AuthenticatedUser) { + this.cs.presentConfirmDialog( + this.ts.trPK("login", "enable-biometric"), + () => { + user["biometricEnabled"] = true; + this.authService + .updateLoggedInUser(user) + .subscribe((success: boolean) => { + this.presentBiometricDialog(user); + }); + }, + () => {} + ); + } + /* activate biometric login for this user */ - private getMobileInfo(user: AuthenticatedUser) { - this.authService.getLoginInfo(new GetLoginInfoRequest(user), () => { - - }, this.ts.trPK('general', 'ok')).subscribe((result: GetLoginInfoResponse) => { - if (this.cs.validResponse(result)) { - if (!result.SMSLoginRequired) { - this.loginTokenID = result.LogInTokenID; - this.patientOutSA = result.PatientOutSA; - this.initializeForAuthentictedUser(user); - // sms for register the biometric - if (result.isSMSSent) { - this.startListeneingForSMS(this.ts.trPK('general', 'enter-sms-enable-biometric')); - } else { - this.checkActivationCode(); - } - } + private getMobileInfo(user: AuthenticatedUser) { + this.authService + .getLoginInfo( + new GetLoginInfoRequest(user), + () => {}, + this.ts.trPK("general", "ok") + ) + .subscribe((result: GetLoginInfoResponse) => { + if (this.cs.validResponse(result)) { + if (!result.SMSLoginRequired) { + this.loginTokenID = result.LogInTokenID; + this.patientOutSA = result.PatientOutSA; + this.initializeForAuthentictedUser(user); + // sms for register the biometric + if (result.isSMSSent) { + this.startListeneingForSMS( + this.ts.trPK("general", "enter-sms-enable-biometric") + ); + } else { + this.checkActivationCode(); } - }); - } - - private initializeForAuthentictedUser(user: AuthenticatedUser) { - this.ngZone.run(() => { - //this.isMobileFingerPrint = true; - //this.FingerPrintPatientIdentificationID = user.IdentificationNo; - //this.mobileNumber = user.MobileNumber; - //this.zipCode = CountryCode.localCode(user.ZipCode); - - }); - } - - private presentBiometricDialog(user) { - this.faio.show({ - clientId: 'Fingerprint Authetnciation', - clientSecret: 'Ate343_9347lajF', // Only necessary for Android - disableBackup: true, // Only for Android(optional) - localizedFallbackTitle: this.ts.trPK('login', 'use-pin'), // Only for iOS - localizedReason: this.ts.trPK('login', 'auth-please') // Only for iOS - }).then((result: any) => { - // this.checkActivationCode(); - this.getMobileInfo(user); - - }).catch((error: any) => console.log(error)); - } - - public onLogin() { - this.checkUserAuthentication(); - } - - - - - - - // public loginWithMyAccount() { - // // this.loginWithTamer(); - // this.loginWithTamer(); - // } - - /* + } + } + }); + } + + private initializeForAuthentictedUser(user: AuthenticatedUser) { + this.ngZone.run(() => { + //this.isMobileFingerPrint = true; + //this.FingerPrintPatientIdentificationID = user.IdentificationNo; + //this.mobileNumber = user.MobileNumber; + //this.zipCode = CountryCode.localCode(user.ZipCode); + }); + } + + private presentBiometricDialog(user) { + this.faio + .show({ + clientId: "Fingerprint Authetnciation", + clientSecret: "Ate343_9347lajF", // Only necessary for Android + disableBackup: true, // Only for Android(optional) + localizedFallbackTitle: this.ts.trPK("login", "use-pin"), // Only for iOS + localizedReason: this.ts.trPK("login", "auth-please") // Only for iOS + }) + .then((result: any) => { + // this.checkActivationCode(); + this.getMobileInfo(user); + }) + .catch((error: any) => console.log(error)); + } + + public onLogin() { + this.checkUserAuthentication(); + } + + // public loginWithMyAccount() { + // // this.loginWithTamer(); + // this.loginWithTamer(); + // } + + /* TODO to be removed later */ - // public loginWithEnas() { - // alert('you are doing slient login width enas account '); - // const user = new AuthenticatedUser(); - // user.PatientID = 862616; - - // user.PatientTypeID = PATIENT_TYPE.PERMANENT; - // user.PatientOutSA = false; - // user.TokenID = '@dm!n'; - // user.ProjectID = 0; - // user.NationalityID = '2300948375'; - // user.MobileNo = user.MobileNumber = '554355126'; - // user.ZipCode = '+966'; - // user.Address = 'riyadh'; - // user.FirstName = 'MOHAMED'; - // user.MiddleName = 'yaghi'; - // user.LastName = 'mohammed'; - // user.Age = 30; - // user.agreed = true; - // const birthDate = new Date(); - // birthDate.setFullYear(birthDate.getFullYear() - 29); - // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); - // user.Email = 'Mohamed.Afifi@cloudsolution-sa.com'; - // user.PatientName = 'enas yaghi'; - // this.authService.updateLoggedInUser(user).subscribe(done => { - // this.authService.startIdleMonitoring(); - // this.cs.openHome(); - // }); - // } - - // public loginWithVaccineUser() { - // alert('you are doing slient login width vaccine account '); - // const user = new AuthenticatedUser(); - // user.PatientID = 862616; // user with vaccines in dev - - // user.PatientTypeID = PATIENT_TYPE.PERMANENT; - // user.PatientOutSA = false; - // user.TokenID = '@dm!n'; - // user.NationalityID = '2300948375'; - // user.MobileNo = user.MobileNumber = '554355126'; - // user.ProjectID = 0; - // user.ZipCode = '+966'; - // user.Address = 'riyadh'; - // user.FirstName = 'MOHAMED'; - // user.MiddleName = 'yaghi'; - // user.LastName = 'mohammed'; - // user.Age = 30; - // user.agreed = true; - // const birthDate = new Date(); - // birthDate.setFullYear(birthDate.getFullYear() - 29); - // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); - // user.Email = 'minna.barry@cloudsolution-sa.com'; - // user.PatientName = 'enas yaghi'; - // this.authService.updateLoggedInUser(user).subscribe(done => { - // this.authService.startIdleMonitoring(); - // this.cs.openHome(); - // }); - // } - - - // public loginWithEyeMeasureUser() { - // alert('you are doing slient login width eye measurements user account '); - // const user = new AuthenticatedUser(); - // user.PatientID = 873010; - - // user.PatientTypeID = PATIENT_TYPE.PERMANENT; - // user.PatientOutSA = false; - // user.TokenID = '@dm!n'; - // user.NationalityID = '2302581828'; - // user.ProjectID = 0; - // user.MobileNo = user.MobileNumber = '555333541'; - // user.ZipCode = '+966'; - // user.Address = 'riyadh'; - // user.FirstName = 'eye'; - // user.MiddleName = 'user'; - // user.LastName = 'measurment'; - // user.Age = 30; - // user.agreed = true; - // const birthDate = new Date(); - // birthDate.setFullYear(birthDate.getFullYear() - 29); - // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); - // user.Email = 'sultan.khan@hmg.local'; - // user.PatientName = 'eye user'; - // this.authService.updateLoggedInUser(user).subscribe(done => { - // this.authService.startIdleMonitoring(); - // this.cs.openHome(); - // }); - // } - - /* + // public loginWithEnas() { + // alert('you are doing slient login width enas account '); + // const user = new AuthenticatedUser(); + // user.PatientID = 862616; + + // user.PatientTypeID = PATIENT_TYPE.PERMANENT; + // user.PatientOutSA = false; + // user.TokenID = '@dm!n'; + // user.ProjectID = 0; + // user.NationalityID = '2300948375'; + // user.MobileNo = user.MobileNumber = '554355126'; + // user.ZipCode = '+966'; + // user.Address = 'riyadh'; + // user.FirstName = 'MOHAMED'; + // user.MiddleName = 'yaghi'; + // user.LastName = 'mohammed'; + // user.Age = 30; + // user.agreed = true; + // const birthDate = new Date(); + // birthDate.setFullYear(birthDate.getFullYear() - 29); + // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); + // user.Email = 'Mohamed.Afifi@cloudsolution-sa.com'; + // user.PatientName = 'enas yaghi'; + // this.authService.updateLoggedInUser(user).subscribe(done => { + // this.authService.startIdleMonitoring(); + // this.cs.openHome(); + // }); + // } + + // public loginWithVaccineUser() { + // alert('you are doing slient login width vaccine account '); + // const user = new AuthenticatedUser(); + // user.PatientID = 862616; // user with vaccines in dev + + // user.PatientTypeID = PATIENT_TYPE.PERMANENT; + // user.PatientOutSA = false; + // user.TokenID = '@dm!n'; + // user.NationalityID = '2300948375'; + // user.MobileNo = user.MobileNumber = '554355126'; + // user.ProjectID = 0; + // user.ZipCode = '+966'; + // user.Address = 'riyadh'; + // user.FirstName = 'MOHAMED'; + // user.MiddleName = 'yaghi'; + // user.LastName = 'mohammed'; + // user.Age = 30; + // user.agreed = true; + // const birthDate = new Date(); + // birthDate.setFullYear(birthDate.getFullYear() - 29); + // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); + // user.Email = 'minna.barry@cloudsolution-sa.com'; + // user.PatientName = 'enas yaghi'; + // this.authService.updateLoggedInUser(user).subscribe(done => { + // this.authService.startIdleMonitoring(); + // this.cs.openHome(); + // }); + // } + + // public loginWithEyeMeasureUser() { + // alert('you are doing slient login width eye measurements user account '); + // const user = new AuthenticatedUser(); + // user.PatientID = 873010; + + // user.PatientTypeID = PATIENT_TYPE.PERMANENT; + // user.PatientOutSA = false; + // user.TokenID = '@dm!n'; + // user.NationalityID = '2302581828'; + // user.ProjectID = 0; + // user.MobileNo = user.MobileNumber = '555333541'; + // user.ZipCode = '+966'; + // user.Address = 'riyadh'; + // user.FirstName = 'eye'; + // user.MiddleName = 'user'; + // user.LastName = 'measurment'; + // user.Age = 30; + // user.agreed = true; + // const birthDate = new Date(); + // birthDate.setFullYear(birthDate.getFullYear() - 29); + // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); + // user.Email = 'sultan.khan@hmg.local'; + // user.PatientName = 'eye user'; + // this.authService.updateLoggedInUser(user).subscribe(done => { + // this.authService.startIdleMonitoring(); + // this.cs.openHome(); + // }); + // } + + /* TODO login with mr rwaid */ - // public loginWithRwaid() { - // alert('you are doing slient login width mr: rwaid account'); - - // const user = new AuthenticatedUser(); - // // tamer with eye measurments 1231755 - // user.PatientID = 1018977; - // user.PatientTypeID = PATIENT_TYPE.PERMANENT; - // user.ProjectID = 0; - // user.PatientOutSA = false; - // user.TokenID = '@dm!n'; - // user.NationalityID = '1001242559'; - // user.MobileNo = user.MobileNumber = '545156035'; - // user.ZipCode = '+966'; - // user.Address = 'riyadh'; - // user.FirstName = 'rwaid'; - // user.MiddleName = 'el mallah'; - // user.LastName = 'mohammed'; - // user.Age = 30; - // user.agreed = true; - // const birthDate = new Date(); - // birthDate.setFullYear(birthDate.getFullYear() - 29); - // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); - // user.Email = 'mohamed.afifi@cloudsolution-sa.com'; - // user.PatientName = 'rwaid al mallah'; - // this.authService.updateLoggedInUser(user).subscribe(done => { - // this.authService.startIdleMonitoring(); - // this.cs.openHome(); - // }); - - // } - - // public loginWithTamer() { - // alert('you are doing slient login width tamer account'); - - // const user = new AuthenticatedUser(); - // user.PatientID = 1231755; - // user.PatientTypeID = PATIENT_TYPE.PERMANENT; - // user.ProjectID = 0; - // user.PatientOutSA = false; - // user.TokenID = '@dm!n'; - // user.NationalityID = '1001242559'; - // user.MobileNo = user.MobileNumber = '537503378'; - // user.ZipCode = '+966'; - // user.Address = 'riyadh'; - // user.FirstName = 'tamer'; - // user.MiddleName = 'faneshah'; - // user.LastName = 'faneshah'; - // user.Age = 30; - // user.agreed = true; - // const birthDate = new Date(); - // birthDate.setFullYear(birthDate.getFullYear() - 29); - // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); - // user.Email = 'mohamed.afifi@cloudsolution-sa.com'; - // user.PatientName = 'tamer fneshah'; - // this.authService.updateLoggedInUser(user).subscribe(done => { - // this.authService.startIdleMonitoring(); - // this.cs.openHome(); + // public loginWithRwaid() { + // alert('you are doing slient login width mr: rwaid account'); + + // const user = new AuthenticatedUser(); + // // tamer with eye measurments 1231755 + // user.PatientID = 1018977; + // user.PatientTypeID = PATIENT_TYPE.PERMANENT; + // user.ProjectID = 0; + // user.PatientOutSA = false; + // user.TokenID = '@dm!n'; + // user.NationalityID = '1001242559'; + // user.MobileNo = user.MobileNumber = '545156035'; + // user.ZipCode = '+966'; + // user.Address = 'riyadh'; + // user.FirstName = 'rwaid'; + // user.MiddleName = 'el mallah'; + // user.LastName = 'mohammed'; + // user.Age = 30; + // user.agreed = true; + // const birthDate = new Date(); + // birthDate.setFullYear(birthDate.getFullYear() - 29); + // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); + // user.Email = 'mohamed.afifi@cloudsolution-sa.com'; + // user.PatientName = 'rwaid al mallah'; + // this.authService.updateLoggedInUser(user).subscribe(done => { + // this.authService.startIdleMonitoring(); + // this.cs.openHome(); + // }); + + // } + + // public loginWithTamer() { + // alert('you are doing slient login width tamer account'); + + // const user = new AuthenticatedUser(); + // user.PatientID = 1231755; + // user.PatientTypeID = PATIENT_TYPE.PERMANENT; + // user.ProjectID = 0; + // user.PatientOutSA = false; + // user.TokenID = '@dm!n'; + // user.NationalityID = '1001242559'; + // user.MobileNo = user.MobileNumber = '537503378'; + // user.ZipCode = '+966'; + // user.Address = 'riyadh'; + // user.FirstName = 'tamer'; + // user.MiddleName = 'faneshah'; + // user.LastName = 'faneshah'; + // user.Age = 30; + // user.agreed = true; + // const birthDate = new Date(); + // birthDate.setFullYear(birthDate.getFullYear() - 29); + // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); + // user.Email = 'mohamed.afifi@cloudsolution-sa.com'; + // user.PatientName = 'tamer fneshah'; + // this.authService.updateLoggedInUser(user).subscribe(done => { + // this.authService.startIdleMonitoring(); + // this.cs.openHome(); + // }); + + // } + + private startListeneingForSMS(title?: string) { + this.startReceivingSMS(); + //this.presentSMSPasswordDialog(title); + } + + private checkUserAuthentication() { + const request = new LoginRequest(); + request.P_USER_NAME = this.username; + request.P_LANGUAGE = this.language; + request.P_PASSWORD = this.password; + console.log(request); + this.authService + .login(request, () => {}, this.ts.trPK("general", "ok")) + .subscribe((result: CheckUserAuthenticationResponse) => { + if (this.cs.validResponse(result)) { + this.loginData.LogInTokenID = result.LogInTokenID; + this.loginData.MobileNumber = result.MemberLoginList.P_MOBILE_NUMBER; + this.sharedData.setSharedData(this.loginData, "logindata"); + this.cs.openSMSPage(); + } + }); + } + + public backClicked() { + this.smsService.stopSMSMonitoring(); + } + + private startReceivingSMS() { + // this.smsModal.presentModal(); + // this.smsService.startSMSMonitoring((code) => { + // this.smsModal.dismiss; + // this.global_code = code; + // SMSService.code = this.global_code; + // this.checkActivationCode(code); + // this.cs.dismissSMSDialog().subscribe(cleared => { + // this.checkActivationCode(code); // }); - - // } - - - - private startListeneingForSMS(title?: string) { - this.startReceivingSMS(); - //this.presentSMSPasswordDialog(title); - } - - private checkUserAuthentication() { - const request = new LoginRequest(); - request.P_USER_NAME = this.username; - request.P_LANGUAGE = this.language; - request.P_PASSWORD = this.password; - console.log(request); - this.authService.login( - request, - () => { - }, this.ts.trPK('general', 'ok')).subscribe((result: CheckUserAuthenticationResponse) => { - if (this.cs.validResponse(result)) { - this.loginData.LogInTokenID = result.LogInTokenID; - this.sharedData.setSharedData(this.loginData, "logindata"); - this.cs.openSMSPage(); - } - }); - } - - public backClicked() { - this.smsService.stopSMSMonitoring(); - } - - private startReceivingSMS() { - - // this.smsModal.presentModal(); - // this.smsService.startSMSMonitoring((code) => { - // this.smsModal.dismiss; - // this.global_code = code; - // SMSService.code = this.global_code; - // this.checkActivationCode(code); - // this.cs.dismissSMSDialog().subscribe(cleared => { - // this.checkActivationCode(code); - // }); - // }); - } - public presentSMSPasswordDialog(title?: string) { - this.cs.presentSMSPasswordDialog( - (code: string) => { - this.checkActivationCode(code); - }, null, title); - } - - private checkActivationCode(readedCode?) { - /*const request = new CheckActivationCodeRequest(); + // }); + } + public presentSMSPasswordDialog(title?: string) { + this.cs.presentSMSPasswordDialog( + (code: string) => { + this.checkActivationCode(code); + }, + null, + title + ); + } + + private checkActivationCode(readedCode?) { + /*const request = new CheckActivationCodeRequest(); request.IsMobileFingerPrint = this.isMobileFingerPrint; request.FingerPrintPatientIdentificationID = this.FingerPrintPatientIdentificationID; request.LogInTokenID = this.loginTokenID; @@ -401,73 +404,62 @@ export class LoginComponent implements OnInit, OnDestroy { request.PatientMobileNumber = this.mobileNumber; request.ZipCode = this.zipCode; request.isRegister = false;*/ - - // request.SearchType = this.loginType; - // if (this.loginType === LoginComponent.IDENTIFCIATION_LOGIN_TYPE) { - // request.PatientIdentificationID = this.id; - // request.PatientID = 0; - // } else { - // request.PatientID = Number(this.id); - // request.PatientIdentificationID = ''; - // } - // this.authService.checkActivationCode( - // request, - // () => { - // //this.presentSMSPasswordDialog(); - // this.smsModal.presentModal(); - // }, this.ts.trPK('general', 'retry')).subscribe((result: CheckActivationCodeResponse) => { - // if (this.cs.validResponse(result)) { - // if (this.cs.hasData(result.List)) { - // this.smsService.stopSMSMonitoring(); - // this.checkIfUserAgreedBefore(result); - // } - // } - // }); - - } - - - private checkIfUserAgreedBefore(result: CheckActivationCodeResponse) { - - this.authService.setAuthenticatedUser(result).subscribe(() => { - // if (this.authService.isAgreedBefore()) { - // this.cs.openHome(); - // } else { - // // this.cs.openAgreement(); - // } - }); - } - - private checkUserAgreement() { - - } - - public signOut() { - // this.cs.presentConfirmDialog(this.ts.trPK('login', 'sign-out'), - // () => { - // this.authService.clearUser().subscribe(success => { - // this.id = null; - // if (this.countryCode) { - // this.internationlMobile.setMobileNumber(this.countryCode.code, null); - // } - - // }); - // }); - - - } - - public openForgotID() { - this.cs.openUserForgot(); - } - - public onDismiss() - { - // this.global_code = SMSService.code; - //this.checkActivationCode(this.global_code); - } - public onCancelled() - { - console.log("Modal pop up cancelled"); - } + // request.SearchType = this.loginType; + // if (this.loginType === LoginComponent.IDENTIFCIATION_LOGIN_TYPE) { + // request.PatientIdentificationID = this.id; + // request.PatientID = 0; + // } else { + // request.PatientID = Number(this.id); + // request.PatientIdentificationID = ''; + // } + // this.authService.checkActivationCode( + // request, + // () => { + // //this.presentSMSPasswordDialog(); + // this.smsModal.presentModal(); + // }, this.ts.trPK('general', 'retry')).subscribe((result: CheckActivationCodeResponse) => { + // if (this.cs.validResponse(result)) { + // if (this.cs.hasData(result.List)) { + // this.smsService.stopSMSMonitoring(); + // this.checkIfUserAgreedBefore(result); + // } + // } + // }); + } + + private checkIfUserAgreedBefore(result: CheckActivationCodeResponse) { + this.authService.setAuthenticatedUser(result).subscribe(() => { + // if (this.authService.isAgreedBefore()) { + // this.cs.openHome(); + // } else { + // // this.cs.openAgreement(); + // } + }); + } + + private checkUserAgreement() {} + + public signOut() { + // this.cs.presentConfirmDialog(this.ts.trPK('login', 'sign-out'), + // () => { + // this.authService.clearUser().subscribe(success => { + // this.id = null; + // if (this.countryCode) { + // this.internationlMobile.setMobileNumber(this.countryCode.code, null); + // } + // }); + // }); + } + + public openForgotID() { + this.cs.openUserForgot(); + } + + public onDismiss() { + // this.global_code = SMSService.code; + //this.checkActivationCode(this.global_code); + } + public onCancelled() { + console.log("Modal pop up cancelled"); + } } diff --git a/Mohem/src/app/authentication/sms-page/sms-page.page.ts b/Mohem/src/app/authentication/sms-page/sms-page.page.ts index f879b8e2..51d127af 100644 --- a/Mohem/src/app/authentication/sms-page/sms-page.page.ts +++ b/Mohem/src/app/authentication/sms-page/sms-page.page.ts @@ -1,14 +1,14 @@ -import { Component, OnInit } from '@angular/core'; -import { ElementRef } from '@angular/core'; -import { NavController } from '@ionic/angular'; -import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; -import { CommonService } from 'src/app/hmg-common/services/common/common.service'; -import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; -import { SMSCheckRequest } from 'src/app/hmg-common/services/authentication/models/smscheck.request'; -import { LoginModel } from '../models/LoginModel'; -import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service'; -import { SMSCheckResponse } from 'src/app/hmg-common/services/authentication/models/smscheck.response'; -import { Password } from '../models/password'; +import { Component, OnInit } from "@angular/core"; +import { ElementRef } from "@angular/core"; +import { NavController } from "@ionic/angular"; +import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service"; +import { CommonService } from "src/app/hmg-common/services/common/common.service"; +import { SharedDataService } from "src/app/hmg-common/services/shared-data-service/shared-data.service"; +import { SMSCheckRequest } from "src/app/hmg-common/services/authentication/models/smscheck.request"; +import { LoginModel } from "../models/LoginModel"; +import { AuthenticationService } from "src/app/hmg-common/services/authentication/authentication.service"; +import { SMSCheckResponse } from "src/app/hmg-common/services/authentication/models/smscheck.response"; +import { Password } from "../models/password"; @Component({ selector: "app-sms-page", @@ -16,7 +16,7 @@ import { Password } from '../models/password'; styleUrls: ["./sms-page.page.scss"] }) export class SmsPagePage implements OnInit { - public static LOGIN_DATA = 'LOGIN_DATA'; + public static LOGIN_DATA = "LOGIN_DATA"; Channel: number = 0; activationCode: string; P_SESSION_ID: number; @@ -46,8 +46,8 @@ export class SmsPagePage implements OnInit { this.count = 0; this.initTimer(); this.startTimer(); - this.isForgetPwd = this.sharedData.getSharedData(Password.IS_FORGET_PSW) || false; - + this.isForgetPwd = + this.sharedData.getSharedData(Password.IS_FORGET_PSW) || false; } initTimer() { @@ -124,7 +124,7 @@ export class SmsPagePage implements OnInit { //this.navCtrl.pop(); goBack this.common.JustAlertDialog(this.translate.trPK("general", "ok"), msg); } - }; + } public checkSMS() { const data = this.sharedData.getSharedData("logindata", false); @@ -132,9 +132,7 @@ export class SmsPagePage implements OnInit { (request.LogInTokenID = data.LogInTokenID), (request.activationCode = this.activationCode); - //request.P_USER_NAME=this.userName, - //request.MobileNumber=this.member.MemberLoginList.P_MOBILE_NUMBER - + request.MobileNumber = data.MobileNumber; this.authService .checkSMS(request, () => {}, this.translate.trPK("general", "ok")) .subscribe((result: SMSCheckResponse) => { @@ -142,36 +140,33 @@ export class SmsPagePage implements OnInit { if (this.common.validResponse(result)) { //this.sharedData.setSharedData(this.loginData, SmsPagePage.LOGIN_DATA); this.authService.setAuthenticatedUser(result).subscribe(() => { - this.common.openHome(); - }) + this.common.openHome(); + }); } }); } - public checkForgetPwdSMS() - { + public checkForgetPwdSMS() { const data = this.sharedData.getSharedData("logindata", false); const request = new SMSCheckRequest(); - request.LogInTokenID= data.LogInTokenID, - request.activationCode =this.activationCode; + (request.LogInTokenID = data.LogInTokenID), + (request.activationCode = this.activationCode); //request.P_USER_NAME=this.userName, //request.MobileNumber=this.member.MemberLoginList.P_MOBILE_NUMBER console.log(data.LogInTokenID); - this.authService.checkForgetSMS( - request, - () => { - }, this.translate.trPK('general', 'ok')).subscribe((result: SMSCheckResponse) => { + this.authService + .checkForgetSMS(request, () => {}, this.translate.trPK("general", "ok")) + .subscribe((result: SMSCheckResponse) => { console.log(result); - if (this.common.validResponse(result)) { - console.log(result); + if (this.common.validResponse(result)) { + console.log(result); - //this.loginData.LogInTokenID = result.LogInTokenID; - //this.sharedData.setSharedData(this.loginData, "logindata"); - this.common.openForgotPassword(); - } + //this.loginData.LogInTokenID = result.LogInTokenID; + //this.sharedData.setSharedData(this.loginData, "logindata"); + this.common.openForgotPassword(); + } }); } - } diff --git a/Mohem/src/app/hmg-common/hmg-common.module.ts b/Mohem/src/app/hmg-common/hmg-common.module.ts index 43ff4d57..154867ad 100644 --- a/Mohem/src/app/hmg-common/hmg-common.module.ts +++ b/Mohem/src/app/hmg-common/hmg-common.module.ts @@ -46,7 +46,7 @@ import { UserLocalNotificationService } from './services/user-local-notification import { LocalNotifications } from '@ionic-native/local-notifications/ngx'; import { EmailComponent } from './ui/email/email.component'; import { Badge } from '@ionic-native/badge/ngx'; -import { Push } from '@ionic-native/push/ngx'; +// import { Push } from '@ionic-native/push/ngx'; import { PushService } from './services/push/push.service'; import { LifeCycleService } from './services/life-cycle/life-cycle.service'; import { HmgBrowserService } from './services/hmg-browser/hmg-browser.service'; @@ -69,7 +69,6 @@ import { Keyboard } from '@ionic-native/keyboard/ngx'; import { KeyboardService } from './services/keyboard/keyboard.service'; import { DevicePermissionsService } from './services/device-permissions/device-permissions.service'; import { SegmentsComponent } from './ui/segments/segments.component'; -import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx'; import { AccordionComponent } from './ui/accordion/accordion.component'; import { AccordionTabComponent } from './ui/accordion/accordion-tab/accordion-tab.component'; import { TwoOptionSelectComponent } from './ui/two-option-select/two-option-select.component'; @@ -218,7 +217,6 @@ import { MenuService } from './services/menu/menuservice.service'; UserLocalNotificationService, LocalNotifications, Badge, - Push, LifeCycleService, HmgBrowserService, GuidService, @@ -228,7 +226,6 @@ import { MenuService } from './services/menu/menuservice.service'; KeyboardService, Diagnostic, DevicePermissionsService, - BarcodeScanner, LazyLoadingService, HMGPreloadingStrategy, HMGPreloadingStrategyLoading, diff --git a/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts b/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts index 69c0d4b7..f3ddea32 100644 --- a/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts +++ b/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts @@ -113,7 +113,7 @@ export class AuthenticationService { request.LanguageID = TranslatorService.getCurrentLanguageCode(); //request.IPAdress = '10.10.10.10'; //request.SessionID = "any thing"; // ??? required for not authorized login funny - request.MobileType = "android"; + request.MobileType = ""; //request.isDentalAllowedBackend = false; return request; } diff --git a/Mohem/src/app/hmg-common/services/push/push.service.ts b/Mohem/src/app/hmg-common/services/push/push.service.ts index f87de61d..48be6ccb 100644 --- a/Mohem/src/app/hmg-common/services/push/push.service.ts +++ b/Mohem/src/app/hmg-common/services/push/push.service.ts @@ -1,5 +1,5 @@ import { Injectable, NgZone } from '@angular/core'; -import { Push, PushObject, PushOptions } from '@ionic-native/push/ngx'; +// import { Push, PushObject, PushOptions } from '@ionic-native/push/ngx'; import { CommonService } from '../common/common.service'; import { TranslatorService } from '../translator/translator.service'; import { NotificationModel } from './models/notification.model'; @@ -26,7 +26,7 @@ export class PushService { public static CHANNEL_ID = '815750722565'; constructor( - public push: Push, + // public push: Push, public cs: CommonService, public ts: TranslatorService, public sharedService: SharedDataService, @@ -43,58 +43,58 @@ export class PushService { this.processStartReceiving(); } private processStartReceiving() { - if (this.cs.isCordova()) { - this.stopNotifications(() => { - this.push.hasPermission() - .then((res: any) => { - if (res.isEnabled) { - this.createChannel(); - } else { - this.cs.presentAlert(this.ts.trPK('push', 'no-permiss')); - } - }); - }); - } + // if (this.cs.isCordova()) { + // this.stopNotifications(() => { + // this.push.hasPermission() + // .then((res: any) => { + // if (res.isEnabled) { + // this.createChannel(); + // } else { + // this.cs.presentAlert(this.ts.trPK('push', 'no-permiss')); + // } + // }); + // }); + // } } private createChannel() { // Create a channel (Android O and above). You'll need to provide the id, description and importance properties. - this.push.createChannel({ - id: PushService.CHANNEL_ID, - description: 'HMG push notifications', - importance: 3 - }).then(() => { - this.initialize(); - }); + // this.push.createChannel({ + // id: PushService.CHANNEL_ID, + // description: 'HMG push notifications', + // importance: 3 + // }).then(() => { + // this.initialize(); + // }); } private initialize() { - const options: PushOptions = { - android: { - senderID: PushService.CHANNEL_ID, - sound: true, - forceShow: true - }, - ios: { - alert: true, - badge: true, - sound: true - }, - windows: {}, - browser: { - pushServiceURL: 'http://push.api.phonegap.com/v1/push' - } - }; - const pushObject: PushObject = this.push.init(options); - pushObject.on('notification').subscribe((notification: any) => { - this.processNotification(notification); - }); + // const options: PushOptions = { + // android: { + // senderID: PushService.CHANNEL_ID, + // sound: true, + // forceShow: true + // }, + // ios: { + // alert: true, + // badge: true, + // sound: true + // }, + // windows: {}, + // browser: { + // pushServiceURL: 'http://push.api.phonegap.com/v1/push' + // } + // }; + // const pushObject: PushObject = this.push.init(options); + // pushObject.on('notification').subscribe((notification: any) => { + // this.processNotification(notification); + // }); - pushObject.on('registration').subscribe((data: any) => { - this.registerInBackend(data); - }); + // pushObject.on('registration').subscribe((data: any) => { + // this.registerInBackend(data); + // }); - pushObject.on('error').subscribe(error => console.error('Error with Push plugin', error)); + // pushObject.on('error').subscribe(error => console.error('Error with Push plugin', error)); } @@ -149,11 +149,11 @@ export class PushService { } public stopNotifications(done: any) { // Delete a channel (Android O and above) - if (this.cs.isCordova()) { - this.push.deleteChannel(PushService.CHANNEL_ID).then(() => { - done(); - }); - } + // if (this.cs.isCordova()) { + // this.push.deleteChannel(PushService.CHANNEL_ID).then(() => { + // done(); + // }); + // } } private registerInBackend(data: any) { diff --git a/Mohem/src/app/home/home.page.scss b/Mohem/src/app/home/home.page.scss index 709bf833..018f5f17 100644 --- a/Mohem/src/app/home/home.page.scss +++ b/Mohem/src/app/home/home.page.scss @@ -63,7 +63,7 @@ font-size: 14px; min-height: 20px; // white-space: normal; - display: -webkit-box; + text-align: center; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; diff --git a/Mohem/src/assets/localization/i18n.json b/Mohem/src/assets/localization/i18n.json index 4f926ef5..de7f67ff 100644 --- a/Mohem/src/assets/localization/i18n.json +++ b/Mohem/src/assets/localization/i18n.json @@ -684,5 +684,36 @@ "en": "User has no permissions", "ar": "المستخدم ليس لدية صلاحيات" } +}, +"home": { + "dashboard":{ + "en":"My Dashboard", + "ar":"" + }, + "hello": { + "en":"Hello", + "ar":"" + }, + "logout": { + "en":"Logout", + "ar":"" + }, + "worklist":{ + "en":"Work List", + "ar":"" + }, + "possitionAlert":{ + "en":"The app could not access your location. Make sure that the location service is enabled from your device settings", + "ar":"" + }, + "swipeAlertSuccess":{ + "en":"Your swipe done successfully", + "ar":"" + }, + + "swipeAlertFailed":{ + "en":"your swipe Failed, please try again...", + "ar":"" + } } } \ No newline at end of file From 0bf7dbd72e9f12e3d32cb0db2a166c252b9c8b1e Mon Sep 17 00:00:00 2001 From: Sultan Khan Date: Thu, 27 Jun 2019 09:18:53 +0300 Subject: [PATCH 10/22] dashboard update --- Mohem/src/app/app.component.html | 52 ++++-- Mohem/src/app/app.component.scss | 4 + Mohem/src/app/app.component.ts | 4 +- Mohem/src/app/home/home.page.html | 12 +- Mohem/src/assets/localization/i18n.json | 227 +++++++++++++++++++++--- 5 files changed, 253 insertions(+), 46 deletions(-) diff --git a/Mohem/src/app/app.component.html b/Mohem/src/app/app.component.html index edf5dc1b..03b58f52 100644 --- a/Mohem/src/app/app.component.html +++ b/Mohem/src/app/app.component.html @@ -4,32 +4,50 @@ - +
-

{{"home.hello" | translate}}, {{User_name_Emp}}

+

{{ts.trPK('home','hello')}}, {{User_name_Emp}}

- + + + + + + + {{ts.trPK('userProfile','title')}} + + + - - - --> + + + {{ts.trPK('home','logout')}} + + + +
-

{{"userData.dashboard" | translate}}

+

{{ts.trPK('home','dashboard')}}, {{User_name_Emp}}

@@ -33,26 +33,26 @@ diff --git a/Mohem/src/assets/localization/i18n.json b/Mohem/src/assets/localization/i18n.json index de7f67ff..5392d1e6 100644 --- a/Mohem/src/assets/localization/i18n.json +++ b/Mohem/src/assets/localization/i18n.json @@ -90,20 +90,6 @@ "ar":"تحقق مرة واحدة كلمة المرور" } }, -"changePassword":{ - "newPassword":{ - "en":"New Password", - "ar":"كلمة المرور الجديدة" - }, - "confirmPassword":{ - "en":"Confirm Password", - "ar":"تأكيد كلمة المرور" - }, - "passwordchanged":{ - "en":"Your password changed successfully", - "ar":"تم تغيير كلمة المرور الخاصة بك بنجاح" - } -}, "verificationcode": { "verificationcode":{ @@ -688,32 +674,231 @@ "home": { "dashboard":{ "en":"My Dashboard", - "ar":"" + "ar": "الرئيسية" }, "hello": { "en":"Hello", - "ar":"" + "ar":"مرحبا" }, "logout": { "en":"Logout", - "ar":"" + "ar":"تسجيل الخروج" }, "worklist":{ "en":"Work List", - "ar":"" + "ar":"قائمة العمل" }, "possitionAlert":{ "en":"The app could not access your location. Make sure that the location service is enabled from your device settings", - "ar":"" + "ar":"تعذر على التطبيق الوصول إلى موقعك. تأكد من تفعيل خدمة الموقع من إعدادات جهازك" }, "swipeAlertSuccess":{ "en":"Your swipe done successfully", - "ar":"" + "ar":"تم تسجيل الدخول بنجاح" }, "swipeAlertFailed":{ "en":"your swipe Failed, please try again...", - "ar":"" + "ar":"حدث خطاء في تسجيل الدخول فضلاً اعد المحاولة" } +}, +"userProfile": { + "title": + { + "en": "My Profile", + "ar":"معلوماتي" + }, + "empNo": { + "en": "Employee Number", + "ar":"الرقم الوظيفي" + + }, + "busG":{ + "en": "Business Group", + "ar":"مجموعة العمل" + }, + "job":{ + "en": "Job", + "ar":"الوظيفة" + }, + "locName":{ + "en": "Location Name", + "ar": "اسم الموقع" + }, + "payrol": { + "en":"Payroll", + "ar":"كشف الرواتب" + }, + "orgEmail": { + "en":"Organization Email Address", + "ar":"البريد الإلكتروني للمنشأة" + }, + "name":{ + "en": "Emplyee Name", + "ar":"اسم الموظف " + }, + "orgName": { + "en":"Organization Name", + "ar":"اسم المنشأة" + + }, + "position": { + "en":"Position", + "ar":"منصب" + }, + "grade":{ + "en": "Grade", + "ar":"الدرجة" + }, + "category": { + "en":"Category", + "ar":"الفئة" + } +}, +"changePassword": { + "successChange":{ + "en": "Password Changed successfully", + "ar":"تم تغيير كلمة المرور بنجاح" + }, + "currentPassword": { + "en":"Current Password", + "ar": "تغيير كلمة المرور" + }, + "confirmPassword": { + "en":"Confirm Password", + "ar":"" + }, + "newPassword": { + "en":"New Password", + "ar":"" + }, + "changePassword": { + "en":"Change Password", + "ar":"" + }, + "codeNumber": { + "en":"verification code", + "ar":"" + }, + "emptyNewPassword": { + "en":"Please fill New Password field", + "ar":"" + }, + "emptyOldPassword": { + "en":"Please fill Old Password field", + "ar":"" + }, + "emptyConfirmPassword": { + "en":"Please fill Confirm Password field", + "ar":"" + } +}, +"attendance": + { + "attendance":{ + "ar":"الحضور", + "en":"Attendance" + } +}, +"vacationRule": { + "vacationRule":{ + "en": "Vacation Rule", + "ar":"قواعد الإجازات" + }, + "ruleName": { + "en": "Rule Name", + "ar": "اسم القاعدة" + }, + "itemType": { + "en": "Item Type", + "ar": "نوع العنصر" + }, + "notification": { + "en": "Notification", + "ar":"إشعار" + }, + "status":{ + "en": "Status", + "ar": "حالة" + }, + "createRule": { + "en": "Create Rule", + "ar":"إنشاء قاعدة" + }, + "ruleInfo":{ + "en": "Rule Information", + "ar":"معلومات القاعدة" + }, + "deleteVR":{ + "en": "Are you sure you want to delete this rule?", + "ar":"هل تريد فعلا حذف هذه القاعدة؟" + }, + "tip":{ + "en": "

You can EDIT or DELETE your current rules or CREATE RULE

", + "ar":"

يمكنك تعديل أو حذف القواعد الحالية أو إنشاء قاعدة جديدة

" + } +}, +"absenceList": { + "absenceList":{ + "en": "Absence list", + "ar": "قائمة الإجازات" + }, + "accrualBalances":{ + "en": "Accrual Balances", + "ar": "رصيد حساب المستحقات" + }, + "createAbsence":{ + "en": "Create Absence", + "ar":"إنشاء إجازة" + }, + "startDate": { + "en":"Start Date", + "ar":"تاريخ البداية" + }, + "endDate":{ + "en": "End Date", + "ar":"تاريخ النهاية" + }, + "absenceType":{ + "en": "Absence Type", + "ar":"نوع الإجازة" + }, + "absenceCategory": { + "en":"Absence Category", + "ar":"فئة الإجازة" + }, + "days": { + "en":"Days", + "ar":"أيام" + }, + "hours": { + "en":"Hours", + "ar":"ساعات" + }, + "approvalStatus": { + "en":"Approval Status", + "ar":"حالة الموافقة" + }, + "absenceStatus": { + "en":"Absence Status", + "ar":"حالة الإجازة" + }, + "createAbs":{ + "en": "Create Absence", + "ar":"إضافة" + }, + "attach":{ + "en":"Attachments", + "ar":"المرفقات" + }, + "absHeader":{ + "en":"Absence Details", + "ar":"معلومات الإجازة" + }, + "attachList":{ + "en":"Attachment List", + "ar":"قائمة المرفقات" + + } } } \ No newline at end of file From 1921701ef955457116f51bb9dbefbbd51f409f97 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Thu, 27 Jun 2019 09:41:17 +0300 Subject: [PATCH 11/22] Vacation Rule Continued --- .../vacation-rule/home/home.component.html | 10 +- .../app/vacation-rule/home/home.component.ts | 4 +- .../app/vacation-rule/vacation-rule.module.ts | 8 +- .../vacation-type.component.html | 40 + .../vacation-type.component.scss | 83 + .../vacation-type.component.spec.ts | 27 + .../vacation-type/vacation-type.component.ts | 14 + Mohem/src/assets/localization/i18n.json | 2773 +++++++++-------- Mohem/src/theme/styles.scss | 4 + 9 files changed, 1571 insertions(+), 1392 deletions(-) create mode 100644 Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.html create mode 100644 Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.scss create mode 100644 Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.spec.ts create mode 100644 Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.ts diff --git a/Mohem/src/app/vacation-rule/home/home.component.html b/Mohem/src/app/vacation-rule/home/home.component.html index 5935739e..083e3438 100644 --- a/Mohem/src/app/vacation-rule/home/home.component.html +++ b/Mohem/src/app/vacation-rule/home/home.component.html @@ -1,14 +1,8 @@ - {{ 'general,vacation-rule' | translate}} + {{ 'vacation-rule, vacation-rule-label' | translate}} - @@ -79,6 +73,6 @@
- {{'vacation-rule, create-rule' | translate}} + {{'vacation-rule, create-rule' | translate}}
\ No newline at end of file diff --git a/Mohem/src/app/vacation-rule/home/home.component.ts b/Mohem/src/app/vacation-rule/home/home.component.ts index 5180fe2c..3e6f204a 100644 --- a/Mohem/src/app/vacation-rule/home/home.component.ts +++ b/Mohem/src/app/vacation-rule/home/home.component.ts @@ -124,8 +124,8 @@ export class HomeComponent implements OnInit { console.log(this.GetVacationRulesList); } - Vaction_Type() { - + Vacation_Type() { + this.cs.navigateForward('/vacation-rule/vacation-type'); } getVacationRules() { diff --git a/Mohem/src/app/vacation-rule/vacation-rule.module.ts b/Mohem/src/app/vacation-rule/vacation-rule.module.ts index 2bf8e2eb..54ddced6 100644 --- a/Mohem/src/app/vacation-rule/vacation-rule.module.ts +++ b/Mohem/src/app/vacation-rule/vacation-rule.module.ts @@ -8,6 +8,7 @@ import { Routes, RouterModule } from '@angular/router'; import { IonicModule } from '@ionic/angular'; import { VacationRulePage } from './vacation-rule.page'; +import { VacationTypeComponent } from './vacation-type/vacation-type.component'; const routes: Routes = [ { @@ -17,6 +18,10 @@ const routes: Routes = [ { path: 'home', component: HomeComponent + }, + { + path: 'vacation-type', + component: VacationTypeComponent } ] } @@ -32,7 +37,8 @@ const routes: Routes = [ ], declarations: [ VacationRulePage, - HomeComponent + HomeComponent, + VacationTypeComponent ] }) export class VacationRulePageModule { } diff --git a/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.html b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.html new file mode 100644 index 00000000..9f04bb70 --- /dev/null +++ b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.html @@ -0,0 +1,40 @@ + + + + {{ 'vacation-rule, vacation-type' | translate}} + + + + + + + + +
    + + + +
  • {{'vacation-rule, rule-type' | translate}}
  • + +
    + + +
  • {{'vacation-rule, notification-label' | translate}}
  • + +
    + + +
  • {{'vacation-rule, create-vacation-rule' | translate}}
  • + +
    +
    +
+
+ +
\ No newline at end of file diff --git a/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.scss b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.scss new file mode 100644 index 00000000..18845ea4 --- /dev/null +++ b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.scss @@ -0,0 +1,83 @@ +li { + width: 100%; +} + +.cusprogressbar li:after { + width: 100%; + height: 2px; + content: ""; + position: absolute; + background-color: #d9d9d9; + top: 20px; +} + +// .progcontainer { +// margin: auto; +// text-align: center; +// width: 100%; +// min-height: 100px; +// } +// .cusprogressbar { +// counter-reset: step; +// padding: 0px; +// } +// .cusprogressbar li { +// list-style-type: none; +// width: 33.333%; +// // @include ltr{ +// // float: left; +// // } +// // @include rtl{ +// // float: right; +// // } +// font-size: 12px; +// position: relative; +// text-align: center; +// color: #7F8C8D; +// // @include ltr(){ +// // font-family: $fontFamilySemiBoldEN; +// // } +// // @include rtl(){ +// // font-family: $fontFamilyIOSAR; +// // font-weight: bold; +// // } +// } +// .cusprogressbar li:before { +// width: 40px; +// height: 40px; +// content: counter(step); +// color: #ffffff; +// counter-increment: step; +// line-height: 40px; +// border: 0px; +// background-color: #acacac; +// display: block; +// text-align: center; +// margin: 0 auto 10px auto; +// border-radius: 50%; +// } +// .cusprogressbar li:after { +// width: 100%; +// height: 2px; +// content: ''; +// position: absolute; +// background-color: #d9d9d9; +// top: 20px; +// // @include ltr{ +// // left: -50%; +// // } +// // @include rtl{ +// // right: -50%; +// // } + +// z-index: -1; +// } +// .cusprogressbar li:first-child:after { +// content: none; +// } +// .cusprogressbar li.active { +// color: #209a83; +// } +// .cusprogressbar li.active:before { +// background-color: #209a83; +// } diff --git a/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.spec.ts b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.spec.ts new file mode 100644 index 00000000..80d42517 --- /dev/null +++ b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { VacationTypeComponent } from './vacation-type.component'; + +describe('VacationTypeComponent', () => { + let component: VacationTypeComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ VacationTypeComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(VacationTypeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.ts b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.ts new file mode 100644 index 00000000..e0d254b1 --- /dev/null +++ b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.ts @@ -0,0 +1,14 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-vacation-type', + templateUrl: './vacation-type.component.html', + styleUrls: ['./vacation-type.component.scss'], +}) +export class VacationTypeComponent implements OnInit { + + constructor() { } + + ngOnInit() {} + +} diff --git a/Mohem/src/assets/localization/i18n.json b/Mohem/src/assets/localization/i18n.json index ecf32be9..dfa1d1d3 100644 --- a/Mohem/src/assets/localization/i18n.json +++ b/Mohem/src/assets/localization/i18n.json @@ -1,1384 +1,1395 @@ { - "SUPPORTED_LANGUAGES": [ - "en", - "ar", - "fr" - ], - "login": { - "login": { - "en": "Login", - "ar": "الدخول" - }, - "username": { - "en": "User Name", - "ar": "اسم المستخدم" - }, - "login-type": { - "en": "Login Type", - "ar": "نوع الدخول" - }, - "register": { - "en": "Register", - "ar": "التسجيل" - }, - "sign-out": { - "en": "Are you sure you want to Sign Out", - "ar": "هل أنت متأكد من إغلاق الحساب" - }, - "forgot-id": { - "en": "Forgot Patient ID", - "ar": "نسيت رقم الملف" - }, - "forgot-password": { - "en": "Forgot Password", - "ar": "نسيت كلمة المرور" - }, - "password": { - "en": "Password", - "ar": "كلمه السر" - }, - "changepassword": { - "en": "Change Password", - "ar": "غير كلمة السر" - }, - "forgot-your-id": { - "en": "Forgot Your Patient ID", - "ar": "هل نسيت رقم ملف المريض" - }, - "forgot-desc": { - "en": "Enter your mobile number to receive your patient file number via SMS", - "ar": "أدخل رقم جوالك لاستلام رقم الملف الخاص بك عن طريق الرسائل النصية" - }, - "enter-email": { - "en": "Please you need to enter your email", - "ar": "لو سمحت أدخل البريد الإلكتروني الخاص بك" - }, - "enable-biometric": { - "en": "Do you want to use biometric sensors to ease your login", - "ar": "هل ترغب في استخدام أجهزة الاستشعار البصمة لتسهيل تسجيل دخولك" - }, - "face": { - "en": "Do you want to login with face recognition", - "ar": "هل تود الدخول ببصمة الوجة" - }, - "finger": { - "en": "Do you want to login with finger print", - "ar": "هل تود الدخول ببصمة الإصبع" - }, - "signout": { - "en": "Sign Out", - "ar": "تسجيل خروج" - }, - "find-us": { - "en": "Find us on social", - "ar": "تواصل معنا" - }, - "login-register": { - "en": "Login / Register", - "ar": "دخول / تسجيل" - }, - "id-or-file": { - "en": "ID or File No", - "ar": "هوية أو رقم الملف" - }, - "national-id-or-iqama": { - "en": "National ID or Iqama", - "ar": "رقم الهوية أو الإقامة" - }, - "sms-page": { - "en": "Verify OTP", - "ar": "تحقق مرة واحدة كلمة المرور" - } - }, - "vacation-rule": { - "main-heading": { - "en": "

You can EDIT or DELETE your current rules or CREATE RULE

", - "ar": "

يمكنك تعديل أو حذف القواعد الحالية أو إنشاء قاعدة جديدة

" - }, - "rule-Info": { - "en": "Rule Information", - "ar": "معلومات القاعدة" - }, - "rule-name": { - "en": "Rule Name", - "ar": "اسم القاعدة" - }, - "rule-type": { - "en": "Item Type", - "ar": "نوع العنصر" - }, - "notification-label": { - "en": "Notification", - "ar": "إعلام" - }, - "rule-status": { - "en": "Status", - "ar": "الحالة" - }, - "create-rule": { - "en": "Create Rule", - "ar": "إنشاء قاعدة" - } - }, - "verificationcode": { - "verificationcode": { - "en": "Verification Code", - "ar": "رمز التحقق" - }, - "emptyCode": { - "en": "Please enter the verification code", - "ar": "الرجاء ادخال رمز التحقق" - }, - "title": { - "en": "You will receive a ", - "ar": " سوف تستلم " - }, - "by": { - "en": " by ", - "ar": "عن طريق " - }, - "sms": { - "en": "SMS", - "ar": " رسالة نصية " - }, - "instruct": { - "en": " fill the code and ", - "ar": " ادخل الرمز و اضغط " + "SUPPORTED_LANGUAGES": [ + "en", + "ar", + "fr" + ], + "login": { + "login": { + "en": "Login", + "ar": "الدخول" + }, + "username": { + "en": "User Name", + "ar": "اسم المستخدم" + }, + "login-type": { + "en": "Login Type", + "ar": "نوع الدخول" + }, + "register": { + "en": "Register", + "ar": "التسجيل" + }, + "sign-out": { + "en": "Are you sure you want to Sign Out", + "ar": "هل أنت متأكد من إغلاق الحساب" + }, + "forgot-id": { + "en": "Forgot Patient ID", + "ar": "نسيت رقم الملف" + }, + "forgot-password": { + "en": "Forgot Password", + "ar": "نسيت كلمة المرور" + }, + "password": { + "en": "Password", + "ar": "كلمه السر" + }, + "changepassword": { + "en": "Change Password", + "ar": "غير كلمة السر" + }, + "forgot-your-id": { + "en": "Forgot Your Patient ID", + "ar": "هل نسيت رقم ملف المريض" + }, + "forgot-desc": { + "en": "Enter your mobile number to receive your patient file number via SMS", + "ar": "أدخل رقم جوالك لاستلام رقم الملف الخاص بك عن طريق الرسائل النصية" + }, + "enter-email": { + "en": "Please you need to enter your email", + "ar": "لو سمحت أدخل البريد الإلكتروني الخاص بك" + }, + "enable-biometric": { + "en": "Do you want to use biometric sensors to ease your login", + "ar": "هل ترغب في استخدام أجهزة الاستشعار البصمة لتسهيل تسجيل دخولك" + }, + "face": { + "en": "Do you want to login with face recognition", + "ar": "هل تود الدخول ببصمة الوجة" + }, + "finger": { + "en": "Do you want to login with finger print", + "ar": "هل تود الدخول ببصمة الإصبع" + }, + "signout": { + "en": "Sign Out", + "ar": "تسجيل خروج" + }, + "find-us": { + "en": "Find us on social", + "ar": "تواصل معنا" + }, + "login-register": { + "en": "Login / Register", + "ar": "دخول / تسجيل" + }, + "id-or-file": { + "en": "ID or File No", + "ar": "هوية أو رقم الملف" + }, + "national-id-or-iqama": { + "en": "National ID or Iqama", + "ar": "رقم الهوية أو الإقامة" + }, + "sms-page": { + "en": "Verify OTP", + "ar": "تحقق مرة واحدة كلمة المرور" + } + }, + "vacation-rule": { + "main-heading": { + "en": "

You can EDIT or DELETE your current rules or CREATE RULE

", + "ar": "

يمكنك تعديل أو حذف القواعد الحالية أو إنشاء قاعدة جديدة

" + }, + "rule-Info": { + "en": "Rule Information", + "ar": "معلومات القاعدة" + }, + "rule-name": { + "en": "Rule Name", + "ar": "اسم القاعدة" + }, + "rule-type": { + "en": "Item Type", + "ar": "نوع العنصر" + }, + "notification-label": { + "en": "Notification", + "ar": "إعلام" + }, + "rule-status": { + "en": "Status", + "ar": "الحالة" + }, + "create-rule": { + "en": "Create Rule", + "ar": "إنشاء قاعدة" + }, + "vacation-rule-label": { + "en": "Vacation Rule", + "ar": "قاعدة عطلة" + }, + "vacation-type": { + "en": "Vacation Type", + "ar": "نوع العطلة" + }, + "create-vacation-rule": { + "en": "Create Vacation Rule", + "ar": "إنشاء قاعدة عطلة" } - }, - "general": { - "birth_date": { - "en": "Birth Date", - "ar": "تاريخ الميلاد" - }, - "alert": { - "en": "Alert", - "ar": "تنبية" - }, - "details": { - "en": "Details", - "ar": "التفاصيل" - }, - "title": { - "en": "Title", - "ar": "العنوان" - }, - "info": { - "en": "Information", - "ar": "معلومات" - }, - "reset": { - "en": "Reset", - "ar": "إعادة تعيين" - }, - "ok": { - "en": "Ok", - "ar": "موافق" - }, - "confirm": { - "en": "Confirm", - "ar": "تأكيد" - }, - "cancel": { - "en": "Cancel", - "ar": "إلغاء" - }, - "done": { - "en": "Done", - "ar": "تم" - }, - "close": { - "en": "Close", - "ar": "إغلق" - }, - "back": { - "en": "Back", - "ar": "رجوع" - }, - "about": { - "en": "About", - "ar": "عن" - }, - "hide": { - "en": "Hide", - "ar": "إخفي" - }, - "select-only": { - "en": "Select", - "ar": "إختر" - }, - "select": { - "en": "Please select", - "ar": "إختر لو سمحت" - }, - "need": { - "en": "You need", - "ar": "أنت تحتاج" - }, - "hospital.location": { - "en": "Hospital Location", - "ar": "مكان المستشفي" - }, - "complaint": { - "en": "Raise Complaint", - "ar": "إرفع شكوي" - }, - "retry": { - "en": "Retry", - "ar": "أعد" - }, - "cart": { - "en": "Add to cart", - "ar": "أضف للسلة" - }, - "reminder": { - "en": "Add Reminder", - "ar": "أضف تذكير" - }, - "cancel-reminder": { - "en": "Cancel Reminder", - "ar": "الغي تذكير" - }, - "send-copy": { - "en": "Send Copy", - "ar": "أرسل نسخة" - }, - "personal-info": { - "en": "Personal Information", - "ar": "البيانات الشخصية" - }, - "qualification": { - "en": "Qualifications", - "ar": "المؤهلات" - }, - "nationality": { - "en": "Nationality", - "ar": "الجنسية" - }, - "empty": { - "en": "Sorry no data avaiable", - "ar": "لا يوجد بيانات" - }, - "no-match": { - "en": "Sorry no match", - "ar": "لا توجد نتيجة" - }, - "home": { - "en": "Home", - "ar": "الرئيسية" - }, - "date": { - "en": "Date", - "ar": "التاريخ" - }, - "num": { - "en": "No", - "ar": "الرقم" - }, - "time": { - "en": "Time", - "ar": "االوقت" - }, - "week": { - "en": "Week", - "ar": "أسبوع" - }, - "weeks": { - "en": "Weeks", - "ar": "أسابيع" - }, - "month": { - "en": "Month", - "ar": "شهر" - }, - "year": { - "en": "Year", - "ar": "سنة" - }, - "delete": { - "en": "Delete", - "ar": "إحذف" - }, - "add": { - "en": "Add", - "ar": "أضف" - }, - "edit": { - "en": "Edit", - "ar": "تعديل" - }, - "measure-unit": { - "en": "Measure unit", - "ar": "وحدة القياس" - }, - "measure-time": { - "en": "Measure time", - "ar": "وقت القياس" - }, - "save": { - "en": "Save", - "ar": "إحفظ" - }, - "success": { - "en": "Done successfully", - "ar": "تم بنجاح" - }, - "other": { - "en": "Other", - "ar": "أخري" - }, - "provide-missing": { - "en": "Please provide required information", - "ar": "لو سمحت قم بإدخال البيانات المطلوبة" - }, - "type": { - "en": "Type", - "ar": "النوع" - }, - "location": { - "en": "Location", - "ar": "المكان" - }, - "sequence": { - "en": "Sequence", - "ar": "رقم" - }, - "status": { - "en": "Status", - "ar": "الحالة" - }, - "scan": { - "en": "Scan", - "ar": "إبحث" - }, - "stop": { - "en": "Stop", - "ar": "توقف" - }, - "stop-connection": { - "en": "Stop Connection", - "ar": "وقف الإتصال" - }, - "remove-measure": { - "en": "Are you sure you want to remove this measure", - "ar": "هل متأكد تريد حذف عذة القراءة" - }, - "optional": { - "en": "Optional", - "ar": "خياري" - }, - "search": { - "en": "Search", - "ar": "إبحث" - }, - "advanced-search": { - "en": "Advanced Search", - "ar": "بحث متقدم" - }, - "email": { - "en": "Email", - "ar": "البريد الالكتروني" - }, - "filter": { - "en": "Filter", - "ar": "تفضيل" - }, - "first-name": { - "en": "First Name", - "ar": "الاسم الأول" - }, - "middle-name": { - "en": "Middle Name", - "ar": "إسم الوالد" - }, - "last-name": { - "en": "Last Name", - "ar": "إسم العائلة" - }, - "subject": { - "en": "Subject", - "ar": "موضوع" - }, - "message": { - "en": "Message", - "ar": "رسالة" - }, - "attachment": { - "en": "Attachment", - "ar": "مرفق" - }, - "select-attachment": { - "en": "Select Attachment", - "ar": "إختر مرفق" - }, - "large-file": { - "en": "Kindly select smaller file", - "ar": "لو سمحت إختر ملف أصغر" - }, - "open": { - "en": "Open", - "ar": "إفتح" - }, - "submit": { - "en": "Submit", - "ar": "أرسل" - }, - "enter-sms-code": { - "en": "Enter verification code", - "ar": "أدخل رقم التعريف" - }, - "enter-sms-enable-biometric": { - "en": "Enter verification for biometric", - "ar": "أدخل رقم التفعيل للبصمة" - }, - "enter-sms": { - "en": "Enter sms ", - "ar": "أدخل رقم الرسالة" - }, - "no-need": { - "en": "No Need", - "ar": "لا حاجة" - }, - "search-citeria": { - "en": "Select search criteria", - "ar": "إختر كيفية البحث" - }, - "search-by-complaint": { - "en": "Chaif Complaint Number", - "ar": "رقم الشكوي" - }, - "complaint-num": { - "en": "Complaint No", - "ar": "رقم الشكوي" - }, - "search-by-file": { - "en": "File Number", - "ar": "رقم الملف" - }, - "search-by-id": { - "en": "Identification Number", - "ar": "رقم الإقامة" - }, - "enter-complaint-no": { - "en": "Enter Chaif Complaint Number", - "ar": "أدخل رقم الشكوي" - }, - "enter-file-no": { - "en": "Enter File Number", - "ar": "أدخل رقم الملف" - }, - "file-no": { - "en": "File Number", - "ar": "رقم الملف" - }, - "enter-id-no": { - "en": "Enter Identification Number", - "ar": "أدخل رقم الإقامة أو الهوية" - }, - "id-no": { - "en": "Identification Number", - "ar": "رقم الإقامة أو الهوية" - }, - "enter-national-id": { - "en": "Enter National ID", - "ar": "أدخل رقم الهوية" - }, - "national-id": { - "en": "National ID", - "ar": "رقم الهوية" - }, - "enter-iqama-no": { - "en": "Enter ID Number", - "ar": "أدخل رقم الإقامة" - }, - "iqama-no": { - "en": "ID Number", - "ar": "رقم الإقامة" - }, - "complaint-no": { - "en": "Complaint No", - "ar": "رقم الشكوي" - }, - "number": { - "en": "Number", - "ar": "الرقم" - }, - "accept": { - "en": "Accept", - "ar": "موافق" - }, - "decline": { - "en": "Decline", - "ar": "أرفض" - }, - "usage-agreement": { - "en": "Usage Agreement", - "ar": "إتفاق الإستخدام" - }, - "loading": { - "en": "Loading ...", - "ar": "يتم التحميل ..." - }, - "email-sent": { - "en": "Email sent successfully", - "ar": "تم إرسال نسخة إلي البريد الإلكتروني" - }, - "send-email": { - "en": "Do you want to send copy of this examination to your personal email
[0]", - "ar": "هل تريد إرسال نسخة من هذا الاختبار إلى بريدك الإلكتروني الشخصي
[0]" - }, - "relogin": { - "en": "You need to login to use this service", - "ar": "تحتاج إلي الدخول لحسابك من أجل إستخدام هذة الخدمة" - }, - "idle-relogin": { - "en": "Your session has expired kindly relogin to use this service ", - "ar": "انتهت صلاحية جلستك يرجى التفضل بإعادة الدخول لإستخدام هذه الخدمة" - }, - "select-type": { - "en": "Select One", - "ar": "اختر فئة" - }, - "from": { - "en": "From", - "ar": "من" - }, - "to": { - "en": "To", - "ar": "الى" - }, - "result": { - "en": "Result", - "ar": "النتيجة" - }, - "select-date": { - "en": "Select Date", - "ar": "إختر ميعاد" - }, - "normal": { - "en": "Normal", - "ar": "عادي" - }, - "use-pin": { - "en": "Use Pin", - "ar": "إستخدم الرقم التعريفي" - }, - "auth-please": { - "en": "Please Authenticated", - "ar": "عرف نفسك" - }, - "dial-code": { - "en": "Dial Code", - "ar": "كود الإتصال" - }, - "country": { - "en": "Country", - "ar": "الدولة" - }, - "settings": { - "en": "Settings", - "ar": "إعدادات" - }, - "about-app": { - "en": "About the app", - "ar": "عن التطبيق" - }, - "mobile": { - "en": "Mobile No", - "ar": "رقم الجوال" - }, - "english": { - "en": "English", - "ar": "الإنجليزية" - }, - "english-change": { - "en": "الإنجليزية", - "ar": "English" - }, - "arabic": { - "en": "Arabic", - "ar": "العربية" - }, - "arabic-change": { - "en": "العربية", - "ar": "Arabic" - }, - "switch-lng": { - "en": "Do you want to change current language", - "ar": "هل تريد تغيير اللغة" - }, - "show-more": { - "en": "Show More >", - "ar": "عرض المزيد >" - }, - "read-less": { - "en": "Read Less <", - "ar": "قراءة أقل <" - }, - "read-more": { - "en": "Read More >", - "ar": "اقرأ المزيد >" - }, - "more": { - "en": "More...", - "ar": "أكثر..." - }, - "send-email-short": { - "en": "Email", - "ar": "بريد" - }, - "hi": { - "en": "HI", - "ar": "مرحبا" - }, - "blood-type": { - "en": "blood type", - "ar": "فصيلة الدم" - }, - "sync-success": { - "en": "Data Synced Successfully", - "ar": "تمت مزامنة البيانات بنجاح" - }, - "already-synced": { - "en": "Latest data already synced", - "ar": "أحدث البيانات المتزامنة بالفعل" - }, - "weekly": { - "en": "Weekly", - "ar": "أسبوعي" - }, - "monthly": { - "en": "Monthly", - "ar": "شهريا" - }, - "yearly": { - "en": "Yearly", - "ar": "سنوي" - }, - "report-view": { - "en": "Report View", - "ar": "عرض تقرير" - }, - "graph-view": { - "en": "Graph View", - "ar": "عرض الرسم البياني" - }, - "distance-covered": { - "en": "Distance covered in KMs", - "ar": "المسافة المقطوعة بالكيلومترات" - }, - "steps-covered": { - "en": "Steps covered", - "ar": "الخطوات المغطاة" - }, - "hours-asleep": { - "en": "Time asleep in hours", - "ar": "الوقت نائم في ساعات" - }, - "bad": { - "en": "Bad", - "ar": "سيئ" - }, - "poor": { - "en": "Poor", - "ar": "ضعيف" - }, - "acceptable": { - "en": "Acceptable", - "ar": "مقبول" - }, - "good": { - "en": "Good", - "ar": "جيد" - }, - "excellent": { - "en": "Excellent", - "ar": "ممتاز" - }, - "not-allowed": { - "en": "User has no permissions", - "ar": "المستخدم ليس لدية صلاحيات" - }, - "vacation-rule": { - "en": "Vacation Rule", - "ar": "قاعدة عطلة" - } - "en": "Login", - "ar": "الدخول" - }, - "username":{ - "en":"User Name", - "ar":"اسم المستخدم" - }, - "login-type": { - "en": "Login Type", - "ar": "نوع الدخول" - }, - "register": { - "en": "Register", - "ar": "التسجيل" - }, - "sign-out": { - "en": "Are you sure you want to Sign Out", - "ar": "هل أنت متأكد من إغلاق الحساب" - }, - "forgot-id": { - "en": "Forgot Patient ID", - "ar": "نسيت رقم الملف" - }, - "forgot-password": { - "en": "Forgot Password", - "ar": "نسيت كلمة المرور" - }, - "password": { - "en": "Password", - "ar": "كلمه السر" - }, - "changepassword": { - "en": "Change Password", - "ar": "غير كلمة السر" - }, - "forgot-your-id": { - "en": "Forgot Your Patient ID", - "ar": "هل نسيت رقم ملف المريض" - }, - "forgot-desc": { - "en": "Enter your mobile number to receive your patient file number via SMS", - "ar": "أدخل رقم جوالك لاستلام رقم الملف الخاص بك عن طريق الرسائل النصية" - }, - "enter-email": { - "en": "Please you need to enter your email", - "ar": "لو سمحت أدخل البريد الإلكتروني الخاص بك" - }, - "enable-biometric": { - "en": "Do you want to use biometric sensors to ease your login", - "ar": "هل ترغب في استخدام أجهزة الاستشعار البصمة لتسهيل تسجيل دخولك" - }, - "face": { - "en": "Do you want to login with face recognition", - "ar": "هل تود الدخول ببصمة الوجة" - }, - "finger": { - "en": "Do you want to login with finger print", - "ar": "هل تود الدخول ببصمة الإصبع" - }, - "signout": { - "en": "Sign Out", - "ar": "تسجيل خروج" - }, - "find-us": { - "en": "Find us on social", - "ar": "تواصل معنا" - }, - "login-register": { - "en": "Login / Register", - "ar": "دخول / تسجيل" - }, - "id-or-file": { - "en": "ID or File No", - "ar": "هوية أو رقم الملف" - }, - "national-id-or-iqama": { - "en": "National ID or Iqama", - "ar": "رقم الهوية أو الإقامة" - }, - "sms-page":{ - "en": "Verify OTP", - "ar":"تحقق مرة واحدة كلمة المرور" - } -}, -"changePassword":{ - "newPassword":{ - "en":"New Password", - "ar":"كلمة المرور الجديدة" - }, - "confirmPassword":{ - "en":"Confirm Password", - "ar":"تأكيد كلمة المرور" - }, - "passwordchanged":{ - "en":"Your password changed successfully", - "ar":"تم تغيير كلمة المرور الخاصة بك بنجاح" - } -}, -"verificationcode": -{ - "verificationcode":{ - "en":"Verification Code", - "ar":"رمز التحقق" - }, - "emptyCode":{ - "en":"Please enter the verification code", - "ar":"الرجاء ادخال رمز التحقق" - }, - "title":{ - "en":"You will receive a ", - "ar":" سوف تستلم " - }, - "by":{ - "en":" by ", - "ar":"عن طريق " - }, - "sms":{ - "en":"SMS", - "ar":" رسالة نصية " - }, - "instruct":{ - "en":" fill the code and ", - "ar":" ادخل الرمز و اضغط " - } -}, -"general": { - "birth_date": { - "en": "Birth Date", - "ar": "تاريخ الميلاد" - }, - "alert": { - "en": "Alert", - "ar": "تنبية" - }, - "details": { - "en": "Details", - "ar": "التفاصيل" - }, - "title": { - "en": "Title", - "ar": "العنوان" - }, - "info": { - "en": "Information", - "ar": "معلومات" - }, - "reset": { - "en": "Reset", - "ar": "إعادة تعيين" - }, - "ok": { - "en": "Ok", - "ar": "موافق" - }, - "confirm": { - "en": "Confirm", - "ar": "تأكيد" - }, - "cancel": { - "en": "Cancel", - "ar": "إلغاء" - }, - "done": { - "en": "Done", - "ar": "تم" - }, - "close": { - "en": "Close", - "ar": "إغلق" - }, - "back": { - "en": "Back", - "ar": "رجوع" - }, - "about": { - "en": "About", - "ar": "عن" - }, - "hide": { - "en": "Hide", - "ar": "إخفي" - }, - "select-only": { - "en": "Select", - "ar": "إختر" - }, - "select": { - "en": "Please select", - "ar": "إختر لو سمحت" - }, - "need": { - "en": "You need", - "ar": "أنت تحتاج" - }, - "hospital.location": { - "en": "Hospital Location", - "ar": "مكان المستشفي" - }, - "complaint": { - "en": "Raise Complaint", - "ar": "إرفع شكوي" - }, - "retry": { - "en": "Retry", - "ar": "أعد" - }, - "cart": { - "en": "Add to cart", - "ar": "أضف للسلة" - }, - "reminder": { - "en": "Add Reminder", - "ar": "أضف تذكير" - }, - "cancel-reminder": { - "en": "Cancel Reminder", - "ar": "الغي تذكير" - }, - "send-copy": { - "en": "Send Copy", - "ar": "أرسل نسخة" - }, - "personal-info": { - "en": "Personal Information", - "ar": "البيانات الشخصية" - }, - "qualification": { - "en": "Qualifications", - "ar": "المؤهلات" - }, - "nationality": { - "en": "Nationality", - "ar": "الجنسية" - }, - "empty": { - "en": "Sorry no data avaiable", - "ar": "لا يوجد بيانات" - }, - "no-match": { - "en": "Sorry no match", - "ar": "لا توجد نتيجة" - }, - "home": { - "en": "Home", - "ar": "الرئيسية" - }, - "date": { - "en": "Date", - "ar": "التاريخ" - }, - "num": { - "en": "No", - "ar": "الرقم" - }, - "time": { - "en": "Time", - "ar": "االوقت" - }, - "week": { - "en": "Week", - "ar": "أسبوع" - }, - "weeks": { - "en": "Weeks", - "ar": "أسابيع" - }, - "month": { - "en": "Month", - "ar": "شهر" - }, - "year": { - "en": "Year", - "ar": "سنة" - }, - "delete": { - "en": "Delete", - "ar": "إحذف" - }, - "add": { - "en": "Add", - "ar": "أضف" - }, - "edit": { - "en": "Edit", - "ar": "تعديل" - }, - "measure-unit": { - "en": "Measure unit", - "ar": "وحدة القياس" - }, - "measure-time": { - "en": "Measure time", - "ar": "وقت القياس" - }, - "save": { - "en": "Save", - "ar": "إحفظ" - }, - "success": { - "en": "Done successfully", - "ar": "تم بنجاح" - }, - "other": { - "en": "Other", - "ar": "أخري" - }, - "provide-missing": { - "en": "Please provide required information", - "ar": "لو سمحت قم بإدخال البيانات المطلوبة" - }, - "type": { - "en": "Type", - "ar": "النوع" - }, - "location": { - "en": "Location", - "ar": "المكان" - }, - "sequence": { - "en": "Sequence", - "ar": "رقم" - }, - "status": { - "en": "Status", - "ar": "الحالة" - }, - "scan": { - "en": "Scan", - "ar": "إبحث" - }, - "stop": { - "en": "Stop", - "ar": "توقف" - }, - "stop-connection": { - "en": "Stop Connection", - "ar": "وقف الإتصال" - }, - "remove-measure": { - "en": "Are you sure you want to remove this measure", - "ar": "هل متأكد تريد حذف عذة القراءة" - }, - "optional": { - "en": "Optional", - "ar": "خياري" - }, - "search": { - "en": "Search", - "ar": "إبحث" - }, - "advanced-search": { - "en": "Advanced Search", - "ar": "بحث متقدم" - }, - "email": { - "en": "Email", - "ar": "البريد الالكتروني" - }, - "filter": { - "en": "Filter", - "ar": "تفضيل" - }, - "first-name": { - "en": "First Name", - "ar": "الاسم الأول" - }, - "middle-name": { - "en": "Middle Name", - "ar": "إسم الوالد" - }, - "last-name": { - "en": "Last Name", - "ar": "إسم العائلة" - }, - "subject": { - "en": "Subject", - "ar": "موضوع" - }, - "message": { - "en": "Message", - "ar": "رسالة" - }, - "attachment": { - "en": "Attachment", - "ar": "مرفق" - }, - "select-attachment": { - "en": "Select Attachment", - "ar": "إختر مرفق" - }, - "large-file": { - "en": "Kindly select smaller file", - "ar": "لو سمحت إختر ملف أصغر" - }, - "open": { - "en": "Open", - "ar": "إفتح" - }, - "submit": { - "en": "Submit", - "ar": "أرسل" - }, - "enter-sms-code": { - "en": "Enter verification code", - "ar": "أدخل رقم التعريف" - }, - "enter-sms-enable-biometric": { - "en": "Enter verification for biometric", - "ar": "أدخل رقم التفعيل للبصمة" - }, - "enter-sms": { - "en": "Enter sms ", - "ar": "أدخل رقم الرسالة" - }, - "no-need": { - "en": "No Need", - "ar": "لا حاجة" - }, - "search-citeria": { - "en": "Select search criteria", - "ar": "إختر كيفية البحث" - }, - "search-by-complaint": { - "en": "Chaif Complaint Number", - "ar": "رقم الشكوي" - }, - "complaint-num": { - "en": "Complaint No", - "ar": "رقم الشكوي" - }, - "search-by-file": { - "en": "File Number", - "ar": "رقم الملف" - }, - "search-by-id": { - "en": "Identification Number", - "ar": "رقم الإقامة" - }, - "enter-complaint-no": { - "en": "Enter Chaif Complaint Number", - "ar": "أدخل رقم الشكوي" - }, - "enter-file-no": { - "en": "Enter File Number", - "ar": "أدخل رقم الملف" - }, - "file-no": { - "en": "File Number", - "ar": "رقم الملف" - }, - "enter-id-no": { - "en": "Enter Identification Number", - "ar": "أدخل رقم الإقامة أو الهوية" - }, - "id-no": { - "en": "Identification Number", - "ar": "رقم الإقامة أو الهوية" - }, - "enter-national-id": { - "en": "Enter National ID", - "ar": "أدخل رقم الهوية" - }, - "national-id": { - "en": "National ID", - "ar": "رقم الهوية" - }, - "enter-iqama-no": { - "en": "Enter ID Number", - "ar": "أدخل رقم الإقامة" - }, - "iqama-no": { - "en": "ID Number", - "ar": "رقم الإقامة" - }, - "complaint-no": { - "en": "Complaint No", - "ar": "رقم الشكوي" - }, - "number": { - "en": "Number", - "ar": "الرقم" - }, - "accept": { - "en": "Accept", - "ar": "موافق" - }, - "decline": { - "en": "Decline", - "ar": "أرفض" - }, - "usage-agreement": { - "en": "Usage Agreement", - "ar": "إتفاق الإستخدام" - }, - "loading": { - "en": "Loading ...", - "ar": "يتم التحميل ..." - }, - "email-sent": { - "en": "Email sent successfully", - "ar": "تم إرسال نسخة إلي البريد الإلكتروني" - }, - "send-email": { - "en": "Do you want to send copy of this examination to your personal email
[0]", - "ar": "هل تريد إرسال نسخة من هذا الاختبار إلى بريدك الإلكتروني الشخصي
[0]" - }, - "relogin": { - "en": "You need to login to use this service", - "ar": "تحتاج إلي الدخول لحسابك من أجل إستخدام هذة الخدمة" - }, - "idle-relogin": { - "en": "Your session has expired kindly relogin to use this service ", - "ar": "انتهت صلاحية جلستك يرجى التفضل بإعادة الدخول لإستخدام هذه الخدمة" - }, - "select-type": { - "en": "Select One", - "ar": "اختر فئة" - }, - "from": { - "en": "From", - "ar": "من" - }, - "to": { - "en": "To", - "ar": "الى" - }, - "result": { - "en": "Result", - "ar": "النتيجة" - }, - "select-date": { - "en": "Select Date", - "ar": "إختر ميعاد" - }, - "normal": { - "en": "Normal", - "ar": "عادي" - }, - "use-pin": { - "en": "Use Pin", - "ar": "إستخدم الرقم التعريفي" - }, - "auth-please": { - "en": "Please Authenticated", - "ar": "عرف نفسك" - }, - "dial-code": { - "en": "Dial Code", - "ar": "كود الإتصال" - }, - "country": { - "en": "Country", - "ar": "الدولة" - }, - "settings": { - "en": "Settings", - "ar": "إعدادات" - }, - "about-app": { - "en": "About the app", - "ar": "عن التطبيق" - }, - "mobile": { - "en": "Mobile No", - "ar": "رقم الجوال" - }, - "english": { - "en": "English", - "ar": "الإنجليزية" - }, - "english-change": { - "en": "الإنجليزية", - "ar": "English" - }, - "arabic": { - "en": "Arabic", - "ar": "العربية" - }, - "arabic-change": { - "en": "العربية", - "ar": "Arabic" - }, - "switch-lng": { - "en": "Do you want to change current language", - "ar": "هل تريد تغيير اللغة" - }, - "show-more": { - "en": "Show More >", - "ar": "عرض المزيد >" - }, - "read-less": { - "en": "Read Less <", - "ar": "قراءة أقل <" - }, - "read-more": { - "en": "Read More >", - "ar": "اقرأ المزيد >" - }, - "more":{ - "en": "More...", - "ar": "أكثر..." - }, - "send-email-short": { - "en": "Email", - "ar": "بريد" - }, - "hi": { - "en": "HI", - "ar": "مرحبا" - }, - "blood-type": { - "en": "blood type", - "ar": "فصيلة الدم" - }, - "sync-success": { - "en": "Data Synced Successfully", - "ar": "تمت مزامنة البيانات بنجاح" - }, - "already-synced": { - "en": "Latest data already synced", - "ar": "أحدث البيانات المتزامنة بالفعل" - }, - "weekly": { - "en": "Weekly", - "ar": "أسبوعي" - }, - "monthly": { - "en": "Monthly", - "ar": "شهريا" - }, - "yearly": { - "en": "Yearly", - "ar": "سنوي" - }, - "report-view": { - "en": "Report View", - "ar": "عرض تقرير" - }, - "graph-view": { - "en": "Graph View", - "ar": "عرض الرسم البياني" - }, - "distance-covered": { - "en": "Distance covered in KMs", - "ar": "المسافة المقطوعة بالكيلومترات" - }, - "steps-covered": { - "en": "Steps covered", - "ar": "الخطوات المغطاة" - }, - "hours-asleep": { - "en": "Time asleep in hours", - "ar": "الوقت نائم في ساعات" - }, - "bad": { - "en": "Bad", - "ar": "سيئ" - }, - "poor": { - "en": "Poor", - "ar": "ضعيف" - }, - "acceptable": { - "en": "Acceptable", - "ar": "مقبول" - }, - "good": { - "en": "Good", - "ar": "جيد" - }, - "excellent": { - "en": "Excellent", - "ar": "ممتاز" - }, - "not-allowed": { - "en": "User has no permissions", - "ar": "المستخدم ليس لدية صلاحيات" - } + }, + "verificationcode": { + "verificationcode": { + "en": "Verification Code", + "ar": "رمز التحقق" + }, + "emptyCode": { + "en": "Please enter the verification code", + "ar": "الرجاء ادخال رمز التحقق" + }, + "title": { + "en": "You will receive a ", + "ar": " سوف تستلم " + }, + "by": { + "en": " by ", + "ar": "عن طريق " + }, + "sms": { + "en": "SMS", + "ar": " رسالة نصية " + }, + "instruct": { + "en": " fill the code and ", + "ar": " ادخل الرمز و اضغط " + } + }, + "general": { + "birth_date": { + "en": "Birth Date", + "ar": "تاريخ الميلاد" + }, + "alert": { + "en": "Alert", + "ar": "تنبية" + }, + "details": { + "en": "Details", + "ar": "التفاصيل" + }, + "title": { + "en": "Title", + "ar": "العنوان" + }, + "info": { + "en": "Information", + "ar": "معلومات" + }, + "reset": { + "en": "Reset", + "ar": "إعادة تعيين" + }, + "ok": { + "en": "Ok", + "ar": "موافق" + }, + "confirm": { + "en": "Confirm", + "ar": "تأكيد" + }, + "cancel": { + "en": "Cancel", + "ar": "إلغاء" + }, + "done": { + "en": "Done", + "ar": "تم" + }, + "close": { + "en": "Close", + "ar": "إغلق" + }, + "back": { + "en": "Back", + "ar": "رجوع" + }, + "about": { + "en": "About", + "ar": "عن" + }, + "hide": { + "en": "Hide", + "ar": "إخفي" + }, + "select-only": { + "en": "Select", + "ar": "إختر" + }, + "select": { + "en": "Please select", + "ar": "إختر لو سمحت" + }, + "need": { + "en": "You need", + "ar": "أنت تحتاج" + }, + "hospital.location": { + "en": "Hospital Location", + "ar": "مكان المستشفي" + }, + "complaint": { + "en": "Raise Complaint", + "ar": "إرفع شكوي" + }, + "retry": { + "en": "Retry", + "ar": "أعد" + }, + "cart": { + "en": "Add to cart", + "ar": "أضف للسلة" + }, + "reminder": { + "en": "Add Reminder", + "ar": "أضف تذكير" + }, + "cancel-reminder": { + "en": "Cancel Reminder", + "ar": "الغي تذكير" + }, + "send-copy": { + "en": "Send Copy", + "ar": "أرسل نسخة" + }, + "personal-info": { + "en": "Personal Information", + "ar": "البيانات الشخصية" + }, + "qualification": { + "en": "Qualifications", + "ar": "المؤهلات" + }, + "nationality": { + "en": "Nationality", + "ar": "الجنسية" + }, + "empty": { + "en": "Sorry no data avaiable", + "ar": "لا يوجد بيانات" + }, + "no-match": { + "en": "Sorry no match", + "ar": "لا توجد نتيجة" + }, + "home": { + "en": "Home", + "ar": "الرئيسية" + }, + "date": { + "en": "Date", + "ar": "التاريخ" + }, + "num": { + "en": "No", + "ar": "الرقم" + }, + "time": { + "en": "Time", + "ar": "االوقت" + }, + "week": { + "en": "Week", + "ar": "أسبوع" + }, + "weeks": { + "en": "Weeks", + "ar": "أسابيع" + }, + "month": { + "en": "Month", + "ar": "شهر" + }, + "year": { + "en": "Year", + "ar": "سنة" + }, + "delete": { + "en": "Delete", + "ar": "إحذف" + }, + "add": { + "en": "Add", + "ar": "أضف" + }, + "edit": { + "en": "Edit", + "ar": "تعديل" + }, + "measure-unit": { + "en": "Measure unit", + "ar": "وحدة القياس" + }, + "measure-time": { + "en": "Measure time", + "ar": "وقت القياس" + }, + "save": { + "en": "Save", + "ar": "إحفظ" + }, + "success": { + "en": "Done successfully", + "ar": "تم بنجاح" + }, + "other": { + "en": "Other", + "ar": "أخري" + }, + "provide-missing": { + "en": "Please provide required information", + "ar": "لو سمحت قم بإدخال البيانات المطلوبة" + }, + "type": { + "en": "Type", + "ar": "النوع" + }, + "location": { + "en": "Location", + "ar": "المكان" + }, + "sequence": { + "en": "Sequence", + "ar": "رقم" + }, + "status": { + "en": "Status", + "ar": "الحالة" + }, + "scan": { + "en": "Scan", + "ar": "إبحث" + }, + "stop": { + "en": "Stop", + "ar": "توقف" + }, + "stop-connection": { + "en": "Stop Connection", + "ar": "وقف الإتصال" + }, + "remove-measure": { + "en": "Are you sure you want to remove this measure", + "ar": "هل متأكد تريد حذف عذة القراءة" + }, + "optional": { + "en": "Optional", + "ar": "خياري" + }, + "search": { + "en": "Search", + "ar": "إبحث" + }, + "advanced-search": { + "en": "Advanced Search", + "ar": "بحث متقدم" + }, + "email": { + "en": "Email", + "ar": "البريد الالكتروني" + }, + "filter": { + "en": "Filter", + "ar": "تفضيل" + }, + "first-name": { + "en": "First Name", + "ar": "الاسم الأول" + }, + "middle-name": { + "en": "Middle Name", + "ar": "إسم الوالد" + }, + "last-name": { + "en": "Last Name", + "ar": "إسم العائلة" + }, + "subject": { + "en": "Subject", + "ar": "موضوع" + }, + "message": { + "en": "Message", + "ar": "رسالة" + }, + "attachment": { + "en": "Attachment", + "ar": "مرفق" + }, + "select-attachment": { + "en": "Select Attachment", + "ar": "إختر مرفق" + }, + "large-file": { + "en": "Kindly select smaller file", + "ar": "لو سمحت إختر ملف أصغر" + }, + "open": { + "en": "Open", + "ar": "إفتح" + }, + "submit": { + "en": "Submit", + "ar": "أرسل" + }, + "enter-sms-code": { + "en": "Enter verification code", + "ar": "أدخل رقم التعريف" + }, + "enter-sms-enable-biometric": { + "en": "Enter verification for biometric", + "ar": "أدخل رقم التفعيل للبصمة" + }, + "enter-sms": { + "en": "Enter sms ", + "ar": "أدخل رقم الرسالة" + }, + "no-need": { + "en": "No Need", + "ar": "لا حاجة" + }, + "search-citeria": { + "en": "Select search criteria", + "ar": "إختر كيفية البحث" + }, + "search-by-complaint": { + "en": "Chaif Complaint Number", + "ar": "رقم الشكوي" + }, + "complaint-num": { + "en": "Complaint No", + "ar": "رقم الشكوي" + }, + "search-by-file": { + "en": "File Number", + "ar": "رقم الملف" + }, + "search-by-id": { + "en": "Identification Number", + "ar": "رقم الإقامة" + }, + "enter-complaint-no": { + "en": "Enter Chaif Complaint Number", + "ar": "أدخل رقم الشكوي" + }, + "enter-file-no": { + "en": "Enter File Number", + "ar": "أدخل رقم الملف" + }, + "file-no": { + "en": "File Number", + "ar": "رقم الملف" + }, + "enter-id-no": { + "en": "Enter Identification Number", + "ar": "أدخل رقم الإقامة أو الهوية" + }, + "id-no": { + "en": "Identification Number", + "ar": "رقم الإقامة أو الهوية" + }, + "enter-national-id": { + "en": "Enter National ID", + "ar": "أدخل رقم الهوية" + }, + "national-id": { + "en": "National ID", + "ar": "رقم الهوية" + }, + "enter-iqama-no": { + "en": "Enter ID Number", + "ar": "أدخل رقم الإقامة" + }, + "iqama-no": { + "en": "ID Number", + "ar": "رقم الإقامة" + }, + "complaint-no": { + "en": "Complaint No", + "ar": "رقم الشكوي" + }, + "number": { + "en": "Number", + "ar": "الرقم" + }, + "accept": { + "en": "Accept", + "ar": "موافق" + }, + "decline": { + "en": "Decline", + "ar": "أرفض" + }, + "usage-agreement": { + "en": "Usage Agreement", + "ar": "إتفاق الإستخدام" + }, + "loading": { + "en": "Loading ...", + "ar": "يتم التحميل ..." + }, + "email-sent": { + "en": "Email sent successfully", + "ar": "تم إرسال نسخة إلي البريد الإلكتروني" + }, + "send-email": { + "en": "Do you want to send copy of this examination to your personal email
[0]", + "ar": "هل تريد إرسال نسخة من هذا الاختبار إلى بريدك الإلكتروني الشخصي
[0]" + }, + "relogin": { + "en": "You need to login to use this service", + "ar": "تحتاج إلي الدخول لحسابك من أجل إستخدام هذة الخدمة" + }, + "idle-relogin": { + "en": "Your session has expired kindly relogin to use this service ", + "ar": "انتهت صلاحية جلستك يرجى التفضل بإعادة الدخول لإستخدام هذه الخدمة" + }, + "select-type": { + "en": "Select One", + "ar": "اختر فئة" + }, + "from": { + "en": "From", + "ar": "من" + }, + "to": { + "en": "To", + "ar": "الى" + }, + "result": { + "en": "Result", + "ar": "النتيجة" + }, + "select-date": { + "en": "Select Date", + "ar": "إختر ميعاد" + }, + "normal": { + "en": "Normal", + "ar": "عادي" + }, + "use-pin": { + "en": "Use Pin", + "ar": "إستخدم الرقم التعريفي" + }, + "auth-please": { + "en": "Please Authenticated", + "ar": "عرف نفسك" + }, + "dial-code": { + "en": "Dial Code", + "ar": "كود الإتصال" + }, + "country": { + "en": "Country", + "ar": "الدولة" + }, + "settings": { + "en": "Settings", + "ar": "إعدادات" + }, + "about-app": { + "en": "About the app", + "ar": "عن التطبيق" + }, + "mobile": { + "en": "Mobile No", + "ar": "رقم الجوال" + }, + "english": { + "en": "English", + "ar": "الإنجليزية" + }, + "english-change": { + "en": "الإنجليزية", + "ar": "English" + }, + "arabic": { + "en": "Arabic", + "ar": "العربية" + }, + "arabic-change": { + "en": "العربية", + "ar": "Arabic" + }, + "switch-lng": { + "en": "Do you want to change current language", + "ar": "هل تريد تغيير اللغة" + }, + "show-more": { + "en": "Show More >", + "ar": "عرض المزيد >" + }, + "read-less": { + "en": "Read Less <", + "ar": "قراءة أقل <" + }, + "read-more": { + "en": "Read More >", + "ar": "اقرأ المزيد >" + }, + "more": { + "en": "More...", + "ar": "أكثر..." + }, + "send-email-short": { + "en": "Email", + "ar": "بريد" + }, + "hi": { + "en": "HI", + "ar": "مرحبا" + }, + "blood-type": { + "en": "blood type", + "ar": "فصيلة الدم" + }, + "sync-success": { + "en": "Data Synced Successfully", + "ar": "تمت مزامنة البيانات بنجاح" + }, + "already-synced": { + "en": "Latest data already synced", + "ar": "أحدث البيانات المتزامنة بالفعل" + }, + "weekly": { + "en": "Weekly", + "ar": "أسبوعي" + }, + "monthly": { + "en": "Monthly", + "ar": "شهريا" + }, + "yearly": { + "en": "Yearly", + "ar": "سنوي" + }, + "report-view": { + "en": "Report View", + "ar": "عرض تقرير" + }, + "graph-view": { + "en": "Graph View", + "ar": "عرض الرسم البياني" + }, + "distance-covered": { + "en": "Distance covered in KMs", + "ar": "المسافة المقطوعة بالكيلومترات" + }, + "steps-covered": { + "en": "Steps covered", + "ar": "الخطوات المغطاة" + }, + "hours-asleep": { + "en": "Time asleep in hours", + "ar": "الوقت نائم في ساعات" + }, + "bad": { + "en": "Bad", + "ar": "سيئ" + }, + "poor": { + "en": "Poor", + "ar": "ضعيف" + }, + "acceptable": { + "en": "Acceptable", + "ar": "مقبول" + }, + "good": { + "en": "Good", + "ar": "جيد" + }, + "excellent": { + "en": "Excellent", + "ar": "ممتاز" + }, + "not-allowed": { + "en": "User has no permissions", + "ar": "المستخدم ليس لدية صلاحيات" + }, + "vacation-rule": { + "en": "Vacation Rule", + "ar": "قاعدة عطلة" + }, + "en": "Login", + "ar": "الدخول" + }, + "username": { + "en": "User Name", + "ar": "اسم المستخدم" + }, + "login-type": { + "en": "Login Type", + "ar": "نوع الدخول" + }, + "register": { + "en": "Register", + "ar": "التسجيل" + }, + "sign-out": { + "en": "Are you sure you want to Sign Out", + "ar": "هل أنت متأكد من إغلاق الحساب" + }, + "forgot-id": { + "en": "Forgot Patient ID", + "ar": "نسيت رقم الملف" + }, + "forgot-password": { + "en": "Forgot Password", + "ar": "نسيت كلمة المرور" + }, + "password": { + "en": "Password", + "ar": "كلمه السر" + }, + "changepassword": { + "en": "Change Password", + "ar": "غير كلمة السر" + }, + "forgot-your-id": { + "en": "Forgot Your Patient ID", + "ar": "هل نسيت رقم ملف المريض" + }, + "forgot-desc": { + "en": "Enter your mobile number to receive your patient file number via SMS", + "ar": "أدخل رقم جوالك لاستلام رقم الملف الخاص بك عن طريق الرسائل النصية" + }, + "enter-email": { + "en": "Please you need to enter your email", + "ar": "لو سمحت أدخل البريد الإلكتروني الخاص بك" + }, + "enable-biometric": { + "en": "Do you want to use biometric sensors to ease your login", + "ar": "هل ترغب في استخدام أجهزة الاستشعار البصمة لتسهيل تسجيل دخولك" + }, + "face": { + "en": "Do you want to login with face recognition", + "ar": "هل تود الدخول ببصمة الوجة" + }, + "finger": { + "en": "Do you want to login with finger print", + "ar": "هل تود الدخول ببصمة الإصبع" + }, + "signout": { + "en": "Sign Out", + "ar": "تسجيل خروج" + }, + "find-us": { + "en": "Find us on social", + "ar": "تواصل معنا" + }, + "login-register": { + "en": "Login / Register", + "ar": "دخول / تسجيل" + }, + "id-or-file": { + "en": "ID or File No", + "ar": "هوية أو رقم الملف" + }, + "national-id-or-iqama": { + "en": "National ID or Iqama", + "ar": "رقم الهوية أو الإقامة" + }, + "sms-page": { + "en": "Verify OTP", + "ar": "تحقق مرة واحدة كلمة المرور" + }, + "changePassword": { + "newPassword": { + "en": "New Password", + "ar": "كلمة المرور الجديدة" + }, + "confirmPassword": { + "en": "Confirm Password", + "ar": "تأكيد كلمة المرور" + }, + "passwordchanged": { + "en": "Your password changed successfully", + "ar": "تم تغيير كلمة المرور الخاصة بك بنجاح" + } + }, + "verificationcode": { + "verification-code": { + "en": "Verification Code", + "ar": "رمز التحقق" + }, + "emptyCode": { + "en": "Please enter the verification code", + "ar": "الرجاء ادخال رمز التحقق" + }, + "title": { + "en": "You will receive a ", + "ar": " سوف تستلم " + }, + "by": { + "en": " by ", + "ar": "عن طريق " + }, + "sms": { + "en": "SMS", + "ar": " رسالة نصية " + }, + "instruct": { + "en": " fill the code and ", + "ar": " ادخل الرمز و اضغط " + } + }, + "general": { + "birth_date": { + "en": "Birth Date", + "ar": "تاريخ الميلاد" + }, + "alert": { + "en": "Alert", + "ar": "تنبية" + }, + "details": { + "en": "Details", + "ar": "التفاصيل" + }, + "title": { + "en": "Title", + "ar": "العنوان" + }, + "info": { + "en": "Information", + "ar": "معلومات" + }, + "reset": { + "en": "Reset", + "ar": "إعادة تعيين" + }, + "ok": { + "en": "Ok", + "ar": "موافق" + }, + "confirm": { + "en": "Confirm", + "ar": "تأكيد" + }, + "cancel": { + "en": "Cancel", + "ar": "إلغاء" + }, + "done": { + "en": "Done", + "ar": "تم" + }, + "close": { + "en": "Close", + "ar": "إغلق" + }, + "back": { + "en": "Back", + "ar": "رجوع" + }, + "about": { + "en": "About", + "ar": "عن" + }, + "hide": { + "en": "Hide", + "ar": "إخفي" + }, + "select-only": { + "en": "Select", + "ar": "إختر" + }, + "select": { + "en": "Please select", + "ar": "إختر لو سمحت" + }, + "need": { + "en": "You need", + "ar": "أنت تحتاج" + }, + "hospital.location": { + "en": "Hospital Location", + "ar": "مكان المستشفي" + }, + "complaint": { + "en": "Raise Complaint", + "ar": "إرفع شكوي" + }, + "retry": { + "en": "Retry", + "ar": "أعد" + }, + "cart": { + "en": "Add to cart", + "ar": "أضف للسلة" + }, + "reminder": { + "en": "Add Reminder", + "ar": "أضف تذكير" + }, + "cancel-reminder": { + "en": "Cancel Reminder", + "ar": "الغي تذكير" + }, + "send-copy": { + "en": "Send Copy", + "ar": "أرسل نسخة" + }, + "personal-info": { + "en": "Personal Information", + "ar": "البيانات الشخصية" + }, + "qualification": { + "en": "Qualifications", + "ar": "المؤهلات" + }, + "nationality": { + "en": "Nationality", + "ar": "الجنسية" + }, + "empty": { + "en": "Sorry no data avaiable", + "ar": "لا يوجد بيانات" + }, + "no-match": { + "en": "Sorry no match", + "ar": "لا توجد نتيجة" + }, + "home": { + "en": "Home", + "ar": "الرئيسية" + }, + "date": { + "en": "Date", + "ar": "التاريخ" + }, + "num": { + "en": "No", + "ar": "الرقم" + }, + "time": { + "en": "Time", + "ar": "االوقت" + }, + "week": { + "en": "Week", + "ar": "أسبوع" + }, + "weeks": { + "en": "Weeks", + "ar": "أسابيع" + }, + "month": { + "en": "Month", + "ar": "شهر" + }, + "year": { + "en": "Year", + "ar": "سنة" + }, + "delete": { + "en": "Delete", + "ar": "إحذف" + }, + "add": { + "en": "Add", + "ar": "أضف" + }, + "edit": { + "en": "Edit", + "ar": "تعديل" + }, + "measure-unit": { + "en": "Measure unit", + "ar": "وحدة القياس" + }, + "measure-time": { + "en": "Measure time", + "ar": "وقت القياس" + }, + "save": { + "en": "Save", + "ar": "إحفظ" + }, + "success": { + "en": "Done successfully", + "ar": "تم بنجاح" + }, + "other": { + "en": "Other", + "ar": "أخري" + }, + "provide-missing": { + "en": "Please provide required information", + "ar": "لو سمحت قم بإدخال البيانات المطلوبة" + }, + "type": { + "en": "Type", + "ar": "النوع" + }, + "location": { + "en": "Location", + "ar": "المكان" + }, + "sequence": { + "en": "Sequence", + "ar": "رقم" + }, + "status": { + "en": "Status", + "ar": "الحالة" + }, + "scan": { + "en": "Scan", + "ar": "إبحث" + }, + "stop": { + "en": "Stop", + "ar": "توقف" + }, + "stop-connection": { + "en": "Stop Connection", + "ar": "وقف الإتصال" + }, + "remove-measure": { + "en": "Are you sure you want to remove this measure", + "ar": "هل متأكد تريد حذف عذة القراءة" + }, + "optional": { + "en": "Optional", + "ar": "خياري" + }, + "search": { + "en": "Search", + "ar": "إبحث" + }, + "advanced-search": { + "en": "Advanced Search", + "ar": "بحث متقدم" + }, + "email": { + "en": "Email", + "ar": "البريد الالكتروني" + }, + "filter": { + "en": "Filter", + "ar": "تفضيل" + }, + "first-name": { + "en": "First Name", + "ar": "الاسم الأول" + }, + "middle-name": { + "en": "Middle Name", + "ar": "إسم الوالد" + }, + "last-name": { + "en": "Last Name", + "ar": "إسم العائلة" + }, + "subject": { + "en": "Subject", + "ar": "موضوع" + }, + "message": { + "en": "Message", + "ar": "رسالة" + }, + "attachment": { + "en": "Attachment", + "ar": "مرفق" + }, + "select-attachment": { + "en": "Select Attachment", + "ar": "إختر مرفق" + }, + "large-file": { + "en": "Kindly select smaller file", + "ar": "لو سمحت إختر ملف أصغر" + }, + "open": { + "en": "Open", + "ar": "إفتح" + }, + "submit": { + "en": "Submit", + "ar": "أرسل" + }, + "enter-sms-code": { + "en": "Enter verification code", + "ar": "أدخل رقم التعريف" + }, + "enter-sms-enable-biometric": { + "en": "Enter verification for biometric", + "ar": "أدخل رقم التفعيل للبصمة" + }, + "enter-sms": { + "en": "Enter sms ", + "ar": "أدخل رقم الرسالة" + }, + "no-need": { + "en": "No Need", + "ar": "لا حاجة" + }, + "search-citeria": { + "en": "Select search criteria", + "ar": "إختر كيفية البحث" + }, + "search-by-complaint": { + "en": "Chaif Complaint Number", + "ar": "رقم الشكوي" + }, + "complaint-num": { + "en": "Complaint No", + "ar": "رقم الشكوي" + }, + "search-by-file": { + "en": "File Number", + "ar": "رقم الملف" + }, + "search-by-id": { + "en": "Identification Number", + "ar": "رقم الإقامة" + }, + "enter-complaint-no": { + "en": "Enter Chaif Complaint Number", + "ar": "أدخل رقم الشكوي" + }, + "enter-file-no": { + "en": "Enter File Number", + "ar": "أدخل رقم الملف" + }, + "file-no": { + "en": "File Number", + "ar": "رقم الملف" + }, + "enter-id-no": { + "en": "Enter Identification Number", + "ar": "أدخل رقم الإقامة أو الهوية" + }, + "id-no": { + "en": "Identification Number", + "ar": "رقم الإقامة أو الهوية" + }, + "enter-national-id": { + "en": "Enter National ID", + "ar": "أدخل رقم الهوية" + }, + "national-id": { + "en": "National ID", + "ar": "رقم الهوية" + }, + "enter-iqama-no": { + "en": "Enter ID Number", + "ar": "أدخل رقم الإقامة" + }, + "iqama-no": { + "en": "ID Number", + "ar": "رقم الإقامة" + }, + "complaint-no": { + "en": "Complaint No", + "ar": "رقم الشكوي" + }, + "number": { + "en": "Number", + "ar": "الرقم" + }, + "accept": { + "en": "Accept", + "ar": "موافق" + }, + "decline": { + "en": "Decline", + "ar": "أرفض" + }, + "usage-agreement": { + "en": "Usage Agreement", + "ar": "إتفاق الإستخدام" + }, + "loading": { + "en": "Loading ...", + "ar": "يتم التحميل ..." + }, + "email-sent": { + "en": "Email sent successfully", + "ar": "تم إرسال نسخة إلي البريد الإلكتروني" + }, + "send-email": { + "en": "Do you want to send copy of this examination to your personal email
[0]", + "ar": "هل تريد إرسال نسخة من هذا الاختبار إلى بريدك الإلكتروني الشخصي
[0]" + }, + "relogin": { + "en": "You need to login to use this service", + "ar": "تحتاج إلي الدخول لحسابك من أجل إستخدام هذة الخدمة" + }, + "idle-relogin": { + "en": "Your session has expired kindly relogin to use this service ", + "ar": "انتهت صلاحية جلستك يرجى التفضل بإعادة الدخول لإستخدام هذه الخدمة" + }, + "select-type": { + "en": "Select One", + "ar": "اختر فئة" + }, + "from": { + "en": "From", + "ar": "من" + }, + "to": { + "en": "To", + "ar": "الى" + }, + "result": { + "en": "Result", + "ar": "النتيجة" + }, + "select-date": { + "en": "Select Date", + "ar": "إختر ميعاد" + }, + "normal": { + "en": "Normal", + "ar": "عادي" + }, + "use-pin": { + "en": "Use Pin", + "ar": "إستخدم الرقم التعريفي" + }, + "auth-please": { + "en": "Please Authenticated", + "ar": "عرف نفسك" + }, + "dial-code": { + "en": "Dial Code", + "ar": "كود الإتصال" + }, + "country": { + "en": "Country", + "ar": "الدولة" + }, + "settings": { + "en": "Settings", + "ar": "إعدادات" + }, + "about-app": { + "en": "About the app", + "ar": "عن التطبيق" + }, + "mobile": { + "en": "Mobile No", + "ar": "رقم الجوال" + }, + "english": { + "en": "English", + "ar": "الإنجليزية" + }, + "english-change": { + "en": "الإنجليزية", + "ar": "English" + }, + "arabic": { + "en": "Arabic", + "ar": "العربية" + }, + "arabic-change": { + "en": "العربية", + "ar": "Arabic" + }, + "switch-lng": { + "en": "Do you want to change current language", + "ar": "هل تريد تغيير اللغة" + }, + "show-more": { + "en": "Show More >", + "ar": "عرض المزيد >" + }, + "read-less": { + "en": "Read Less <", + "ar": "قراءة أقل <" + }, + "read-more": { + "en": "Read More >", + "ar": "اقرأ المزيد >" + }, + "more": { + "en": "More...", + "ar": "أكثر..." + }, + "send-email-short": { + "en": "Email", + "ar": "بريد" + }, + "hi": { + "en": "HI", + "ar": "مرحبا" + }, + "blood-type": { + "en": "blood type", + "ar": "فصيلة الدم" + }, + "sync-success": { + "en": "Data Synced Successfully", + "ar": "تمت مزامنة البيانات بنجاح" + }, + "already-synced": { + "en": "Latest data already synced", + "ar": "أحدث البيانات المتزامنة بالفعل" + }, + "weekly": { + "en": "Weekly", + "ar": "أسبوعي" + }, + "monthly": { + "en": "Monthly", + "ar": "شهريا" + }, + "yearly": { + "en": "Yearly", + "ar": "سنوي" + }, + "report-view": { + "en": "Report View", + "ar": "عرض تقرير" + }, + "graph-view": { + "en": "Graph View", + "ar": "عرض الرسم البياني" + }, + "distance-covered": { + "en": "Distance covered in KMs", + "ar": "المسافة المقطوعة بالكيلومترات" + }, + "steps-covered": { + "en": "Steps covered", + "ar": "الخطوات المغطاة" + }, + "hours-asleep": { + "en": "Time asleep in hours", + "ar": "الوقت نائم في ساعات" + }, + "bad": { + "en": "Bad", + "ar": "سيئ" + }, + "poor": { + "en": "Poor", + "ar": "ضعيف" + }, + "acceptable": { + "en": "Acceptable", + "ar": "مقبول" + }, + "good": { + "en": "Good", + "ar": "جيد" + }, + "excellent": { + "en": "Excellent", + "ar": "ممتاز" + }, + "not-allowed": { + "en": "User has no permissions", + "ar": "المستخدم ليس لدية صلاحيات" + } + } } \ No newline at end of file diff --git a/Mohem/src/theme/styles.scss b/Mohem/src/theme/styles.scss index 7b52e4e6..79d867c3 100644 --- a/Mohem/src/theme/styles.scss +++ b/Mohem/src/theme/styles.scss @@ -28,6 +28,10 @@ body{ } + .header-toolbar { + --background: linear-gradient(45deg, #3ac1f1 0%, #19a163 36%, #19a163 59%, #1a586d 100%); + } + ion-label{ color:var(--labelColor) !important; } From e083d0c783c44e23ef8d1d821371724ad04c8384 Mon Sep 17 00:00:00 2001 From: Sultan Khan Date: Thu, 27 Jun 2019 12:25:44 +0300 Subject: [PATCH 12/22] dashboard changes --- Mohem/src/app/app.component.html | 4 +- Mohem/src/app/app.component.ts | 47 ++++++++++++++++--- .../authentication/authentication.service.ts | 2 + .../models/authenticated-user.ts | 2 + Mohem/src/app/home/home.page.html | 4 +- Mohem/src/app/home/home.page.ts | 9 ++-- 6 files changed, 55 insertions(+), 13 deletions(-) diff --git a/Mohem/src/app/app.component.html b/Mohem/src/app/app.component.html index 03b58f52..6d62d18f 100644 --- a/Mohem/src/app/app.component.html +++ b/Mohem/src/app/app.component.html @@ -1,9 +1,9 @@ + - +
diff --git a/Mohem/src/app/app.component.ts b/Mohem/src/app/app.component.ts index 16423e38..5e38b6f6 100644 --- a/Mohem/src/app/app.component.ts +++ b/Mohem/src/app/app.component.ts @@ -7,6 +7,8 @@ import { AuthenticatedUser } from "./hmg-common/services/authentication/models/a 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 { LazyLoadingService } from "./hmg-common/services/lazy-loading/lazy-loading.service"; @Component({ @@ -20,7 +22,7 @@ export class AppComponent implements OnInit, AfterViewInit { start: any = false; menuList: any = []; User_name_Emp: string = ""; - user_image: string = "../assets/imgs/profile.png" + user_image: string = "../assets/imgs/profile.png"; menuSide: string = "left"; notBadge: number; companyUrl: string = "../assets/imgs/CS.png"; @@ -33,7 +35,8 @@ export class AppComponent implements OnInit, AfterViewInit { private platform: Platform, private events: Events, private keyboardService: KeyboardService, - private menu: MenuController + private menu: MenuController, + private authService: AuthenticationService ) {} ngOnInit() { this.initializeApp(); @@ -48,20 +51,45 @@ export class AppComponent implements OnInit, AfterViewInit { // this.statusBar.styleDefault(); this.start = true; this.watchLanguageChangeEvents(); - // this.checkIfUserLoggedInBefore(); + this.subscribeEvents(); this.keyboardService.watchKeyboard(); }); }); } + 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; + this.user_image = user.EMPLOYEE_IMAGE + ? "data:image/png;base64," + user.EMPLOYEE_IMAGE + : "../assets/imgs/profile.png"; + console.log(user); + } else { + console.log(user); + } + }); + }); + this.events.subscribe("getNotCount", badge => { + this.notBadge = badge; + }); + } private initializeDirection() { this.direction = TranslatorService.getCurrentDirection(); } private watchUserLoginChangeEvents() { this.events.subscribe( AuthenticationService.LOGIN_EVENT, - (user: AuthenticatedUser, time: Date) => { - - } + (user: AuthenticatedUser, time: Date) => {} ); } private watchLanguageChangeEvents() { @@ -73,4 +101,11 @@ export class AppComponent implements OnInit, AfterViewInit { }, 100); }); } + logout() { + // let req:any={}; + // this.menuService.disableSession(req).subscribe((result: any) => { + // }); + this.cs.sharedService.clearAll(); + this.cs.openLogin(); + } } diff --git a/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts b/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts index f3ddea32..210c3e6a 100644 --- a/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts +++ b/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts @@ -304,6 +304,8 @@ export class AuthenticationService { user.P_SESSION_ID = result.P_SESSION_ID; user.MobileNumber = result.EMPLOYEE_MOBILE_NUMBER; user.TokenID = result.TokenID; + user.CompanyImageDescription=result.CompanyImageDescription; + user.CompanyImageURL=result.CompanyImageURL; user.LogInTokenID = this.cs.sharedService.getSharedData( "logindata" ).LogInTokenID; diff --git a/Mohem/src/app/hmg-common/services/authentication/models/authenticated-user.ts b/Mohem/src/app/hmg-common/services/authentication/models/authenticated-user.ts index 8a51c013..fd842744 100644 --- a/Mohem/src/app/hmg-common/services/authentication/models/authenticated-user.ts +++ b/Mohem/src/app/hmg-common/services/authentication/models/authenticated-user.ts @@ -75,4 +75,6 @@ USER_STATUS: string; P_SESSION_ID:number; MobileNumber:string; LogInTokenID:string; +CompanyImageDescription: string +CompanyImageURL: string } diff --git a/Mohem/src/app/home/home.page.html b/Mohem/src/app/home/home.page.html index c921be5d..e870a242 100644 --- a/Mohem/src/app/home/home.page.html +++ b/Mohem/src/app/home/home.page.html @@ -12,14 +12,14 @@ {{notBadge}}
-

{{ts.trPK('home','hello')}}, {{User_name_Emp}}, {{User_name_Emp}}

+

{{ts.trPK('home','hello')}}, {{userData.EMPLOYEE_DISPLAY_NAME}}

-

{{ts.trPK('home','dashboard')}}, {{User_name_Emp}}

+

{{ts.trPK('home','dashboard')}}, {{userData.EMPLOYEE_DISPLAY_NAME}}

diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index fcd61833..9c83887b 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -1,12 +1,12 @@ import { Component, OnInit } from "@angular/core"; import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service"; -import { MenuController } from "@ionic/angular"; +import { MenuController,Events } from "@ionic/angular"; import { AuthenticationService } from "src/app/hmg-common/services/authentication/authentication.service"; -import { SMSCheckResponse } from "src/app/hmg-common/services/authentication/models/smscheck.response"; import { AuthenticatedUser } from "src/app/hmg-common/services/authentication/models/authenticated-user"; import { MenuService } from "src/app/hmg-common/services/menu/menuservice.service"; import { MenuResponse } from "src/app/hmg-common/services/menu/models/menu-response"; import { CommonService } from "src/app/hmg-common/services/common/common.service"; + @Component({ selector: "app-home", templateUrl: "./home.page.html", @@ -21,7 +21,8 @@ export class HomePage implements OnInit { public menu: MenuController, public authService: AuthenticationService, public menuService: MenuService, - public common: CommonService + public common: CommonService, + public events:Events ) {} ngOnInit() { @@ -37,7 +38,9 @@ export class HomePage implements OnInit { .loadAuthenticatedUser() .subscribe((user: AuthenticatedUser) => { if (user) { + this.events.publish('setMenu'); this.userData = user; + this.user_image=user.EMPLOYEE_IMAGE?user.EMPLOYEE_IMAGE: this.user_image; console.log(user); } else { console.log(user); From 5550730847e706d93e145803bf298e22d1dce20c Mon Sep 17 00:00:00 2001 From: ansariakhtar Date: Thu, 27 Jun 2019 14:53:20 +0300 Subject: [PATCH 13/22] Code cleanup --- .../check-user/check-user.component.html | 13 +- .../check-user/check-user.component.ts | 24 +- .../authentication/forgot/forgot.component.ts | 12 +- .../authentication/login/login.component.ts | 517 +++--------------- .../authentication/sms-page/sms-page.page.ts | 8 - .../progress-loading.service.ts | 2 +- Mohem/src/assets/icon/moving.gif | Bin 0 -> 476386 bytes 7 files changed, 91 insertions(+), 485 deletions(-) create mode 100644 Mohem/src/assets/icon/moving.gif diff --git a/Mohem/src/app/authentication/check-user/check-user.component.html b/Mohem/src/app/authentication/check-user/check-user.component.html index 40ce8b47..fc6f99e2 100644 --- a/Mohem/src/app/authentication/check-user/check-user.component.html +++ b/Mohem/src/app/authentication/check-user/check-user.component.html @@ -6,25 +6,16 @@ {{'login,forgot-password' | translate}} - - - - - {{ts.trPK('login','username')}} - - + + - - - -
diff --git a/Mohem/src/app/authentication/check-user/check-user.component.ts b/Mohem/src/app/authentication/check-user/check-user.component.ts index b510b256..ba44cdbe 100644 --- a/Mohem/src/app/authentication/check-user/check-user.component.ts +++ b/Mohem/src/app/authentication/check-user/check-user.component.ts @@ -6,11 +6,8 @@ import { AlertController } from '@ionic/angular'; import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; import { CheckUserAuthenticationRequest } from 'src/app/hmg-common/services/authentication/models/check-user-auth.request'; import { CheckUserAuthenticationResponse } from 'src/app/hmg-common/services/authentication/models/check-user-auth.response'; -import { CheckActivationCodeRequest } from 'src/app/hmg-common/services/authentication/models/check-activation-code.request'; import { SmsReaderService } from 'src/app/hmg-common/services/sms/sms-reader.service'; -import { ForgotFileIDResponse } from '../../hmg-common/services/authentication/models/forgot-File-ID.response'; import { InternationalMobileComponent } from 'src/app/hmg-common/ui/mobile-number/international-mobile/international-mobile.component'; -import { CountryCode } from 'src/app/hmg-common/ui/mobile-number/international-mobile/models/country-code.model'; import { LoginRequest } from 'src/app/hmg-common/services/authentication/models/login.request'; import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; import { Password } from '../models/password'; @@ -21,7 +18,7 @@ import { LoginModel } from '../models/LoginModel'; templateUrl: './check-user.component.html', styleUrls: ['./check-user.component.scss'], }) -export class CheckUserComponent implements OnInit,OnDestroy { +export class CheckUserComponent implements OnInit { public P_USER_NAME : string; private loginData = new LoginModel(); @@ -37,10 +34,6 @@ export class CheckUserComponent implements OnInit,OnDestroy { ngOnInit() {} - ngOnDestroy(): void { - this.smsService.stopSMSMonitoring(); - } - public onForgot() { this.sendSMSForForgotPassword(); } @@ -53,17 +46,12 @@ export class CheckUserComponent implements OnInit,OnDestroy { this.authService.checkUserAuthentication( request, () => { - //this.sendSMSForForgotPassword(); + /* Write code for error */ }, this.ts.trPK('general', 'ok')).subscribe((result: CheckUserAuthenticationResponse) => { if (this.cs.validResponse(result)) { this.checkUserResult = result; this.cs.stopLoading(); this.sendSMSForForgotPassword(); - - // if (result.isSMSSent) { - // this.startReceivingSMS(); - // this.presentSMSPasswordDialog(); - // } } }); } @@ -76,11 +64,12 @@ export class CheckUserComponent implements OnInit,OnDestroy { changePwdObj.MobileNumber= this.checkUserResult.BasicMemberInformation.P_MOBILE_NUMBER; changePwdObj.P_USER_NAME=this.P_USER_NAME; changePwdObj.P_MOBILE_NUMBER=this.checkUserResult.BasicMemberInformation.P_MOBILE_NUMBER; - + this.authService.sendPublicSMS( changePwdObj, () => { - this.sendSMSForForgotPassword(); + //this.sendSMSForForgotPassword(); + /* Write code for error */ }, this.ts.trPK('general', 'ok')).subscribe((result: CheckUserAuthenticationResponse) => { if (this.cs.validResponse(result)) { this.checkUserResult = result; @@ -94,5 +83,4 @@ export class CheckUserComponent implements OnInit,OnDestroy { this.cs.openSMSPage(); }}); } -} - +} \ No newline at end of file diff --git a/Mohem/src/app/authentication/forgot/forgot.component.ts b/Mohem/src/app/authentication/forgot/forgot.component.ts index 26fba950..92865083 100644 --- a/Mohem/src/app/authentication/forgot/forgot.component.ts +++ b/Mohem/src/app/authentication/forgot/forgot.component.ts @@ -4,13 +4,9 @@ import { AuthenticationService } from 'src/app/hmg-common/services/authenticatio import { Router } from '@angular/router'; import { AlertController } from '@ionic/angular'; import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; -import { CheckUserAuthenticationRequest } from 'src/app/hmg-common/services/authentication/models/check-user-auth.request'; import { CheckUserAuthenticationResponse } from 'src/app/hmg-common/services/authentication/models/check-user-auth.response'; -import { CheckActivationCodeRequest } from 'src/app/hmg-common/services/authentication/models/check-activation-code.request'; import { SmsReaderService } from 'src/app/hmg-common/services/sms/sms-reader.service'; -import { ForgotFileIDResponse } from '../../hmg-common/services/authentication/models/forgot-File-ID.response'; import { InternationalMobileComponent } from 'src/app/hmg-common/ui/mobile-number/international-mobile/international-mobile.component'; -import { CountryCode } from 'src/app/hmg-common/ui/mobile-number/international-mobile/models/country-code.model'; import { ForgetPassword } from '../models/forget.password'; import { LoginModel } from '../models/LoginModel'; import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; @@ -20,7 +16,7 @@ import { SharedDataService } from 'src/app/hmg-common/services/shared-data-servi templateUrl: './forgot.component.html', styleUrls: ['./forgot.component.scss'] }) -export class ForgotComponent implements OnInit,OnDestroy { +export class ForgotComponent implements OnInit { private loginData = new LoginModel(); public P_NEW_PASSWORD: string; @@ -42,10 +38,6 @@ export class ForgotComponent implements OnInit,OnDestroy { ngOnInit() { } - ngOnDestroy(): void { - this.smsService.stopSMSMonitoring(); - } - public onForgot() { this.sendSMSForForgotPassword(); } @@ -81,7 +73,7 @@ export class ForgotComponent implements OnInit,OnDestroy { if (this.cs.validResponse(result)) { this.checkUserResult = result; console.log(result); - this.cs.toastPK("changePassword","passwordchanged"); + this.cs.toastPK("changePassword","successChange"); this.cs.openLogin(); } }); diff --git a/Mohem/src/app/authentication/login/login.component.ts b/Mohem/src/app/authentication/login/login.component.ts index 6c9ee3bf..4e3b310b 100644 --- a/Mohem/src/app/authentication/login/login.component.ts +++ b/Mohem/src/app/authentication/login/login.component.ts @@ -1,25 +1,12 @@ -import { - Component, - OnInit, - ViewChild, - ChangeDetectorRef, - NgZone, - OnDestroy -} from "@angular/core"; +import { Component, OnInit, NgZone, OnDestroy } from "@angular/core"; import { CommonService } from "src/app/hmg-common/services/common/common.service"; import { AuthenticationService } from "src/app/hmg-common/services/authentication/authentication.service"; import { Router } from "@angular/router"; import { AlertController } from "@ionic/angular"; import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service"; -import { CheckUserAuthenticationRequest } from "src/app/hmg-common/services/authentication/models/check-user-auth.request"; import { CheckUserAuthenticationResponse } from "src/app/hmg-common/services/authentication/models/check-user-auth.response"; -import { CheckActivationCodeResponse } from "src/app/hmg-common/services/authentication/models/check-activation-code.response"; import { SmsReaderService } from "src/app/hmg-common/services/sms/sms-reader.service"; -import { AuthenticatedUser } from "src/app/hmg-common/services/authentication/models/authenticated-user"; -import { PATIENT_TYPE } from "src/app/hmg-common/services/models/patient.type"; import { FingerprintAIO } from "@ionic-native/fingerprint-aio/ngx"; -import { GetLoginInfoRequest } from "src/app/hmg-common/services/authentication/models/get-login-info.request"; -import { GetLoginInfoResponse } from "src/app/hmg-common/services/authentication/models/get-login-info.response"; import { Device } from "@ionic-native/device/ngx"; import { SplashScreen } from "@ionic-native/splash-screen/ngx"; import { SharedDataService } from "src/app/hmg-common/services/shared-data-service/shared-data.service"; @@ -27,439 +14,95 @@ import { LoginModel } from "../models/LoginModel"; import { LoginRequest } from "src/app/hmg-common/services/authentication/models/login.request"; @Component({ - selector: "login", - templateUrl: "./login.component.html", - styleUrls: ["./login.component.scss"] + selector: "login", + templateUrl: "./login.component.html", + styleUrls: ["./login.component.scss"] }) export class LoginComponent implements OnInit, OnDestroy { - appLang: number = 1; - isExpired: boolean = false; - isSupportAr: boolean = false; - isAppleStore: boolean = false; - memberLogin: any = {}; - private password: string; - private language: string; - private username: string; - private currentLang: any = 1; - private patientOutSA: boolean; - private loginTokenID: string; - private isMobileFingerPrint: boolean; - private FingerPrintPatientIdentificationID: string; - private loginData = new LoginModel(); - constructor( - public cs: CommonService, - public authService: AuthenticationService, - public router: Router, - public alertController: AlertController, - public ts: TranslatorService, - public smsService: SmsReaderService, - private faio: FingerprintAIO, - public ngZone: NgZone, - public device: Device, - public splash: SplashScreen, - public sharedData: SharedDataService - ) {} - - ngOnInit() {} - - ngOnDestroy(): void { - this.backClicked(); - } - public changeLanguage() { - this.ts.switchLanguage(); - if (TranslatorService.CURRENT_LANGUAGE == TranslatorService.EN) { - this.language = "US"; - } else { - this.language = "AR"; + appLang: number = 1; + isExpired: boolean = false; + isSupportAr: boolean = false; + isAppleStore: boolean = false; + memberLogin: any = {}; + private password: string; + private language: string; + private username: string; + private currentLang: any = 1; + private patientOutSA: boolean; + private loginTokenID: string; + private isMobileFingerPrint: boolean; + private FingerPrintPatientIdentificationID: string; + private loginData = new LoginModel(); + constructor( + public cs: CommonService, + public authService: AuthenticationService, + public router: Router, + public alertController: AlertController, + public ts: TranslatorService, + public smsService: SmsReaderService, + private faio: FingerprintAIO, + public ngZone: NgZone, + public device: Device, + public splash: SplashScreen, + public sharedData: SharedDataService + ) { } + + ngOnInit() { } + + ngOnDestroy(): void { + this.backClicked(); } - this.currentLang = TranslatorService.getCurrentLanguageCode(); - } - // private checkIfLoggedInBefore() { - // this.cs.startLoading(); - // // check if user logged in before - // this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => { - // if (user) { - // this.startBiometricLogin(user); - // } else { - // this.hideSplashScreen(true); - // } - // }); - // } - private forgetPasswordPage() { - this.cs.openUserForgot(); - } - private hideSplashScreen(stopLoading = false) { - // this.splash.hide(); - if (stopLoading) { - this.cs.stopLoading(); - } - } - // private startBiometricLogin(user: AuthenticatedUser) { - // this.faio.isAvailable().then((options) => { - // this.hideSplashScreen(true); - // if (user.biometricEnabled) { - // // ask if login with face or finger - // this.cs.presentConfirmDialog( - // this.ts.trPK('login', options), - // () => this.presentBiometricDialog(user), - // () => { } - // ); - // } else { - // // ask to enable biometric - // this.getPermissionToActivateBiometric(user); - // } - // }, () => { - // this.hideSplashScreen(true); - // }); - // } - - private getPermissionToActivateBiometric(user: AuthenticatedUser) { - this.cs.presentConfirmDialog( - this.ts.trPK("login", "enable-biometric"), - () => { - user["biometricEnabled"] = true; - this.authService - .updateLoggedInUser(user) - .subscribe((success: boolean) => { - this.presentBiometricDialog(user); - }); - }, - () => {} - ); - } - /* - activate biometric login for this user - */ - private getMobileInfo(user: AuthenticatedUser) { - this.authService - .getLoginInfo( - new GetLoginInfoRequest(user), - () => {}, - this.ts.trPK("general", "ok") - ) - .subscribe((result: GetLoginInfoResponse) => { - if (this.cs.validResponse(result)) { - if (!result.SMSLoginRequired) { - this.loginTokenID = result.LogInTokenID; - this.patientOutSA = result.PatientOutSA; - this.initializeForAuthentictedUser(user); - // sms for register the biometric - if (result.isSMSSent) { - this.startListeneingForSMS( - this.ts.trPK("general", "enter-sms-enable-biometric") - ); - } else { - this.checkActivationCode(); - } - } + public changeLanguage() { + this.ts.switchLanguage(); + if (TranslatorService.CURRENT_LANGUAGE == TranslatorService.EN) { + this.language = "US"; + } else { + this.language = "AR"; } - }); - } - - private initializeForAuthentictedUser(user: AuthenticatedUser) { - this.ngZone.run(() => { - //this.isMobileFingerPrint = true; - //this.FingerPrintPatientIdentificationID = user.IdentificationNo; - //this.mobileNumber = user.MobileNumber; - //this.zipCode = CountryCode.localCode(user.ZipCode); - }); - } - - private presentBiometricDialog(user) { - this.faio - .show({ - clientId: "Fingerprint Authetnciation", - clientSecret: "Ate343_9347lajF", // Only necessary for Android - disableBackup: true, // Only for Android(optional) - localizedFallbackTitle: this.ts.trPK("login", "use-pin"), // Only for iOS - localizedReason: this.ts.trPK("login", "auth-please") // Only for iOS - }) - .then((result: any) => { - // this.checkActivationCode(); - this.getMobileInfo(user); - }) - .catch((error: any) => console.log(error)); - } - - public onLogin() { - this.checkUserAuthentication(); - } - - // public loginWithMyAccount() { - // // this.loginWithTamer(); - // this.loginWithTamer(); - // } - - /* - TODO to be removed later - */ - // public loginWithEnas() { - // alert('you are doing slient login width enas account '); - // const user = new AuthenticatedUser(); - // user.PatientID = 862616; - - // user.PatientTypeID = PATIENT_TYPE.PERMANENT; - // user.PatientOutSA = false; - // user.TokenID = '@dm!n'; - // user.ProjectID = 0; - // user.NationalityID = '2300948375'; - // user.MobileNo = user.MobileNumber = '554355126'; - // user.ZipCode = '+966'; - // user.Address = 'riyadh'; - // user.FirstName = 'MOHAMED'; - // user.MiddleName = 'yaghi'; - // user.LastName = 'mohammed'; - // user.Age = 30; - // user.agreed = true; - // const birthDate = new Date(); - // birthDate.setFullYear(birthDate.getFullYear() - 29); - // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); - // user.Email = 'Mohamed.Afifi@cloudsolution-sa.com'; - // user.PatientName = 'enas yaghi'; - // this.authService.updateLoggedInUser(user).subscribe(done => { - // this.authService.startIdleMonitoring(); - // this.cs.openHome(); - // }); - // } - - // public loginWithVaccineUser() { - // alert('you are doing slient login width vaccine account '); - // const user = new AuthenticatedUser(); - // user.PatientID = 862616; // user with vaccines in dev - - // user.PatientTypeID = PATIENT_TYPE.PERMANENT; - // user.PatientOutSA = false; - // user.TokenID = '@dm!n'; - // user.NationalityID = '2300948375'; - // user.MobileNo = user.MobileNumber = '554355126'; - // user.ProjectID = 0; - // user.ZipCode = '+966'; - // user.Address = 'riyadh'; - // user.FirstName = 'MOHAMED'; - // user.MiddleName = 'yaghi'; - // user.LastName = 'mohammed'; - // user.Age = 30; - // user.agreed = true; - // const birthDate = new Date(); - // birthDate.setFullYear(birthDate.getFullYear() - 29); - // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); - // user.Email = 'minna.barry@cloudsolution-sa.com'; - // user.PatientName = 'enas yaghi'; - // this.authService.updateLoggedInUser(user).subscribe(done => { - // this.authService.startIdleMonitoring(); - // this.cs.openHome(); - // }); - // } - - // public loginWithEyeMeasureUser() { - // alert('you are doing slient login width eye measurements user account '); - // const user = new AuthenticatedUser(); - // user.PatientID = 873010; - - // user.PatientTypeID = PATIENT_TYPE.PERMANENT; - // user.PatientOutSA = false; - // user.TokenID = '@dm!n'; - // user.NationalityID = '2302581828'; - // user.ProjectID = 0; - // user.MobileNo = user.MobileNumber = '555333541'; - // user.ZipCode = '+966'; - // user.Address = 'riyadh'; - // user.FirstName = 'eye'; - // user.MiddleName = 'user'; - // user.LastName = 'measurment'; - // user.Age = 30; - // user.agreed = true; - // const birthDate = new Date(); - // birthDate.setFullYear(birthDate.getFullYear() - 29); - // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); - // user.Email = 'sultan.khan@hmg.local'; - // user.PatientName = 'eye user'; - // this.authService.updateLoggedInUser(user).subscribe(done => { - // this.authService.startIdleMonitoring(); - // this.cs.openHome(); - // }); - // } - - /* - TODO login with mr rwaid - */ - // public loginWithRwaid() { - // alert('you are doing slient login width mr: rwaid account'); - - // const user = new AuthenticatedUser(); - // // tamer with eye measurments 1231755 - // user.PatientID = 1018977; - // user.PatientTypeID = PATIENT_TYPE.PERMANENT; - // user.ProjectID = 0; - // user.PatientOutSA = false; - // user.TokenID = '@dm!n'; - // user.NationalityID = '1001242559'; - // user.MobileNo = user.MobileNumber = '545156035'; - // user.ZipCode = '+966'; - // user.Address = 'riyadh'; - // user.FirstName = 'rwaid'; - // user.MiddleName = 'el mallah'; - // user.LastName = 'mohammed'; - // user.Age = 30; - // user.agreed = true; - // const birthDate = new Date(); - // birthDate.setFullYear(birthDate.getFullYear() - 29); - // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); - // user.Email = 'mohamed.afifi@cloudsolution-sa.com'; - // user.PatientName = 'rwaid al mallah'; - // this.authService.updateLoggedInUser(user).subscribe(done => { - // this.authService.startIdleMonitoring(); - // this.cs.openHome(); - // }); - - // } - - // public loginWithTamer() { - // alert('you are doing slient login width tamer account'); - - // const user = new AuthenticatedUser(); - // user.PatientID = 1231755; - // user.PatientTypeID = PATIENT_TYPE.PERMANENT; - // user.ProjectID = 0; - // user.PatientOutSA = false; - // user.TokenID = '@dm!n'; - // user.NationalityID = '1001242559'; - // user.MobileNo = user.MobileNumber = '537503378'; - // user.ZipCode = '+966'; - // user.Address = 'riyadh'; - // user.FirstName = 'tamer'; - // user.MiddleName = 'faneshah'; - // user.LastName = 'faneshah'; - // user.Age = 30; - // user.agreed = true; - // const birthDate = new Date(); - // birthDate.setFullYear(birthDate.getFullYear() - 29); - // user.DateofBirth = this.cs.convertISODateToJsonDate(this.cs.getDateISO(birthDate)); - // user.Email = 'mohamed.afifi@cloudsolution-sa.com'; - // user.PatientName = 'tamer fneshah'; - // this.authService.updateLoggedInUser(user).subscribe(done => { - // this.authService.startIdleMonitoring(); - // this.cs.openHome(); - // }); - - // } - - private startListeneingForSMS(title?: string) { - this.startReceivingSMS(); - //this.presentSMSPasswordDialog(title); - } - - private checkUserAuthentication() { - const request = new LoginRequest(); - request.P_USER_NAME = this.username; - request.P_LANGUAGE = this.language; - request.P_PASSWORD = this.password; - console.log(request); - this.authService - .login(request, () => {}, this.ts.trPK("general", "ok")) - .subscribe((result: CheckUserAuthenticationResponse) => { - if (this.cs.validResponse(result)) { - this.loginData.LogInTokenID = result.LogInTokenID; - this.loginData.MobileNumber = result.MemberLoginList.P_MOBILE_NUMBER; - this.sharedData.setSharedData(this.loginData, "logindata"); - this.cs.openSMSPage(); + this.currentLang = TranslatorService.getCurrentLanguageCode(); + } + private forgetPasswordPage() { + this.cs.openUserForgot(); + } + private hideSplashScreen(stopLoading = false) { + // this.splash.hide(); + if (stopLoading) { + this.cs.stopLoading(); } - }); - } - - public backClicked() { - this.smsService.stopSMSMonitoring(); - } + } - private startReceivingSMS() { - // this.smsModal.presentModal(); - // this.smsService.startSMSMonitoring((code) => { - // this.smsModal.dismiss; - // this.global_code = code; - // SMSService.code = this.global_code; - // this.checkActivationCode(code); - // this.cs.dismissSMSDialog().subscribe(cleared => { - // this.checkActivationCode(code); - // }); - // }); - } - public presentSMSPasswordDialog(title?: string) { - this.cs.presentSMSPasswordDialog( - (code: string) => { - this.checkActivationCode(code); - }, - null, - title - ); - } - private checkActivationCode(readedCode?) { - /*const request = new CheckActivationCodeRequest(); - request.IsMobileFingerPrint = this.isMobileFingerPrint; - request.FingerPrintPatientIdentificationID = this.FingerPrintPatientIdentificationID; - request.LogInTokenID = this.loginTokenID; - request.PatientOutSA = this.patientOutSA ? 1 : 0; - request.activationCode = readedCode || '0000'; - request.IsSilentLogin = !readedCode; - request.PatientMobileNumber = this.mobileNumber; - request.ZipCode = this.zipCode; - request.isRegister = false;*/ - // request.SearchType = this.loginType; - // if (this.loginType === LoginComponent.IDENTIFCIATION_LOGIN_TYPE) { - // request.PatientIdentificationID = this.id; - // request.PatientID = 0; - // } else { - // request.PatientID = Number(this.id); - // request.PatientIdentificationID = ''; - // } - // this.authService.checkActivationCode( - // request, - // () => { - // //this.presentSMSPasswordDialog(); - // this.smsModal.presentModal(); - // }, this.ts.trPK('general', 'retry')).subscribe((result: CheckActivationCodeResponse) => { - // if (this.cs.validResponse(result)) { - // if (this.cs.hasData(result.List)) { - // this.smsService.stopSMSMonitoring(); - // this.checkIfUserAgreedBefore(result); - // } - // } - // }); - } - private checkIfUserAgreedBefore(result: CheckActivationCodeResponse) { - this.authService.setAuthenticatedUser(result).subscribe(() => { - // if (this.authService.isAgreedBefore()) { - // this.cs.openHome(); - // } else { - // // this.cs.openAgreement(); - // } - }); - } + public onLogin() { + this.checkUserAuthentication(); + } - private checkUserAgreement() {} + private checkUserAuthentication() { + this.cs.startLoading(); + const request = new LoginRequest(); + request.P_USER_NAME = this.username; + request.P_LANGUAGE = this.language; + request.P_PASSWORD = this.password; + console.log(request); + this.authService + .login(request, () => { }, this.ts.trPK("general", "ok")) + .subscribe((result: CheckUserAuthenticationResponse) => { + if (this.cs.validResponse(result)) { + this.loginData.LogInTokenID = result.LogInTokenID; + this.loginData.MobileNumber = result.MemberLoginList.P_MOBILE_NUMBER; + this.sharedData.setSharedData(this.loginData, "logindata"); + this.cs.stopLoading(); + this.cs.openSMSPage(); + } + }); + } - public signOut() { - // this.cs.presentConfirmDialog(this.ts.trPK('login', 'sign-out'), - // () => { - // this.authService.clearUser().subscribe(success => { - // this.id = null; - // if (this.countryCode) { - // this.internationlMobile.setMobileNumber(this.countryCode.code, null); - // } - // }); - // }); - } + public backClicked() { + this.smsService.stopSMSMonitoring(); + } - public openForgotID() { - this.cs.openUserForgot(); - } + public openForgotID() { + this.cs.openUserForgot(); + } - public onDismiss() { - // this.global_code = SMSService.code; - //this.checkActivationCode(this.global_code); - } - public onCancelled() { - console.log("Modal pop up cancelled"); - } } diff --git a/Mohem/src/app/authentication/sms-page/sms-page.page.ts b/Mohem/src/app/authentication/sms-page/sms-page.page.ts index 51d127af..24a54baa 100644 --- a/Mohem/src/app/authentication/sms-page/sms-page.page.ts +++ b/Mohem/src/app/authentication/sms-page/sms-page.page.ts @@ -120,8 +120,6 @@ export class SmsPagePage implements OnInit { } } else { let msg: string = this.translate.trPK("general", "noOfTriesLogin"); - //this.common.showAlert(msg); - //this.navCtrl.pop(); goBack this.common.JustAlertDialog(this.translate.trPK("general", "ok"), msg); } } @@ -138,7 +136,6 @@ export class SmsPagePage implements OnInit { .subscribe((result: SMSCheckResponse) => { console.log(result); if (this.common.validResponse(result)) { - //this.sharedData.setSharedData(this.loginData, SmsPagePage.LOGIN_DATA); this.authService.setAuthenticatedUser(result).subscribe(() => { this.common.openHome(); }); @@ -152,8 +149,6 @@ export class SmsPagePage implements OnInit { (request.LogInTokenID = data.LogInTokenID), (request.activationCode = this.activationCode); - //request.P_USER_NAME=this.userName, - //request.MobileNumber=this.member.MemberLoginList.P_MOBILE_NUMBER console.log(data.LogInTokenID); this.authService @@ -162,9 +157,6 @@ export class SmsPagePage implements OnInit { console.log(result); if (this.common.validResponse(result)) { console.log(result); - - //this.loginData.LogInTokenID = result.LogInTokenID; - //this.sharedData.setSharedData(this.loginData, "logindata"); this.common.openForgotPassword(); } }); diff --git a/Mohem/src/app/hmg-common/ui/progressLoading/progress-loading.service.ts b/Mohem/src/app/hmg-common/ui/progressLoading/progress-loading.service.ts index 690e8c69..fdc08358 100644 --- a/Mohem/src/app/hmg-common/ui/progressLoading/progress-loading.service.ts +++ b/Mohem/src/app/hmg-common/ui/progressLoading/progress-loading.service.ts @@ -53,7 +53,7 @@ export class ProgressLoadingService { const template = // tslint:disable-next-line:quotemark "
" + - "" + + "" + "

" + message + "

" + "
"; return template; diff --git a/Mohem/src/assets/icon/moving.gif b/Mohem/src/assets/icon/moving.gif new file mode 100644 index 0000000000000000000000000000000000000000..95e0fadc7565931ed0386442e1c886286029d4f8 GIT binary patch literal 476386 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
-

{{ts.trPK('home','dashboard')}}, {{userData.EMPLOYEE_DISPLAY_NAME}}

+

{{ts.trPK('home','dashboard')}}

diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index 602ac627..7573236e 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -34,7 +34,7 @@ export class HomePage implements OnInit { this.menu.toggle(); } private getUserDetails() { - const user = this.authService + this.authService .loadAuthenticatedUser() .subscribe((user: AuthenticatedUser) => { if (user) { diff --git a/Mohem/src/app/profile/home/home.component.html b/Mohem/src/app/profile/home/home.component.html new file mode 100644 index 00000000..d88cac28 --- /dev/null +++ b/Mohem/src/app/profile/home/home.component.html @@ -0,0 +1,111 @@ + + + + + + {{ts.trPK('userProfile','title')}} + + + + + + + + +
{{personalInfo.EMPLOYEE_NAME}}
+
+ +
+
+ + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
\ No newline at end of file diff --git a/Mohem/src/app/profile/home/home.component.scss b/Mohem/src/app/profile/home/home.component.scss new file mode 100644 index 00000000..60b11dbc --- /dev/null +++ b/Mohem/src/app/profile/home/home.component.scss @@ -0,0 +1,3 @@ +ion-col.colBold, ion-col.colBold > label{ + font-weight:bold; +} \ No newline at end of file diff --git a/Mohem/src/app/profile/home/home.component.spec.ts b/Mohem/src/app/profile/home/home.component.spec.ts new file mode 100644 index 00000000..5ec1377b --- /dev/null +++ b/Mohem/src/app/profile/home/home.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HomeComponent } from './home.component'; + +describe('HomeComponent', () => { + let component: HomeComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ HomeComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(HomeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/profile/home/home.component.ts b/Mohem/src/app/profile/home/home.component.ts new file mode 100644 index 00000000..f5e10adf --- /dev/null +++ b/Mohem/src/app/profile/home/home.component.ts @@ -0,0 +1,38 @@ +import { Component, OnInit } from "@angular/core"; +import { CommonService } from "src/app/hmg-common/services/common/common.service"; +import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service"; +import { AuthenticationService } from "src/app/hmg-common/services/authentication/authentication.service"; +import { AuthenticatedUser } from "src/app/hmg-common/services/authentication/models/authenticated-user"; +@Component({ + selector: "app-home", + templateUrl: "./home.component.html", + styleUrls: ["./home.component.scss"] +}) +export class HomeComponent implements OnInit { + personalInfo: any; + imageSrc: string = "../assets/imgs/profile.png"; + constructor( + public ts: TranslatorService, + public cs: CommonService, + public authService: AuthenticationService + ) {} + + ngOnInit() { + this.getProfile(); + } + getProfile() { + this.authService + .loadAuthenticatedUser() + .subscribe((user: AuthenticatedUser) => { + if (user) { + this.personalInfo = user; + this.imageSrc = user.EMPLOYEE_IMAGE + ? "data:image/png;base64," + user.EMPLOYEE_IMAGE + : this.imageSrc; + console.log(user); + } else { + console.log(user); + } + }); + } +} diff --git a/Mohem/src/app/profile/profile.module.ts b/Mohem/src/app/profile/profile.module.ts new file mode 100644 index 00000000..6688ce80 --- /dev/null +++ b/Mohem/src/app/profile/profile.module.ts @@ -0,0 +1,32 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { Routes, RouterModule } from '@angular/router'; + +import { IonicModule } from '@ionic/angular'; + +import { ProfilePage } from './profile.page'; +import { HomeComponent } from './home/home.component'; +const routes: Routes = [ + { + path: '', + component: ProfilePage, + children: [ + { + path: 'home', + component: HomeComponent + } + ], + } +]; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + RouterModule.forChild(routes) + ], + declarations: [ProfilePage , HomeComponent] +}) +export class ProfilePageModule {} diff --git a/Mohem/src/app/profile/profile.page.html b/Mohem/src/app/profile/profile.page.html new file mode 100644 index 00000000..e020ca2c --- /dev/null +++ b/Mohem/src/app/profile/profile.page.html @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Mohem/src/app/profile/profile.page.scss b/Mohem/src/app/profile/profile.page.scss new file mode 100644 index 00000000..e69de29b diff --git a/Mohem/src/app/profile/profile.page.spec.ts b/Mohem/src/app/profile/profile.page.spec.ts new file mode 100644 index 00000000..6f05c1ab --- /dev/null +++ b/Mohem/src/app/profile/profile.page.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ProfilePage } from './profile.page'; + +describe('ProfilePage', () => { + let component: ProfilePage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ProfilePage ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ProfilePage); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/profile/profile.page.ts b/Mohem/src/app/profile/profile.page.ts new file mode 100644 index 00000000..e24f8f60 --- /dev/null +++ b/Mohem/src/app/profile/profile.page.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-profile', + templateUrl: './profile.page.html', + styleUrls: ['./profile.page.scss'], +}) +export class ProfilePage implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/Mohem/src/assets/localization/i18n.json b/Mohem/src/assets/localization/i18n.json index 5392d1e6..375d032a 100644 --- a/Mohem/src/assets/localization/i18n.json +++ b/Mohem/src/assets/localization/i18n.json @@ -766,31 +766,31 @@ }, "confirmPassword": { "en":"Confirm Password", - "ar":"" + "ar":"تأكيد كلمة المرور" }, "newPassword": { "en":"New Password", - "ar":"" + "ar":"كلمة المرور الجديدة" }, "changePassword": { "en":"Change Password", - "ar":"" + "ar":"تغيير كلمة المرور" }, "codeNumber": { "en":"verification code", - "ar":"" + "ar": "رقم الرمز" }, "emptyNewPassword": { "en":"Please fill New Password field", - "ar":"" + "ar":"الرجاء ملء حقل كلمة المرور الجديدة" }, "emptyOldPassword": { "en":"Please fill Old Password field", - "ar":"" + "ar":"الرجاء ملء حقل كلمة المرور الحالية" }, "emptyConfirmPassword": { "en":"Please fill Confirm Password field", - "ar":"" + "ar":"الرجاء ملء حقل تأكيد كلمة المرور" } }, "attendance": diff --git a/Mohem/src/theme/styles.scss b/Mohem/src/theme/styles.scss index 7b52e4e6..8d15a51e 100644 --- a/Mohem/src/theme/styles.scss +++ b/Mohem/src/theme/styles.scss @@ -57,24 +57,18 @@ ion-label{ } -.loaderGif{ +.loading-gif{ background: transparent !important; width:100px; height: 100px; } -.loading-md .loading-wrapper, -.loading-ios .loading-wrapper{ +#custom-progress-loader .container{ background: transparent !important; box-shadow: none; -webkit-box-shadow:none; -moz-box-shadow: none; width: 150px; } -.loading-md ,.loading-ios { - ion-backdrop{ - background-color: #8c8c8c !important; - } -} /***********change header color***************/ .headerBtn{ @@ -83,7 +77,12 @@ ion-label{ .headerImg{ width: 36px; } - +.header-toolbar{ + --background: linear-gradient(45deg, #3ac1f1 0%, #19a163 36%, #19a163 59%, #1a586d 100%); +} +.btnBack{ + background: transparent !important; +} /***************/ .attachImg{ max-width: 30px; From c255bebef9861ea3faeaa57278d5bdc319db71f8 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Sun, 30 Jun 2019 09:32:23 +0300 Subject: [PATCH 16/22] Vacation Rule Going on --- Mohem/package-lock.json | 143 +- Mohem/package.json | 3 +- Mohem/src/app/app.scss | 9 + Mohem/src/app/home/home.page.html | 2 +- .../create-vacation-rule.component.html | 84 + .../create-vacation-rule.component.scss | 14 + .../create-vacation-rule.component.spec.ts | 27 + .../create-vacation-rule.component.ts | 107 + .../vacation-rule/home/home.component.html | 16 +- .../vacation-rule/home/home.component.scss | 1 + .../model/VacationTypeRequest.ts | 8 + .../model/notification.Request.ts | 8 + .../model/notification.Respond.ts | 10 + .../notification-type.component.html | 83 + .../notification-type.component.scss | 20 + .../notification-type.component.spec.ts | 27 + .../notification-type.component.ts | 49 + .../service/vacation-rule-service.service.ts | 25 +- .../app/vacation-rule/vacation-rule.module.ts | 14 +- .../vacation-type.component.html | 45 +- .../vacation-type.component.scss | 19 + .../vacation-type/vacation-type.component.ts | 48 +- Mohem/src/assets/localization/i18n.json | 1823 +++++++++-------- 23 files changed, 1545 insertions(+), 1040 deletions(-) create mode 100644 Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.html create mode 100644 Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.scss create mode 100644 Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.spec.ts create mode 100644 Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.ts create mode 100644 Mohem/src/app/vacation-rule/model/VacationTypeRequest.ts create mode 100644 Mohem/src/app/vacation-rule/model/notification.Request.ts create mode 100644 Mohem/src/app/vacation-rule/model/notification.Respond.ts create mode 100644 Mohem/src/app/vacation-rule/notification-type/notification-type.component.html create mode 100644 Mohem/src/app/vacation-rule/notification-type/notification-type.component.scss create mode 100644 Mohem/src/app/vacation-rule/notification-type/notification-type.component.spec.ts create mode 100644 Mohem/src/app/vacation-rule/notification-type/notification-type.component.ts diff --git a/Mohem/package-lock.json b/Mohem/package-lock.json index 32c46d95..99358649 100644 --- a/Mohem/package-lock.json +++ b/Mohem/package-lock.json @@ -835,21 +835,6 @@ } } }, - "@ionic-native/barcode-scanner": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ionic-native/barcode-scanner/-/barcode-scanner-5.8.0.tgz", - "integrity": "sha512-fypCb/8MikdTPaUl+oAtK+abrdgWnsYk3FtN3HPcNU4VB53QtBrx4LFC0l9xXD9rW8S7S0Xr2uHogtzhbh1bdg==", - "requires": { - "@types/cordova": "^0.0.34" - }, - "dependencies": { - "@types/cordova": { - "version": "0.0.34", - "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", - "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" - } - } - }, "@ionic-native/ble": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/@ionic-native/ble/-/ble-5.8.0.tgz", @@ -963,21 +948,6 @@ } } }, - "@ionic-native/health": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ionic-native/health/-/health-5.8.0.tgz", - "integrity": "sha512-zpBJJYuX3Oe39qhMSXeUb6Zreco5pu5fJBOuhPQy2pexgh6GwdEctNNC37SdHq2MK9afzraj+aiVJlNhDsLDsQ==", - "requires": { - "@types/cordova": "^0.0.34" - }, - "dependencies": { - "@types/cordova": { - "version": "0.0.34", - "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", - "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" - } - } - }, "@ionic-native/in-app-browser": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/@ionic-native/in-app-browser/-/in-app-browser-5.8.0.tgz", @@ -1053,21 +1023,6 @@ } } }, - "@ionic-native/push": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ionic-native/push/-/push-5.8.0.tgz", - "integrity": "sha512-JLfw8fMzZIskKU3fG7UO4POQTNoIY2IfGKYV8Q+cf45LFg+tLJSlN14y0ZPr3bm7y9DacQtiKQsErpIZLT64yw==", - "requires": { - "@types/cordova": "^0.0.34" - }, - "dependencies": { - "@types/cordova": { - "version": "0.0.34", - "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", - "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" - } - } - }, "@ionic-native/sms": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/@ionic-native/sms/-/sms-5.8.0.tgz", @@ -1596,7 +1551,9 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true, + "optional": true }, "accepts": { "version": "1.3.7", @@ -2075,11 +2032,6 @@ "babel-runtime": "^6.22.0" } }, - "babel-plugin-add-header-comment": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/babel-plugin-add-header-comment/-/babel-plugin-add-header-comment-1.0.3.tgz", - "integrity": "sha1-URxJAQYmQNWkgLSsPt1pRBlYUOw=" - }, "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", @@ -3357,23 +3309,6 @@ } } }, - "cordova-android-support-gradle-release": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cordova-android-support-gradle-release/-/cordova-android-support-gradle-release-2.1.0.tgz", - "integrity": "sha512-rKqNQ5PCHuZ/qUWYrLz5dKJpdJ/ArkhTCEv4CxbFuny0a0JNg5lwufmZ7qfVIqxoK0Nvs9XsIYKiFSGxaQ8lTg==", - "requires": { - "q": "^1.4.1", - "semver": "5.1.0", - "xml2js": "~0.4.19" - }, - "dependencies": { - "semver": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz", - "integrity": "sha1-hfLPhVBGXE3wAM99hvawVBBqueU=" - } - } - }, "cordova-browser": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cordova-browser/-/cordova-browser-5.0.4.tgz", @@ -4408,11 +4343,6 @@ "resolved": "https://registry.npmjs.org/cordova-plugin-globalization/-/cordova-plugin-globalization-1.11.0.tgz", "integrity": "sha1-6sMVgQAphJOvowvolA5pj2HvvP4=" }, - "cordova-plugin-health": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cordova-plugin-health/-/cordova-plugin-health-1.1.3.tgz", - "integrity": "sha512-hX2C95AetTbeQ5OXOu7xugDQhJVhSe7hnbmN3EJccbRvy5dN/vaWE/MaYhdzZxrOzYSd2V/z6lLJliWVX5bRjA==" - }, "cordova-plugin-inappbrowser": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cordova-plugin-inappbrowser/-/cordova-plugin-inappbrowser-3.0.0.tgz", @@ -4433,11 +4363,6 @@ "resolved": "https://registry.npmjs.org/cordova-plugin-local-notification/-/cordova-plugin-local-notification-0.9.0-beta.2.tgz", "integrity": "sha512-63n77K1pt8dnbWnNR8QWETi9Glezi1bvNHvHWmGNIOv0xCb0phZnm+Ku49BQ+omwe8Z5voMvrA4I03SYPpv38w==" }, - "cordova-plugin-mauron85-background-geolocation": { - "version": "3.0.0-alpha.50", - "resolved": "https://registry.npmjs.org/cordova-plugin-mauron85-background-geolocation/-/cordova-plugin-mauron85-background-geolocation-3.0.0-alpha.50.tgz", - "integrity": "sha512-TVdsJ4gPOuFANB3SX/bDLp4igK6o5nPXO95+tv9RpLr5Rwh2XhiozmEpaC0mnMFiuKi6j1xbaZLklhhVBwC14w==" - }, "cordova-plugin-nativestorage": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/cordova-plugin-nativestorage/-/cordova-plugin-nativestorage-2.3.2.tgz", @@ -4486,11 +4411,6 @@ "resolved": "https://registry.npmjs.org/cordova-sqlite-storage-dependencies/-/cordova-sqlite-storage-dependencies-2.0.0.tgz", "integrity": "sha512-aYD5Cn1TJwgPmpZhQUYq4gOv5t+imzIxGo4SVa/fwEB/pLhiahi+2xK5gLd79YHrz6WdzFBr/126UPXhlSqRWA==" }, - "cordova-support-google-services": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cordova-support-google-services/-/cordova-support-google-services-1.3.1.tgz", - "integrity": "sha512-YbFWYBSkbErZh/moothPZG/p1p79ytXTc0iR4YHypBXg9TSDp7M7wm5eKk0f6wV4Ugv6a7UgBvAEtq2nllI8UA==" - }, "cordova.plugins.diagnostic": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/cordova.plugins.diagnostic/-/cordova.plugins.diagnostic-4.0.12.tgz", @@ -7417,11 +7337,6 @@ } } }, - "install": { - "version": "0.8.9", - "resolved": "https://registry.npmjs.org/install/-/install-0.8.9.tgz", - "integrity": "sha1-n0tcDRhR74cunfheT3Fi1OXc2+0=" - }, "internal-ip": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz", @@ -7435,7 +7350,8 @@ "interpret": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==" + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true }, "invariant": { "version": "2.2.4", @@ -9418,7 +9334,8 @@ "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true }, "os-locale": { "version": "1.4.0", @@ -9433,12 +9350,14 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true }, "osenv": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -9757,7 +9676,8 @@ "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true }, "path-to-regexp": { "version": "0.1.7", @@ -9798,40 +9718,11 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, - "phonegap-plugin-barcodescanner": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/phonegap-plugin-barcodescanner/-/phonegap-plugin-barcodescanner-8.1.0.tgz", - "integrity": "sha512-WQCDCoH9EQ9WEn2bce+B95jbNJduilAn2Vtske8KfcYAeGu7bdFqRD7zGCLCQao62VwoEwlX0cUvbQ/am12Jwg==", - "requires": { - "nopt": "^4.0.1", - "shelljs": "^0.8.3" - }, - "dependencies": { - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - } - } - }, "phonegap-plugin-multidex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/phonegap-plugin-multidex/-/phonegap-plugin-multidex-1.0.0.tgz", "integrity": "sha512-1wvc3iQOQpEBaQbXgLxA2JUiLSQ2azdF/bF29ghXDiQJWSpQ1BF8gSuqttM8WZoj081Ps8OKL0gYxdDBkFNPqA==" }, - "phonegap-plugin-push": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/phonegap-plugin-push/-/phonegap-plugin-push-2.2.3.tgz", - "integrity": "sha512-5mjT0G1vfRhXVnZFLwjfzcFwYjVRMibgYDCfYvEujGsP8YwwrIIzcf+xBYAjQV/W2JCjzuNaYd7xJ0yVQaPeig==", - "requires": { - "babel-plugin-add-header-comment": "^1.0.3", - "install": "^0.8.2" - } - }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -10209,7 +10100,8 @@ "q": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=" + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", + "dev": true }, "qjobs": { "version": "1.2.0", @@ -10404,6 +10296,7 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, "requires": { "resolve": "^1.1.6" } @@ -10558,6 +10451,7 @@ "version": "1.11.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "dev": true, "requires": { "path-parse": "^1.0.6" } @@ -11010,6 +10904,7 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", + "dev": true, "requires": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -13130,6 +13025,7 @@ "version": "0.4.19", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "dev": true, "requires": { "sax": ">=0.6.0", "xmlbuilder": "~9.0.1" @@ -13138,7 +13034,8 @@ "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true } } }, diff --git a/Mohem/package.json b/Mohem/package.json index a43cfecc..47be0383 100644 --- a/Mohem/package.json +++ b/Mohem/package.json @@ -82,6 +82,7 @@ "cordova.plugins.diagnostic": "^4.0.12", "core-js": "^2.5.4", "date-fns": "^1.30.1", + "moment": "^2.24.0", "mx.ferreyra.callnumber": "0.0.2", "phonegap-plugin-multidex": "^1.0.0", "primeicons": "^1.0.0", @@ -159,4 +160,4 @@ "android" ] } -} \ No newline at end of file +} diff --git a/Mohem/src/app/app.scss b/Mohem/src/app/app.scss index 45ab8719..ebdaeb55 100644 --- a/Mohem/src/app/app.scss +++ b/Mohem/src/app/app.scss @@ -5,3 +5,12 @@ // file can hold Sass mixins, functions, and placeholder classes to be imported // and used throughout the application. +.alert-radio-label.sc-ion-alert-md, +.alert-radio-label.sc-ion-alert-ios { + white-space: normal; +} + +.alert-tappable.sc-ion-alert-md, + .alert-tappable.sc-ion-alert-ios { + height: 50px; +} diff --git a/Mohem/src/app/home/home.page.html b/Mohem/src/app/home/home.page.html index f66a8652..375f25ce 100644 --- a/Mohem/src/app/home/home.page.html +++ b/Mohem/src/app/home/home.page.html @@ -39,7 +39,7 @@ diff --git a/Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.html b/Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.html new file mode 100644 index 00000000..e1cf75d5 --- /dev/null +++ b/Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.html @@ -0,0 +1,84 @@ + + + + {{ 'vacation-rule, create-vacation-rule' | translate}} + + + + + + +
    + + + +
  • {{'vacation-rule, itemType' | translate}}
  • + +
    + + +
  • {{'vacation-rule, notification-type' | translate}}
  • + +
    + + +
  • {{'vacation-rule, create-vacation-rule' | translate}}
  • + +
    +
    +
+ + + + {{'vacation-rule, itemType' | translate}} + {{P_ITEM_TYPE_TITLE}} + + + {{'vacation-rule, notification' | translate}} + {{Notification_Title}} + + + {{'vacation-rule, start-date' | translate}} + + + + {{'vacation-rule, end-date' | translate}} + + + + {{'vacation-rule, message-label' | translate}} + + + + + + {{assignMode.RADIO_BUTTON_LABEL}} + + + + {{'createVacationRule.deliver' | translate}} + + + + + {{'createVacationRule.close' | translate}} + + + + + + {{'createVacationRule.respond' | translate}} + + + + + + +
+ +
\ No newline at end of file diff --git a/Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.scss b/Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.scss new file mode 100644 index 00000000..ea1b58d3 --- /dev/null +++ b/Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.scss @@ -0,0 +1,14 @@ +li { + width: 100%; +} + +.label { + white-space: normal; + font-size: smaller; +} + +ion-list, +ion-item { + width: 100%; + margin-right: 7%; +} diff --git a/Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.spec.ts b/Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.spec.ts new file mode 100644 index 00000000..5f278530 --- /dev/null +++ b/Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CreateVacationRuleComponent } from './create-vacation-rule.component'; + +describe('CreateVacationRuleComponent', () => { + let component: CreateVacationRuleComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ CreateVacationRuleComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CreateVacationRuleComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.ts b/Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.ts new file mode 100644 index 00000000..c0cf23d8 --- /dev/null +++ b/Mohem/src/app/vacation-rule/create-vacation-rule/create-vacation-rule.component.ts @@ -0,0 +1,107 @@ +import { Component, OnInit } from '@angular/core'; +import * as moment from 'moment'; +import { VacationRuleServiceService } from '../service/vacation-rule-service.service'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { LoginRequest } from 'src/app/hmg-common/services/authentication/models/login.request'; + +@Component({ + selector: 'app-create-vacation-rule', + templateUrl: './create-vacation-rule.component.html', + styleUrls: ['./create-vacation-rule.component.scss'], +}) +export class CreateVacationRuleComponent implements OnInit { + + P_RESPOND_ATTRIBUTES_TBL: any; + P_ITEM_TYPE_TITLE: any = ""; + Notification_Title: any = ""; + isDeliver: boolean = false; + showForType_Y: boolean = false; + Resp2_val: any; + Sdate: any; + // startTime: any; + //endTime: any; + Edate: any; + msgVal: any; + selEmployeeName: any; + selEmployeeID: any; + employeeSel: any; + replacmentEmployeeInfo: any; + itemType: any; + notificationType: any; + RespondAttributeList: any; + // vacationRuleRequest: createVacationRequest; + REASSIGN_val: any; + schemaNotific: any; + notifTypeSel: any; + // pAction: any; + isUpdate: boolean = false; + updateData: any; + forwordAtt: any = ""; + SelAction: string = ""; + hideForwordEmployee: any; + exampleJsonObject: any; + + constructor(public vacationRuleService: VacationRuleServiceService, public ts: TranslatorService, public cs: CommonService) { + this.Sdate = moment().format('YYYY-MM-DDTHH:mm:ssZ'); + } + + ngOnInit() { + this.getNotificationReassign(); + } + + getNotificationReassign() { + let request: LoginRequest = new LoginRequest(); + + this.vacationRuleService.notificationReassign(request, () => { + this.getNotificationReassign(); + }, this.ts.trPK('general', 'retry')).subscribe((result) => { + console.log(result); + if (this.cs.validResponse(result)) { + console.log(result.GetNotificationReassignModeList); + this.REASSIGN_val = result.GetNotificationReassignModeList;//[0].RADIO_BUTTON_ACTION; + this.notifTypeSel = this.REASSIGN_val[0].RADIO_BUTTON_ACTION; + this.reverseAction(); + } else { + this.cs.presentAlert(result.ErrorEndUserMessage); + } + }); + } + + reverseAction() { + if (this.updateData) { + switch (this.SelAction) { + case 'FORWARD': { + this.notifTypeSel = "DELEGATE"; + break; + } + case 'RESPOND': { + this.notifTypeSel = "RESPOND"; + break; + } + case 'CLOSE': { + this.notifTypeSel = "CLOSE"; + break; + } + case 'NOOP': { + this.notifTypeSel = "DELIVER"; + break; + } + case 'TRANSFER': { + this.notifTypeSel = "TRANSFER"; + break; + } + default: { + this.notifTypeSel = ""; + break; + } + } + } + } + + respondAttributes() { + + } + + +} diff --git a/Mohem/src/app/vacation-rule/home/home.component.html b/Mohem/src/app/vacation-rule/home/home.component.html index 083e3438..f9c2e08e 100644 --- a/Mohem/src/app/vacation-rule/home/home.component.html +++ b/Mohem/src/app/vacation-rule/home/home.component.html @@ -1,18 +1,18 @@ - {{ 'vacation-rule, vacation-rule-label' | translate}} + {{ 'vacation-rule, vacationRule' | translate}} -
+
- {{'vacation-rule, rule-Info' | translate}} + {{'vacation-rule, ruleInfo' | translate}}
- + - + diff --git a/Mohem/src/app/app.component.ts b/Mohem/src/app/app.component.ts index e38bb54c..c77be859 100644 --- a/Mohem/src/app/app.component.ts +++ b/Mohem/src/app/app.component.ts @@ -111,4 +111,5 @@ export class AppComponent implements OnInit, AfterViewInit { this.cs.openProfile(); this.menu.toggle(); } + } diff --git a/Mohem/src/app/authentication/check-user/check-user.component.ts b/Mohem/src/app/authentication/check-user/check-user.component.ts index ba44cdbe..d0b0579a 100644 --- a/Mohem/src/app/authentication/check-user/check-user.component.ts +++ b/Mohem/src/app/authentication/check-user/check-user.component.ts @@ -12,7 +12,7 @@ import { LoginRequest } from 'src/app/hmg-common/services/authentication/models/ import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; import { Password } from '../models/password'; import { LoginModel } from '../models/LoginModel'; - +import {LoginComponent} from 'src/app/authentication/login/login.component'; @Component({ selector: 'app-check-user', templateUrl: './check-user.component.html', @@ -77,7 +77,7 @@ export class CheckUserComponent implements OnInit { console.log(result); this.loginData.LogInTokenID = result.LogInTokenID; this.loginData.P_USER_NAME = this.P_USER_NAME; - this.sharedData.setSharedData(this.loginData, "logindata"); + this.sharedData.setSharedData(this.loginData, AuthenticationService.LOGIN_DATA); this.sharedData.setSharedData(true,Password.IS_FORGET_PSW); this.cs.stopLoading(); this.cs.openSMSPage(); diff --git a/Mohem/src/app/authentication/forgot/forgot.component.ts b/Mohem/src/app/authentication/forgot/forgot.component.ts index 92865083..e2bd4b92 100644 --- a/Mohem/src/app/authentication/forgot/forgot.component.ts +++ b/Mohem/src/app/authentication/forgot/forgot.component.ts @@ -10,7 +10,7 @@ import { InternationalMobileComponent } from 'src/app/hmg-common/ui/mobile-numbe import { ForgetPassword } from '../models/forget.password'; import { LoginModel } from '../models/LoginModel'; import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; - +import {LoginComponent} from "src/app/authentication/login/login.component"; @Component({ selector: 'app-forgot', templateUrl: './forgot.component.html', @@ -58,7 +58,7 @@ export class ForgotComponent implements OnInit { } public forgotpassword(){ - const data = this.sharedData.getSharedData("logindata", false); + const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); this.loginData.P_USER_NAME = this.P_USER_NAME; let request:ForgetPassword = new ForgetPassword(); request.P_Confirm_NEW_PASSWORD=this.P_NEW_PASSWORD; diff --git a/Mohem/src/app/authentication/login/login.component.ts b/Mohem/src/app/authentication/login/login.component.ts index 4e3b310b..9d5656b1 100644 --- a/Mohem/src/app/authentication/login/login.component.ts +++ b/Mohem/src/app/authentication/login/login.component.ts @@ -33,6 +33,7 @@ export class LoginComponent implements OnInit, OnDestroy { private isMobileFingerPrint: boolean; private FingerPrintPatientIdentificationID: string; private loginData = new LoginModel(); + constructor( public cs: CommonService, public authService: AuthenticationService, @@ -90,7 +91,8 @@ export class LoginComponent implements OnInit, OnDestroy { if (this.cs.validResponse(result)) { this.loginData.LogInTokenID = result.LogInTokenID; this.loginData.MobileNumber = result.MemberLoginList.P_MOBILE_NUMBER; - this.sharedData.setSharedData(this.loginData, "logindata"); + this.loginData.P_USER_NAME=this.username; + this.sharedData.setSharedData(this.loginData, AuthenticationService.LOGIN_DATA); this.cs.stopLoading(); this.cs.openSMSPage(); } diff --git a/Mohem/src/app/authentication/sms-page/sms-page.page.ts b/Mohem/src/app/authentication/sms-page/sms-page.page.ts index 24a54baa..41f39074 100644 --- a/Mohem/src/app/authentication/sms-page/sms-page.page.ts +++ b/Mohem/src/app/authentication/sms-page/sms-page.page.ts @@ -125,7 +125,7 @@ export class SmsPagePage implements OnInit { } public checkSMS() { - const data = this.sharedData.getSharedData("logindata", false); + const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); const request = new SMSCheckRequest(); (request.LogInTokenID = data.LogInTokenID), @@ -144,7 +144,7 @@ export class SmsPagePage implements OnInit { } public checkForgetPwdSMS() { - const data = this.sharedData.getSharedData("logindata", false); + const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); const request = new SMSCheckRequest(); (request.LogInTokenID = data.LogInTokenID), diff --git a/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts b/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts index 210c3e6a..bfccc7a4 100644 --- a/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts +++ b/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts @@ -66,8 +66,7 @@ export class AuthenticationService { public static LOGIN_EVENT = 'user-login-event'; public static FAMILY_LOGIN_EVENT = 'family-login-event'; public static AUTHENTICATED_USER_KEY = 'save-authenticated-user'; - - + public static LOGIN_DATA="logindata"; // private static user: AuthenticatedUser; @@ -307,7 +306,7 @@ export class AuthenticationService { user.CompanyImageDescription=result.CompanyImageDescription; user.CompanyImageURL=result.CompanyImageURL; user.LogInTokenID = this.cs.sharedService.getSharedData( - "logindata" + AuthenticationService.LOGIN_DATA ).LogInTokenID; return user; } @@ -406,7 +405,7 @@ export class AuthenticationService { // this.getAuthenticatedUser() //commented for now will uncomment when we are going to deploy on the device; //observer.next(null); - observer.next(AuthenticationService.user); + observer.next(this.getAuthenticatedUser()); observer.complete(); } ); @@ -422,7 +421,11 @@ export class AuthenticationService { return AuthenticationService.user; } */ + if(AuthenticationService.user){ return AuthenticationService.user; + }else{ + this.cs.openLogin(); + } } diff --git a/Mohem/src/app/hmg-common/services/common/common.service.ts b/Mohem/src/app/hmg-common/services/common/common.service.ts index aab50a10..c3b17829 100644 --- a/Mohem/src/app/hmg-common/services/common/common.service.ts +++ b/Mohem/src/app/hmg-common/services/common/common.service.ts @@ -895,7 +895,9 @@ export class CommonService { public openProfile() { this.nav.navigateForward(["/profile/home"]); } - + public openAccuralPage() { + this.nav.navigateForward(["/accrual-balances/home"]); + } public reload(url: string, from: string) { console.log("force reload called from:" + from); // window.location.reload(); diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index 50e4f169..be1c6674 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -61,4 +61,7 @@ export class HomePage implements OnInit { } } } + private accrualBalance(){ + this.common.openAccuralPage(); + } } diff --git a/Mohem/src/assets/localization/i18n.json b/Mohem/src/assets/localization/i18n.json index f5e7c8b6..3db8c7ea 100644 --- a/Mohem/src/assets/localization/i18n.json +++ b/Mohem/src/assets/localization/i18n.json @@ -941,5 +941,19 @@ "en": "Attachment List", "ar": "قائمة المرفقات" } + }, + "accrualBalances": { + "accrualBalances":{ + "en":"Accrual Balances", + "ar":"رصيد حساب المستحقات" + }, + "selectDate":{ + "en": "Select Date", + "ar": "اختر التاريخ" + }, + "tip":{ + "en":"

Enter the date for which you wish to view your accrual balances.

", + "ar":"

أدخل التاريخ الذي تريد عرض الإستحقاقات له

" + } } } \ No newline at end of file From be9c56adb36c540287419be0ac82ad4da2dd7475 Mon Sep 17 00:00:00 2001 From: ansariakhtar Date: Sun, 30 Jun 2019 15:08:32 +0300 Subject: [PATCH 20/22] Change password component added --- .../authentication/authentication.module.ts | 14 +++++++--- .../change-password.component.html | 3 +++ .../change-password.component.scss | 0 .../change-password.component.spec.ts | 27 +++++++++++++++++++ .../change-password.component.ts | 14 ++++++++++ .../authentication/login/login.component.ts | 6 +++++ .../src/app/authentication/models/password.ts | 1 + .../sms-page/sms-page.module.ts | 26 ------------------ .../authentication/sms-page/sms-page.page.ts | 4 ++- .../models/check-activation-code.response.ts | 2 -- .../models/smscheck.response.ts | 2 -- 11 files changed, 64 insertions(+), 35 deletions(-) create mode 100644 Mohem/src/app/authentication/change-password/change-password.component.html create mode 100644 Mohem/src/app/authentication/change-password/change-password.component.scss create mode 100644 Mohem/src/app/authentication/change-password/change-password.component.spec.ts create mode 100644 Mohem/src/app/authentication/change-password/change-password.component.ts delete mode 100644 Mohem/src/app/authentication/sms-page/sms-page.module.ts diff --git a/Mohem/src/app/authentication/authentication.module.ts b/Mohem/src/app/authentication/authentication.module.ts index 80456df0..ab367372 100644 --- a/Mohem/src/app/authentication/authentication.module.ts +++ b/Mohem/src/app/authentication/authentication.module.ts @@ -17,8 +17,9 @@ import { SearchableOptionsModule } from '../hmg-common/ui/searchable-select/sear import { MobileNumberModule } from 'src/app/hmg-common/ui/mobile-number/mobile-number.module'; import { SmsdialogPageModule } from 'src/app/hmg-common/ui/smsdialog/smsdialog.module'; import { SmsPageModule } from 'src/app/hmg-common/ui/sms/sms.module'; -import { SmsPagePage } from './sms-page/sms-page.page'; +import { SmsPageComponent } from './sms-page/sms-page.page'; import { CheckUserComponent } from './check-user/check-user.component'; +import { ChangePasswordComponent } from './change-password/change-password.component'; @@ -41,11 +42,15 @@ const routes: Routes = [ }, { path: 'smspage', - component: SmsPagePage + component: SmsPageComponent }, { path: 'checkuser', component: CheckUserComponent + }, + { + path: 'changepassowrd', + component: ChangePasswordComponent } ] } @@ -70,8 +75,9 @@ const routes: Routes = [ LoginComponent, ForgotComponent, AgreementComponent, - SmsPagePage, - CheckUserComponent + SmsPageComponent, + CheckUserComponent, + ChangePasswordComponent ], providers:[ FingerprintAIO, diff --git a/Mohem/src/app/authentication/change-password/change-password.component.html b/Mohem/src/app/authentication/change-password/change-password.component.html new file mode 100644 index 00000000..b0aa1648 --- /dev/null +++ b/Mohem/src/app/authentication/change-password/change-password.component.html @@ -0,0 +1,3 @@ +

+ change-password works! +

diff --git a/Mohem/src/app/authentication/change-password/change-password.component.scss b/Mohem/src/app/authentication/change-password/change-password.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/Mohem/src/app/authentication/change-password/change-password.component.spec.ts b/Mohem/src/app/authentication/change-password/change-password.component.spec.ts new file mode 100644 index 00000000..e1d15abb --- /dev/null +++ b/Mohem/src/app/authentication/change-password/change-password.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ChangePasswordComponent } from './change-password.component'; + +describe('ChangePasswordComponent', () => { + let component: ChangePasswordComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ChangePasswordComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ChangePasswordComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/authentication/change-password/change-password.component.ts b/Mohem/src/app/authentication/change-password/change-password.component.ts new file mode 100644 index 00000000..fab1531a --- /dev/null +++ b/Mohem/src/app/authentication/change-password/change-password.component.ts @@ -0,0 +1,14 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-change-password', + templateUrl: './change-password.component.html', + styleUrls: ['./change-password.component.scss'], +}) +export class ChangePasswordComponent implements OnInit { + + constructor() { } + + ngOnInit() {} + +} diff --git a/Mohem/src/app/authentication/login/login.component.ts b/Mohem/src/app/authentication/login/login.component.ts index 4e3b310b..6761bff5 100644 --- a/Mohem/src/app/authentication/login/login.component.ts +++ b/Mohem/src/app/authentication/login/login.component.ts @@ -12,6 +12,7 @@ import { SplashScreen } from "@ionic-native/splash-screen/ngx"; import { SharedDataService } from "src/app/hmg-common/services/shared-data-service/shared-data.service"; import { LoginModel } from "../models/LoginModel"; import { LoginRequest } from "src/app/hmg-common/services/authentication/models/login.request"; +import { Password } from '../models/password'; @Component({ selector: "login", @@ -92,6 +93,11 @@ export class LoginComponent implements OnInit, OnDestroy { this.loginData.MobileNumber = result.MemberLoginList.P_MOBILE_NUMBER; this.sharedData.setSharedData(this.loginData, "logindata"); this.cs.stopLoading(); + if(result.MessageStatus === 2) + { + this.sharedData.setSharedData(true,Password.IS_EXPIRED_PSW); + } + this.cs.openSMSPage(); } }); diff --git a/Mohem/src/app/authentication/models/password.ts b/Mohem/src/app/authentication/models/password.ts index 4a160292..28820371 100644 --- a/Mohem/src/app/authentication/models/password.ts +++ b/Mohem/src/app/authentication/models/password.ts @@ -3,6 +3,7 @@ import { Request } from 'src/app/hmg-common/services/models/request'; export class Password extends Request { public static IS_FORGET_PSW:string="is_forget_password"; + public static IS_EXPIRED_PSW:string="is_expired_password"; public IS_FORGET_PWD:boolean; public P_NEW_PASSWORD: string; public P_OLD_PASSWORD:string; diff --git a/Mohem/src/app/authentication/sms-page/sms-page.module.ts b/Mohem/src/app/authentication/sms-page/sms-page.module.ts deleted file mode 100644 index a14a2b6c..00000000 --- a/Mohem/src/app/authentication/sms-page/sms-page.module.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; -import { Routes, RouterModule } from '@angular/router'; - -import { IonicModule } from '@ionic/angular'; - -import { SmsPagePage } from './sms-page.page'; - -const routes: Routes = [ - { - path: '', - component: SmsPagePage - } -]; - -@NgModule({ - imports: [ - CommonModule, - FormsModule, - IonicModule, - RouterModule.forChild(routes) - ], - declarations: [SmsPagePage] -}) -export class SmsPagePageModule {} diff --git a/Mohem/src/app/authentication/sms-page/sms-page.page.ts b/Mohem/src/app/authentication/sms-page/sms-page.page.ts index 24a54baa..bb7b9e80 100644 --- a/Mohem/src/app/authentication/sms-page/sms-page.page.ts +++ b/Mohem/src/app/authentication/sms-page/sms-page.page.ts @@ -15,7 +15,7 @@ import { Password } from "../models/password"; templateUrl: "./sms-page.page.html", styleUrls: ["./sms-page.page.scss"] }) -export class SmsPagePage implements OnInit { +export class SmsPageComponent implements OnInit { public static LOGIN_DATA = "LOGIN_DATA"; Channel: number = 0; activationCode: string; @@ -48,6 +48,8 @@ export class SmsPagePage implements OnInit { this.startTimer(); this.isForgetPwd = this.sharedData.getSharedData(Password.IS_FORGET_PSW) || false; + this.isExpiredPwd = + this.sharedData.getSharedData(Password.IS_EXPIRED_PSW) || false; } initTimer() { diff --git a/Mohem/src/app/hmg-common/services/authentication/models/check-activation-code.response.ts b/Mohem/src/app/hmg-common/services/authentication/models/check-activation-code.response.ts index 019139be..f7718603 100644 --- a/Mohem/src/app/hmg-common/services/authentication/models/check-activation-code.response.ts +++ b/Mohem/src/app/hmg-common/services/authentication/models/check-activation-code.response.ts @@ -13,6 +13,4 @@ export class CheckActivationCodeResponse extends Response { CompanyImageURL: string; MemberInformationList:AuthenticatedUser[]; - CompanyImageDescription: string; - CompanyImageURL : string; } diff --git a/Mohem/src/app/hmg-common/services/authentication/models/smscheck.response.ts b/Mohem/src/app/hmg-common/services/authentication/models/smscheck.response.ts index 447ec734..1ba738fd 100644 --- a/Mohem/src/app/hmg-common/services/authentication/models/smscheck.response.ts +++ b/Mohem/src/app/hmg-common/services/authentication/models/smscheck.response.ts @@ -13,6 +13,4 @@ export class SMSCheckResponse extends Response { public CompanyImageDescription:string; public CompanyImageURL:string; public EMPLOYEE_MOBILE_NUMBER:string; - CompanyImageDescription : string; - CompanyImageURL : string; } From b8343b199462f21b62062afeb99045ae21781a54 Mon Sep 17 00:00:00 2001 From: Sultan Khan Date: Sun, 30 Jun 2019 15:09:55 +0300 Subject: [PATCH 21/22] accrual balances page added --- .../authentication/models/check-activation-code.response.ts | 3 +-- .../services/authentication/models/smscheck.response.ts | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Mohem/src/app/hmg-common/services/authentication/models/check-activation-code.response.ts b/Mohem/src/app/hmg-common/services/authentication/models/check-activation-code.response.ts index 019139be..a1518041 100644 --- a/Mohem/src/app/hmg-common/services/authentication/models/check-activation-code.response.ts +++ b/Mohem/src/app/hmg-common/services/authentication/models/check-activation-code.response.ts @@ -13,6 +13,5 @@ export class CheckActivationCodeResponse extends Response { CompanyImageURL: string; MemberInformationList:AuthenticatedUser[]; - CompanyImageDescription: string; - CompanyImageURL : string; + } diff --git a/Mohem/src/app/hmg-common/services/authentication/models/smscheck.response.ts b/Mohem/src/app/hmg-common/services/authentication/models/smscheck.response.ts index 447ec734..70fc4dba 100644 --- a/Mohem/src/app/hmg-common/services/authentication/models/smscheck.response.ts +++ b/Mohem/src/app/hmg-common/services/authentication/models/smscheck.response.ts @@ -13,6 +13,5 @@ export class SMSCheckResponse extends Response { public CompanyImageDescription:string; public CompanyImageURL:string; public EMPLOYEE_MOBILE_NUMBER:string; - CompanyImageDescription : string; - CompanyImageURL : string; + } From 2ff9b567aa1c410cf260f31ac577b53caaf530f5 Mon Sep 17 00:00:00 2001 From: ansariakhtar Date: Mon, 1 Jul 2019 10:25:03 +0300 Subject: [PATCH 22/22] Change password, Password Expiry, Forgot Password completion and minor changes --- .../change-password.component.html | 50 +++++++- .../change-password.component.ts | 115 +++++++++++++++++- .../authentication/forgot/forgot.component.ts | 2 - .../authentication/login/login.component.ts | 87 +++++++++++-- .../authentication/sms-page/sms-page.page.ts | 21 +++- .../authentication/authentication.service.ts | 15 +++ .../services/common/common.service.ts | 5 +- .../services/connector/connector.service.ts | 3 +- Mohem/src/app/home/home.page.ts | 4 + Mohem/src/assets/localization/i18n.json | 4 + 10 files changed, 284 insertions(+), 22 deletions(-) diff --git a/Mohem/src/app/authentication/change-password/change-password.component.html b/Mohem/src/app/authentication/change-password/change-password.component.html index b0aa1648..4708cb63 100644 --- a/Mohem/src/app/authentication/change-password/change-password.component.html +++ b/Mohem/src/app/authentication/change-password/change-password.component.html @@ -1,3 +1,47 @@ -

- change-password works! -

+ + + + + + {{'changePassword,changePassword' | translate}} + + + + + + + + + + + {{'changePassword,currentPassword' | translate}} + + + + + + {{'changePassword,newPassword' | translate}} + + + + + + + {{'changePassword,confirmPassword' | translate}} + + + + + + + + + + +
+ {{ts.trPK('login','changepassword')}} +
+
\ No newline at end of file diff --git a/Mohem/src/app/authentication/change-password/change-password.component.ts b/Mohem/src/app/authentication/change-password/change-password.component.ts index fab1531a..ee3ece29 100644 --- a/Mohem/src/app/authentication/change-password/change-password.component.ts +++ b/Mohem/src/app/authentication/change-password/change-password.component.ts @@ -1,4 +1,17 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, ViewChild, ChangeDetectorRef, OnDestroy } from '@angular/core'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service'; +import { Router } from '@angular/router'; +import { AlertController } from '@ionic/angular'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +import { CheckUserAuthenticationResponse } from 'src/app/hmg-common/services/authentication/models/check-user-auth.response'; +import { SmsReaderService } from 'src/app/hmg-common/services/sms/sms-reader.service'; +import { ForgetPassword } from '../models/forget.password'; +import { LoginModel } from '../models/LoginModel'; +import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; +import {LoginComponent} from "src/app/authentication/login/login.component"; +import { Password } from '../models/password'; +import { AuthenticatedUser } from "src/app/hmg-common/services/authentication/models/authenticated-user"; @Component({ selector: 'app-change-password', @@ -6,9 +19,105 @@ import { Component, OnInit } from '@angular/core'; styleUrls: ['./change-password.component.scss'], }) export class ChangePasswordComponent implements OnInit { + private loginData = new LoginModel(); + public P_NEW_PASSWORD: string; + public P_Confirm_NEW_PASSWORD : string; + public P_OLD_PASSWORD : string; + public P_USER_NAME : string; + + userData: any = {}; + public isExpiredPwd: boolean = false; + constructor( + public cs: CommonService, + public authService: AuthenticationService, + public router: Router, + public alertController: AlertController, + public ts: TranslatorService, + public smsService: SmsReaderService, + public changeDetector: ChangeDetectorRef, + public sharedData: SharedDataService) { + console.log("change password constructor"); + } - constructor() { } + ngOnInit() { + console.log("change password oninit"); + this.isExpiredPwd = + this.sharedData.getSharedData(Password.IS_EXPIRED_PSW) || false; + const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); + this.P_USER_NAME =data.P_USER_NAME; + console.log(this.isExpiredPwd); + console.log(this.P_USER_NAME); + // this.authService + // .loadAuthenticatedUser() + // .subscribe((user: AuthenticatedUser) => { + // if (user) { + // this.userData = user; + // this.P_USER_NAME = user.EMPLOYEE_NUMBER; + // console.log(user); + // } else { + // console.log(user); + // } + // }); + } - ngOnInit() {} + private checkUserResult: CheckUserAuthenticationResponse; + + + submit(){ + console.log(this.isExpiredPwd); + if(this.isExpiredPwd){ + this.expiredPassword(); + }else{ + this.changePassword(); + } + } + + public expiredPassword(){ + const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); + //this.loginData.P_USER_NAME = this.P_USER_NAME; + let request:Password = new Password(); + request.P_OLD_PASSWORD=this.P_OLD_PASSWORD; + request.P_Confirm_NEW_PASSWORD=this.P_NEW_PASSWORD; + request.P_NEW_PASSWORD=this.P_Confirm_NEW_PASSWORD; + request.P_USER_NAME = this.P_USER_NAME; + + this.authService.submitExpiredPassword( + request, + () => { + //this.sendSMSForForgotPassword(); + }, this.ts.trPK('general', 'ok')).subscribe((result: CheckUserAuthenticationResponse) => { + if (this.cs.validResponse(result)) { + this.checkUserResult = result; + console.log(result); + this.cs.toastPK("changePassword","successChange"); + this.sharedData.setSharedData(false,Password.IS_EXPIRED_PSW); + this.cs.openLogin(); + } + }); + } + public changePassword(){ + const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); + //this.loginData.P_USER_NAME = this.P_USER_NAME; + let request:Password = new Password(); + request.P_OLD_PASSWORD=this.P_OLD_PASSWORD; + request.P_Confirm_NEW_PASSWORD=this.P_NEW_PASSWORD; + request.P_NEW_PASSWORD=this.P_Confirm_NEW_PASSWORD; + request.P_USER_NAME = this.P_USER_NAME; + + this.authService.submitChangePassword( + request, + () => { + //this.sendSMSForForgotPassword(); + }, this.ts.trPK('general', 'ok')).subscribe((result: CheckUserAuthenticationResponse) => { + if (this.cs.validResponse(result)) { + this.checkUserResult = result; + console.log(result); + this.cs.toastPK("changePassword","successChange"); + this.cs.openHome(); + } + }); + } + + } diff --git a/Mohem/src/app/authentication/forgot/forgot.component.ts b/Mohem/src/app/authentication/forgot/forgot.component.ts index e2bd4b92..96a05ce2 100644 --- a/Mohem/src/app/authentication/forgot/forgot.component.ts +++ b/Mohem/src/app/authentication/forgot/forgot.component.ts @@ -6,7 +6,6 @@ import { AlertController } from '@ionic/angular'; import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; import { CheckUserAuthenticationResponse } from 'src/app/hmg-common/services/authentication/models/check-user-auth.response'; import { SmsReaderService } from 'src/app/hmg-common/services/sms/sms-reader.service'; -import { InternationalMobileComponent } from 'src/app/hmg-common/ui/mobile-number/international-mobile/international-mobile.component'; import { ForgetPassword } from '../models/forget.password'; import { LoginModel } from '../models/LoginModel'; import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; @@ -22,7 +21,6 @@ export class ForgotComponent implements OnInit { public P_NEW_PASSWORD: string; public P_Confirm_NEW_PASSWORD : string; public P_USER_NAME : string; - @ViewChild(InternationalMobileComponent) internationlMobile: InternationalMobileComponent; constructor( public cs: CommonService, public authService: AuthenticationService, diff --git a/Mohem/src/app/authentication/login/login.component.ts b/Mohem/src/app/authentication/login/login.component.ts index 216556ee..524386c9 100644 --- a/Mohem/src/app/authentication/login/login.component.ts +++ b/Mohem/src/app/authentication/login/login.component.ts @@ -13,6 +13,7 @@ import { SharedDataService } from "src/app/hmg-common/services/shared-data-servi import { LoginModel } from "../models/LoginModel"; import { LoginRequest } from "src/app/hmg-common/services/authentication/models/login.request"; import { Password } from '../models/password'; +import { CheckUserAuthenticationRequest } from 'src/app/hmg-common/services/authentication/models/check-user-auth.request'; @Component({ selector: "login", @@ -87,21 +88,28 @@ export class LoginComponent implements OnInit, OnDestroy { request.P_PASSWORD = this.password; console.log(request); this.authService - .login(request, () => { }, this.ts.trPK("general", "ok")) + .login(request, () => { + console.log("error here"); + //console.log(result.MessageStatus); + this.sharedData.setSharedData(true,Password.IS_EXPIRED_PSW); + this.userCheck(); + }, this.ts.trPK("general", "ok")) .subscribe((result: CheckUserAuthenticationResponse) => { + console.log("success"); + this.cs.stopLoading(); if (this.cs.validResponse(result)) { this.loginData.LogInTokenID = result.LogInTokenID; this.loginData.MobileNumber = result.MemberLoginList.P_MOBILE_NUMBER; this.loginData.P_USER_NAME=this.username; this.sharedData.setSharedData(this.loginData, AuthenticationService.LOGIN_DATA); - this.cs.stopLoading(); - if(result.MessageStatus === 2) - { - this.sharedData.setSharedData(true,Password.IS_EXPIRED_PSW); - } - this.cs.openSMSPage(); } + // console.log("result.IsPasswordExpired"); + // console.log(result.IsPasswordExpired); + // if(result.IsPasswordExpired) + // { + // this.presentPasswordExpiredDialog(); + // } }); } @@ -109,8 +117,73 @@ export class LoginComponent implements OnInit, OnDestroy { this.smsService.stopSMSMonitoring(); } + async presentPasswordExpiredDialog() + { + const alert = await this.alertController.create({ + header: this.ts.trPK("general","confirm"), + message: this.ts.trPK("login","password-expired"), + buttons: [ + { + text: this.ts.trPK("general","ok"), + handler: () => { + console.log('Confirm Okay'); + this.sharedData.setSharedData(true,Password.IS_EXPIRED_PSW); + this.userCheck(); + } + } + ] + }); + await alert.present(); + } + public openForgotID() { this.cs.openUserForgot(); } + public userCheck() + { + this.cs.startLoading(); + const request = new CheckUserAuthenticationRequest(); + request.P_USER_NAME = this.username; + this.authService.checkUserAuthentication( + request, + () => { + /* Write code for error */ + }, this.ts.trPK('general', 'ok')).subscribe((result: CheckUserAuthenticationResponse) => { + if (this.cs.validResponse(result)) { + this.checkUserResult = result; + this.cs.stopLoading(); + this.sendSMSForForgotPassword(); + } + }); + } + + private checkUserResult: CheckUserAuthenticationResponse; + + private sendSMSForForgotPassword() { + this.cs.startLoading(); + let changePwdObj= new LoginRequest(); + changePwdObj.MobileNumber= this.checkUserResult.BasicMemberInformation.P_MOBILE_NUMBER; + changePwdObj.P_USER_NAME=this.username; + changePwdObj.P_MOBILE_NUMBER=this.checkUserResult.BasicMemberInformation.P_MOBILE_NUMBER; + + this.authService.sendPublicSMS( + changePwdObj, + () => { + //this.sendSMSForForgotPassword(); + /* Write code for error */ + }, this.ts.trPK('general', 'ok')).subscribe((result: CheckUserAuthenticationResponse) => { + if (this.cs.validResponse(result)) { + this.checkUserResult = result; + console.log("2"); + console.log(result); + this.loginData.LogInTokenID = result.LogInTokenID; + this.loginData.P_USER_NAME = this.username; + this.sharedData.setSharedData(this.loginData, AuthenticationService.LOGIN_DATA); + this.sharedData.setSharedData(true,Password.IS_FORGET_PSW); + this.cs.stopLoading(); + this.cs.openSMSPage(); + }}); + } + } diff --git a/Mohem/src/app/authentication/sms-page/sms-page.page.ts b/Mohem/src/app/authentication/sms-page/sms-page.page.ts index bbf1acde..c6787c87 100644 --- a/Mohem/src/app/authentication/sms-page/sms-page.page.ts +++ b/Mohem/src/app/authentication/sms-page/sms-page.page.ts @@ -20,6 +20,7 @@ export class SmsPageComponent implements OnInit { Channel: number = 0; activationCode: string; P_SESSION_ID: number; + P_USER_NAME: string; timeInSeconds: any; time: any; runTimer: any; @@ -130,9 +131,11 @@ export class SmsPageComponent implements OnInit { const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); const request = new SMSCheckRequest(); - (request.LogInTokenID = data.LogInTokenID), - (request.activationCode = this.activationCode); + request.LogInTokenID = data.LogInTokenID; + request.activationCode = this.activationCode; + request.P_USER_NAME = data.P_USER_NAME; request.MobileNumber = data.MobileNumber; + this.authService .checkSMS(request, () => {}, this.translate.trPK("general", "ok")) .subscribe((result: SMSCheckResponse) => { @@ -149,9 +152,11 @@ export class SmsPageComponent implements OnInit { const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); const request = new SMSCheckRequest(); - (request.LogInTokenID = data.LogInTokenID), - (request.activationCode = this.activationCode); + request.LogInTokenID = data.LogInTokenID; + request.activationCode = this.activationCode; + request.P_USER_NAME = data.P_USER_NAME; console.log(data.LogInTokenID); + console.log(data.P_USER_NAME); this.authService .checkForgetSMS(request, () => {}, this.translate.trPK("general", "ok")) @@ -159,7 +164,13 @@ export class SmsPageComponent implements OnInit { console.log(result); if (this.common.validResponse(result)) { console.log(result); - this.common.openForgotPassword(); + if (this.isForgetPwd) { + this.common.openForgotPassword(); + } + if(this.isExpiredPwd) { + this.sharedData.setSharedData(true,Password.IS_EXPIRED_PSW); + this.common.openChangePassword(); + } } }); } diff --git a/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts b/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts index 98caa60c..a98dbf06 100644 --- a/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts +++ b/Mohem/src/app/hmg-common/services/authentication/authentication.service.ts @@ -62,6 +62,8 @@ export class AuthenticationService { /*user checking methods */ public static userChecking = 'Services/ERP.svc/REST/Get_BasicUserInformation'; public static changePasswordForget ='Services/ERP.svc/REST/ChangePassword_Forget'; + public static changePassword ='Services/ERP.svc/REST/ChangePassword_FromActiveSession'; + public static expiredPassword = 'Services/ERP.svc/REST/ChangePassword_Expired'; public static LOGIN_EVENT = 'user-login-event'; public static FAMILY_LOGIN_EVENT = 'family-login-event'; @@ -494,6 +496,19 @@ export class AuthenticationService { return this.con.post(AuthenticationService.changePasswordForget, request, onError, errorLabel); } + public submitChangePassword(request: ForgetPassword, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + this.authenticateRequest(request); + return this.con.post(AuthenticationService.changePassword, request, onError, errorLabel); + } + + public submitExpiredPassword(request: ForgetPassword, onError: any, errorLabel: string) + : Observable { + this.setPublicFields(request); + return this.con.post(AuthenticationService.expiredPassword, request, onError, errorLabel); + } + public sendSMSForForgotFileNumber(request: CheckUserAuthenticationRequest, onError: any, errorLabel: string) : Observable { diff --git a/Mohem/src/app/hmg-common/services/common/common.service.ts b/Mohem/src/app/hmg-common/services/common/common.service.ts index c3b17829..37e1a9ac 100644 --- a/Mohem/src/app/hmg-common/services/common/common.service.ts +++ b/Mohem/src/app/hmg-common/services/common/common.service.ts @@ -887,11 +887,14 @@ export class CommonService { */ public openHome() { - this.nav.navigateForward(["/home"]); + this.nav.navigateRoot(["/home"]); } public openForgotPassword() { this.nav.navigateForward(["/authentication/forgot"]); } + public openChangePassword() { + this.nav.navigateForward(["/authentication/changepassowrd"]); + } public openProfile() { this.nav.navigateForward(["/profile/home"]); } diff --git a/Mohem/src/app/hmg-common/services/connector/connector.service.ts b/Mohem/src/app/hmg-common/services/connector/connector.service.ts index c6613abd..4e0c6ddd 100644 --- a/Mohem/src/app/hmg-common/services/connector/connector.service.ts +++ b/Mohem/src/app/hmg-common/services/connector/connector.service.ts @@ -120,8 +120,9 @@ export class ConnectorService { this.cs.stopLoading(); if (!this.cs.validResponse(result)) { // not authorized + console.log(result.MessageStatus); if (result.ErrorType === 2) { - this.cs.userNeedToReLogin(); + //console.log("error expired"); } else { this.cs.showErrorMessageDialog(onError, errorLabel, result.ErrorEndUserMessage); } diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index be1c6674..f7ea5249 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -64,4 +64,8 @@ export class HomePage implements OnInit { private accrualBalance(){ this.common.openAccuralPage(); } + + private Change_password(){ + this.common.openChangePassword(); + } } diff --git a/Mohem/src/assets/localization/i18n.json b/Mohem/src/assets/localization/i18n.json index 3db8c7ea..5e1b380e 100644 --- a/Mohem/src/assets/localization/i18n.json +++ b/Mohem/src/assets/localization/i18n.json @@ -88,6 +88,10 @@ "sms-page": { "en": "Verify OTP", "ar": "تحقق مرة واحدة كلمة المرور" + }, + "password-expired": { + "en": "Your password has been expired. Kindly change your password to login again.", + "ar": "كلمة المرور الخاصة بك قد انتهت صلاحيتها. يرجى تغيير كلمة المرور لتسجيل الدخول مرة أخرى." } }, "verificationcode": {

|?zt6Lv%f&t!vU0}L1DgnxM{V=*QW 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 vufq55rN#eW83D9i4gj;U(BdVd`+-X>WI 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 iYgSBe%gNwc%;3Wbq?E3O5|CB;KM_h_7lB@q{Qm Date: Thu, 27 Jun 2019 15:06:51 +0300 Subject: [PATCH 14/22] dashboard update --- Mohem/src/app/app.component.html | 2 +- Mohem/src/app/app.component.ts | 2 ++ .../authentication/models/check-activation-code.response.ts | 3 +++ .../services/authentication/models/smscheck.response.ts | 2 ++ Mohem/src/app/home/home.page.ts | 2 +- 5 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Mohem/src/app/app.component.html b/Mohem/src/app/app.component.html index 6d62d18f..6c1e3f07 100644 --- a/Mohem/src/app/app.component.html +++ b/Mohem/src/app/app.component.html @@ -36,7 +36,7 @@ {{ts.trPK('userProfile','title')}} - + diff --git a/Mohem/src/app/app.component.ts b/Mohem/src/app/app.component.ts index 5e38b6f6..f46c777f 100644 --- a/Mohem/src/app/app.component.ts +++ b/Mohem/src/app/app.component.ts @@ -106,6 +106,8 @@ export class AppComponent implements OnInit, AfterViewInit { // this.menuService.disableSession(req).subscribe((result: any) => { // }); this.cs.sharedService.clearAll(); + this.menu.toggle(); this.cs.openLogin(); + } } diff --git a/Mohem/src/app/hmg-common/services/authentication/models/check-activation-code.response.ts b/Mohem/src/app/hmg-common/services/authentication/models/check-activation-code.response.ts index 44749b80..f7718603 100644 --- a/Mohem/src/app/hmg-common/services/authentication/models/check-activation-code.response.ts +++ b/Mohem/src/app/hmg-common/services/authentication/models/check-activation-code.response.ts @@ -9,5 +9,8 @@ export class CheckActivationCodeResponse extends Response { LogInTokenID:string; EMPLOYEE_MOBILE_NUMBER:string; TokenID:string; + CompanyImageDescription:string; + CompanyImageURL: string; + MemberInformationList:AuthenticatedUser[]; } diff --git a/Mohem/src/app/hmg-common/services/authentication/models/smscheck.response.ts b/Mohem/src/app/hmg-common/services/authentication/models/smscheck.response.ts index 741288ce..1ba738fd 100644 --- a/Mohem/src/app/hmg-common/services/authentication/models/smscheck.response.ts +++ b/Mohem/src/app/hmg-common/services/authentication/models/smscheck.response.ts @@ -10,5 +10,7 @@ export class SMSCheckResponse extends Response { public P_SESSION_ID: number; public MobileNumber : string; public LogInTokenID : string; + public CompanyImageDescription:string; + public CompanyImageURL:string; public EMPLOYEE_MOBILE_NUMBER:string; } diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index 9c83887b..602ac627 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -40,7 +40,7 @@ export class HomePage implements OnInit { if (user) { this.events.publish('setMenu'); this.userData = user; - this.user_image=user.EMPLOYEE_IMAGE?user.EMPLOYEE_IMAGE: this.user_image; + this.user_image = user.EMPLOYEE_IMAGE ? "data:image/png;base64,"+user.EMPLOYEE_IMAGE : this.user_image; console.log(user); } else { console.log(user); From c63489d935aa0cc8ddcf012e94d6588b4824043f Mon Sep 17 00:00:00 2001 From: Sultan Khan Date: Sun, 30 Jun 2019 09:23:29 +0300 Subject: [PATCH 15/22] profile page added --- Mohem/src/app/app-routing.module.ts | 41 +++---- Mohem/src/app/app.component.html | 2 +- Mohem/src/app/app.component.ts | 7 +- .../forgot/forgot.component.scss | 7 +- .../services/common/common.service.ts | 5 +- .../services/connector/connector.service.ts | 2 +- Mohem/src/app/home/home.page.html | 2 +- Mohem/src/app/home/home.page.ts | 2 +- .../src/app/profile/home/home.component.html | 111 ++++++++++++++++++ .../src/app/profile/home/home.component.scss | 3 + .../app/profile/home/home.component.spec.ts | 27 +++++ Mohem/src/app/profile/home/home.component.ts | 38 ++++++ Mohem/src/app/profile/profile.module.ts | 32 +++++ Mohem/src/app/profile/profile.page.html | 6 + Mohem/src/app/profile/profile.page.scss | 0 Mohem/src/app/profile/profile.page.spec.ts | 27 +++++ Mohem/src/app/profile/profile.page.ts | 15 +++ Mohem/src/assets/localization/i18n.json | 14 +-- Mohem/src/theme/styles.scss | 17 ++- 19 files changed, 308 insertions(+), 50 deletions(-) create mode 100644 Mohem/src/app/profile/home/home.component.html create mode 100644 Mohem/src/app/profile/home/home.component.scss create mode 100644 Mohem/src/app/profile/home/home.component.spec.ts create mode 100644 Mohem/src/app/profile/home/home.component.ts create mode 100644 Mohem/src/app/profile/profile.module.ts create mode 100644 Mohem/src/app/profile/profile.page.html create mode 100644 Mohem/src/app/profile/profile.page.scss create mode 100644 Mohem/src/app/profile/profile.page.spec.ts create mode 100644 Mohem/src/app/profile/profile.page.ts diff --git a/Mohem/src/app/app-routing.module.ts b/Mohem/src/app/app-routing.module.ts index a1fab539..5895ed8b 100644 --- a/Mohem/src/app/app-routing.module.ts +++ b/Mohem/src/app/app-routing.module.ts @@ -1,21 +1,22 @@ -import { NgModule } from '@angular/core'; -import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; +import { NgModule } from '@angular/core'; +import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; + +const routes: Routes = [ + { path: '', redirectTo: 'authentication/login', pathMatch: 'full' }, + { + path: 'authentication', loadChildren: './authentication/authentication.module#AuthenticationPageModule', + data: { preload: true, delay: 1000 } + }, + { path: 'home', loadChildren: './home/home.module#HomePageModule' }, + { path: 'sms-page', loadChildren: './authentication/sms-page/sms-page.module#SmsPagePageModule' }, { path: 'profile', loadChildren: './profile/profile.module#ProfilePageModule' } -const routes: Routes = [ - { path: '', redirectTo: 'authentication/login', pathMatch: 'full' }, - { - path: 'authentication', loadChildren: './authentication/authentication.module#AuthenticationPageModule', - data: { preload: true, delay: 1000 } - }, - { path: 'home', loadChildren: './home/home.module#HomePageModule' }, - { path: 'sms-page', loadChildren: './authentication/sms-page/sms-page.module#SmsPagePageModule' } - -]; - -@NgModule({ - imports: [ - RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) - ], - exports: [RouterModule] -}) -export class AppRoutingModule { } + +]; + +@NgModule({ + imports: [ + RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) + ], + exports: [RouterModule] +}) +export class AppRoutingModule { } diff --git a/Mohem/src/app/app.component.html b/Mohem/src/app/app.component.html index 6c1e3f07..8dd02575 100644 --- a/Mohem/src/app/app.component.html +++ b/Mohem/src/app/app.component.html @@ -28,7 +28,7 @@ --> - + diff --git a/Mohem/src/app/app.component.ts b/Mohem/src/app/app.component.ts index f46c777f..e38bb54c 100644 --- a/Mohem/src/app/app.component.ts +++ b/Mohem/src/app/app.component.ts @@ -102,12 +102,13 @@ export class AppComponent implements OnInit, AfterViewInit { }); } logout() { - // let req:any={}; - // this.menuService.disableSession(req).subscribe((result: any) => { - // }); this.cs.sharedService.clearAll(); this.menu.toggle(); this.cs.openLogin(); } + profile() { + this.cs.openProfile(); + this.menu.toggle(); + } } diff --git a/Mohem/src/app/authentication/forgot/forgot.component.scss b/Mohem/src/app/authentication/forgot/forgot.component.scss index e8ab06f1..139597f9 100644 --- a/Mohem/src/app/authentication/forgot/forgot.component.scss +++ b/Mohem/src/app/authentication/forgot/forgot.component.scss @@ -1,7 +1,2 @@ - .header-toolbar{ - --background: linear-gradient(45deg, #3ac1f1 0%, #19a163 36%, #19a163 59%, #1a586d 100%); -} -.btnBack{ - background: transparent; -} \ No newline at end of file + diff --git a/Mohem/src/app/hmg-common/services/common/common.service.ts b/Mohem/src/app/hmg-common/services/common/common.service.ts index bcf530ef..aab50a10 100644 --- a/Mohem/src/app/hmg-common/services/common/common.service.ts +++ b/Mohem/src/app/hmg-common/services/common/common.service.ts @@ -248,7 +248,7 @@ export class CommonService { public userNeedToReLogin() { this.presentConfirmDialog(this.ts.trPK("general", "relogin"), () => { - //this.openUserLogin(); + this.openLogin(); }); } @@ -892,6 +892,9 @@ export class CommonService { public openForgotPassword() { this.nav.navigateForward(["/authentication/forgot"]); } + public openProfile() { + this.nav.navigateForward(["/profile/home"]); + } public reload(url: string, from: string) { console.log("force reload called from:" + from); diff --git a/Mohem/src/app/hmg-common/services/connector/connector.service.ts b/Mohem/src/app/hmg-common/services/connector/connector.service.ts index 2cb40649..c6613abd 100644 --- a/Mohem/src/app/hmg-common/services/connector/connector.service.ts +++ b/Mohem/src/app/hmg-common/services/connector/connector.service.ts @@ -121,7 +121,7 @@ export class ConnectorService { if (!this.cs.validResponse(result)) { // not authorized if (result.ErrorType === 2) { - // this.cs.userNeedToReLogin(); + this.cs.userNeedToReLogin(); } else { this.cs.showErrorMessageDialog(onError, errorLabel, result.ErrorEndUserMessage); } diff --git a/Mohem/src/app/home/home.page.html b/Mohem/src/app/home/home.page.html index e870a242..7d7b7745 100644 --- a/Mohem/src/app/home/home.page.html +++ b/Mohem/src/app/home/home.page.html @@ -19,7 +19,7 @@