diff --git a/Mohem/package-lock.json b/Mohem/package-lock.json index fc11c970..64101252 100644 --- a/Mohem/package-lock.json +++ b/Mohem/package-lock.json @@ -1209,6 +1209,14 @@ "@types/cordova": "^0.0.34" } }, + "@ionic-native/vibration": { + "version": "5.19.1", + "resolved": "https://registry.npmjs.org/@ionic-native/vibration/-/vibration-5.19.1.tgz", + "integrity": "sha512-f9fMtBRJmVLklRrnqcSqKktw6skdp+dDQpbBOq1m5VSQF7b6EKkCIUTN69EjeSn2z3AD0kSYn1hCGTp2q+cJIw==", + "requires": { + "@types/cordova": "^0.0.34" + } + }, "@ionic-native/zbar": { "version": "5.19.1", "resolved": "https://registry.npmjs.org/@ionic-native/zbar/-/zbar-5.19.1.tgz", @@ -4550,6 +4558,11 @@ "resolved": "https://registry.npmjs.org/cordova-plugin-themeablebrowser/-/cordova-plugin-themeablebrowser-0.2.18.tgz", "integrity": "sha512-FdE1L3wItbTtUudysX/QxN6DTnfGPTMiS4Np/XKeSfYM0bU8sP6DhUIUp1vA8GAulihkEfbNIvy68oVkx2xtFQ==" }, + "cordova-plugin-vibration": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/cordova-plugin-vibration/-/cordova-plugin-vibration-3.1.1.tgz", + "integrity": "sha512-qgv67Rueo4Pydfant3TwnXeFiN9dl+6lKMM6h5jYg9XewiGAGOr8vfWsTvQssC3m3xMKGS1ap3xPNH+BzZ4RMA==" + }, "cordova-plugin-whitelist": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.4.tgz", @@ -9392,6 +9405,14 @@ "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", "dev": true }, + "ng-circle-progress": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ng-circle-progress/-/ng-circle-progress-1.5.1.tgz", + "integrity": "sha512-gJ0SdWc+TkXckfbhbvUY522yjya3qcc1a3lGvvVyLsUfSOgll8LQaZGDEko84d8dk8vYO83n0O5vP+e8bJTInQ==", + "requires": { + "tslib": "^1.9.0" + } + }, "ng2-file-upload": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/ng2-file-upload/-/ng2-file-upload-1.4.0.tgz", diff --git a/Mohem/package.json b/Mohem/package.json index b4fc242d..409df5c5 100755 --- a/Mohem/package.json +++ b/Mohem/package.json @@ -52,6 +52,7 @@ "@ionic-native/sqlite": "^5.18.0", "@ionic-native/status-bar": "^5.0.0", "@ionic-native/themeable-browser": "^5.18.0", + "@ionic-native/vibration": "^5.19.1", "@ionic-native/zbar": "^5.10.0", "@ionic/angular": "^4.1.0", "@ng-bootstrap/ng-bootstrap": "^4.2.2", @@ -95,6 +96,7 @@ "cordova-plugin-splashscreen": "^5.0.3", "cordova-plugin-statusbar": "^2.4.3", "cordova-plugin-themeablebrowser": "^0.2.18", + "cordova-plugin-vibration": "^3.1.1", "cordova-plugin-whitelist": "^1.3.4", "cordova-sqlite-storage": "^3.4.0", "cordova-support-google-services": "^1.3.2", @@ -102,6 +104,7 @@ "core-js": "^2.5.4", "date-fns": "^1.30.1", "mx.ferreyra.callnumber": "0.0.2", + "ng-circle-progress": "^1.5.1", "ng2-file-upload": "^1.3.0", "ng2-pdf-viewer": "^5.3.2", "npm": "^6.13.1", @@ -111,6 +114,7 @@ "primeng": "^7.1.3", "run": "1.4.0", "rxjs": "~6.3.3", + "tslib": "^1.10.0", "uk.co.workingedge.phonegap.plugin.launchnavigator": "^3.2.2", "xlsx": "^0.14.3", "zone.js": "~0.8.29" @@ -190,7 +194,8 @@ "cordova-plugin-fingerprint-aio": { "FACEID_USAGE_DESCRIPTION": "User Authentication" }, - "cordova-plugin-firebasex": {} + "cordova-plugin-firebasex": {}, + "cordova-plugin-vibration": {} }, "platforms": [ "browser", @@ -198,4 +203,4 @@ "android" ] } -} \ No newline at end of file +} diff --git a/Mohem/src/app/app.component.html b/Mohem/src/app/app.component.html index 1556b050..936d023a 100644 --- a/Mohem/src/app/app.component.html +++ b/Mohem/src/app/app.component.html @@ -14,7 +14,7 @@ - + diff --git a/Mohem/src/app/app.module.ts b/Mohem/src/app/app.module.ts index 40ac3f80..f6013cf6 100644 --- a/Mohem/src/app/app.module.ts +++ b/Mohem/src/app/app.module.ts @@ -5,18 +5,16 @@ import { HmgCommonModule } from './hmg-common/hmg-common.module'; import { IonicModule, IonicRouteStrategy } from '@ionic/angular'; import { SplashScreen } from '@ionic-native/splash-screen/ngx'; import { StatusBar } from '@ionic-native/status-bar/ngx'; - import { AppComponent } from './app.component'; import { AppRoutingModule } from './app-routing.module'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { ZBar } from '@ionic-native/zbar/ngx'; import { Geolocation } from '@ionic-native/geolocation/ngx'; -import {Camera,CameraOptions,PictureSourceType} from'@ionic-native/Camera/ngx'; -import { FilePath } from "@ionic-native/file-path/ngx"; -import { File } from "@ionic-native/file/ngx"; -import { Base64 } from "@ionic-native/base64/ngx"; +import {Camera, CameraOptions, PictureSourceType} from '@ionic-native/Camera/ngx'; +import { FilePath } from '@ionic-native/file-path/ngx'; +import { File } from '@ionic-native/file/ngx'; +import { Base64 } from '@ionic-native/base64/ngx'; import { FirebaseX } from '@ionic-native/firebase-x/ngx'; - @NgModule({ declarations: [AppComponent], entryComponents: [], diff --git a/Mohem/src/app/hmg-common/directive/feedback/feedback.directive.spec.ts b/Mohem/src/app/hmg-common/directive/feedback/feedback.directive.spec.ts new file mode 100644 index 00000000..7acbd168 --- /dev/null +++ b/Mohem/src/app/hmg-common/directive/feedback/feedback.directive.spec.ts @@ -0,0 +1,8 @@ +import { FeedbackDirective } from './feedback.directive'; + +describe('FeedbackDirective', () => { + it('should create an instance', () => { + const directive = new FeedbackDirective(); + expect(directive).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/hmg-common/directive/feedback/feedback.directive.ts b/Mohem/src/app/hmg-common/directive/feedback/feedback.directive.ts new file mode 100644 index 00000000..14637341 --- /dev/null +++ b/Mohem/src/app/hmg-common/directive/feedback/feedback.directive.ts @@ -0,0 +1,24 @@ +import { Directive, ElementRef, HostListener } from '@angular/core'; +import { TranslatorService } from '../../services/translator/translator.service'; +import { CommonService } from '../../services/common/common.service'; +import { FeedbackService } from './feedback.service'; + +@Directive({ + selector: '[feedback]' +}) +export class FeedbackDirective { + + constructor( + private cs: CommonService, + private ts: TranslatorService, + private el: ElementRef, + private feedBackService: FeedbackService + ) { + + } + + + @HostListener('mousedown') onMouseEnter() { + this.feedBackService.vibrate(); + } +} diff --git a/Mohem/src/app/hmg-common/directive/feedback/feedback.service.spec.ts b/Mohem/src/app/hmg-common/directive/feedback/feedback.service.spec.ts new file mode 100644 index 00000000..dabb73db --- /dev/null +++ b/Mohem/src/app/hmg-common/directive/feedback/feedback.service.spec.ts @@ -0,0 +1,12 @@ +import { TestBed } from '@angular/core/testing'; + +import { FeedbackService } from './feedback.service'; + +describe('FeedbackService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: FeedbackService = TestBed.get(FeedbackService); + expect(service).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/hmg-common/directive/feedback/feedback.service.ts b/Mohem/src/app/hmg-common/directive/feedback/feedback.service.ts new file mode 100644 index 00000000..a2b446da --- /dev/null +++ b/Mohem/src/app/hmg-common/directive/feedback/feedback.service.ts @@ -0,0 +1,20 @@ +import { Injectable } from '@angular/core'; +import { Vibration } from '@ionic-native/vibration/ngx'; +// import { SettingsService } from 'src/app/settings/service/settings.service'; + +@Injectable({ +providedIn: 'root' +}) +export class FeedbackService { +// constructor(private vibration: Vibration, private settings: SettingsService) {} +constructor(private vibration: Vibration) {} + +public async vibrate() { +try { +const on = true; +if (on) { +this.vibration.vibrate(500); +}} catch (e) { +} +} +} diff --git a/Mohem/src/app/hmg-common/hmg-common.module.ts b/Mohem/src/app/hmg-common/hmg-common.module.ts index 520715e4..3be427e4 100644 --- a/Mohem/src/app/hmg-common/hmg-common.module.ts +++ b/Mohem/src/app/hmg-common/hmg-common.module.ts @@ -42,19 +42,14 @@ import { NativeStorage } from '@ionic-native/native-storage/ngx'; import { ProgressLoadingService } from './ui/progressLoading/progress-loading.service'; import { BarChartComponent } from './ui/bar-chart/bar-chart.component'; import { DonutChartComponent } from './ui/donut-chart/donut-chart.component'; -//import { UserLocalNotificationService } from './services/user-local-notification/user-local-notification.service'; -//import { LocalNotifications } from '@ionic-native/local-notifications/ngx'; import { EmailComponent } from './ui/email/email.component'; import { Badge } from '@ionic-native/badge/ngx'; -// import { Push } from '@ionic-native/push/ngx'; import { PushService } from './services/push/push.service'; import { LifeCycleService } from './services/life-cycle/life-cycle.service'; import { HmgBrowserService } from './services/hmg-browser/hmg-browser.service'; import { GuidService } from './services/guid/guid.service'; import { TabsBarComponent } from './ui/tabs-bar/tabs-bar.component'; import { PageTrailerComponent } from './ui/spacer/page-trailer/page-trailer.component'; -//import { GeofencingService } from './services/geofencing/geofencing.service'; -// import { BackgroundGeolocation } from '@ionic-native/background-geolocation/ngx'; import { ButtonComponent } from './ui/button/button.component'; import { ToolbarButtonComponent } from './ui/toolbar-button/toolbar-button.component'; import { ListboxModule } from 'primeng/listbox'; @@ -82,24 +77,23 @@ import { Diagnostic } from '@ionic-native/diagnostic/ngx'; import { DetailButtonComponent } from './ui/detail-button/detail-button.component'; import { RouterModule } from '@angular/router'; import { HeaderButtonComponent } from './ui/header-button/header-button.component'; -//import { CallNumber } from '@ionic-native/call-number/ngx'; import { AppRate } from '@ionic-native/app-rate/ngx'; import { RatingService } from './services/rating/rating.service'; import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; import { RateService } from './services/rate/rate.service'; -//import { PaymentComponent } from './ui/payment/payment.component'; -//import { PaymentService } from './ui/payment/service/payment.service'; import { MenuService } from './services/menu/menuservice.service'; import { ReplacementListComponent } from '../vacation-rule/replacement-list/replacement-list.component'; import { FileSelectDirective } from 'ng2-file-upload'; - import { PdfViewerModule } from 'ng2-pdf-viewer'; +import { PdfViewerModule } from 'ng2-pdf-viewer'; import { WorkListAttachViewComponent } from '../notification/work-list-attach-view/work-list-attach-view.component'; -import {Camera,CameraOptions, PictureSourceType} from '@ionic-native/Camera/ngx'; +import {Camera, CameraOptions, PictureSourceType} from '@ionic-native/Camera/ngx'; import {File} from '@ionic-native/file/ngx'; import {FileUploderProfileComponent} from './ui/file-uploder-profile/file-uploder-profile.component' import { OpenNativeSettings } from '@ionic-native/open-native-settings/ngx'; import { AccordinCustomComponent } from './ui/accordin-custom/accordin-custom.component'; import { AccordinTabCustomComponent} from './ui/accordin-custom/accordin-tab-custom/accordin-tab-custom.component' +import { StatsButtonComponent } from './ui/stats-button/stats-button.component'; +import { ServicesButtonComponent } from './ui/services-button/services-button.component'; @NgModule({ imports: [ CommonModule, @@ -165,7 +159,9 @@ import { AccordinTabCustomComponent} from './ui/accordin-custom/accordin-tab-cus WorkListAttachViewComponent, FileUploderProfileComponent, AccordinTabCustomComponent, - AccordinCustomComponent + AccordinCustomComponent, + StatsButtonComponent, + ServicesButtonComponent ], exports: [ NumberRangeComponent, @@ -212,13 +208,14 @@ import { AccordinTabCustomComponent} from './ui/accordin-custom/accordin-tab-cus EmptyDataComponent, DetailButtonComponent, HeaderButtonComponent, - //PaymentComponent, ReplacementListComponent, FileSelectDirective, WorkListAttachViewComponent, FileUploderProfileComponent, AccordinTabCustomComponent, - AccordinCustomComponent + AccordinCustomComponent, + StatsButtonComponent, + ServicesButtonComponent ], providers: [ ConnectorService, @@ -234,14 +231,10 @@ import { AccordinTabCustomComponent} from './ui/accordin-custom/accordin-tab-cus NativeStorage, ProgressLoadingService, PushService, - //UserLocalNotificationService, - //LocalNotifications, Badge, LifeCycleService, HmgBrowserService, GuidService, - // BackgroundGeolocation, - //GeofencingService, Keyboard, KeyboardService, Diagnostic, @@ -250,14 +243,12 @@ import { AccordinTabCustomComponent} from './ui/accordin-custom/accordin-tab-cus HMGPreloadingStrategy, HMGPreloadingStrategyLoading, Diagnostic, - // CallNumber, AppRate, RatingService, InAppBrowser, RateService, Camera, File, - //PaymentService, MenuService, OpenNativeSettings ] diff --git a/Mohem/src/app/hmg-common/ui/nav-buttons/nav-buttons.component.scss b/Mohem/src/app/hmg-common/ui/nav-buttons/nav-buttons.component.scss index b2fe3562..ab0299d1 100644 --- a/Mohem/src/app/hmg-common/ui/nav-buttons/nav-buttons.component.scss +++ b/Mohem/src/app/hmg-common/ui/nav-buttons/nav-buttons.component.scss @@ -1,3 +1,8 @@ .float-left{ float: left; +} +ion-menu-button { + font-size: 0.8cm; + color: white; + background: #22c6b3; } \ No newline at end of file diff --git a/Mohem/src/app/hmg-common/ui/services-button/services-button.component.html b/Mohem/src/app/hmg-common/ui/services-button/services-button.component.html new file mode 100644 index 00000000..ef14b4af --- /dev/null +++ b/Mohem/src/app/hmg-common/ui/services-button/services-button.component.html @@ -0,0 +1,8 @@ +
+
+ +
+
+

{{title}}

+
+
\ No newline at end of file diff --git a/Mohem/src/app/hmg-common/ui/services-button/services-button.component.scss b/Mohem/src/app/hmg-common/ui/services-button/services-button.component.scss new file mode 100644 index 00000000..ff7c3d40 --- /dev/null +++ b/Mohem/src/app/hmg-common/ui/services-button/services-button.component.scss @@ -0,0 +1,34 @@ +.custom-button { + background: white; + margin-bottom: 0px; + border: 1px solid #ccc; + border-radius: 20px; + width: 100%; + max-width: 105px; + height: 100px; + padding: 10px; + min-width: 96px; +} + +.iconBox { + display: block; + width: 100%; + position: static; +} +.iconBox img{ + margin: 0px auto 10px; + display: block; + // max-width: 35%; +} + +.titleBox { + display: block; +} + +.pClass { + font-size: 12PX; + text-align: center; + margin-top: 10px; + color: black; + font-weight: bold; +} \ No newline at end of file diff --git a/Mohem/src/app/hmg-common/ui/services-button/services-button.component.spec.ts b/Mohem/src/app/hmg-common/ui/services-button/services-button.component.spec.ts new file mode 100644 index 00000000..67215f5b --- /dev/null +++ b/Mohem/src/app/hmg-common/ui/services-button/services-button.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ServicesButtonComponent } from './services-button.component'; + +describe('ServicesButtonComponent', () => { + let component: ServicesButtonComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ServicesButtonComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ServicesButtonComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/hmg-common/ui/services-button/services-button.component.ts b/Mohem/src/app/hmg-common/ui/services-button/services-button.component.ts new file mode 100644 index 00000000..bdc3b3b1 --- /dev/null +++ b/Mohem/src/app/hmg-common/ui/services-button/services-button.component.ts @@ -0,0 +1,28 @@ +import { Component, OnInit, Input, Output, EventEmitter} from '@angular/core'; +import { TranslatorService } from '../../services/translator/translator.service'; + +@Component({ + selector: 'app-services-button', + templateUrl: './services-button.component.html', + styleUrls: ['./services-button.component.scss'], +}) +export class ServicesButtonComponent implements OnInit { + + @Input() class: any = ''; + @Input() buttonClass: any = ''; + @Input() icon: string; + @Input() title: string; + @Output() trigger = new EventEmitter(); + @Input() focusicon: string; + @Input() disabled = false; + public direction: string; + public style: any; + constructor( + public ts: TranslatorService + ) {} + + ngOnInit() {} + + public onClicked() {} +} + diff --git a/Mohem/src/app/hmg-common/ui/stats-button/stats-button.component.html b/Mohem/src/app/hmg-common/ui/stats-button/stats-button.component.html new file mode 100644 index 00000000..554414ee --- /dev/null +++ b/Mohem/src/app/hmg-common/ui/stats-button/stats-button.component.html @@ -0,0 +1,9 @@ +
+
+ +
+
+ {{statsValue}} +

{{title}}

+
+
\ No newline at end of file diff --git a/Mohem/src/app/hmg-common/ui/stats-button/stats-button.component.scss b/Mohem/src/app/hmg-common/ui/stats-button/stats-button.component.scss new file mode 100644 index 00000000..5c7cc59c --- /dev/null +++ b/Mohem/src/app/hmg-common/ui/stats-button/stats-button.component.scss @@ -0,0 +1,42 @@ +.custom-button { + background: white; + margin-bottom: 0px; + border: 1px solid #ccc; + border-radius: 20px; + width: 100%; + max-width: 105px; + height: 160px; + padding: 10px; +} + +.iconBox { + display: block; + width: 100%; + position: static; + img { + display: block; + max-width: 45%; + padding-bottom: 5px; + padding-top: 5px; + } +} + +.titleBox { + display: block; + span { + font-size: 40px; + font-weight: bold; + color: black; + text-align: left; + display: block; + } +} + +.pClass { + color: black; + width: 85%; + margin-top: 5px; + font-weight: bold; + text-align: left; + display: block; +} diff --git a/Mohem/src/app/hmg-common/ui/stats-button/stats-button.component.spec.ts b/Mohem/src/app/hmg-common/ui/stats-button/stats-button.component.spec.ts new file mode 100644 index 00000000..8446e7cd --- /dev/null +++ b/Mohem/src/app/hmg-common/ui/stats-button/stats-button.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { StatsButtonComponent } from './stats-button.component'; + +describe('StatsButtonComponent', () => { + let component: StatsButtonComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ StatsButtonComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(StatsButtonComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/hmg-common/ui/stats-button/stats-button.component.ts b/Mohem/src/app/hmg-common/ui/stats-button/stats-button.component.ts new file mode 100644 index 00000000..b204d12d --- /dev/null +++ b/Mohem/src/app/hmg-common/ui/stats-button/stats-button.component.ts @@ -0,0 +1,29 @@ +import { Component, OnInit, Input, Output, EventEmitter} from '@angular/core'; +import { TranslatorService } from '../../services/translator/translator.service'; + +@Component({ + selector: 'app-stats-button', + templateUrl: './stats-button.component.html', + styleUrls: ['./stats-button.component.scss'], +}) +export class StatsButtonComponent implements OnInit { + + @Input() class: any = ''; + @Input() buttonClass: any = ''; + @Input() icon: string; + @Input() title: string; + @Input() statsValue: string; + @Output() trigger = new EventEmitter(); + @Input() focusicon: string; + @Input() disabled = false; + public direction: string; + public style: any; + constructor( + public ts: TranslatorService + ) {} + + ngOnInit() {} + + public onClicked() {} + +} diff --git a/Mohem/src/app/home/home.module.ts b/Mohem/src/app/home/home.module.ts index 58e6cd52..781a20ec 100644 --- a/Mohem/src/app/home/home.module.ts +++ b/Mohem/src/app/home/home.module.ts @@ -6,7 +6,7 @@ import { HmgCommonModule } from '../hmg-common/hmg-common.module'; import { IonicModule } from '@ionic/angular'; import { HomePage } from './home.page'; import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx'; - +import { NgCircleProgressModule } from 'ng-circle-progress'; const routes: Routes = [ { path: '', @@ -20,7 +20,9 @@ const routes: Routes = [ FormsModule, IonicModule, HmgCommonModule, - RouterModule.forChild(routes) + RouterModule.forChild(routes), + // Specify ng-circle-progress as an import + NgCircleProgressModule.forRoot() ], declarations: [ HomePage diff --git a/Mohem/src/app/home/home.page.html b/Mohem/src/app/home/home.page.html index fe151468..4d425c4d 100644 --- a/Mohem/src/app/home/home.page.html +++ b/Mohem/src/app/home/home.page.html @@ -1,117 +1,164 @@ - - --> - -
- - -
-

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

-
- - + -
- - -
-
- - - - + + + + + + + + + + + -
-
+ + +

Monthly Attendance

+ View your Monthly Time Sheet + + View Detail + +
+ + + +
+ + {{menuItem.PROMPT}} + + + + + + + + + -
-
-

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

-
-
- - - - - - - - - - - - - - - - - + + + - - - + --> - + + + + + + + +{{displayTime}} + + diff --git a/Mohem/src/app/home/home.page.scss b/Mohem/src/app/home/home.page.scss index 280c4b4a..81add380 100644 --- a/Mohem/src/app/home/home.page.scss +++ b/Mohem/src/app/home/home.page.scss @@ -1,153 +1,85 @@ -.button-menutoggle.button-menutoggle-md,button-menutoggle.button-menutoggle-ios, -.bar-buttons.bar-buttons-ios.button.button-ios.button-default.button-default-ios.button-menutoggle.button-menutoggle-ios{ - box-shadow: none; - -webkit-box-shadow:none; - -moz-box-shadow: none; - background: transparent !important; - } - .colorBG{ - --background: #f0efef; - } +ion-row { + margin-bottom: 15px; + margin-top: 10px; +} - .menubutton{ - white-space: normal; - color: var(--light); - text-transform: capitalize; - min-height: 47px; - background: transparent; - font-size: 2rem; +.header-toolbar-new{ + --background: #22c6b3; +} +ion-title{ + color: white; position: absolute; - top: 40px; - } - .menubuttonTrans{ - white-space: normal; - color: var(--light); - text-transform: capitalize; - min-height: 47px; - background: transparent; - font-size: 2rem; - position: absolute; - top: 40px; - left: 315px - } - #homeBadgeBtn{ - position: absolute; - top: 2px; - width: 20px; - font-size: 10px; - height: 20px; - padding: 0px; - line-height: 2; - min-width: auto; - min-height: auto; - border-radius: 50%; - } - .homeBox{ - - - } - .header-div{ - background:var(--primary); - background: -moz-linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%,var(--secondary) 59%, var(--customnavy) 100%); - background: -webkit-linear-gradient(45deg, (--primary) 0%, var(--secondary) 36%,var(--secondary) 59%, var(--customnavy) 100%); - background: linear-gradient(90deg, #85C48D 0%, #85C48D 13%, #2BB5C6 98%, #2BB5C6 100%); - color:var(--light); - text-transform: capitalize; - - display: block; - position: relative; - height: 210px; - margin-bottom:60px; - border-radius: 0px 0px 70px 70px; - } - - .dash-header{ + top: 0; text-align: center; - margin: 16px 0 0 0; - - } - - .TxtPlace { - margin: 0; - padding: 50px 0 10px 0; - text-align: center; - width:100%; - } - - .serviceItem { - // min-height: 160px !important; - // padding: 0; - // width: 95%; - // border: 0px solid #e4e5e7; - // background: white; - // color: var(--dark); - // border-radius: 7px; - min-height: 200px !important; - padding-top: 0; - width: 95%; - margin-left: 4px; - margin-bottom: 13px; - border: 0px solid #e4e5e7; - background: white; - color: var(--dark); - border-radius: 7px; - p{ - margin-top: 0px; margin-bottom:0px; - font-weight: normal; + left: 15%; + right: 15%; + font-size: 0.42cm; + font-weight: bold; + height: 100%; +} +ion-label{ + display: block; + color: black !important; font-size: 14px; - min-height: 20px; - // white-space: normal; - text-align: center; - -webkit-line-clamp: 3; - -webkit-box-orient: vertical; - overflow: hidden; + font-weight: bold; +} +.main-dashboard-container{ + position: relative; + width: 100%; +} +.header-md:after { + height: 0px !important; + display: none !important; +} +.contentBg:before { + position: absolute; + content: ""; + background: #22c6b3; + height: 100px; + width: 100%; + left: 0; + top: 0px; + z-index: 1; +} +.main-container{ + position: relative; + z-index: 2; + padding-right: 15px; + padding-left: 15px; +} +.attendance-module{ + border-radius: 20px; + background-color: #094875; + padding: 10px; + color: white; + width: 100%; + h3{ + font-size: 18px; + font-weight: bold; + margin: 0; } - span { - display: block; - + span{ + font-size: 13px; + display: block; } - .serviceItemImg { - min-width: 60px !important; - min-height: 70px !important; - width: 80px; - height: 80px; - margin: 10px auto; - background: transparent !important; + img{ + display: block; + margin: 10px auto; + width: 80%; } - - } - .serviceItem.button,.serviceItem.button-md, .serviceItem.button-ios{ - background: transparent !important; - color:var(--dark); - box-shadow: none; - -webkit-box-shadow:none; - -moz-box-shadow: none; - border: 2px solid var(--gray); - min-width: auto; - } - //test - .changeImgBtn{ - margin: 0; - position: absolute; - top: 80%; - left: 53%; - -ms-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - } -//test - .changeIcon{ - background: #c1c1c1; - width: 40px; - height: 39px; - border-radius: 50% !important; - position: relative; - left: 51px; - top:16px; - } - .menuImg{ - max-width: 30px; - } - .transImg{ - max-width: 45px; - } - + ion-button{ + border-radius: 10px; + padding: 10px; + background: #3CB9DF; + --background: transparent; + --box-shadow: none !important; + height: auto; + min-height: inherit; + margin-top: 10px; + font-size: 12px; + } +} +.swiper-container { + margin: 0 !important; + width: 100% !important; +} \ No newline at end of file diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index 85d2fe20..3ac99758 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -1,39 +1,36 @@ -import { EitService } from "./../eit/services/eit.service"; -import { Component, OnInit } from "@angular/core"; -import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service"; -import { MenuController, Events, ActionSheetController } from "@ionic/angular"; -import { AuthenticationService } from "src/app/hmg-common/services/authentication/authentication.service"; -import { AuthenticatedUser } from "src/app/hmg-common/services/authentication/models/authenticated-user"; -import { MenuService } from "src/app/hmg-common/services/menu/menuservice.service"; -import { MenuResponse } from "src/app/hmg-common/services/menu/models/menu-response"; -import { CommonService } from "src/app/hmg-common/services/common/common.service"; -import { Geolocation } from "@ionic-native/geolocation/ngx"; -import { ZBar, ZBarOptions } from "@ionic-native/zbar/ngx"; +import { EitService } from './../eit/services/eit.service'; +import { Component, OnInit } from '@angular/core'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +import { MenuController, Events, ActionSheetController } from '@ionic/angular'; +import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service'; +import { AuthenticatedUser } from 'src/app/hmg-common/services/authentication/models/authenticated-user'; +import { MenuService } from 'src/app/hmg-common/services/menu/menuservice.service'; +import { MenuResponse } from 'src/app/hmg-common/services/menu/models/menu-response'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { Geolocation } from '@ionic-native/geolocation/ngx'; +import { ZBar, ZBarOptions } from '@ionic-native/zbar/ngx'; import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx'; -import { Device } from "@ionic-native/device/ngx"; -import { attendanceSwipeScannerRequest } from "./models/attendanceSwipe.Request"; -import { Response } from "src/app/hmg-common/services/models/response"; -import { AttendanceService } from "./services/attendance.services"; -import { LoginRequest } from "../hmg-common/services/authentication/models/login.request"; +import { Device } from '@ionic-native/device/ngx'; +import { attendanceSwipeScannerRequest } from './models/attendanceSwipe.Request'; +import { Response } from 'src/app/hmg-common/services/models/response'; +import { AttendanceService } from './services/attendance.services'; +import { LoginRequest } from '../hmg-common/services/authentication/models/login.request'; import {FileUploaderComponent} from '../hmg-common/ui/file-uploader/file-uploader.component' -import { Camera, CameraOptions,PictureSourceType} from "@ionic-native/Camera/ngx"; -//import { FileChooser } from "@ionic-native/file-chooser/ngx"; -import { File } from "@ionic-native/file/ngx"; +import { Camera, CameraOptions,PictureSourceType} from '@ionic-native/Camera/ngx'; +import { File } from '@ionic-native/file/ngx'; import { DomSanitizer } from '@angular/platform-browser'; -//import { FilePath } from "@ionic-native/file-path/ngx"; -//import { Base64 } from "@ionic-native/base64/ngx"; import {FileUploderProfileComponent} from '../hmg-common/ui/file-uploder-profile/file-uploder-profile.component' import { SharedDataService } from '../hmg-common/services/shared-data-service/shared-data.service'; import { DevicePermissionsService } from '../hmg-common/services/device-permissions/device-permissions.service'; @Component({ - selector: "app-home", - templateUrl: "./home.page.html", - styleUrls: ["./home.page.scss"] + selector: 'app-home', + templateUrl: './home.page.html', + styleUrls: ['./home.page.scss'] }) export class HomePage implements OnInit { userData: any = {}; - user_image: any = "../assets/imgs/profile.png"; + user_image: any = '../assets/imgs/profile.png'; menuList: any = []; zbarOptions: any; scannedResult: any; @@ -41,11 +38,77 @@ export class HomePage implements OnInit { lat: any; longt: any; deviceID: string; - public maxFileSize =10 * 1024 * 1024; - public fileUploder :FileUploaderComponent; + public maxFileSize = 10 * 1024 * 1024; + public fileUploder: FileUploaderComponent; // public fileUploderProfile:FileUploderProfileComponent location: boolean; - camera: boolean + camera: boolean; + public statsButtons = [ + { + title: 'Work List', + statsValue: '79', + icon: 'assets/icon/new-design/work_list.png' + }, + { + title: 'Pending Request', + statsValue: '13', + icon: 'assets/icon/new-design/pending_request.png' + }, + { + title: 'Missing Swipes', + statsValue: '99', + icon: 'assets/icon/new-design/missing_swipe.png' + }, + { + title: 'Leave Balance', + statsValue: '02', + icon: 'assets/icon/new-design/leave_balance.png' + }, + { + title: 'Ticket Balance', + statsValue: '01', + icon: 'assets/icon/new-design/ticket_balance.png' + } + ]; + + public employeeServicesButtons = [ + { + title: 'Leave Management', + icon: 'assets/icon/new-design/leave_management.png' + }, + { + title: 'Advance Payments', + icon: 'assets/icon/new-design/advance_payments.png' + }, + { + title: 'Medical Insurance', + icon: 'assets/icon/new-design/medical_insurance.png' + }, + { + title: 'Pay Slip', + icon: 'assets/icon/new-design/pay_slip.png' + } + ]; + public slideOptsOne = { + slidesPerView: 3.5, + spaceBetween: 10 +}; +public slideOptsTwo = { + slidesPerView: 3.2, + spaceBetween: 10 +}; + +public timeInSeconds: any = 200; +public time: any; +public runTimer = false; +public hasStarted = false; +public hasFinished = false; +public remainingTime: any; +public displayTime: any; +public menuEntries: any; +public titleFormat: any; +public percent = 10; + constructor( public ts: TranslatorService, public menu: MenuController, @@ -63,44 +126,86 @@ export class HomePage implements OnInit { private cameraController: Camera, public sharedData: SharedDataService, private sanitizer: DomSanitizer, - //private transfer: Transfer, - private file: File, - //private filePath: FilePath + private file: File, private permissions: DevicePermissionsService ) { - this.events.subscribe("img-change", displayImg => { - - // this.user_image = "data:image/jpeg;base64"+displayImg; - // alert("home app: "); - this.user_image = this.sanitizer.bypassSecurityTrustUrl("data:Image/*;base64,"+displayImg); - console.log("html saved img: "+this.user_image); + this.events.subscribe('img-change', displayImg => { + this.user_image = this.sanitizer.bypassSecurityTrustUrl('data:Image/*;base64,'+displayImg); + console.log('html saved img: ' + this.user_image); }); } - ngOnInit() { - this.getUserDetails(); - this.getMenu(); - this.setServicesPrivilage(); + // this.getUserDetails(); + // this.getMenu(); + // this.setServicesPrivilage(); - this.getCount(); + // this.getCount(); - - this.events.subscribe("getNotCount", badge => { - this.notBadge = badge; - }); + this.initTimer(); + // this.events.subscribe('getNotCount', badge => { + // this.notBadge = badge; + // }); } + // formatSubtitle = (time: number) : string => { + // return + // } + + initTimer() { + this.time = this.timeInSeconds; + this.runTimer = false; + this.hasStarted = false; + this.hasFinished = false; + this.remainingTime = this.timeInSeconds; + this.displayTime = this.getSecondsAsDigitalClock(this.remainingTime); + this.startTimer(); + } + + startTimer() { + this.runTimer = true; + this.hasStarted = true; + this.timerTick(); +} + +timerTick() { + setTimeout(() => { + + if (!this.runTimer) { return; } + this.remainingTime--; + this.displayTime = this.getSecondsAsDigitalClock(this.remainingTime); + this.percent = this.percent + 1; + if (this.remainingTime > 0) { + this.timerTick(); + } else { + this.hasFinished = true; + } + }, 1000); +} + +getSecondsAsDigitalClock(inputSeconds: number) { + const secNum = parseInt(inputSeconds.toString(), 10); // don't forget the second param + const hours = Math.floor(secNum / 3600); + const minutes = Math.floor((secNum - (hours * 3600)) / 60); + const seconds = secNum - (hours * 3600) - (minutes * 60); + let hoursString = ''; + let minutesString = ''; + let secondsString = ''; + hoursString = (hours < 10) ? '0' + hours : hours.toString(); + minutesString = (minutes < 10) ? '0' + minutes : minutes.toString(); + secondsString = (seconds < 10) ? '0' + seconds : seconds.toString(); + return hoursString + ':' + minutesString + ':' + secondsString; +} + getDeviceLocation() { - let isVirtual = this.device.isVirtual; - if(isVirtual==true){ - alert("emulater>>>>>>>"+isVirtual); - alert("You are using virtual device"); + const isVirtual = this.device.isVirtual; + if (isVirtual === true){ + alert('emulater>>>>>>>' + isVirtual); + alert('You are using virtual device'); return false; } - this.permissions.requestLocationAutherization().then(granted => { this.location = granted as boolean; if (this.location) { @@ -114,9 +219,8 @@ export class HomePage implements OnInit { this.attendance(); }) .catch(error => { - console.log("Error getting location", error); + console.log('Error getting location', error); }); - } else { return false; } @@ -128,8 +232,8 @@ export class HomePage implements OnInit { setServicesPrivilage() { for (let i = 0; i < AuthenticationService.servicePrivilage.length; i++) if (AuthenticationService.servicePrivilage[i].Previlege == false) { - document.getElementById(AuthenticationService.servicePrivilage[i].ServiceName).setAttribute("disabled", "disabled"); - document.getElementById(AuthenticationService.servicePrivilage[i].ServiceName).style.filter = "grayscale(1)" + document.getElementById(AuthenticationService.servicePrivilage[i].ServiceName).setAttribute('disabled', 'disabled'); + document.getElementById(AuthenticationService.servicePrivilage[i].ServiceName).style.filter = 'grayscale(1)' } } getCount() { @@ -169,20 +273,19 @@ export class HomePage implements OnInit { ionViewDidLoad() { this.getUserDetails(); - console.log("getUserDetails"); + console.log('getUserDetails'); this.geolocation .getCurrentPosition() .then(resp => { // resp.coords.latitude // resp.coords.longitude - //console.log("Loc 1"); console.log(resp.coords.latitude); console.log(resp.coords.longitude); this.lat = resp.coords.latitude; this.longt = resp.coords.longitude; }) .catch(error => { - console.log("Error getting location", error); + console.log('Error getting location', error); }); } private openMenu() { @@ -193,12 +296,12 @@ export class HomePage implements OnInit { .loadAuthenticatedUser() .subscribe((user: AuthenticatedUser) => { if (user) { - this.events.publish("setMenu"); + this.events.publish('setMenu'); this.userData = user; - //set User Info + // set User Info this.sharedData.setSharedData(this.userData, AuthenticatedUser.SHARED_DATA); this.user_image = user.EMPLOYEE_IMAGE - ? "data:image/png;base64," + user.EMPLOYEE_IMAGE + ? 'data:image/png;base64,' + user.EMPLOYEE_IMAGE : this.user_image; console.log(user); } else { @@ -207,7 +310,7 @@ export class HomePage implements OnInit { }); } public Vacation_Rule() { - this.common.navigateForward("/vacation-rule/home"); + this.common.navigateForward('/vacation-rule/home'); } private getMenu() { this.menuService.getMenu().subscribe((result: MenuResponse) => { @@ -217,8 +320,10 @@ export class HomePage implements OnInit { private handleMenuResult(result) { if (this.common.validResponse(result)) { if (this.common.hasData(result.List_Menu)) { - console.log("list menu"); + console.log('list menu'); this.menuList = result.List_Menu; + console.log('umar: ' + this.menuList); + this.getMenuDetails(); } } } @@ -230,31 +335,33 @@ export class HomePage implements OnInit { this.common.openChangeImagePage(); } - public getMeunDetails(index) { - let item = this.menuList[index]; - let selMenu: MenuResponse = new MenuResponse(); + public getMenuDetails() { + const item = this.menuList[0]; + const selMenu: MenuResponse = new MenuResponse(); selMenu.List_Menu = item; selMenu.userid = this.userData.EMPLOYEE_NUMBER; - console.log("menu: "+selMenu.List_Menu); + console.log('menu: ' + selMenu.List_Menu); this.common.sharedService.setSharedData(selMenu, MenuResponse.SHARED_DATA); - if (item.MENU_TYPE == "M") { - this.common.openMyTeamPage(); - // this.navCtrl.push("MySubordinatePage"); - } else if (item.MENU_TYPE == "S") { - this.common.sharedService.setSharedData(item, 'mySpecList'); - this.common.openMySpecialistPage(); - //this.navCtrl.push('MySpecialistPage',{"mySpecList":item}); - } else { - this.getMenuEntries(item); - } + this.getMenuEntries(item); + // if (item.MENU_TYPE === 'M') { + // this.common.openMyTeamPage(); + // // this.navCtrl.push("MySubordinatePage"); + // } else if (item.MENU_TYPE === 'S') { + // this.common.sharedService.setSharedData(item, 'mySpecList'); + // this.common.openMySpecialistPage(); + // // this.navCtrl.push('MySpecialistPage',{"mySpecList":item}); + // } else { + // this.getMenuEntries(item); + // } } getMenuEntries(item) { - let request: any = {}; + console.log('umar I am clicked2'); + const request: any = {}; let selEmpNo: string = null; let nationality: string = null; request.P_SELECTED_RESP_ID = -999; - if (item.MENU_TYPE == "S") { + if (item.MENU_TYPE === 'S') { request.P_SELECTED_RESP_ID = item.RESP_ID; } else { selEmpNo = this.common.sharedService.getSharedData( @@ -269,8 +376,8 @@ export class HomePage implements OnInit { request.P_SELECTED_EMPLOYEE_NUMBER = selEmpNo; request.P_MENU_TYPE = item.MENU_TYPE; request.NationalityCode = nationality; - //set emp and resp id - console.log("set data"); + // set emp and resp id + console.log('set data'); this.common.sharedService.setSharedData( selEmpNo, MenuResponse.SHARED_SEL_EMP @@ -288,10 +395,12 @@ export class HomePage implements OnInit { } sortMenuEntires(list) { - let tree = this.common.list_to_tree(list); - this.common.sharedService.setSharedData(tree, "menuEntries"); + const tree = this.common.list_to_tree(list); + this.menuEntries = tree; + console.log(this.menuEntries); + this.common.sharedService.setSharedData(tree, 'menuEntries'); // this.common.navigateForward("/eit/homepage"); - this.common.openEITPage(); + // this.common.openEITPage(); } private handleMenuEntiresResult(result) { @@ -313,8 +422,8 @@ export class HomePage implements OnInit { // flash: "off", // drawSight: false // }; - //console.log("your currnt location is"); - //console.log("Loc"); + // console.log("your currnt location is"); + // console.log("Loc"); this.permissions.requestCameraAutherization().then(granted => { this.camera = granted as boolean; if (this.camera) { @@ -352,25 +461,25 @@ export class HomePage implements OnInit { } swipeAttendance() { - let request: attendanceSwipeScannerRequest = new attendanceSwipeScannerRequest(); + const request: attendanceSwipeScannerRequest = new attendanceSwipeScannerRequest(); request.Latitude = this.lat; request.Longitude = this.longt; request.QRValue = this.scannedResult.text; request.UID = this.deviceID; request.UserName = this.userData.EMPLOYEE_NUMBER; - console.log("request"); + console.log('request'); console.log(JSON.stringify(request)); this.attendance_service .attendanceSwipeScanner(request, () => { - console.log("Error inside in swipe attendance"); + console.log('Error inside in swipe attendance'); }) .subscribe((result: Response) => { if (this.common.validResponse(result)) { - console.log("response"); + console.log('response'); console.log(result); - this.common.presentAlert(this.ts.trPK("home", "swipeAlertSuccess")); + this.common.presentAlert(this.ts.trPK('home', 'swipeAlertSuccess')); } else { - this.common.presentAlert(this.ts.trPK("home", "swipeAlertFailed")); + this.common.presentAlert(this.ts.trPK('home', 'swipeAlertFailed')); } }); } @@ -378,3 +487,14 @@ export class HomePage implements OnInit { this.common.openProfile(); } } + + + + + + + + + + + diff --git a/Mohem/src/assets/icon/new-design/advance_payments.png b/Mohem/src/assets/icon/new-design/advance_payments.png new file mode 100644 index 00000000..f867e013 Binary files /dev/null and b/Mohem/src/assets/icon/new-design/advance_payments.png differ diff --git a/Mohem/src/assets/icon/new-design/attendance_button_icon.png b/Mohem/src/assets/icon/new-design/attendance_button_icon.png new file mode 100644 index 00000000..ef62408c Binary files /dev/null and b/Mohem/src/assets/icon/new-design/attendance_button_icon.png differ diff --git a/Mohem/src/assets/icon/new-design/borrowing_passport.png b/Mohem/src/assets/icon/new-design/borrowing_passport.png new file mode 100644 index 00000000..5c1824ee Binary files /dev/null and b/Mohem/src/assets/icon/new-design/borrowing_passport.png differ diff --git a/Mohem/src/assets/icon/new-design/employee_certificate.png b/Mohem/src/assets/icon/new-design/employee_certificate.png new file mode 100644 index 00000000..e54f21bf Binary files /dev/null and b/Mohem/src/assets/icon/new-design/employee_certificate.png differ diff --git a/Mohem/src/assets/icon/new-design/id_badge_request.png b/Mohem/src/assets/icon/new-design/id_badge_request.png new file mode 100644 index 00000000..2af2dff7 Binary files /dev/null and b/Mohem/src/assets/icon/new-design/id_badge_request.png differ diff --git a/Mohem/src/assets/icon/new-design/it_forms.png b/Mohem/src/assets/icon/new-design/it_forms.png new file mode 100644 index 00000000..793d983c Binary files /dev/null and b/Mohem/src/assets/icon/new-design/it_forms.png differ diff --git a/Mohem/src/assets/icon/new-design/leave_balance.png b/Mohem/src/assets/icon/new-design/leave_balance.png new file mode 100644 index 00000000..c915cc7e Binary files /dev/null and b/Mohem/src/assets/icon/new-design/leave_balance.png differ diff --git a/Mohem/src/assets/icon/new-design/leave_management.png b/Mohem/src/assets/icon/new-design/leave_management.png new file mode 100644 index 00000000..8b32b4ca Binary files /dev/null and b/Mohem/src/assets/icon/new-design/leave_management.png differ diff --git a/Mohem/src/assets/icon/new-design/medical_insurance.png b/Mohem/src/assets/icon/new-design/medical_insurance.png new file mode 100644 index 00000000..21196156 Binary files /dev/null and b/Mohem/src/assets/icon/new-design/medical_insurance.png differ diff --git a/Mohem/src/assets/icon/new-design/missing_swipe.png b/Mohem/src/assets/icon/new-design/missing_swipe.png new file mode 100644 index 00000000..8f8b3fdc Binary files /dev/null and b/Mohem/src/assets/icon/new-design/missing_swipe.png differ diff --git a/Mohem/src/assets/icon/new-design/pay_slip.png b/Mohem/src/assets/icon/new-design/pay_slip.png new file mode 100644 index 00000000..7aab9d1e Binary files /dev/null and b/Mohem/src/assets/icon/new-design/pay_slip.png differ diff --git a/Mohem/src/assets/icon/new-design/pending_request.png b/Mohem/src/assets/icon/new-design/pending_request.png new file mode 100644 index 00000000..e427ee6a Binary files /dev/null and b/Mohem/src/assets/icon/new-design/pending_request.png differ diff --git a/Mohem/src/assets/icon/new-design/recreational_activities.png b/Mohem/src/assets/icon/new-design/recreational_activities.png new file mode 100644 index 00000000..26e20956 Binary files /dev/null and b/Mohem/src/assets/icon/new-design/recreational_activities.png differ diff --git a/Mohem/src/assets/icon/new-design/separation_resignation.png b/Mohem/src/assets/icon/new-design/separation_resignation.png new file mode 100644 index 00000000..420ab0fe Binary files /dev/null and b/Mohem/src/assets/icon/new-design/separation_resignation.png differ diff --git a/Mohem/src/assets/icon/new-design/ticket_balance.png b/Mohem/src/assets/icon/new-design/ticket_balance.png new file mode 100644 index 00000000..f769f41c Binary files /dev/null and b/Mohem/src/assets/icon/new-design/ticket_balance.png differ diff --git a/Mohem/src/assets/icon/new-design/ticket_request.png b/Mohem/src/assets/icon/new-design/ticket_request.png new file mode 100644 index 00000000..f455ce2e Binary files /dev/null and b/Mohem/src/assets/icon/new-design/ticket_request.png differ diff --git a/Mohem/src/assets/icon/new-design/uniform_request.png b/Mohem/src/assets/icon/new-design/uniform_request.png new file mode 100644 index 00000000..3e104c70 Binary files /dev/null and b/Mohem/src/assets/icon/new-design/uniform_request.png differ diff --git a/Mohem/src/assets/icon/new-design/vacation_rules.png b/Mohem/src/assets/icon/new-design/vacation_rules.png new file mode 100644 index 00000000..ab4d5676 Binary files /dev/null and b/Mohem/src/assets/icon/new-design/vacation_rules.png differ diff --git a/Mohem/src/assets/icon/new-design/work_list.png b/Mohem/src/assets/icon/new-design/work_list.png new file mode 100644 index 00000000..6b7b2dd6 Binary files /dev/null and b/Mohem/src/assets/icon/new-design/work_list.png differ diff --git a/Mohem/src/theme/styles.scss b/Mohem/src/theme/styles.scss index 73b3023f..d1df6cd7 100644 --- a/Mohem/src/theme/styles.scss +++ b/Mohem/src/theme/styles.scss @@ -855,3 +855,17 @@ color: var(--dark); // left: 0; // width: 100%; // +// .employee-slider .custom-button{ +// padding: 13px !important; +// } +// .employee-slider .iconBox img{ +// max-width: 40% !important; +// } + +.slideFullWidth { + margin-left:-15px; + margin-right:-15px; +} +.slideFullWidth .swiper-container .swiper-wrapper .swiper-slide:first-child { + margin-left:15px; +} \ No newline at end of file diff --git a/Mohem/tsconfig.json b/Mohem/tsconfig.json index b271fd9f..1d9c2de7 100644 --- a/Mohem/tsconfig.json +++ b/Mohem/tsconfig.json @@ -18,5 +18,10 @@ "es2018", "dom" ] + }, + "angularCompilerOptions": { + "fullTemplateTypeCheck": true, + "strictInjectionParameters": true } } +