diff --git a/Mohem/package-lock.json b/Mohem/package-lock.json index 4d338f22..4b7308a7 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", @@ -7431,11 +7351,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", @@ -7449,7 +7364,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", @@ -9432,7 +9348,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", @@ -9447,12 +9364,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" @@ -9771,7 +9690,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", @@ -9812,40 +9732,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", @@ -10223,7 +10114,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", @@ -10418,6 +10310,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" } @@ -10572,6 +10465,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" } @@ -11024,6 +10918,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", @@ -13144,6 +13039,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" @@ -13152,7 +13048,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-routing.module.ts b/Mohem/src/app/app-routing.module.ts index a1fab539..0396eb74 100644 --- a/Mohem/src/app/app-routing.module.ts +++ b/Mohem/src/app/app-routing.module.ts @@ -8,7 +8,11 @@ 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: 'profile', loadChildren: './profile/profile.module#ProfilePageModule' }, + { path: 'vacation-rule', loadChildren: './vacation-rule/vacation-rule.module#VacationRulePageModule' } + + ]; diff --git a/Mohem/src/app/app.component.html b/Mohem/src/app/app.component.html index 6d62d18f..8dd02575 100644 --- a/Mohem/src/app/app.component.html +++ b/Mohem/src/app/app.component.html @@ -28,7 +28,7 @@ --> - + @@ -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..e38bb54c 100644 --- a/Mohem/src/app/app.component.ts +++ b/Mohem/src/app/app.component.ts @@ -102,10 +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/app.scss b/Mohem/src/app/app.scss index a3596b78..ebdaeb55 100644 --- a/Mohem/src/app/app.scss +++ b/Mohem/src/app/app.scss @@ -3,4 +3,14 @@ // 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. + +.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/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/authentication/models/check-activation-code.response.ts b/Mohem/src/app/hmg-common/services/authentication/models/check-activation-code.response.ts index 1c87f5ef..019139be 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,6 +9,9 @@ export class CheckActivationCodeResponse extends Response { LogInTokenID:string; EMPLOYEE_MOBILE_NUMBER:string; TokenID:string; + CompanyImageDescription:string; + 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 f8fafce8..447ec734 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,6 +10,8 @@ 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; CompanyImageDescription : string; CompanyImageURL : 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 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/hmg-common/services/translator/translator.service.ts b/Mohem/src/app/hmg-common/services/translator/translator.service.ts index 5d04c55a..00870278 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/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/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.html b/Mohem/src/app/home/home.page.html index e870a242..4751ae33 100644 --- a/Mohem/src/app/home/home.page.html +++ b/Mohem/src/app/home/home.page.html @@ -19,7 +19,7 @@
-

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

+

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

