From a9dcd3eb0b6ef83a8e1e7959b96b44ebc60c881e Mon Sep 17 00:00:00 2001 From: Sultan Khan Date: Mon, 31 May 2021 15:59:09 +0300 Subject: [PATCH] ERM Channel design --- Mohem/package.json | 1 + Mohem/src/app/app-routing.module.ts | 75 ++++---- Mohem/src/app/app.component.ts | 103 +++++----- .../src/app/erm-channel/erm-channel.module.ts | 41 ++++ .../src/app/erm-channel/erm-channel.page.html | 4 + .../src/app/erm-channel/erm-channel.page.scss | 0 .../app/erm-channel/erm-channel.page.spec.ts | 27 +++ Mohem/src/app/erm-channel/erm-channel.page.ts | 15 ++ .../app/erm-channel/home/home.component.html | 12 ++ .../app/erm-channel/home/home.component.scss | 44 +++++ .../erm-channel/home/home.component.spec.ts | 27 +++ .../app/erm-channel/home/home.component.ts | 19 ++ .../erm-channel/survey/survey.component.html | 71 +++++++ .../erm-channel/survey/survey.component.scss | 50 +++++ .../survey/survey.component.spec.ts | 27 +++ .../erm-channel/survey/survey.component.ts | 20 ++ .../services/common/common.service.ts | 182 +++++++++--------- Mohem/src/app/home/home.page.html | 27 ++- Mohem/src/app/home/home.page.ts | 2 +- .../itemforsale/items/items.component.html | 19 +- .../itemforsale/items/items.component.scss | 21 ++ .../app/itemforsale/items/items.component.ts | 4 + Mohem/src/assets/icon/rate/bad.svg | 3 + Mohem/src/assets/icon/rate/close.svg | 5 + Mohem/src/assets/icon/rate/dislike.svg | 9 + Mohem/src/assets/icon/rate/good.svg | 3 + Mohem/src/assets/icon/rate/info.svg | 8 + Mohem/src/assets/icon/rate/like.svg | 9 + Mohem/src/assets/icon/rate/normal.svg | 3 + Mohem/src/assets/icon/rate/poor.svg | 3 + Mohem/src/assets/icon/rate/star-half.svg | 4 + Mohem/src/assets/icon/rate/star-unfill.svg | 4 + Mohem/src/assets/icon/rate/star0fill.svg | 3 + Mohem/src/assets/icon/rate/xcellent.svg | 3 + Mohem/src/theme/styles.scss | 15 +- 35 files changed, 669 insertions(+), 194 deletions(-) create mode 100644 Mohem/src/app/erm-channel/erm-channel.module.ts create mode 100644 Mohem/src/app/erm-channel/erm-channel.page.html create mode 100644 Mohem/src/app/erm-channel/erm-channel.page.scss create mode 100644 Mohem/src/app/erm-channel/erm-channel.page.spec.ts create mode 100644 Mohem/src/app/erm-channel/erm-channel.page.ts create mode 100644 Mohem/src/app/erm-channel/home/home.component.html create mode 100644 Mohem/src/app/erm-channel/home/home.component.scss create mode 100644 Mohem/src/app/erm-channel/home/home.component.spec.ts create mode 100644 Mohem/src/app/erm-channel/home/home.component.ts create mode 100644 Mohem/src/app/erm-channel/survey/survey.component.html create mode 100644 Mohem/src/app/erm-channel/survey/survey.component.scss create mode 100644 Mohem/src/app/erm-channel/survey/survey.component.spec.ts create mode 100644 Mohem/src/app/erm-channel/survey/survey.component.ts create mode 100644 Mohem/src/assets/icon/rate/bad.svg create mode 100644 Mohem/src/assets/icon/rate/close.svg create mode 100644 Mohem/src/assets/icon/rate/dislike.svg create mode 100644 Mohem/src/assets/icon/rate/good.svg create mode 100644 Mohem/src/assets/icon/rate/info.svg create mode 100644 Mohem/src/assets/icon/rate/like.svg create mode 100644 Mohem/src/assets/icon/rate/normal.svg create mode 100644 Mohem/src/assets/icon/rate/poor.svg create mode 100644 Mohem/src/assets/icon/rate/star-half.svg create mode 100644 Mohem/src/assets/icon/rate/star-unfill.svg create mode 100644 Mohem/src/assets/icon/rate/star0fill.svg create mode 100644 Mohem/src/assets/icon/rate/xcellent.svg diff --git a/Mohem/package.json b/Mohem/package.json index 27fec419..63431537 100755 --- a/Mohem/package.json +++ b/Mohem/package.json @@ -100,6 +100,7 @@ "date-fns": "^1.30.1", "es6-promise-plugin": "^4.1.0", "ionic2-calendar": "^0.5.10", + "ionic4-rating": "^1.0.9", "ng-circle-progress": "^1.6.0", "ng2-file-upload": "^1.3.0", "ng2-pdf-viewer": "^5.3.2", diff --git a/Mohem/src/app/app-routing.module.ts b/Mohem/src/app/app-routing.module.ts index c2bbba01..3c642b27 100644 --- a/Mohem/src/app/app-routing.module.ts +++ b/Mohem/src/app/app-routing.module.ts @@ -1,38 +1,39 @@ -import { NgModule } from '@angular/core'; -import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; +import { NgModule } from '@angular/core'; +import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; + + +const routes: Routes = [ + { path: '', redirectTo: 'authentication/login', pathMatch: 'full' }, + { + path: 'authentication', loadChildren: './authentication/authentication.module#AuthenticationPageModule' + }, + { path: 'home', loadChildren: './home/home.module#HomePageModule' }, + { path: 'profile', loadChildren: './profile/profile.module#ProfilePageModule' }, + { path: 'vacation-rule', loadChildren: './vacation-rule/vacation-rule.module#VacationRulePageModule' }, + { path: 'accrual-balances', loadChildren: './accrual-balances/accrual-balances.module#AccrualBalancesPageModule' }, + { path: 'my-team', loadChildren: './my-team/my-team.module#MyTeamPageModule' }, + { path: 'attendance', loadChildren: './attendance/attendance.module#AttendancePageModule' }, + { path: 'eit', loadChildren: './eit/eit.module#EITPageModule' }, + { path: 'absence', loadChildren: './absence/absence.module#AbsencePageModule' }, + { path: 'notification', loadChildren: './notification/notification.module#NotificationPageModule' }, + { path: 'my-specialist', loadChildren: './my-specialist/my-specialist.module#MySpecialistPageModule' }, + { path: 'my-subordinate', loadChildren: './my-subordinate/my-subordinate.module#MySubordinatePageModule' }, + { path: 'time-card', loadChildren: './time-card/time-card.module#TimeCardPageModule' }, + { path: 'payslip', loadChildren: './payslip/payslip.module#PayslipPageModule' }, + { path: 'attendance-tracking', loadChildren: './attendance-tracking/attendance-tracking.module#AttendanceTrackingPageModule' }, + { path: 'itemforsale', loadChildren: './itemforsale/itemforsale.module#ItemforsalePageModule' }, + { path: 'offersdiscount', loadChildren: './offersdiscount/offersdiscount.module#OffersdiscountPageModule' }, { path: 'erm-channel', loadChildren: './erm-channel/erm-channel.module#ErmChannelPageModule' } - -const routes: Routes = [ - { path: '', redirectTo: 'authentication/login', pathMatch: 'full' }, - { - path: 'authentication', loadChildren: './authentication/authentication.module#AuthenticationPageModule' - }, - { path: 'home', loadChildren: './home/home.module#HomePageModule' }, - { path: 'profile', loadChildren: './profile/profile.module#ProfilePageModule' }, - { path: 'vacation-rule', loadChildren: './vacation-rule/vacation-rule.module#VacationRulePageModule' }, - { path: 'accrual-balances', loadChildren: './accrual-balances/accrual-balances.module#AccrualBalancesPageModule' }, - { path: 'my-team', loadChildren: './my-team/my-team.module#MyTeamPageModule' }, - { path: 'attendance', loadChildren: './attendance/attendance.module#AttendancePageModule' }, - { path: 'eit', loadChildren: './eit/eit.module#EITPageModule' }, - { path: 'absence', loadChildren: './absence/absence.module#AbsencePageModule' }, - { path: 'notification', loadChildren: './notification/notification.module#NotificationPageModule' }, - { path: 'my-specialist', loadChildren: './my-specialist/my-specialist.module#MySpecialistPageModule' }, - { path: 'my-subordinate', loadChildren: './my-subordinate/my-subordinate.module#MySubordinatePageModule' }, - { path: 'time-card', loadChildren: './time-card/time-card.module#TimeCardPageModule' }, - { path: 'payslip', loadChildren: './payslip/payslip.module#PayslipPageModule' }, - { path: 'attendance-tracking', loadChildren: './attendance-tracking/attendance-tracking.module#AttendanceTrackingPageModule' }, - { path: 'itemforsale', loadChildren: './itemforsale/itemforsale.module#ItemforsalePageModule' }, - { path: 'offersdiscount', loadChildren: './offersdiscount/offersdiscount.module#OffersdiscountPageModule' } - - - -]; - -@NgModule({ - imports: [ - /*RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules}),*/ - RouterModule.forRoot(routes), - ], - exports: [RouterModule] -}) -export class AppRoutingModule { } + + + +]; + +@NgModule({ + imports: [ + /*RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules}),*/ + RouterModule.forRoot(routes), + ], + exports: [RouterModule] +}) +export class AppRoutingModule { } diff --git a/Mohem/src/app/app.component.ts b/Mohem/src/app/app.component.ts index 020b130c..891be487 100644 --- a/Mohem/src/app/app.component.ts +++ b/Mohem/src/app/app.component.ts @@ -67,9 +67,9 @@ export class AppComponent implements OnInit { private hideSplashScreen() { setTimeout(() => { - this.splashScreen.hide(); + this.splashScreen.hide(); }, 1000); -} + } public initializeApp() { this.cs.startLoading(); @@ -106,9 +106,10 @@ export class AppComponent implements OnInit { private startReceivingPushService() { this.pushService.startReceiving(); setTimeout(() => { - console.log(' in setTimeout startReceiving'); - this.getLastLoginInfo(); - }, 4000); + console.log(' in setTimeout startReceiving'); + this.getLastLoginInfo(); + + }, 4000); } public subscribeEvents() { @@ -119,23 +120,27 @@ export class AppComponent implements OnInit { }); this.events.subscribe('setMenu', () => { const user = this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => { - if (user) { - console.log(user); - localStorage.setItem("digitalIDUser", JSON.stringify(user)); - this.digitalIDUser = user//JSON.stringify(user); - this.companyUrl = user.CompanyImageURL ? user.CompanyImageURL : '../assets/imgs/CSLogo.png'; - this.companyDesc = user.CompanyImageDescription ? user.CompanyImageDescription : 'Powered By Cloud Solutions'; - this.User_name_Emp = user.EMPLOYEE_DISPLAY_NAME; - if (this.cs.getUpdateImage().status) { - this.user_image = this.sanitizer.bypassSecurityTrustUrl('data:image/png;base64,' + this.cs.getUpdateImage().img); - } else { - this.user_image = user.EMPLOYEE_IMAGE ? 'data:image/png;base64,' + user.EMPLOYEE_IMAGE : '../assets/imgs/profile.png'; - } - this.User_Job_name = user.JOB_NAME; + if (user) { + console.log(user); + + localStorage.setItem("digitalIDUser", JSON.stringify(user)); + this.digitalIDUser = user//JSON.stringify(user); + this.companyUrl = user.CompanyImageURL ? user.CompanyImageURL : '../assets/imgs/CSLogo.png'; + this.companyDesc = user.CompanyImageDescription ? user.CompanyImageDescription : 'Powered By Cloud Solutions'; + this.User_name_Emp = user.EMPLOYEE_DISPLAY_NAME; + if (this.cs.getUpdateImage().status) { + this.user_image = this.sanitizer.bypassSecurityTrustUrl('data:image/png;base64,' + this.cs.getUpdateImage().img); } else { - console.log(user); + this.user_image = user.EMPLOYEE_IMAGE ? 'data:image/png;base64,' + user.EMPLOYEE_IMAGE : '../assets/imgs/profile.png'; } - }); + this.User_Job_name = user.JOB_NAME; + //erm channel + if (!CommonService.SKIP) + this.cs.navigateForward('/erm-channel/survey'); + } else { + console.log(user); + } + }); }); this.events.subscribe('getNotCount', badge => { this.notBadge = badge; }); this.events.subscribe('myTeamFlag', myTeamFlag => { this.TeamFlag = myTeamFlag; }); @@ -195,14 +200,14 @@ export class AppComponent implements OnInit { async openDigitalId() { const modal = await this.modalController.create({ - component: DigitalIdComponent, - cssClass: 'digital-id-modal-css', - componentProps: { - 'userInfo':this.digitalIDUser//JSON.parse(this.digitalIDUser) - } + component: DigitalIdComponent, + cssClass: 'digital-id-modal-css', + componentProps: { + 'userInfo': this.digitalIDUser//JSON.parse(this.digitalIDUser) + } }); return await modal.present(); -} + } private changeImage() { this.cs.openChangeImagePage(); @@ -214,40 +219,40 @@ export class AppComponent implements OnInit { } public getLastLoginInfo() { - this.deviceToken = this.cs.getDeviceToken(); + this.deviceToken = this.cs.getDeviceToken(); if (this.deviceToken) { - console.log('login enabled first time: ' + this.deviceToken); + console.log('login enabled first time: ' + this.deviceToken); } else { this.pushService.startReceiving(); setTimeout(() => { - this.deviceToken = localStorage.getItem('deviceToken'); + this.deviceToken = localStorage.getItem('deviceToken'); }, 1000); } this.requestGetLoginInfo = { - DeviceType: this.cs.getDeviceType(), - DeviceToken: this.deviceToken + DeviceType: this.cs.getDeviceType(), + DeviceToken: this.deviceToken }; - this.authService.getLoginInfo(this.requestGetLoginInfo, () => {}, this.ts.trPK('general', 'ok')).subscribe(res => { + this.authService.getLoginInfo(this.requestGetLoginInfo, () => { }, this.ts.trPK('general', 'ok')).subscribe(res => { if (this.cs.validResponse(res)) { - if (res.Mohemm_GetMobileLoginInfoList.length > 0) { - this.cs.sharedService.setSharedData(res.Mohemm_GetMobileLoginInfoList[0], AuthenticationService.IMEI_USER_DATA); - this.user = true; - this.events.publish('user', this.user); - - if (this.logoutFlage) { - this.cs.openLogin(); - } - } else { - this.user = false; - this.events.publish('user', this.user); - - if (this.logoutFlage) { - this.cs.openLogin(); - } - } - } else {} + if (res.Mohemm_GetMobileLoginInfoList.length > 0) { + this.cs.sharedService.setSharedData(res.Mohemm_GetMobileLoginInfoList[0], AuthenticationService.IMEI_USER_DATA); + this.user = true; + this.events.publish('user', this.user); + + if (this.logoutFlage) { + this.cs.openLogin(); + } + } else { + this.user = false; + this.events.publish('user', this.user); + + if (this.logoutFlage) { + this.cs.openLogin(); + } + } + } else { } }); } } diff --git a/Mohem/src/app/erm-channel/erm-channel.module.ts b/Mohem/src/app/erm-channel/erm-channel.module.ts new file mode 100644 index 00000000..9b422bfc --- /dev/null +++ b/Mohem/src/app/erm-channel/erm-channel.module.ts @@ -0,0 +1,41 @@ +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 { IonicRatingModule } from 'ionic4-rating'; +import { ErmChannelPage } from './erm-channel.page'; +import { HomeComponent } from './home/home.component'; +import { SurveyComponent } from './survey/survey.component'; +import { HmgCommonModule } from '../hmg-common/hmg-common.module'; + +const routes: Routes = [ + { + path: '', + component: ErmChannelPage, + children: [ + { + path: 'home', + component: HomeComponent + }, + { + path: 'survey', + component: SurveyComponent + }, + ] + } +]; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + IonicRatingModule, + HmgCommonModule, + RouterModule.forChild(routes) + ], + declarations: [ErmChannelPage, HomeComponent, SurveyComponent] +}) +export class ErmChannelPageModule { } diff --git a/Mohem/src/app/erm-channel/erm-channel.page.html b/Mohem/src/app/erm-channel/erm-channel.page.html new file mode 100644 index 00000000..d26b79fd --- /dev/null +++ b/Mohem/src/app/erm-channel/erm-channel.page.html @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Mohem/src/app/erm-channel/erm-channel.page.scss b/Mohem/src/app/erm-channel/erm-channel.page.scss new file mode 100644 index 00000000..e69de29b diff --git a/Mohem/src/app/erm-channel/erm-channel.page.spec.ts b/Mohem/src/app/erm-channel/erm-channel.page.spec.ts new file mode 100644 index 00000000..9a886696 --- /dev/null +++ b/Mohem/src/app/erm-channel/erm-channel.page.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ErmChannelPage } from './erm-channel.page'; + +describe('ErmChannelPage', () => { + let component: ErmChannelPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ErmChannelPage ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ErmChannelPage); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/erm-channel/erm-channel.page.ts b/Mohem/src/app/erm-channel/erm-channel.page.ts new file mode 100644 index 00000000..503ffb66 --- /dev/null +++ b/Mohem/src/app/erm-channel/erm-channel.page.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-erm-channel', + templateUrl: './erm-channel.page.html', + styleUrls: ['./erm-channel.page.scss'], +}) +export class ErmChannelPage implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/Mohem/src/app/erm-channel/home/home.component.html b/Mohem/src/app/erm-channel/home/home.component.html new file mode 100644 index 00000000..45909076 --- /dev/null +++ b/Mohem/src/app/erm-channel/home/home.component.html @@ -0,0 +1,12 @@ +
+ +
Skip
+
+ + + + + + +
+
\ No newline at end of file diff --git a/Mohem/src/app/erm-channel/home/home.component.scss b/Mohem/src/app/erm-channel/home/home.component.scss new file mode 100644 index 00000000..284af1b8 --- /dev/null +++ b/Mohem/src/app/erm-channel/home/home.component.scss @@ -0,0 +1,44 @@ +.full-ads{ + position: absolute; + height: 100%; + width: 100%; + background-size: cover; +} +.skip-btn{ + position: absolute; + background: black; + color: #fff; + margin: 10px; + right: 10px; + padding: 5px; + border-radius: 5px; +} + +.info-container { + width: 100%; + text-align: center; + bottom: 10%; + position: absolute; +} +.info-container ion-icon{ + margin: 10px; + font-size: 32px; + padding: 10px; + border-radius: 50%; + display: inline-block; +} +.red{ + background: #ff5757; + + color: #fff; +} +.green{ + background: #23f172; + + color: #fff; +} +.white{ + background: #fff; + + color: #000; +} \ No newline at end of file diff --git a/Mohem/src/app/erm-channel/home/home.component.spec.ts b/Mohem/src/app/erm-channel/home/home.component.spec.ts new file mode 100644 index 00000000..5ec1377b --- /dev/null +++ b/Mohem/src/app/erm-channel/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/erm-channel/home/home.component.ts b/Mohem/src/app/erm-channel/home/home.component.ts new file mode 100644 index 00000000..92b38fc5 --- /dev/null +++ b/Mohem/src/app/erm-channel/home/home.component.ts @@ -0,0 +1,19 @@ +import { Component, OnInit } from '@angular/core'; +import { NavController } from '@ionic/angular'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; + +@Component({ + selector: 'app-home', + templateUrl: './home.component.html', + styleUrls: ['./home.component.scss'], +}) +export class HomeComponent implements OnInit { + + constructor(public nav: NavController,) { } + + ngOnInit() { } + skip() { + this.nav.pop(); + CommonService.SKIP = true; + } +} diff --git a/Mohem/src/app/erm-channel/survey/survey.component.html b/Mohem/src/app/erm-channel/survey/survey.component.html new file mode 100644 index 00000000..e0a38107 --- /dev/null +++ b/Mohem/src/app/erm-channel/survey/survey.component.html @@ -0,0 +1,71 @@ + +
Skip
+ + + + This is to get feedback about the user experience + + + + + + +

1. How would you like to rate

+
+
+ + + + + +
+ + + +

2. How do you satisfied about this application

+
+
+ + + + + + + + + + + + + + + + + + + +
+ + +

Please give us a comments

+
+
+ + + + + + + + + + + +
+ +
+ + {{'general,submit' | translate}} + +
+
\ No newline at end of file diff --git a/Mohem/src/app/erm-channel/survey/survey.component.scss b/Mohem/src/app/erm-channel/survey/survey.component.scss new file mode 100644 index 00000000..6746f0f9 --- /dev/null +++ b/Mohem/src/app/erm-channel/survey/survey.component.scss @@ -0,0 +1,50 @@ + +.survey-content{ + --background:#f5f5f5; + +} +.title-text{ font-size: 28px; font-weight: bold;text-align: center; margin-top:20%} +.survey-content{ + margin-top:50px; +} +.subheading{ + margin:30px 30px 0px 30px; + font-size: 20px; +font-weight: bold;} + +.bottom-line{ + height: 150px; +} +.doctor-card{ + background: #fff; + margin: 10px 20px 10px 20px; + border-radius: 10px; +} +.comments{ + margin-left: 20px; + margin-bottom: 0; + font-weight: bold; +} +.faces-row{ +margin-left: 20px; +margin-right:20px; +} +.faces-row ion-col{ + background: #fff; + text-align: center; + border-radius: 7px; + margin: 5px; +} +ion-footer .footer-button{ + --background: #259CB8; + width: 80%; +} +.skip-btn{ + position: absolute; + background: black; + color: #fff; + margin: 10px; + right: 10px; + padding: 5px; + border-radius: 5px; +} \ No newline at end of file diff --git a/Mohem/src/app/erm-channel/survey/survey.component.spec.ts b/Mohem/src/app/erm-channel/survey/survey.component.spec.ts new file mode 100644 index 00000000..702e7887 --- /dev/null +++ b/Mohem/src/app/erm-channel/survey/survey.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SurveyComponent } from './survey.component'; + +describe('SurveyComponent', () => { + let component: SurveyComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SurveyComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SurveyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/erm-channel/survey/survey.component.ts b/Mohem/src/app/erm-channel/survey/survey.component.ts new file mode 100644 index 00000000..fbcc59ea --- /dev/null +++ b/Mohem/src/app/erm-channel/survey/survey.component.ts @@ -0,0 +1,20 @@ +import { Component, OnInit } from '@angular/core'; +import { NavController } from '@ionic/angular'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; + +@Component({ + selector: 'app-survey', + templateUrl: './survey.component.html', + styleUrls: ['./survey.component.scss'], +}) +export class SurveyComponent implements OnInit { + rate: any; + constructor(public ts: TranslatorService, public cs: CommonService, public nav: NavController) { } + + ngOnInit() { } + skip() { + this.nav.pop(); + CommonService.SKIP = true; + } +} 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 83f50a82..2a029076 100644 --- a/Mohem/src/app/hmg-common/services/common/common.service.ts +++ b/Mohem/src/app/hmg-common/services/common/common.service.ts @@ -35,7 +35,7 @@ export class CommonService { public static MOHEMM_WIFI_SSID = ""; public static MOHEMM_WIFI_PASSWORD = ""; - + public static SKIP = false; public static months_en_long = [ 'January', 'February', @@ -81,8 +81,8 @@ export class CommonService { private progressLoaders: any[] = []; private loadingProgress: any; - public updateImage:boolean=false; - public setUpdateImg:any; + public updateImage: boolean = false; + public setUpdateImg: any; DT: any; activeType: any; constructor( @@ -105,7 +105,7 @@ export class CommonService { public diagnostic: Diagnostic, public iab: InAppBrowser, private menu: MenuController, - ) {} + ) { } public back() { // this.nav.pop(); @@ -118,61 +118,61 @@ export class CommonService { public getMonthName(value: number): string { switch (value) { - case 1: - return 'January'; - case 2: - return 'February'; - case 3: - return 'March'; - case 4: - return 'April'; - case 5: - return 'May'; - case 6: - return 'June'; - case 7: - return 'July'; - case 8: - return 'August'; - case 9: - return 'September'; - case 10: - return 'October'; - case 11: - return 'November'; - case 12: - return 'December'; + case 1: + return 'January'; + case 2: + return 'February'; + case 3: + return 'March'; + case 4: + return 'April'; + case 5: + return 'May'; + case 6: + return 'June'; + case 7: + return 'July'; + case 8: + return 'August'; + case 9: + return 'September'; + case 10: + return 'October'; + case 11: + return 'November'; + case 12: + return 'December'; } -} + } -public getMonthNameAr(value: number): string { + public getMonthNameAr(value: number): string { switch (value) { - case 1: - return 'يناير'; - case 2: - return ' فبراير'; - case 3: - return 'مارس'; - case 4: - return 'أبريل'; - case 5: - return 'مايو'; - case 6: - return 'يونيو'; - case 7: - return 'يوليو'; - case 8: - return 'أغسطس'; - case 9: - return 'سبتمبر'; - case 10: - return ' اكتوبر'; - case 11: - return ' نوفمبر'; - case 12: - return 'ديسمبر'; + case 1: + return 'يناير'; + case 2: + return ' فبراير'; + case 3: + return 'مارس'; + case 4: + return 'أبريل'; + case 5: + return 'مايو'; + case 6: + return 'يونيو'; + case 7: + return 'يوليو'; + case 8: + return 'أغسطس'; + case 9: + return 'سبتمبر'; + case 10: + return ' اكتوبر'; + case 11: + return ' نوفمبر'; + case 12: + return 'ديسمبر'; } -} + } public round(value: number, decimal: number): string { const valueStr = value.toString(); @@ -290,7 +290,7 @@ public getMonthNameAr(value: number): string { public confirmNotAllowedDialog() { this.openHome(); this.alertDialog( - () => {}, + () => { }, this.ts.trPK('general', 'ok'), this.ts.trPK('general', 'info'), this.ts.trPK('general', 'not-allowed') @@ -436,7 +436,7 @@ public getMonthNameAr(value: number): string { message: message, buttons: [ { - text:this.ts.trPK('general', 'ok'), + text: this.ts.trPK('general', 'ok'), handler: () => { if (onAccept) { onAccept(); @@ -587,8 +587,8 @@ public getMonthNameAr(value: number): string { public getDeviceType(): string { if (this.platform.is('mobile')) { - // return "Mobile " + (this.platform.is("ios") ? "Iphone" : "android"); - return (this.platform.is('ios') ? 'Iphone' : 'android'); + // return "Mobile " + (this.platform.is("ios") ? "Iphone" : "android"); + return (this.platform.is('ios') ? 'Iphone' : 'android'); } else { return 'Desktop'; @@ -620,7 +620,7 @@ public getMonthNameAr(value: number): string { private openBrowserHtml(url, onExit?, onFaild?, onSuccess?) { const browser = window.open(url, '_blank', 'location=no'); - browser.addEventListener('loadstart', () => {}); + browser.addEventListener('loadstart', () => { }); browser.addEventListener('loaderror', () => { if (onFaild) { @@ -696,7 +696,7 @@ public getMonthNameAr(value: number): string { public openLocation(lat: number, lng: number) { this.platform.ready().then(() => { this.launchNavigation.navigate([lat, lng]).then( - () => {}, + () => { }, err => { // this.failedToOpenMap(); window.open('https://maps.google.com/?q=' + lat + ',' + lng); @@ -896,7 +896,7 @@ public getMonthNameAr(value: number): string { return targetCode >= minDigit && targetCode <= maxDigit; } - public enterPage() {} + public enterPage() { } private smsAlertDialog = null; public presentSMSPasswordDialog( @@ -928,7 +928,7 @@ public getMonthNameAr(value: number): string { text: this.ts.trPK('general', 'cancel'), role: 'cancel', cssClass: 'cancel-button', - handler: () => {} + handler: () => { } }, { text: this.ts.trPK('general', 'ok'), @@ -1075,10 +1075,10 @@ public getMonthNameAr(value: number): string { /* open calls */ - public openAttenTrackingpage(){ + public openAttenTrackingpage() { this.nav.navigateForward(['/attendance-tracking/home']); } - public openAttendanceOptionsComponent(){ + public openAttendanceOptionsComponent() { this.nav.navigateForward(['/home/attendance-option']); } public openEitListPage() { @@ -1122,10 +1122,10 @@ public getMonthNameAr(value: number): string { public openPage(link: string) { this.nav.navigateForward([link]); } - public static myTeamDetailUrl =['/my-team/details','/my-team/details-2'] + public static myTeamDetailUrl = ['/my-team/details', '/my-team/details-2'] public openMyTeamDetails() { - this.alternateNavigate(CommonService.myTeamDetailUrl,'teamDetail-open',true); - // this.nav.navigateForward(["/my-team/details"]); + this.alternateNavigate(CommonService.myTeamDetailUrl, 'teamDetail-open', true); + // this.nav.navigateForward(["/my-team/details"]); } public openAbsencePage() { this.nav.navigateForward(['/absence/home']); @@ -1176,7 +1176,7 @@ public getMonthNameAr(value: number): string { this.nav.navigateForward(['/notification/item-history-PO']); } - public openMOItemHistoryPage(){ + public openMOItemHistoryPage() { this.nav.navigateForward(['/notification/item-history-MO']); } public openQutationAnalysisPage() { @@ -1227,7 +1227,7 @@ public getMonthNameAr(value: number): string { } - + public navigatePage(path) { this.nav.navigateForward([path]); } @@ -1254,7 +1254,7 @@ public getMonthNameAr(value: number): string { this.nav.navigateBack([url]); } - + private alternateNavigate(paths: string[], key: string, root = false) { let url: string; if (localStorage.getItem(key) === 'yes') { @@ -1375,7 +1375,7 @@ public getMonthNameAr(value: number): string { public formatDate(date) { let FormatedDate; console.log(date); - + if (date) { date = date.slice(0, 10); FormatedDate = date.replace(/-/g, '/'); @@ -1400,34 +1400,34 @@ public getMonthNameAr(value: number): string { return FormatedDate; } - public setUpdateImage (image,status?){ + public setUpdateImage(image, status?) { console.log('setUpdateImage'); - this.setUpdateImg=image; - this.updateImage=status; + this.setUpdateImg = image; + this.updateImage = status; } - public getUpdateImage(){ + public getUpdateImage() { console.log('getUpdateImage'); - const objImg={ - img: this.setUpdateImg, + const objImg = { + img: this.setUpdateImg, status: this.updateImage } return objImg; - + + } + setDeviceToken(deviceToken) { + this.DT = deviceToken; } - setDeviceToken(deviceToken){ - this.DT=deviceToken; - } - getDeviceToken(){ - return this.DT; - } + getDeviceToken() { + return this.DT; + } - setActiveTypeLogin(activeType){ - this.activeType=activeType; - } + setActiveTypeLogin(activeType) { + this.activeType = activeType; + } - getActiveTypeLogin(){ - return this.activeType; - } + getActiveTypeLogin() { + return this.activeType; + } } diff --git a/Mohem/src/app/home/home.page.html b/Mohem/src/app/home/home.page.html index b4ec28bb..89568cb9 100644 --- a/Mohem/src/app/home/home.page.html +++ b/Mohem/src/app/home/home.page.html @@ -56,15 +56,26 @@ + - - - - - - - - + + + Other Services + + + + + + + + + + + + + + + diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index 5a8e6ff7..d2856ac9 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -783,7 +783,7 @@ export class HomePage implements OnInit { return await modal.present(); } itemForSale() { - this.common.navigateForward('/itemforsale/home'); + this.common.navigateForward('/itemforsale/items'); } offersDiscount() { this.common.navigateForward('/offersdiscount/home'); diff --git a/Mohem/src/app/itemforsale/items/items.component.html b/Mohem/src/app/itemforsale/items/items.component.html index 3b1d5d63..fb5d94c2 100644 --- a/Mohem/src/app/itemforsale/items/items.component.html +++ b/Mohem/src/app/itemforsale/items/items.component.html @@ -8,7 +8,7 @@
- + Item for sale @@ -19,8 +19,11 @@
- +
+
+ +
@@ -32,7 +35,7 @@ -

Browse Category

+

Browse Categories

@@ -149,6 +152,7 @@
+
@@ -173,12 +177,13 @@ +
- - + +
- - {{ts.trPK('general','next')}} + + Create new ad
diff --git a/Mohem/src/app/itemforsale/items/items.component.scss b/Mohem/src/app/itemforsale/items/items.component.scss index 01fd8409..cbaa3538 100644 --- a/Mohem/src/app/itemforsale/items/items.component.scss +++ b/Mohem/src/app/itemforsale/items/items.component.scss @@ -75,6 +75,10 @@ ion-card-title{ .green{ color:#00AE4D; } +ion-segment-button{ + --background-checked: #000; + --indicator-color : transparent!important; +} ion-segment-button ion-label{ padding: 0; font-size: 12px; @@ -105,4 +109,21 @@ margin: 5px; } .edit{ margin-left:20px !important; +} +.fab-button{ + position: fixed; + bottom: 5%; + z-index: 2; + right: 10%; +} +.fab-button ion-fab-button{ + --background: #259CB8; +} +ion-footer{ + position: absolute; + bottom: 0; +} +ion-footer .footer-button{ + --background: #259CB8; + width: 80%; } \ No newline at end of file diff --git a/Mohem/src/app/itemforsale/items/items.component.ts b/Mohem/src/app/itemforsale/items/items.component.ts index f93913bb..73fc2398 100644 --- a/Mohem/src/app/itemforsale/items/items.component.ts +++ b/Mohem/src/app/itemforsale/items/items.component.ts @@ -18,4 +18,8 @@ export class ItemsComponent implements OnInit { segmentChanged(value) { this.segment = value.detail.value; } + openSale() { + this.cs.navigateForward('/itemforsale/home'); + } + } diff --git a/Mohem/src/assets/icon/rate/bad.svg b/Mohem/src/assets/icon/rate/bad.svg new file mode 100644 index 00000000..1a717423 --- /dev/null +++ b/Mohem/src/assets/icon/rate/bad.svg @@ -0,0 +1,3 @@ + + + diff --git a/Mohem/src/assets/icon/rate/close.svg b/Mohem/src/assets/icon/rate/close.svg new file mode 100644 index 00000000..195fbfe8 --- /dev/null +++ b/Mohem/src/assets/icon/rate/close.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/Mohem/src/assets/icon/rate/dislike.svg b/Mohem/src/assets/icon/rate/dislike.svg new file mode 100644 index 00000000..9a70b738 --- /dev/null +++ b/Mohem/src/assets/icon/rate/dislike.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Mohem/src/assets/icon/rate/good.svg b/Mohem/src/assets/icon/rate/good.svg new file mode 100644 index 00000000..690d4d0b --- /dev/null +++ b/Mohem/src/assets/icon/rate/good.svg @@ -0,0 +1,3 @@ + + + diff --git a/Mohem/src/assets/icon/rate/info.svg b/Mohem/src/assets/icon/rate/info.svg new file mode 100644 index 00000000..039dfff8 --- /dev/null +++ b/Mohem/src/assets/icon/rate/info.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Mohem/src/assets/icon/rate/like.svg b/Mohem/src/assets/icon/rate/like.svg new file mode 100644 index 00000000..4611580d --- /dev/null +++ b/Mohem/src/assets/icon/rate/like.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Mohem/src/assets/icon/rate/normal.svg b/Mohem/src/assets/icon/rate/normal.svg new file mode 100644 index 00000000..1885ab6a --- /dev/null +++ b/Mohem/src/assets/icon/rate/normal.svg @@ -0,0 +1,3 @@ + + + diff --git a/Mohem/src/assets/icon/rate/poor.svg b/Mohem/src/assets/icon/rate/poor.svg new file mode 100644 index 00000000..95ce430d --- /dev/null +++ b/Mohem/src/assets/icon/rate/poor.svg @@ -0,0 +1,3 @@ + + + diff --git a/Mohem/src/assets/icon/rate/star-half.svg b/Mohem/src/assets/icon/rate/star-half.svg new file mode 100644 index 00000000..2b0894e5 --- /dev/null +++ b/Mohem/src/assets/icon/rate/star-half.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Mohem/src/assets/icon/rate/star-unfill.svg b/Mohem/src/assets/icon/rate/star-unfill.svg new file mode 100644 index 00000000..0b0fc380 --- /dev/null +++ b/Mohem/src/assets/icon/rate/star-unfill.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Mohem/src/assets/icon/rate/star0fill.svg b/Mohem/src/assets/icon/rate/star0fill.svg new file mode 100644 index 00000000..51627d8f --- /dev/null +++ b/Mohem/src/assets/icon/rate/star0fill.svg @@ -0,0 +1,3 @@ + + + diff --git a/Mohem/src/assets/icon/rate/xcellent.svg b/Mohem/src/assets/icon/rate/xcellent.svg new file mode 100644 index 00000000..eab98b33 --- /dev/null +++ b/Mohem/src/assets/icon/rate/xcellent.svg @@ -0,0 +1,3 @@ + + + diff --git a/Mohem/src/theme/styles.scss b/Mohem/src/theme/styles.scss index 3c3a5deb..e47b5f2f 100644 --- a/Mohem/src/theme/styles.scss +++ b/Mohem/src/theme/styles.scss @@ -1571,4 +1571,17 @@ table.monthview-datetable th small { .fav-profileImageDiv{ width: 100%; text-align: start; -} \ No newline at end of file +} +ion-segment-button { + --indicator-color: transparent !important; + --indicator-color-checked: transparent !important; + } + #surveyRatingNew ion-button{ + background: #fff !important; + } + #surveyRatingNew ion-buttons{ + border-radius: 12px; + background: #fff; + width: 75%; + margin: auto; + } \ No newline at end of file