ERM Channel design

MOE_DEV_NEW_TEMPORARY_DESIGN
Sultan Khan 5 years ago
parent 671bd53ca1
commit a9dcd3eb0b

@ -100,6 +100,7 @@
"date-fns": "^1.30.1", "date-fns": "^1.30.1",
"es6-promise-plugin": "^4.1.0", "es6-promise-plugin": "^4.1.0",
"ionic2-calendar": "^0.5.10", "ionic2-calendar": "^0.5.10",
"ionic4-rating": "^1.0.9",
"ng-circle-progress": "^1.6.0", "ng-circle-progress": "^1.6.0",
"ng2-file-upload": "^1.3.0", "ng2-file-upload": "^1.3.0",
"ng2-pdf-viewer": "^5.3.2", "ng2-pdf-viewer": "^5.3.2",

@ -22,7 +22,8 @@ const routes: Routes = [
{ path: 'payslip', loadChildren: './payslip/payslip.module#PayslipPageModule' }, { path: 'payslip', loadChildren: './payslip/payslip.module#PayslipPageModule' },
{ path: 'attendance-tracking', loadChildren: './attendance-tracking/attendance-tracking.module#AttendanceTrackingPageModule' }, { path: 'attendance-tracking', loadChildren: './attendance-tracking/attendance-tracking.module#AttendanceTrackingPageModule' },
{ path: 'itemforsale', loadChildren: './itemforsale/itemforsale.module#ItemforsalePageModule' }, { path: 'itemforsale', loadChildren: './itemforsale/itemforsale.module#ItemforsalePageModule' },
{ path: 'offersdiscount', loadChildren: './offersdiscount/offersdiscount.module#OffersdiscountPageModule' } { path: 'offersdiscount', loadChildren: './offersdiscount/offersdiscount.module#OffersdiscountPageModule' }, { path: 'erm-channel', loadChildren: './erm-channel/erm-channel.module#ErmChannelPageModule' }

@ -67,9 +67,9 @@ export class AppComponent implements OnInit {
private hideSplashScreen() { private hideSplashScreen() {
setTimeout(() => { setTimeout(() => {
this.splashScreen.hide(); this.splashScreen.hide();
}, 1000); }, 1000);
} }
public initializeApp() { public initializeApp() {
this.cs.startLoading(); this.cs.startLoading();
@ -106,9 +106,10 @@ export class AppComponent implements OnInit {
private startReceivingPushService() { private startReceivingPushService() {
this.pushService.startReceiving(); this.pushService.startReceiving();
setTimeout(() => { setTimeout(() => {
console.log(' in setTimeout startReceiving'); console.log(' in setTimeout startReceiving');
this.getLastLoginInfo(); this.getLastLoginInfo();
}, 4000);
}, 4000);
} }
public subscribeEvents() { public subscribeEvents() {
@ -119,23 +120,27 @@ export class AppComponent implements OnInit {
}); });
this.events.subscribe('setMenu', () => { this.events.subscribe('setMenu', () => {
const user = this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => { const user = this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => {
if (user) { if (user) {
console.log(user); console.log(user);
localStorage.setItem("digitalIDUser", JSON.stringify(user));
this.digitalIDUser = user//JSON.stringify(user); localStorage.setItem("digitalIDUser", JSON.stringify(user));
this.companyUrl = user.CompanyImageURL ? user.CompanyImageURL : '../assets/imgs/CSLogo.png'; this.digitalIDUser = user//JSON.stringify(user);
this.companyDesc = user.CompanyImageDescription ? user.CompanyImageDescription : 'Powered By Cloud Solutions'; this.companyUrl = user.CompanyImageURL ? user.CompanyImageURL : '../assets/imgs/CSLogo.png';
this.User_name_Emp = user.EMPLOYEE_DISPLAY_NAME; this.companyDesc = user.CompanyImageDescription ? user.CompanyImageDescription : 'Powered By Cloud Solutions';
if (this.cs.getUpdateImage().status) { this.User_name_Emp = user.EMPLOYEE_DISPLAY_NAME;
this.user_image = this.sanitizer.bypassSecurityTrustUrl('data:image/png;base64,' + this.cs.getUpdateImage().img); if (this.cs.getUpdateImage().status) {
} else { this.user_image = this.sanitizer.bypassSecurityTrustUrl('data:image/png;base64,' + this.cs.getUpdateImage().img);
this.user_image = user.EMPLOYEE_IMAGE ? 'data:image/png;base64,' + user.EMPLOYEE_IMAGE : '../assets/imgs/profile.png';
}
this.User_Job_name = user.JOB_NAME;
} else { } 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('getNotCount', badge => { this.notBadge = badge; });
this.events.subscribe('myTeamFlag', myTeamFlag => { this.TeamFlag = myTeamFlag; }); this.events.subscribe('myTeamFlag', myTeamFlag => { this.TeamFlag = myTeamFlag; });
@ -195,14 +200,14 @@ export class AppComponent implements OnInit {
async openDigitalId() { async openDigitalId() {
const modal = await this.modalController.create({ const modal = await this.modalController.create({
component: DigitalIdComponent, component: DigitalIdComponent,
cssClass: 'digital-id-modal-css', cssClass: 'digital-id-modal-css',
componentProps: { componentProps: {
'userInfo':this.digitalIDUser//JSON.parse(this.digitalIDUser) 'userInfo': this.digitalIDUser//JSON.parse(this.digitalIDUser)
} }
}); });
return await modal.present(); return await modal.present();
} }
private changeImage() { private changeImage() {
this.cs.openChangeImagePage(); this.cs.openChangeImagePage();
@ -214,40 +219,40 @@ export class AppComponent implements OnInit {
} }
public getLastLoginInfo() { public getLastLoginInfo() {
this.deviceToken = this.cs.getDeviceToken(); this.deviceToken = this.cs.getDeviceToken();
if (this.deviceToken) { if (this.deviceToken) {
console.log('login enabled first time: ' + this.deviceToken); console.log('login enabled first time: ' + this.deviceToken);
} else { } else {
this.pushService.startReceiving(); this.pushService.startReceiving();
setTimeout(() => { setTimeout(() => {
this.deviceToken = localStorage.getItem('deviceToken'); this.deviceToken = localStorage.getItem('deviceToken');
}, 1000); }, 1000);
} }
this.requestGetLoginInfo = { this.requestGetLoginInfo = {
DeviceType: this.cs.getDeviceType(), DeviceType: this.cs.getDeviceType(),
DeviceToken: this.deviceToken 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 (this.cs.validResponse(res)) {
if (res.Mohemm_GetMobileLoginInfoList.length > 0) { if (res.Mohemm_GetMobileLoginInfoList.length > 0) {
this.cs.sharedService.setSharedData(res.Mohemm_GetMobileLoginInfoList[0], AuthenticationService.IMEI_USER_DATA); this.cs.sharedService.setSharedData(res.Mohemm_GetMobileLoginInfoList[0], AuthenticationService.IMEI_USER_DATA);
this.user = true; this.user = true;
this.events.publish('user', this.user); this.events.publish('user', this.user);
if (this.logoutFlage) { if (this.logoutFlage) {
this.cs.openLogin(); this.cs.openLogin();
} }
} else { } else {
this.user = false; this.user = false;
this.events.publish('user', this.user); this.events.publish('user', this.user);
if (this.logoutFlage) { if (this.logoutFlage) {
this.cs.openLogin(); this.cs.openLogin();
} }
} }
} else {} } else { }
}); });
} }
} }

@ -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 { }

@ -0,0 +1,4 @@
<ion-content>
<ion-router-outlet></ion-router-outlet>
</ion-content>

@ -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<ErmChannelPage>;
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();
});
});

@ -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() {
}
}

@ -0,0 +1,12 @@
<div class="full-ads" style="background-image: url(https://i.pinimg.com/564x/a8/b4/42/a8b442181f7c004f98d4eef842a76e76.jpg);">
<div class="skip-btn" (click)="skip()">Skip</div>
<div class="info-container">
<ion-icon name="thumbs-down" class="red"></ion-icon>
<ion-icon name="information" class="white"></ion-icon>
<ion-icon name="thumbs-up" class="green"></ion-icon>
</div>
</div>

@ -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;
}

@ -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<HomeComponent>;
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();
});
});

