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",
"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",

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

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

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

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

@ -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');

@ -8,7 +8,7 @@
</ion-toolbar>
</div>
<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-label>Item for sale</ion-label>
</ion-segment-button>
@ -19,8 +19,11 @@
</div>
<div class="header"></div>
<div class="bottom"></div>
<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-row>
@ -32,7 +35,7 @@
</ion-row>
<ion-row>
<ion-col size="10">
<p class="filterText">Browse Category</p>
<p class="filterText">Browse Categories</p>
</ion-col>
<ion-col size="2">
<img src="assets/imgs/itemsforsale/filter.svg">
@ -149,6 +152,7 @@
</ion-card>
</ion-col>
</ion-row>
</div>
<div class="my-ads" *ngIf="segment =='2'">
@ -173,12 +177,13 @@
</ion-item>
</ion-row>
</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">
<ion-button class="footer-button" ion-button>
{{ts.trPK('general','next')}} </ion-button>
<ion-button class="footer-button" ion-button (click)="openSale()">
Create new ad </ion-button>
</div>
</ion-footer>

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

@ -18,4 +18,8 @@ export class ItemsComponent implements OnInit {
segmentChanged(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

@ -1571,4 +1571,17 @@ table.monthview-datetable th small {
.fav-profileImageDiv{
width: 100%;
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