@@ -37,9 +37,9 @@ - diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index 9c83887b..50e4f169 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -29,24 +29,26 @@ export class HomePage implements OnInit { this.getUserDetails(); this.getMenu(); } - private openMenu() { this.menu.toggle(); } private getUserDetails() { - const user = this.authService + this.authService .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; + this.user_image = user.EMPLOYEE_IMAGE ? "data:image/png;base64,"+user.EMPLOYEE_IMAGE : this.user_image; console.log(user); } else { console.log(user); } }); } + public Vacation_Rule() { + this.common.navigateForward('/vacation-rule/home'); + } private getMenu() { this.menuService.getMenu().subscribe((result: MenuResponse) => { this.handleMenuResult(result); 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/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 new file mode 100644 index 00000000..f9c2e08e --- /dev/null +++ b/Mohem/src/app/vacation-rule/home/home.component.html @@ -0,0 +1,78 @@ + + + + {{ 'vacation-rule, vacationRule' | translate}} + + + + +
+ + + + + + {{'vacation-rule, ruleInfo' | translate}} + + + + + + + + + + + + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ {{'vacation-rule, createRule' | 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..af66a677 --- /dev/null +++ b/Mohem/src/app/vacation-rule/home/home.component.scss @@ -0,0 +1,71 @@ +.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-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; +} + +.footer-button { + border-radius: 2px; + padding: 0 1.1em; + min-height: 45px; + min-width: 200px; +} + +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; + 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; + } +} 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..3e6f204a --- /dev/null +++ b/Mohem/src/app/vacation-rule/home/home.component.ts @@ -0,0 +1,156 @@ +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); + } + + Vacation_Type() { + this.cs.navigateForward('/vacation-rule/vacation-type'); + } + + 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/model/VacationTypeRequest.ts b/Mohem/src/app/vacation-rule/model/VacationTypeRequest.ts new file mode 100644 index 00000000..5ecc52e0 --- /dev/null +++ b/Mohem/src/app/vacation-rule/model/VacationTypeRequest.ts @@ -0,0 +1,8 @@ +import { Request } from '../../hmg-common/services/models/request'; + +export class VacationTypeRequest extends Request{ + public static SHARED_DATA = 'login-request'; + public static NATIONALITY_CODE="Nationality_Code"; + public P_USER_NAME:string; + public P_PASSWORD: string; +} diff --git a/Mohem/src/app/vacation-rule/model/notification.Request.ts b/Mohem/src/app/vacation-rule/model/notification.Request.ts new file mode 100644 index 00000000..7497663b --- /dev/null +++ b/Mohem/src/app/vacation-rule/model/notification.Request.ts @@ -0,0 +1,8 @@ + +import { LoginRequest } from '../../hmg-common/services/authentication/models/login.request'; + +export class notificationTypeRequest extends LoginRequest { + public static SHARED_DATA = 'vacation-request'; + public P_ITEM_TYPE: string; + public P_NOTIFICATION_NAME: string; +} diff --git a/Mohem/src/app/vacation-rule/model/notification.Respond.ts b/Mohem/src/app/vacation-rule/model/notification.Respond.ts new file mode 100644 index 00000000..401bc442 --- /dev/null +++ b/Mohem/src/app/vacation-rule/model/notification.Respond.ts @@ -0,0 +1,10 @@ +import { Response } from '../../hmg-common/services/models/response'; + +export class notificationTypeResponse extends Response { + public static SHARED_DATA = 'notificationTypeRespond-shared'; + public FYI_FLAG:string; + public NOTIFICATION_DISPLAY_NAME:string; + public NOTIFICATION_NAME:string; + public NOTIFICATION_SUBJECT:string; + +} diff --git a/Mohem/src/app/vacation-rule/notification-type/notification-type.component.html b/Mohem/src/app/vacation-rule/notification-type/notification-type.component.html new file mode 100644 index 00000000..65937b1b --- /dev/null +++ b/Mohem/src/app/vacation-rule/notification-type/notification-type.component.html @@ -0,0 +1,83 @@ + + + + {{ 'vacation-rule, notification-type' | translate}} + + + + + + +
    + + + +
  • {{'vacation-rule, itemType' | translate}}
  • + +
    + + +
  • {{'vacation-rule, notification-type' | translate}}
  • + +
    + + +
  • {{'vacation-rule, create-vacation-rule' | translate}}
  • + +
    +
    +