@ -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;
}
}

@ -0,0 +1,71 @@
<ion-content padding class="survey-content">
<div class="skip-btn" (click)="skip()">Skip</div>
<ion-grid class="ion-no-padding grid-parent">
<ion-row>
<ion-text class="title-text">
This is to get feedback about the user experience
</ion-text>
</ion-row>
<ion-row>
<ion-col [size]="12">
<p class="subheading">1. How would you like to rate </p>
</ion-col>
</ion-row>
<ion-row>
<ion-col [size]="12">
<rating id="surveyRatingNew" [(ngModel)]="rate" readonly="false" size="default"></rating>
</ion-col>
</ion-row>
</ion-grid>
<ion-grid>
<ion-row>
<ion-col>
<p class="subheading">2. How do you satisfied about this application </p>
</ion-col>
</ion-row>
<ion-row class="faces-row">
<ion-col [ngClass]="select2">
<img class="face" src="assets/icon/rate/bad.svg" (click)="select(1)">
</ion-col>
<ion-col [ngClass]="select2">
<img class="face" src="assets/icon/rate/poor.svg" (click)="select(2)">
</ion-col>
<ion-col [ngClass]="select3">
<img class="face" src="assets/icon/rate/normal.svg" (click)="select(3)">
</ion-col>
<ion-col [ngClass]="select4">
<img class="face" src="assets/icon/rate/good.svg" (click)="select(4)">
</ion-col>
<ion-col [ngClass]="select5">
<img class="face" src="assets/icon/rate/xcellent.svg" (click)="select(5)">
</ion-col>
</ion-row>
</ion-grid>
<ion-row>
<ion-col>
<p class="comments">Please give us a comments</p>
</ion-col>
</ion-row>
<ion-card class="doctor-card">
<ion-row class="input-field">
<ion-col [size]="12">
<ion-textarea rows="6" cols="20" [(ngModel)]="Note" placeholder="Enter any notes here..."></ion-textarea>
</ion-col>
</ion-row>
</ion-card>
</ion-content>
<ion-footer >
<div class="centerDiv">
<ion-button class="footer-button" ion-button (click)="submit()">
{{'general,submit' | translate}} </ion-button>
</div>
</ion-footer>

@ -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;
}

@ -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<SurveyComponent>;
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();
});
});

@ -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;
}
}

@ -35,7 +35,7 @@ export class CommonService {
public static MOHEMM_WIFI_SSID = ""; public static MOHEMM_WIFI_SSID = "";
public static MOHEMM_WIFI_PASSWORD = ""; public static MOHEMM_WIFI_PASSWORD = "";
public static SKIP = false;
public static months_en_long = [ public static months_en_long = [
'January', 'January',
'February', 'February',
@ -81,8 +81,8 @@ export class CommonService {
private progressLoaders: any[] = []; private progressLoaders: any[] = [];
private loadingProgress: any; private loadingProgress: any;
public updateImage:boolean=false; public updateImage: boolean = false;
public setUpdateImg:any; public setUpdateImg: any;
DT: any; DT: any;
activeType: any; activeType: any;
constructor( constructor(
@ -105,7 +105,7 @@ export class CommonService {
public diagnostic: Diagnostic, public diagnostic: Diagnostic,
public iab: InAppBrowser, public iab: InAppBrowser,
private menu: MenuController, private menu: MenuController,
) {} ) { }
public back() { public back() {
// this.nav.pop(); // this.nav.pop();
@ -118,61 +118,61 @@ export class CommonService {
public getMonthName(value: number): string { public getMonthName(value: number): string {
switch (value) { switch (value) {
case 1: case 1:
return 'January'; return 'January';
case 2: case 2:
return 'February'; return 'February';
case 3: case 3:
return 'March'; return 'March';
case 4: case 4:
return 'April'; return 'April';
case 5: case 5:
return 'May'; return 'May';
case 6: case 6:
return 'June'; return 'June';
case 7: case 7:
return 'July'; return 'July';
case 8: case 8:
return 'August'; return 'August';
case 9: case 9:
return 'September'; return 'September';
case 10: case 10:
return 'October'; return 'October';
case 11: case 11:
return 'November'; return 'November';
case 12: case 12:
return 'December'; return 'December';
} }
} }
public getMonthNameAr(value: number): string { public getMonthNameAr(value: number): string {
switch (value) { switch (value) {
case 1: case 1:
return 'يناير'; return 'يناير';
case 2: case 2:
return ' فبراير'; return ' فبراير';
case 3: case 3:
return 'مارس'; return 'مارس';
case 4: case 4:
return 'أبريل'; return 'أبريل';
case 5: case 5:
return 'مايو'; return 'مايو';
case 6: case 6:
return 'يونيو'; return 'يونيو';
case 7: case 7:
return 'يوليو'; return 'يوليو';
case 8: case 8:
return 'أغسطس'; return 'أغسطس';
case 9: case 9:
return 'سبتمبر'; return 'سبتمبر';
case 10: case 10:
return ' اكتوبر'; return ' اكتوبر';
case 11: case 11:
return ' نوفمبر'; return ' نوفمبر';
case 12: case 12:
return 'ديسمبر'; return 'ديسمبر';
} }
} }
public round(value: number, decimal: number): string { public round(value: number, decimal: number): string {
const valueStr = value.toString(); const valueStr = value.toString();
@ -290,7 +290,7 @@ public getMonthNameAr(value: number): string {
public confirmNotAllowedDialog() { public confirmNotAllowedDialog() {
this.openHome(); this.openHome();
this.alertDialog( this.alertDialog(
() => {}, () => { },
this.ts.trPK('general', 'ok'), this.ts.trPK('general', 'ok'),
this.ts.trPK('general', 'info'), this.ts.trPK('general', 'info'),
this.ts.trPK('general', 'not-allowed') this.ts.trPK('general', 'not-allowed')
@ -436,7 +436,7 @@ public getMonthNameAr(value: number): string {
message: message, message: message,
buttons: [ buttons: [
{ {
text:this.ts.trPK('general', 'ok'), text: this.ts.trPK('general', 'ok'),
handler: () => { handler: () => {
if (onAccept) { if (onAccept) {
onAccept(); onAccept();
@ -587,8 +587,8 @@ public getMonthNameAr(value: number): string {
public getDeviceType(): string { public getDeviceType(): string {
if (this.platform.is('mobile')) { if (this.platform.is('mobile')) {
// return "Mobile " + (this.platform.is("ios") ? "Iphone" : "android"); // return "Mobile " + (this.platform.is("ios") ? "Iphone" : "android");
return (this.platform.is('ios') ? 'Iphone' : 'android'); return (this.platform.is('ios') ? 'Iphone' : 'android');
} else { } else {
return 'Desktop'; return 'Desktop';
@ -620,7 +620,7 @@ public getMonthNameAr(value: number): string {
private openBrowserHtml(url, onExit?, onFaild?, onSuccess?) { private openBrowserHtml(url, onExit?, onFaild?, onSuccess?) {
const browser = window.open(url, '_blank', 'location=no'); const browser = window.open(url, '_blank', 'location=no');
browser.addEventListener('loadstart', () => {}); browser.addEventListener('loadstart', () => { });
browser.addEventListener('loaderror', () => { browser.addEventListener('loaderror', () => {
if (onFaild) { if (onFaild) {
@ -696,7 +696,7 @@ public getMonthNameAr(value: number): string {
public openLocation(lat: number, lng: number) { public openLocation(lat: number, lng: number) {
this.platform.ready().then(() => { this.platform.ready().then(() => {
this.launchNavigation.navigate([lat, lng]).then( this.launchNavigation.navigate([lat, lng]).then(
() => {}, () => { },
err => { err => {
// this.failedToOpenMap(); // this.failedToOpenMap();
window.open('https://maps.google.com/?q=' + lat + ',' + lng); window.open('https://maps.google.com/?q=' + lat + ',' + lng);
@ -896,7 +896,7 @@ public getMonthNameAr(value: number): string {
return targetCode >= minDigit && targetCode <= maxDigit; return targetCode >= minDigit && targetCode <= maxDigit;
} }
public enterPage() {} public enterPage() { }
private smsAlertDialog = null; private smsAlertDialog = null;
public presentSMSPasswordDialog( public presentSMSPasswordDialog(
@ -928,7 +928,7 @@ public getMonthNameAr(value: number): string {
text: this.ts.trPK('general', 'cancel'), text: this.ts.trPK('general', 'cancel'),
role: 'cancel', role: 'cancel',
cssClass: 'cancel-button', cssClass: 'cancel-button',
handler: () => {} handler: () => { }
}, },
{ {
text: this.ts.trPK('general', 'ok'), text: this.ts.trPK('general', 'ok'),
@ -1075,10 +1075,10 @@ public getMonthNameAr(value: number): string {
/* /*
open calls open calls
*/ */
public openAttenTrackingpage(){ public openAttenTrackingpage() {
this.nav.navigateForward(['/attendance-tracking/home']); this.nav.navigateForward(['/attendance-tracking/home']);
} }
public openAttendanceOptionsComponent(){ public openAttendanceOptionsComponent() {
this.nav.navigateForward(['/home/attendance-option']); this.nav.navigateForward(['/home/attendance-option']);
} }
public openEitListPage() { public openEitListPage() {
@ -1122,10 +1122,10 @@ public getMonthNameAr(value: number): string {
public openPage(link: string) { public openPage(link: string) {
this.nav.navigateForward([link]); 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() { public openMyTeamDetails() {
this.alternateNavigate(CommonService.myTeamDetailUrl,'teamDetail-open',true); this.alternateNavigate(CommonService.myTeamDetailUrl, 'teamDetail-open', true);
// this.nav.navigateForward(["/my-team/details"]); // this.nav.navigateForward(["/my-team/details"]);
} }
public openAbsencePage() { public openAbsencePage() {
this.nav.navigateForward(['/absence/home']); this.nav.navigateForward(['/absence/home']);
@ -1176,7 +1176,7 @@ public getMonthNameAr(value: number): string {
this.nav.navigateForward(['/notification/item-history-PO']); this.nav.navigateForward(['/notification/item-history-PO']);
} }
public openMOItemHistoryPage(){ public openMOItemHistoryPage() {
this.nav.navigateForward(['/notification/item-history-MO']); this.nav.navigateForward(['/notification/item-history-MO']);
} }
public openQutationAnalysisPage() { public openQutationAnalysisPage() {
@ -1400,34 +1400,34 @@ public getMonthNameAr(value: number): string {
return FormatedDate; return FormatedDate;
} }
public setUpdateImage (image,status?){ public setUpdateImage(image, status?) {
console.log('setUpdateImage'); console.log('setUpdateImage');
this.setUpdateImg=image; this.setUpdateImg = image;
this.updateImage=status; this.updateImage = status;
} }
public getUpdateImage(){ public getUpdateImage() {
console.log('getUpdateImage'); console.log('getUpdateImage');
const objImg={ const objImg = {
img: this.setUpdateImg, img: this.setUpdateImg,
status: this.updateImage status: this.updateImage
} }
return objImg; return objImg;
} }
setDeviceToken(deviceToken){ setDeviceToken(deviceToken) {
this.DT=deviceToken; this.DT = deviceToken;
} }
getDeviceToken(){ getDeviceToken() {
return this.DT; return this.DT;
} }
setActiveTypeLogin(activeType){ setActiveTypeLogin(activeType) {
this.activeType=activeType; this.activeType = activeType;
} }
getActiveTypeLogin(){ getActiveTypeLogin() {
return this.activeType; return this.activeType;
} }
} }

@ -56,15 +56,26 @@
<img src="assets/icon/new-design/attendance_button_icon.png"/> <img src="assets/icon/new-design/attendance_button_icon.png"/>
</ion-col> </ion-col>
</ion-row> </ion-row>
</ion-row> </ion-row>
<ion-slides [options]="slideOptsTwo"> <ion-row>
<ion-slide> <ion-col size="12">
<app-services-button (click)="itemForSale()" title="Item for sale" > <ion-label>Other Services</ion-label>
</app-services-button> <ion-slides [options]="slideOptsOne" >
<app-services-button (click)="offersDiscount()" title="Offers & Discount" > <ion-slide>
</app-services-button> <app-services-button (click)="itemForSale()" title="Item for sale" >
</ion-slide> </app-services-button>
</ion-slides>
</ion-slide>
<ion-slide>
<app-services-button (click)="offersDiscount()" title="Offers & Discount" >
</app-services-button>
</ion-slide>
</ion-slides>
</ion-col>
</ion-row>
</ion-grid> </ion-grid>
</ion-content> </ion-content>

@ -783,7 +783,7 @@ export class HomePage implements OnInit {
return await modal.present(); return await modal.present();
} }
itemForSale() { itemForSale() {
this.common.navigateForward('/itemforsale/home'); this.common.navigateForward('/itemforsale/items');
} }
offersDiscount() { offersDiscount() {
this.common.navigateForward('/offersdiscount/home'); this.common.navigateForward('/offersdiscount/home');

@ -8,7 +8,7 @@
</ion-toolbar> </ion-toolbar>
</div> </div>
<div class="segments-container"> <div class="segments-container">
<ion-segment (ionChange)="segmentChanged($event)" value="1"> <ion-segment (ionChange)="segmentChanged($event)" value="1" class="item-for-sale-indicator">
<ion-segment-button value="1" > <ion-segment-button value="1" >
<ion-label>Item for sale</ion-label> <ion-label>Item for sale</ion-label>
</ion-segment-button> </ion-segment-button>
@ -21,6 +21,9 @@
<div class="bottom"></div> <div class="bottom"></div>
<div class="sales-items" *ngIf="segment =='1'"> <div class="sales-items" *ngIf="segment =='1'">
<div class="fab-button">
<ion-fab-button class="flaot-button" (click)="openSale()"><ion-icon name="add"></ion-icon></ion-fab-button>
</div>
<ion-grid> <ion-grid>
<ion-row> <ion-row>
@ -32,7 +35,7 @@
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col size="10"> <ion-col size="10">
<p class="filterText">Browse Category</p> <p class="filterText">Browse Categories</p>
</ion-col> </ion-col>
<ion-col size="2"> <ion-col size="2">
<img src="assets/imgs/itemsforsale/filter.svg"> <img src="assets/imgs/itemsforsale/filter.svg">
@ -149,6 +152,7 @@
</ion-card> </ion-card>
</ion-col> </ion-col>
</ion-row> </ion-row>
</div> </div>
<div class="my-ads" *ngIf="segment =='2'"> <div class="my-ads" *ngIf="segment =='2'">
@ -173,12 +177,13 @@
</ion-item> </ion-item>
</ion-row> </ion-row>
</div> </div>
<ion-fab-button class="flaot-button" (click)="openMyAds()"><ion-icon name="add"></ion-icon></ion-fab-button>
<ion-footer *ngIf="segment=='2'"> <ion-footer *ngIf="segment=='2'" >
<div class="centerDiv"> <div class="centerDiv">
<ion-button class="footer-button" ion-button> <ion-button class="footer-button" ion-button (click)="openSale()">
{{ts.trPK('general','next')}} </ion-button> Create new ad </ion-button>
</div> </div>
</ion-footer> </ion-footer>

@ -75,6 +75,10 @@ ion-card-title{
.green{ .green{
color:#00AE4D; color:#00AE4D;
} }
ion-segment-button{
--background-checked: #000;
--indicator-color : transparent!important;
}
ion-segment-button ion-label{ ion-segment-button ion-label{
padding: 0; padding: 0;
font-size: 12px; font-size: 12px;
@ -106,3 +110,20 @@ margin: 5px;
.edit{ .edit{
margin-left:20px !important; 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%;
}

@ -18,4 +18,8 @@ export class ItemsComponent implements OnInit {
segmentChanged(value) { segmentChanged(value) {
this.segment = value.detail.value; this.segment = value.detail.value;
} }
openSale() {
this.cs.navigateForward('/itemforsale/home');
}
} }

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32.742" height="32.742" viewBox="0 0 32.742 32.742">
<path id="Path_4587" data-name="Path 4587" d="M16.371,0A16.371,16.371,0,1,0,32.742,16.371,16.39,16.39,0,0,0,16.371,0ZM8.186,12.278a2.046,2.046,0,1,1,2.046,2.046A2.05,2.05,0,0,1,8.186,12.278Zm15.42,12.63a1.028,1.028,0,0,1-1.449,0,8.379,8.379,0,0,0-11.576,0,1.023,1.023,0,0,1-1.447-1.447,10.232,10.232,0,0,1,14.472,0A1.024,1.024,0,0,1,23.605,24.909ZM22.51,14.325a2.046,2.046,0,1,1,2.046-2.046A2.05,2.05,0,0,1,22.51,14.325Z" fill="#d56e6d"/>
</svg>

After

Width:  |  Height:  |  Size: 548 B

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26">
<g id="Group_7519" data-name="Group 7519" transform="translate(-332 -18)">
<rect id="Rectangle_17435" data-name="Rectangle 17435" width="26" height="26" rx="13" transform="translate(332 18)" fill="#fff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 309 B

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="49" height="49" viewBox="0 0 49 49">
<g id="Group_7501" data-name="Group 7501" transform="translate(295 770) rotate(180)">
<circle id="Ellipse_159" data-name="Ellipse 159" cx="24.5" cy="24.5" r="24.5" transform="translate(246 721)" fill="#ca3332"/>
<g id="like_1_" data-name="like (1)" transform="translate(259 733.987)">
<path id="Path_4583" data-name="Path 4583" d="M20.077,8.855H14.791l1.157-2.892a2.267,2.267,0,0,0-.5-2.447,1.719,1.719,0,0,0-2.613.216L9.744,8.057A14.6,14.6,0,0,1,8.21,9.868l-.99.99a.484.484,0,0,0-.142.343v7.441a.487.487,0,0,0,.142.344L8.329,20.1a3.03,3.03,0,0,0,2.156.893h6.026a2.463,2.463,0,0,0,2.248-1.461l2.956-6.651A3.288,3.288,0,0,0,22,11.533v-.754a1.926,1.926,0,0,0-1.923-1.924Z" fill="#fff"/>
<path id="Path_4584" data-name="Path 4584" d="M3.747,10.207A1.747,1.747,0,0,0,2,11.954v6.569a1.747,1.747,0,0,0,3.494,0V11.954a1.747,1.747,0,0,0-1.747-1.747Z" fill="#fff"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 986 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32.742" height="32.742" viewBox="0 0 32.742 32.742">
<path id="Path_4589" data-name="Path 4589" d="M16.371,0A16.371,16.371,0,1,0,32.742,16.371,16.39,16.39,0,0,0,16.371,0ZM7.162,12.278a3.07,3.07,0,1,1,3.07,3.07A3.073,3.073,0,0,1,7.162,12.278ZM23.6,23.6a10.229,10.229,0,0,1-14.47,0,1.023,1.023,0,1,1,1.447-1.447,8.379,8.379,0,0,0,11.576,0A1.023,1.023,0,1,1,23.6,23.6ZM22.51,15.348a3.07,3.07,0,1,1,3.07-3.07A3.073,3.073,0,0,1,22.51,15.348Z" fill="#8ca742"/>
</svg>

After

Width:  |  Height:  |  Size: 511 B

@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" width="49" height="49" viewBox="0 0 49 49">
<g id="Group_7502" data-name="Group 7502" transform="translate(295 770) rotate(180)">
<circle id="Ellipse_159" data-name="Ellipse 159" cx="24.5" cy="24.5" r="24.5" transform="translate(246 721)" fill="#fff"/>
<g id="info_2_" data-name="info (2)" transform="translate(306.825 757.238) rotate(180)">
<path id="Path_4585" data-name="Path 4585" d="M41.2,20.941l-.328,1.341q-1.476.583-2.355.887a6.213,6.213,0,0,1-2.042.305A4.077,4.077,0,0,1,33.7,22.6a2.821,2.821,0,0,1-.991-2.214,7.831,7.831,0,0,1,.074-1.065q.075-.545.24-1.23l1.23-4.353q.164-.625.277-1.185a5.15,5.15,0,0,0,.112-1.02,1.578,1.578,0,0,0-.344-1.163,1.944,1.944,0,0,0-1.315-.329,3.447,3.447,0,0,0-.978.149c-.335.1-.62.194-.86.283l.329-1.342q1.208-.492,2.312-.842a6.915,6.915,0,0,1,2.091-.351,3.978,3.978,0,0,1,2.737.858,2.846,2.846,0,0,1,.961,2.228c0,.189-.021.522-.066,1a6.68,6.68,0,0,1-.246,1.313l-1.224,4.335a11.515,11.515,0,0,0-.269,1.194,6.147,6.147,0,0,0-.12,1.013,1.46,1.46,0,0,0,.386,1.178,2.177,2.177,0,0,0,1.34.313,3.868,3.868,0,0,0,1.013-.157A5.664,5.664,0,0,0,41.2,20.941Zm.311-18.2a2.537,2.537,0,0,1-.857,1.931,2.916,2.916,0,0,1-2.062.8,2.949,2.949,0,0,1-2.073-.8,2.531,2.531,0,0,1-.865-1.931A2.556,2.556,0,0,1,36.519.8a3.06,3.06,0,0,1,4.136,0A2.561,2.561,0,0,1,41.511,2.741Z" transform="translate(0 0)"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="49" height="49" viewBox="0 0 49 49">
<g id="Group_7500" data-name="Group 7500" transform="translate(-246 -721)">
<circle id="Ellipse_159" data-name="Ellipse 159" cx="24.5" cy="24.5" r="24.5" transform="translate(246 721)" fill="#20a16a"/>
<g id="like_1_" data-name="like (1)" transform="translate(259 733.987)">
<path id="Path_4583" data-name="Path 4583" d="M20.077,8.855H14.791l1.157-2.892a2.267,2.267,0,0,0-.5-2.447,1.719,1.719,0,0,0-2.613.216L9.744,8.057A14.6,14.6,0,0,1,8.21,9.868l-.99.99a.484.484,0,0,0-.142.343v7.441a.487.487,0,0,0,.142.344L8.329,20.1a3.03,3.03,0,0,0,2.156.893h6.026a2.463,2.463,0,0,0,2.248-1.461l2.956-6.651A3.288,3.288,0,0,0,22,11.533v-.754a1.926,1.926,0,0,0-1.923-1.924Z" fill="#fff"/>
<path id="Path_4584" data-name="Path 4584" d="M3.747,10.207A1.747,1.747,0,0,0,2,11.954v6.569a1.747,1.747,0,0,0,3.494,0V11.954a1.747,1.747,0,0,0-1.747-1.747Z" fill="#fff"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 976 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32.742" height="32.742" viewBox="0 0 32.742 32.742">
<path id="Path_4588" data-name="Path 4588" d="M16.371,0A16.371,16.371,0,1,0,32.742,16.371,16.39,16.39,0,0,0,16.371,0ZM8.186,12.278a2.046,2.046,0,1,1,2.046,2.046A2.05,2.05,0,0,1,8.186,12.278Zm13.3,12.278H11.255a1.023,1.023,0,0,1,0-2.046H21.487a1.023,1.023,0,0,1,0,2.046ZM22.51,14.325a2.046,2.046,0,1,1,2.046-2.046A2.05,2.05,0,0,1,22.51,14.325Z" fill="#ca8432"/>
</svg>

After

Width:  |  Height:  |  Size: 470 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32.742" height="32.742" viewBox="0 0 32.742 32.742">
<path id="Path_4586" data-name="Path 4586" d="M16.371,0A16.371,16.371,0,1,0,32.742,16.371,16.39,16.39,0,0,0,16.371,0ZM8.186,15.348a3.065,3.065,0,0,1,1.471-2.609L7.543,11.028A1.023,1.023,0,1,1,8.828,9.436l4.355,3.524a3.069,3.069,0,1,1-5,2.388ZM22.228,26.286a1.024,1.024,0,0,1-1.447.035,6.4,6.4,0,0,0-8.822,0,1.023,1.023,0,1,1-1.41-1.484,8.437,8.437,0,0,1,11.642,0A1.023,1.023,0,0,1,22.228,26.286ZM25.2,11.028l-2.116,1.711a3.059,3.059,0,1,1-3.526.221l4.357-3.524A1.023,1.023,0,1,1,25.2,11.028Z" fill="#ca3332"/>
</svg>

After

Width:  |  Height:  |  Size: 619 B

@ -0,0 +1,4 @@
<svg id="star_5_" data-name="star (5)" xmlns="http://www.w3.org/2000/svg" width="34.608" height="33.317" viewBox="0 0 34.608 33.317">
<path id="Path_4581" data-name="Path 4581" d="M34.608,22.264l-12.572-.811L17.29,9.55l-4.745,11.9L0,22.264l9.625,8.192L6.462,42.867,17.29,36.013l10.828,6.854-3.163-12.41Z" transform="translate(0 -9.55)" fill="#ffd400"/>
<path id="Path_4582" data-name="Path 4582" d="M263.465,30.457l3.163,12.41L255.8,36.013V9.55l4.745,11.9,12.572.811Z" transform="translate(-238.51 -9.55)" fill="#cecece"/>
</svg>

After

Width:  |  Height:  |  Size: 534 B

@ -0,0 +1,4 @@
<svg id="star_5_" data-name="star (5)" xmlns="http://www.w3.org/2000/svg" width="34.608" height="33.317" viewBox="0 0 34.608 33.317">
<path id="Path_4581" data-name="Path 4581" d="M34.608,22.264l-12.572-.811L17.29,9.55l-4.745,11.9L0,22.264l9.625,8.192L6.462,42.867,17.29,36.013l10.828,6.854-3.163-12.41Z" transform="translate(0 -9.55)" fill="#cecece"/>
<path id="Path_4582" data-name="Path 4582" d="M263.465,30.457l3.163,12.41L255.8,36.013V9.55l4.745,11.9,12.572.811Z" transform="translate(-238.51 -9.55)" fill="#cecece"/>
</svg>

After

Width:  |  Height:  |  Size: 534 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="34.608" height="33.317" viewBox="0 0 34.608 33.317">
<path id="Path_4581" data-name="Path 4581" d="M34.608,22.264l-12.572-.811L17.29,9.55l-4.745,11.9L0,22.264l9.625,8.192L6.462,42.867,17.29,36.013l10.828,6.854-3.163-12.41Z" transform="translate(0 -9.55)" fill="#ffd400"/>
</svg>

After

Width:  |  Height:  |  Size: 328 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32.742" height="32.742" viewBox="0 0 32.742 32.742">
<path id="Path_4590" data-name="Path 4590" d="M16.371,0A16.371,16.371,0,1,0,32.742,16.371,16.39,16.39,0,0,0,16.371,0ZM22.51,10.232a2.046,2.046,0,1,1-2.046,2.046A2.05,2.05,0,0,1,22.51,10.232Zm-12.278,0a2.046,2.046,0,1,1-2.046,2.046A2.05,2.05,0,0,1,10.232,10.232Zm6.139,18.417a12.305,12.305,0,0,1-11.81-8.93,1.024,1.024,0,0,1,.984-1.3H27.2a1.02,1.02,0,0,1,.814.405,1.031,1.031,0,0,1,.17.9A12.305,12.305,0,0,1,16.371,28.649Z" fill="#20a16a"/>
</svg>

After

Width:  |  Height:  |  Size: 549 B

@ -1572,3 +1572,16 @@ table.monthview-datetable th small {
width: 100%; width: 100%;
text-align: start; text-align: start;
} }
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;
}
Loading…
Cancel
Save