+ + +
+
+ + + + {{'vacation-rule, itemType' | translate}} + + + + + + {{itemType}} + + + + + + + + {{'vacation-rule, all-label' | translate}} + + + + {{'vacation-rule, select-label' | translate}} + + + + + + + + + {{'vacation-rule, notification' | translate}} + + + {{x.NOTIFICATION_DISPLAY_NAME}} + + + + + +
+ +
+ + +
+ + {{'vacation-rule, next-label' | translate}} +
+
\ No newline at end of file diff --git a/Mohem/src/app/vacation-rule/notification-type/notification-type.component.scss b/Mohem/src/app/vacation-rule/notification-type/notification-type.component.scss new file mode 100644 index 00000000..ddfb4343 --- /dev/null +++ b/Mohem/src/app/vacation-rule/notification-type/notification-type.component.scss @@ -0,0 +1,20 @@ +li { + width: 100%; +} + +.label { + white-space: normal; +} + +ion-list, +ion-item { + width: 100%; + margin-right: 7%; +} + +.footer-button { + border-radius: 3px; + padding: 0 1.1em; + min-height: 45px; + min-width: 200px; +} diff --git a/Mohem/src/app/vacation-rule/notification-type/notification-type.component.spec.ts b/Mohem/src/app/vacation-rule/notification-type/notification-type.component.spec.ts new file mode 100644 index 00000000..e826bdd5 --- /dev/null +++ b/Mohem/src/app/vacation-rule/notification-type/notification-type.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { NotificationTypeComponent } from './notification-type.component'; + +describe('NotificationTypeComponent', () => { + let component: NotificationTypeComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ NotificationTypeComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(NotificationTypeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/vacation-rule/notification-type/notification-type.component.ts b/Mohem/src/app/vacation-rule/notification-type/notification-type.component.ts new file mode 100644 index 00000000..10188377 --- /dev/null +++ b/Mohem/src/app/vacation-rule/notification-type/notification-type.component.ts @@ -0,0 +1,49 @@ +import { Component, OnInit } from '@angular/core'; +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 { notificationTypeRequest } from '../model/notification.Request'; + +@Component({ + selector: 'app-notification-type', + templateUrl: './notification-type.component.html', + styleUrls: ['./notification-type.component.scss'], +}) +export class NotificationTypeComponent implements OnInit { + + itemTypeObj: any; + itemType: string; + notifTypeSel: any; + notification_list: any; + var_notification: any; + + + constructor(public vacationRuleService: VacationRuleServiceService, public ts: TranslatorService, public cs: CommonService) { + this.itemTypeObj = this.cs.sharedService.getSharedData('selectedItemType'); + this.itemType = this.itemTypeObj.ITEM_TYPE_DISPLAY_NAME; + } + + ngOnInit() { + this.getNotificationType(); + } + + NextPage() { + this.cs.navigateForward('/vacation-rule/create-vacation-rule'); + } + + getNotificationType() { + let request: notificationTypeRequest = new notificationTypeRequest(); + request.P_ITEM_TYPE = this.itemTypeObj.ITEM_TYPE; + this.vacationRuleService.getNotificationType(request, () => { + this.getNotificationType(); + }, this.ts.trPK('general', 'retry')).subscribe((result) => { + console.log(result); + if (this.cs.validResponse(result)) { + console.log(result.GetItemTypeNotificationsList); + this.notification_list = result.GetItemTypeNotificationsList; + } else { + this.cs.presentAlert(result.ErrorEndUserMessage); + } + }); + } +} 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..5d54a159 --- /dev/null +++ b/Mohem/src/app/vacation-rule/service/vacation-rule-service.service.ts @@ -0,0 +1,56 @@ +import { notificationTypeRequest } from './../model/notification.Request'; +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'; +import { VacationTypeRequest } from '../model/VacationTypeRequest'; +import { LoginRequest } from 'src/app/hmg-common/services/authentication/models/login.request'; + +@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); + } + + public getVacationType(vacationTypeRequest: VacationTypeRequest, onError: any, errorLabel: string): Observable { + const request = vacationTypeRequest; + this.authService.authenticateRequest(request); + return this.con.post(VacationRuleServiceService.getVacationType, request, onError, errorLabel); + } + + public getNotificationType(notificationTypeRequest: notificationTypeRequest, onError: any, errorLabel: string): Observable { + const request = notificationTypeRequest; + this.authService.authenticateRequest(request); + return this.con.post(VacationRuleServiceService.getNotificationType, request, onError, errorLabel); + } + + public notificationReassign(notificationRequest: LoginRequest, onError: any, errorLabel: string): Observable { + const request = notificationRequest; + this.authService.authenticateRequest(request); + return this.con.post(VacationRuleServiceService.notificationReassign, 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..2dcf55ef --- /dev/null +++ b/Mohem/src/app/vacation-rule/vacation-rule.module.ts @@ -0,0 +1,56 @@ +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'; +import { VacationTypeComponent } from './vacation-type/vacation-type.component'; +import { NotificationTypeComponent } from './notification-type/notification-type.component'; +import { CreateVacationRuleComponent } from './create-vacation-rule/create-vacation-rule.component'; + +const routes: Routes = [ + { + path: '', + component: VacationRulePage, + children: [ + { + path: 'home', + component: HomeComponent + }, + { + path: 'vacation-type', + component: VacationTypeComponent + }, + { + path: 'notification-type', + component: NotificationTypeComponent + }, + { + path: 'create-vacation-rule', + component: CreateVacationRuleComponent + } + ] + } +]; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + HmgCommonModule, + RouterModule.forChild(routes) + ], + declarations: [ + VacationRulePage, + HomeComponent, + VacationTypeComponent, + NotificationTypeComponent, + CreateVacationRuleComponent + ] +}) +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/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..e21f4b06 --- /dev/null +++ b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.html @@ -0,0 +1,63 @@ + + + + {{ 'vacation-rule, vacation-type' | translate}} + + + + + + +
    + + + +
  • {{'vacation-rule, itemType' | translate}}
  • + +
    + + +
  • {{'vacation-rule, notification-type' | translate}}
  • + +
    + + +
  • {{'vacation-rule, create-vacation-rule' | translate}}
  • + +
    +
    +
+ + +
+
+ + + + + {{'vacation-rule, itemType' | translate}} + + + {{x.ITEM_TYPE_DISPLAY_NAME}} + + + + + + +

+ {{'vacation-rule, skip-step-3' | translate}} +

+
+ +
+
+ + +
+ + {{'vacation-rule, next-label' | 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..2c5eb1e1 --- /dev/null +++ b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.scss @@ -0,0 +1,102 @@ +li { + width: 100%; +} + +.cusprogressbar li:after { + width: 100%; + height: 2px; + content: ""; + position: absolute; + background-color: #d9d9d9; + top: 20px; +} + +ion-item { + width: 100%; + margin-left: 2%; + margin-right: 5%; +} + +p.smallTip { + font-size: 12px; + color: #acacac; + padding: 1px 6px; +} + +.footer-button { + border-radius: 3px; + padding: 0 1.1em; + min-height: 45px; + min-width: 200px; +} + +// .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..9934809f --- /dev/null +++ b/Mohem/src/app/vacation-rule/vacation-type/vacation-type.component.ts @@ -0,0 +1,58 @@ +import { notificationTypeResponse } from './../model/notification.Respond'; +import { VacationTypeRequest } from './../model/VacationTypeRequest'; +import { Component, OnInit } from '@angular/core'; +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'; + +@Component({ + selector: 'app-vacation-type', + templateUrl: './vacation-type.component.html', + styleUrls: ['./vacation-type.component.scss'], +}) +export class VacationTypeComponent implements OnInit { + + ruleTypeList: any; + index: any; + + constructor(public vacationRuleService: VacationRuleServiceService, public ts: TranslatorService, public cs: CommonService) { } + + ngOnInit() { + this.getVacationType(); + } + + getVacationType() { + let request: VacationTypeRequest = new VacationTypeRequest(); + + this.vacationRuleService.getVacationType(request, () => { + this.getVacationType(); + }, this.ts.trPK('general', 'retry')).subscribe((result) => { + if (this.cs.validResponse(result)) { + this.ruleTypeList = result.VrItemTypesList; + console.log(this.ruleTypeList); + } else { + this.cs.presentAlert(result.ErrorEndUserMessage); + } + }); + } + + NextPage() { + this.cs.sharedService.setSharedData(this.ruleTypeList[this.index], 'selectedItemType'); + this.cs.navigateForward('/vacation-rule/notification-type'); + + if (this.ruleTypeList[this.index].ITEM_TYPE == "*") { + let notificatioAtt: notificationTypeResponse = new notificationTypeResponse(); + notificatioAtt.FYI_FLAG = ""; + notificatioAtt.NOTIFICATION_DISPLAY_NAME = "All"; + notificatioAtt.NOTIFICATION_NAME = "*"; + notificatioAtt.NOTIFICATION_SUBJECT = ""; + this.cs.sharedService.setSharedData(notificatioAtt, notificationTypeResponse.SHARED_DATA); + this.cs.navigateForward('/vacation-rule/create-vacation-rule'); + } else { + this.cs.navigateForward('/vacation-rule/notification-type'); + } + + + } + +} diff --git a/Mohem/src/assets/icon/progress-loading.gif b/Mohem/src/assets/icon/progress-loading.gif new file mode 100644 index 00000000..df5620d4 Binary files /dev/null and b/Mohem/src/assets/icon/progress-loading.gif differ diff --git a/Mohem/src/assets/localization/i18n.json b/Mohem/src/assets/localization/i18n.json index 5392d1e6..f5e7c8b6 100644 --- a/Mohem/src/assets/localization/i18n.json +++ b/Mohem/src/assets/localization/i18n.json @@ -4,901 +4,942 @@ "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": "لا توجد نتيجة" + "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": "المستخدم ليس لدية صلاحيات" + } }, "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": "المستخدم ليس لدية صلاحيات" - } -}, -"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":"حدث خطاء في تسجيل الدخول فضلاً اعد المحاولة" - } -}, -"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":"" + "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": "حدث خطاء في تسجيل الدخول فضلاً اعد المحاولة" + } + }, + "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": { - "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":"قائمة المرفقات" - + "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" + } + }, + "vacation-rule": { + "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": "

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

" + }, + "vacation-type": { + "en": "Vacation Type", + "ar": "نوع العطلة" + }, + "create-vacation-rule": { + "en": "Create Vacation Rule", + "ar": "إنشاء قاعدة عطلة" + }, + "vacation-type-text": { + "en": "

Choose Vacation Type from the below list

", + "ar": "

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

" + }, + "skip-step-3": { + "en": "If All is selected, you will skip to step 3", + "ar": "إذا اخترت الكل سوف تتخطى الخطوة 3" + }, + "next-label": { + "en": "Next", + "ar": "التالى" + }, + "notification-type": { + "en": "Notification Type", + "ar": "نوع إعلام" + }, + "notification-tip": { + "en": "Indicate the notification format that will activate this rule", + "ar": "إظهار شكل الإشعارات التي تفعل هذه القاعدة" + }, + "all-label": { + "en": "All", + "ar": "الكل" + }, + "select-label": { + "en": "Select", + "ar": "تحديد" + }, + "start-date": { + "en": "Start Date", + "ar": "تاريخ البدء" + }, + "end-date": { + "en": "End Date", + "ar": "تاريخ الانتهاء" + }, + "message-label": { + "en": "Message", + "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 diff --git a/Mohem/src/theme/styles.scss b/Mohem/src/theme/styles.scss index 7b52e4e6..9c90f0df 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; } @@ -57,24 +61,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 +81,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;