Merge branch 'master-newdesign' into enad-issues

MOHEMM-Q3-DEV-LATEST
enadhilal 6 years ago
commit 0c569178c5

@ -10,7 +10,7 @@
<ion-grid> <ion-grid>
<ion-row style="margin-top: 20px;margin-left: 12px;"> <ion-row style="margin-top: 20px;margin-left: 12px;">
<ion-col> <ion-col>
<div size="10" class="approvalTitle">{{'general, addAttach' | translate}}</div> <div size="10" [ngClass]=" direction === 'en' ? 'approvalTitle' : 'approvalTitle-ar'">{{'general, addAttach' | translate}}</div>
</ion-col> </ion-col>
<ion-col style="padding-left: 7%;" size="2"> <ion-col style="padding-left: 7%;" size="2">
<div class="fileDiv"> <div class="fileDiv">
@ -86,7 +86,7 @@
<ion-grid class=""> <ion-grid class="">
<div class="approvalTitle">{{'confirmAddEit, comment' | translate}}</div> <div [ngClass]=" direction === 'en' ? 'approvalTitle' : 'approvalTitle-ar'">{{'confirmAddEit, comment' | translate}}</div>
<ion-item class="submitNote" lines="none"> <ion-item class="submitNote" lines="none">
<!-- <ion-label position="floating" class="boldTxtNav">{{'confirmAddEit, comment' | translate}}</ion-label> --> <!-- <ion-label position="floating" class="boldTxtNav">{{'confirmAddEit, comment' | translate}}</ion-label> -->
<ion-textarea type="text" [(ngModel)]="absComments"></ion-textarea> <ion-textarea type="text" [(ngModel)]="absComments"></ion-textarea>
@ -94,7 +94,7 @@
</ion-grid> </ion-grid>
<ion-grid class="approvalList"> <ion-grid class="approvalList">
<div class="approvalTitle">{{'confirmAddEit, approverList' | translate}}</div> <div [ngClass]=" direction === 'en' ? 'approvalTitle' : 'approvalTitle-ar'">{{'confirmAddEit, approverList' | translate}}</div>
<div class="noDataDiv" *ngIf="approversList.length == 0"> <div class="noDataDiv" *ngIf="approversList.length == 0">
<p>{{ 'general, empty' | translate}}</p> <p>{{ 'general, empty' | translate}}</p>
</div> </div>

@ -270,4 +270,16 @@ ion-card-content.confirm-details{
width: 80% !important; width: 80% !important;
color: white!important; color: white!important;
border-radius: 16px !important; border-radius: 16px !important;
}
.approvalTitle-ar{
font-weight: bold;
font-size: 16px;
text-align: right;
}
.approvalTitle{
font-weight: bold;
font-size: 16px;
text-align: left;
} }

@ -89,9 +89,10 @@ button.item-button.button.button-md.button-clear.button-clear-md {
border: solid var(--gray) 1px; border: solid var(--gray) 1px;
border-radius: 21px; border-radius: 21px;
// padding-left: 145px !important; // padding-left: 145px !important;
margin-left: 86px; margin-left: 115px;
// padding-right: 129px; // padding-right: 129px;
margin-right: -143px; // margin-right: -143px;
margin-right: -136px;
} }
// {padding-left: unset; // {padding-left: unset;
// padding-right: unset; // padding-right: unset;
@ -123,7 +124,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
height: 60px; height: 60px;
width: 60px; width: 60px;
margin-left: -181px; margin-left: -181px;
margin-right: 269px; margin-right: 259px;
} }

@ -22,6 +22,7 @@ export class AbsenceReplacementListComponent implements OnInit {
selectedValue: any; selectedValue: any;
inputSearch: any; inputSearch: any;
selEmpName: any; selEmpName: any;
selectedReplacedEmp: any;
selectedUserInf: any; selectedUserInf: any;
userNote: any; userNote: any;
getPassNotificationDetails: any; getPassNotificationDetails: any;
@ -63,7 +64,7 @@ export class AbsenceReplacementListComponent implements OnInit {
} }
ngOnInit() { ngOnInit() {
this.selectedReplacedEmp = this.cs.sharedService.getSharedData('selectedReplacedEmp');
this.demoeAttach = [{ this.demoeAttach = [{
USER_NAME: '18888', USER_NAME: '18888',
EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ", EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ",
@ -147,7 +148,7 @@ export class AbsenceReplacementListComponent implements OnInit {
// this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME=""; // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME="";
// this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS=this.inputSearch; // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS=this.inputSearch;
// } // }
this.WorkListReplacmentEmployeeObj.P_SELECTED_EMPLOYEE_NUMBER =this.selectedReplacedEmp;
this.worklistService.getReplacmentEmployeeList(this.WorkListReplacmentEmployeeObj). this.worklistService.getReplacmentEmployeeList(this.WorkListReplacmentEmployeeObj).
subscribe((result: WorKListReplacmentEmployeeResponse) => { subscribe((result: WorKListReplacmentEmployeeResponse) => {
this.handleWorkListReplacmentEmployeeResult(result); this.handleWorkListReplacmentEmployeeResult(result);

@ -50,8 +50,11 @@
<div > <div >
<!-- <ion-item> --> <!-- <ion-item> -->
<!-- <ion-label class="datelabel">{{request.P_EFFECTIVE_DATE}}</ion-label> --> <!-- <ion-label class="datelabel">{{request.P_EFFECTIVE_DATE}}</ion-label> -->
<ion-datetime [(ngModel)]="Sdate" class="datetime" displayFormat="DD MMMM YYYY" placeholder="DD MMMM YYYY" <ion-datetime [(ngModel)]="Sdate" class="datetime" displayFormat="DD MMMM YYYY"
(ionChange)="getAccrualBalance()"></ion-datetime> placeholder="DD MMMM YYYY" cancelText="{{ts.trPK('general','cancel')}}"
doneText="{{ts.trPK('general','done')}}" (ionChange)="getAccrualBalance()"></ion-datetime>
<!-- <ion-datetime [(ngModel)]="Sdate" class="datetime" displayFormat="DD MMMM YYYY"
placeholder="DD MMMM YYYY" (ionChange)="getAccrualBalance()"></ion-datetime> -->
<ion-icon class="iconCalendar" ios="ios-calendar" md="md-calendar"></ion-icon> <ion-icon class="iconCalendar" ios="ios-calendar" md="md-calendar"></ion-icon>
<!-- </ion-item> --> <!-- </ion-item> -->
</div> </div>

@ -152,7 +152,7 @@
width: 320px; width: 320px;
padding-left: 51px; padding-left: 51px;
font-size: 14px; font-size: 14px;
margin-right: 116px; margin-right: 75px;
margin-bottom: -30px; margin-bottom: -30px;
} }
@ -258,44 +258,45 @@ margin-top: -13px;
width: 11%; width: 11%;
height: 6px; height: 6px;
} }
.div-orng-ar{
position: relative;
bottom: 59px;
color: black;
background-color: #DDB017;
// background-color: #1FA269;
width: 11%;
height: 6px;
right: 9px;
}
.div-red-ar{ .div-red-ar{
position: relative; position: relative;
bottom: 131px; bottom: 59px;
color: black;
background-color: #CB3232;
width: 11%;
height: 6px;
right: 92px;
}
.div-red{
position: relative;
left: 59%;
bottom: 146px;
color: black; color: black;
// background-color: #DDB017;
background-color: #CB3232; background-color: #CB3232;
// background-color: #094875;
width: 11%; width: 11%;
height: 6px; height: 6px;
right: 16px;
} }
// .div-red-ar{
// position: relative;
// bottom: 131px;
// color: black;
// background-color: #CB3232;
// width: 11%;
// height: 6px;
// right: 92px;
// }
// .div-red{
// position: relative;
// left: 59%;
// bottom: 146px;
// color: black;
// background-color: #CB3232;
// // background-color: #094875;
// width: 11%;
// height: 6px;
// }
.div-orng{ .div-red{
position: relative; position: relative;
left: 82%; left: 82%;
bottom: 80px; bottom: 80px;
color: black; color: black;
// background-color: #CB3232; background-color: #CB3232;
background-color: #DDB017; // background-color: #DDB017;
width: 11%; width: 11%;
height: 6px; height: 6px;
} }
@ -307,5 +308,5 @@ margin-top: -13px;
background-color: #1FA269; background-color: #1FA269;
width: 11%; width: 11%;
height: 6px; height: 6px;
right: 10px; right: 16px;
} }

@ -114,7 +114,6 @@ export class HomeComponent implements OnInit {
data: [this.accrualNet,this.accrualUsed], data: [this.accrualNet,this.accrualUsed],
backgroundColor: [ backgroundColor: [
'#1FA269', '#1FA269',
'#DDB017',
'#CB3232',], '#CB3232',],
borderWidth: 2 borderWidth: 2
} }
@ -272,7 +271,6 @@ createAbsence() {
{ data: [this.accrualNet,this.accrualUsed], { data: [this.accrualNet,this.accrualUsed],
backgroundColor: [ backgroundColor: [
'#1FA269', '#1FA269',
'#DDB017',
'#CB3232',], '#CB3232',],
borderWidth: 2 borderWidth: 2
} }

@ -15,7 +15,9 @@
<ion-item class='dynamicField'> <ion-item class='dynamicField'>
<ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','startDate')}} </ion-label> <ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','startDate')}} </ion-label>
<ion-datetime doneText="{{doneText}}" cancelText="{{cancelText}}" (ionChange)="calcDay()" [(ngModel)]="startDate" min="1900" max="2100" displayFormat="MMM/DD/YYYY" placeholder="MM/DD/YYYY" required></ion-datetime> <ion-datetime (ionChange)="calcDay()" [(ngModel)]="startDate" min="1900" max="2100" displayFormat="MMM/DD/YYYY" placeholder="MM/DD/YYYY" required
cancelText="{{ts.trPK('general','cancel')}}"
doneText="{{ts.trPK('general','done')}}"></ion-datetime>
</ion-item> </ion-item>
<ion-item *ngIf="hoursOrDay!='D'" class='dynamicField'> <ion-item *ngIf="hoursOrDay!='D'" class='dynamicField'>
<ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','startTime')}} </ion-label> <ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','startTime')}} </ion-label>
@ -23,7 +25,9 @@
</ion-item> </ion-item>
<ion-item class='dynamicField'> <ion-item class='dynamicField'>
<ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','endDate')}}</ion-label> <ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','endDate')}}</ion-label>
<ion-datetime doneText="{{doneText}}" cancelText="{{cancelText}}" (ionChange)="calcDay()" [(ngModel)]="endDate" min="1900" max="2100" displayFormat="MMM/DD/YYYY" placeholder="MM/DD/YYYY" required ></ion-datetime> <ion-datetime (ionChange)="calcDay()" [(ngModel)]="endDate" min="1900" max="2100" displayFormat="MMM/DD/YYYY" placeholder="MM/DD/YYYY" required
cancelText="{{ts.trPK('general','cancel')}}"
doneText="{{ts.trPK('general','done')}}"></ion-datetime>
</ion-item> </ion-item>
<ion-item *ngIf="hoursOrDay!='D'" class='dynamicField'> <ion-item *ngIf="hoursOrDay!='D'" class='dynamicField'>

@ -247,6 +247,7 @@ export class SubmitAbsenceComponent implements OnInit {
} }
async SearchReplacment() { async SearchReplacment() {
this.common.sharedService.setSharedData(this.selEmp, 'selectedReplacedEmp');
const modal = await this.modalCtrl.create({ const modal = await this.modalCtrl.create({
component: AbsenceReplacementListComponent, component: AbsenceReplacementListComponent,
backdropDismiss: false backdropDismiss: false

@ -15,7 +15,7 @@
<div class="centerDiv homeBox"> <div class="centerDiv homeBox">
<div class="profileDiv"> <div class="profileDiv">
<img class="profileImg" [src]="user_image"> <img class="profileImg" [src]="user_image">
<p class="TxtPlace">{{User_name_Emp}}</p> <p class="TxtPlace">{{User_name_Emp}}</p>
<p class="TxtPlaces"> {{User_Job_name}}</p> <p class="TxtPlaces"> {{User_Job_name}}</p>
</div> </div>
@ -26,7 +26,7 @@
</div> </div>
<br> <br>
<ion-list> <ion-list class="list-en" >
<ion-item (click)="profile()"> <ion-item (click)="profile()">
<ion-thumbnail slot="start" class="menu-thumb"> <ion-thumbnail slot="start" class="menu-thumb">
<img style= "height: 24px !important;" src="../assets/imgs/profile_icon.png" item-left> <img style= "height: 24px !important;" src="../assets/imgs/profile_icon.png" item-left>
@ -58,13 +58,13 @@
</ion-item> </ion-item>
</ion-list> </ion-list>
<div class="" style="text-align:center"> <div class="" style="text-align:center">
<img src="{{companyUrl}}" class="CompanyImg logoImg"> <img src="{{companyUrl}}" class="CompanyImg logoImg">
<!-- <p class="companyTxt">{{companyDesc}}</p> --> <!-- <p class="companyTxt">{{companyDesc}}</p> -->
</div> </div>
<div class="menuFooter"> <div class="menuFooter" >
<div> <img src="../assets/imgs/CS.png" class="CompanyImg"></div> <div> <img src="../assets/imgs/CS.png" class="CompanyImg" ></div>
<p class="companyTxt">{{companyDesc}}</p> <p class="companyTxt">{{companyDesc}}</p>
</div> </div>
</ion-content> </ion-content>
@ -95,7 +95,7 @@
</div> </div>
<br> <br>
<ion-list> <ion-list class="list-ar" >
<ion-item (click)="profile()"> <ion-item (click)="profile()">
<ion-thumbnail slot="start" class="menu-thumb"> <ion-thumbnail slot="start" class="menu-thumb">
<img style= "height: 24px !important;" src="../assets/imgs/profile_icon.png" item-left> <img style= "height: 24px !important;" src="../assets/imgs/profile_icon.png" item-left>
@ -155,7 +155,7 @@
<!-- <p class="companyTxt">{{companyDesc}}</p> --> <!-- <p class="companyTxt">{{companyDesc}}</p> -->
</div> </div>
<div class="menuFooter"> <div class="menuFooter">
<div> <img src="../assets/imgs/CS.png" class="CompanyImg"></div> <div> <img src="../assets/imgs/CS.png" class="CompanyImg" ></div>
<p class="companyTxt">{{companyDesc}}</p> <p class="companyTxt">{{companyDesc}}</p>
</div> </div>
</ion-content> </ion-content>

@ -61,8 +61,7 @@ header
border-radius: 50% !important; border-radius: 50% !important;
position: relative; position: relative;
color: #7f8c8d; color: #7f8c8d;
} }
.changeImgBtn{ .changeImgBtn{
@ -236,6 +235,38 @@ padding: 6px 24px;
margin-bottom: -28px; margin-bottom: -28px;
} }
.list-en{
margin-left: 0;
margin-right: 0;
margin-top: -19px;
margin-bottom: 0;
padding-left: 0;
padding-right: 0;
padding-top: 0px;
padding-bottom: 8px;
}
.list-ar{
margin-left: 0;
margin-right: 0;
margin-top: -19px;
margin-bottom: 0;
padding-left: 0;
padding-right: 0;
padding-top: 0px;
padding-bottom: 8px;
}
// .sidebar-menu .header-div {
// text-transform: capitalize;
// height: 100px;
// position: relative;
// display: block;
// margin-bottom: -28px;
// }
.list-md .item-block .item-inner, .list-md .item-block .item-inner,
.list-ios .item-block .item-inner { .list-ios .item-block .item-inner {
border-color: var(--primary); border-color: var(--primary);
@ -279,6 +310,7 @@ button.menu-item.item.item-block.item-ios {
width: 100%; width: 100%;
} }
.menuFooter div { .menuFooter div {
width: 80px; width: 80px;
// height: 80px; // height: 80px;
@ -286,16 +318,28 @@ button.menu-item.item.item-block.item-ios {
} }
.menuFooter .CompanyImg { // .menuFooter .CompanyImg {
width: 100%; // width: 100%;
height: 100%; // height: 100%;
// }
.menuFooter .CompanyImg{
width: 80%;
height: 80%;
margin-bottom: -21px;
} }
// .logoImg{
// width: 120px;
// position: relative;
// }
.logoImg{ .logoImg{
width: 120px; width: 77px;
position: relative; position: relative;
margin-top: -1px;
} }
.companyTxt { .companyTxt {
font-size: 12px; font-size: 12px;
color: var(--customnavy); color: var(--customnavy);
@ -316,16 +360,31 @@ font-weight: bolder !important;
font-weight: bolder !important; font-weight: bolder !important;
} }
.profileDiv-ar{
margin: 5px auto !important;
}
.profileImg{
width: 160px;
height: 160px;
display: -webkit-inline-box;
display: inline-flex;
overflow: hidden;
background: transparent;
border-radius: 70% !important;
position: relative;
top: 7px;
// .profileImg{
// width: 160px;
// height: 160px;
// display: -webkit-inline-box;
// display: inline-flex;
// overflow: hidden;
// background: transparent;
// border-radius: 70% !important;
// position: relative;
// top: 7px;
// }
.profileImg{
width: 140px;
height: 140px;
display: -webkit-inline-box;
display: inline-flex;
overflow: hidden;
background: transparent;
border-radius: 70% !important;
position: relative;
top: 3px;
} }

@ -30,15 +30,11 @@
<p class="text1" style="font-size: 28px;margin-bottom: 0px" >{{empname}}</p> <p class="text1" style="font-size: 28px;margin-bottom: 0px" >{{empname}}</p>
--> -->
</ion-col> </ion-col>
</ion-row> <div *ngIf="onlySMSBox"><p>{{ts.trPK('login','verify-login-with')}}</p></div> </ion-row>
<!-- <type-writer *ngIf="!onlySMSBox" [text]="'login, verify-fingerprint' | translate" class="description" <div *ngIf="onlySMSBox"><p>{{ts.trPK('login','verify-login-with')}}</p></div>
color="primary" fontSize="0.55cm" lineHeight="1cm" fontSize="0.55cm"></type-writer>
-->
<div *ngIf="!onlySMSBox && FFloginType == 2"><p>{{ts.trPK('login','verify-fingerprint')}}</p></div> <div *ngIf="!onlySMSBox && FFloginType == 2"><p>{{ts.trPK('login','verify-fingerprint')}}</p></div>
<div *ngIf="!onlySMSBox && FFloginType == 3"><p>{{ts.trPK('login','verify-faceId')}}</p></div> <div *ngIf="!onlySMSBox && FFloginType == 3"><p>{{ts.trPK('login','verify-faceId')}}</p></div>
</ion-col> </ion-col>
</ion-row> </ion-row>

@ -53,10 +53,10 @@
</ion-item> </ion-item>
<ion-item> <!-- <ion-item>
<ion-label>{{ts.trPK('login','remeber-me')}}</ion-label> <ion-label>{{ts.trPK('login','remeber-me')}}</ion-label>
<ion-checkbox [(ngModel)]="remeberMe" (ionChange)="addValue($event)" ></ion-checkbox> <ion-checkbox [(ngModel)]="remeberMe" (ionChange)="addValue($event)" ></ion-checkbox>
</ion-item> </ion-item> -->
<div class="centerDiv signupDiv" *ngIf="isAppleStore==false"> <div class="centerDiv signupDiv" *ngIf="isAppleStore==false">
<a>{{ts.trPK('login','signup')}}</a> <a>{{ts.trPK('login','signup')}}</a>

@ -23,6 +23,7 @@ import { PushService } from 'src/app/hmg-common/services/push/push.service';
styleUrls: ['./login.component.scss'] styleUrls: ['./login.component.scss']
}) })
export class LoginComponent implements OnInit, OnDestroy { export class LoginComponent implements OnInit, OnDestroy {
deviceToken1: any;
constructor( constructor(
public cs: CommonService, public cs: CommonService,
@ -71,7 +72,7 @@ export class LoginComponent implements OnInit, OnDestroy {
public password: string; public password: string;
private language: string; private language: string;
public username: string; public username: string;
public remeberMe: boolean; public remeberMe = true;
private iosLink: string; private iosLink: string;
private androidLink: string; private androidLink: string;
public currentLang = 1; public currentLang = 1;
@ -91,10 +92,26 @@ export class LoginComponent implements OnInit, OnDestroy {
requestGetLoginInfo: any; requestGetLoginInfo: any;
logoutFlage: boolean ; logoutFlage: boolean ;
getuser: any = ''; getuser: any = '';
getlastlogin: any;
private checkUserResult: CheckUserAuthenticationResponse; private checkUserResult: CheckUserAuthenticationResponse;
ionViewWillEnter(){
console.log("ionViewWillEnter");
}
ngOnInit() { ngOnInit() {
// if(!this.cs.getIsTimeSessionOut()){
// this.getlastlogin = this.cs.sharedService.getSharedData(
// AuthenticationService.IMEI_USER_DATA,
// false
// );
// console.log("this.getlastlogin"+ this.getlastlogin);
// }
this.currentLang = TranslatorService.getCurrentLanguageCode(); this.currentLang = TranslatorService.getCurrentLanguageCode();
console.log(TranslatorService.CURRENT_LANGUAGE) console.log(TranslatorService.CURRENT_LANGUAGE)
console.log(TranslatorService.EN) console.log(TranslatorService.EN)
@ -126,7 +143,17 @@ export class LoginComponent implements OnInit, OnDestroy {
this.user = user; this.user = user;
}); });
this.deviceToken = localStorage.getItem('devicyeToken'); //this.deviceToken = localStorage.getItem('devicyeToken');
//this.deviceToken1 =this.cs.getDeviceToken();
console.log(" this.user login in init" + this.user);
//this.deviceToken = localStorage.getItem('devicyeToken');
this.deviceToken =this.cs.getDeviceToken();
console.log('lngOnInit localStorage: ' + this.deviceToken1);
console.log('lngOnInit getDeviceToken: ' + this.deviceToken);
if (this.deviceToken) { if (this.deviceToken) {
console.log('login enabled first time: ' + this.deviceToken); console.log('login enabled first time: ' + this.deviceToken);
} else { } else {
@ -377,7 +404,7 @@ export class LoginComponent implements OnInit, OnDestroy {
getLastLoginInfo() { getLastLoginInfo() {
this.requestGetLoginInfo = { this.requestGetLoginInfo = {
DeviceType: this.cs.getDeviceType(), // "Android",//this.cs.getDeviceType(), DeviceType: this.cs.getDeviceType(), // "Android",//this.cs.getDeviceType(),
DeviceToken: this.deviceToken// "5ca8a69cf1804db55264c349edffb99b9d63acd9fa9b6b18956bcb2ad3f2ba36"//this.deviceToken DeviceToken: this.cs.getDeviceToken()// "5ca8a69cf1804db55264c349edffb99b9d63acd9fa9b6b18956bcb2ad3f2ba36"//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)) {

@ -18,7 +18,16 @@
<ion-col> <ion-col>
<p class="headerTxt" > {{'verificationcode,verificationcode' | translate}}</p> <p class="headerTxt" > {{'verificationcode,verificationcode' | translate}}</p>
<br/> <br/>
<p class="leftDiv">{{'verificationcode,title' | translate}}<span class="boldTxtNav">{{'verificationcode,verificationcode' | translate}}</span> {{'verificationcode,by' | translate}}<span class="boldTxtNav">{{'verificationcode,sms' | translate}}</span>{{'verificationcode,instruct' | translate}}<span class="boldTxtNav">{{'general,submit' | translate}}</span></p> <p class="leftDiv">{{'verificationcode,title' | translate}}
<span class="boldTxtNav">{{'verificationcode,verificationcode' | translate}}</span>
{{'verificationcode,by' | translate}}
<span *ngIf="loginType == 1" class="boldTxtNav">{{'verificationcode , sms' | translate}}</span>
<span *ngIf="loginType == 4" class="boldTxtNav">{{'verificationcode , whatsapp' | translate}}</span>
{{'verificationcode,instruct' | translate}}
<span class="boldTxtNav">{{'general,submit' | translate}}</span
></p>
<!-- <p class="leftDiv">{{'verificationcode,title' | translate}}<span class="boldTxtNav">{{'verificationcode,verificationcode' | translate}}</span> {{'verificationcode,by' | translate}}<span class="boldTxtNav">{{'verificationcode,sms' | translate}}</span>{{'verificationcode,instruct' | translate}}<span class="boldTxtNav">{{'general,submit' | translate}}</span></p> -->
</ion-col> </ion-col>
</ion-row> </ion-row>
</ion-grid> </ion-grid>

@ -1,508 +1,236 @@
import { Component, OnInit } from "@angular/core"; import { Component, OnInit } from '@angular/core';
import { ElementRef } from '@angular/core';
import { ElementRef } from "@angular/core"; import { NavController, Platform } from '@ionic/angular';
import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service';
import { NavController, Platform } from "@ionic/angular"; import { CommonService } from 'src/app/hmg-common/services/common/common.service';
import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service';
import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service"; import { SMSCheckRequest } from 'src/app/hmg-common/services/authentication/models/smscheck.request';
import { LoginModel } from '../models/LoginModel';
import { CommonService } from "src/app/hmg-common/services/common/common.service"; import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service';
import { SMSCheckResponse } from 'src/app/hmg-common/services/authentication/models/smscheck.response';
import { SharedDataService } from "src/app/hmg-common/services/shared-data-service/shared-data.service"; import { Password } from '../models/password';
import { SMSCheckRequest } from "src/app/hmg-common/services/authentication/models/smscheck.request";
import { LoginModel } from "../models/LoginModel";
import { AuthenticationService } from "src/app/hmg-common/services/authentication/authentication.service";
import { SMSCheckResponse } from "src/app/hmg-common/services/authentication/models/smscheck.response";
import { Password } from "../models/password";
import { GetLoginInfoRequest } from 'src/app/hmg-common/services/authentication/models/get-login-info.request'; import { GetLoginInfoRequest } from 'src/app/hmg-common/services/authentication/models/get-login-info.request';
import * as moment from "moment"; import * as moment from 'moment';
@Component({ @Component({
selector: 'app-sms-page',
selector: "app-sms-page", templateUrl: './sms-page.page.html',
styleUrls: ['./sms-page.page.scss']
templateUrl: "./sms-page.page.html",
styleUrls: ["./sms-page.page.scss"]
}) })
export class SmsPageComponent implements OnInit { export class SmsPageComponent implements OnInit {
public static LOGIN_DATA = 'LOGIN_DATA';
public static LOGIN_DATA = "LOGIN_DATA"; Channel = 0;
Channel: number = 0;
activationCode: string; activationCode: string;
P_SESSION_ID: number; P_SESSION_ID: number;
P_USER_NAME: string; P_USER_NAME: string;
timeInSeconds: any; timeInSeconds: any;
time: any; time: any;
runTimer: any; runTimer: any;
hasStarted: any; hasStarted: any;
hasFinished: any; hasFinished: any;
remainingTime: any; remainingTime: any;
displayTime: any; displayTime: any;
loginTokenID: string; loginTokenID: string;
public isForgetPwd = false;
public isForgetPwd: boolean = false; public isExpiredPwd = false;
public count = 0;
public isExpiredPwd: boolean = false;
public count: number = 0;
private loginData = new LoginModel(); private loginData = new LoginModel();
public deviceToken: any;
public deviceToken:any; public loginTypeData: any;
public logo = 'assets/icon/login/password.png';
public loginTypeData:any; // tslint:disable-next-line: variable-name
public logo = "assets/icon/login/password.png";
public smc_code: any = []; public smc_code: any = [];
code: any; code: any;
// tslint:disable-next-line: variable-name
user_name: string; user_name: string;
public isPostNoLoad = true;
loginType: any;
constructor( constructor(
public navCtrl: NavController, public navCtrl: NavController,
public translate: TranslatorService, public translate: TranslatorService,
public common: CommonService, public common: CommonService,
private elementRef: ElementRef, private elementRef: ElementRef,
public authService: AuthenticationService, public authService: AuthenticationService,
public sharedData: SharedDataService, public sharedData: SharedDataService,
public platform: Platform, public platform: Platform,
) {} ) {}
ngOnInit() { ngOnInit() {
this.count = 0; this.count = 0;
this.initTimer(); this.initTimer();
this.startTimer(); this.startTimer();
this.isForgetPwd = this.sharedData.getSharedData(Password.IS_FORGET_PSW) || false;
this.isForgetPwd = this.isExpiredPwd = this.sharedData.getSharedData(Password.IS_EXPIRED_PSW) || false;
this.loginData = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false);
this.sharedData.getSharedData(Password.IS_FORGET_PSW) || false; this.deviceToken = this.common.sharedService.getSharedData(AuthenticationService.DEVICE_TOKEN, false);
// tslint:disable-next-line: triple-equals
this.isExpiredPwd = if (this.deviceToken == undefined) {
this.deviceToken = localStorage.getItem('deviceToken');
this.sharedData.getSharedData(Password.IS_EXPIRED_PSW) || false; }
console.log('deviceToken :' + this.deviceToken);
this.loginData= this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); this.loginTypeData = this.common.sharedService.getSharedData(SMSCheckRequest.SHARED_DATA, false);
this.loginType = this.loginTypeData.loginType;
console.log("loginData : "+ this.loginData);
this.deviceToken= this.common.sharedService.getSharedData(AuthenticationService.DEVICE_TOKEN, false);
if(this.deviceToken == undefined){
this.deviceToken = localStorage.getItem("deviceToken");
}
console.log("deviceToken :"+this.deviceToken);
this.loginTypeData= this.common.sharedService.getSharedData(SMSCheckRequest.SHARED_DATA, false);
// console.log("loginType :"+this.loginTypeData.loginType);
} }
initTimer() { initTimer() {
// Pomodoro is usually for 25 minutes
if (!this.timeInSeconds) { if (!this.timeInSeconds) {
this.timeInSeconds = 600; this.timeInSeconds = 600;
} }
this.time = this.timeInSeconds; this.time = this.timeInSeconds;
this.runTimer = false; this.runTimer = false;
this.hasStarted = false; this.hasStarted = false;
this.hasFinished = false; this.hasFinished = false;
this.remainingTime = this.timeInSeconds; this.remainingTime = this.timeInSeconds;
this.displayTime = this.common.getSecondsAsDigitalClock(this.remainingTime); this.displayTime = this.common.getSecondsAsDigitalClock(this.remainingTime);
} }
startTimer() { startTimer() {
this.runTimer = true; this.runTimer = true;
this.hasStarted = true; this.hasStarted = true;
this.timerTick(); this.timerTick();
} }
pauseTimer() { pauseTimer() {
this.runTimer = false; this.runTimer = false;
} }
resumeTimer() { resumeTimer() {
this.startTimer(); this.startTimer();
} }
timerTick() { timerTick() {
setTimeout(() => { setTimeout(() => {
if (!this.runTimer) { if (!this.runTimer) {
return; return;
} }
this.remainingTime--; this.remainingTime--;
this.displayTime = this.common.getSecondsAsDigitalClock(this.remainingTime);
this.displayTime = this.common.getSecondsAsDigitalClock(
this.remainingTime
);
if (this.remainingTime > 0) { if (this.remainingTime > 0) {
this.timerTick(); this.timerTick();
} else { } else {
this.hasFinished = true; this.hasFinished = true;
this.pauseTimer(); this.pauseTimer();
this.navCtrl.pop(); this.navCtrl.pop();
} }
}, 1000); }, 1000);
} }
ionViewWillLeave() { ionViewWillLeave() {
this.pauseTimer(); this.pauseTimer();
} }
checkOTPLength() {
// tslint:disable-next-line: triple-equals
checkOTPLength(){ if (this.activationCode.length == 4) {
console.log(this.activationCode.length);
if(this.activationCode.length==4){
this.checkVerificationCode(); this.checkVerificationCode();
} }
} }
checkVerificationCode() { checkVerificationCode() {
this.code=this.smc_code.join(''); this.code = this.smc_code.join('');
if (this.count < 3) { if (this.count < 3) {
// tslint:disable-next-line: triple-equals
if ( if (this.code == undefined || this.code == null || this.code == '') {
this.code == undefined ||
this.code == null ||
this.code == ""
) {
// this.common.showAlert(this.translate.translate('verificationcode.emptyCode')); // this.common.showAlert(this.translate.translate('verificationcode.emptyCode'));
} else { } else {
this.count = this.count + 1; this.count = this.count + 1;
if (this.isForgetPwd || this.isExpiredPwd) { if (this.isForgetPwd || this.isExpiredPwd) {
this.checkForgetPwdSMS(); this.checkForgetPwdSMS();
} else { } else {
console.log("checkSMS");
this.checkSMS(); this.checkSMS();
} }
} }
} else { } else {
const msg: string = this.translate.trPK('general', 'noOfTriesLogin');
let msg: string = this.translate.trPK("general", "noOfTriesLogin"); this.common.JustAlertDialog(this.translate.trPK('general', 'ok'), msg);
this.common.JustAlertDialog(this.translate.trPK("general", "ok"), msg);
} }
} }
public checkSMS() { public checkSMS() {
const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false);
// alert("checkSMS in page") const request = new SMSCheckRequest();
console.log("code" + this.code); request.LogInTokenID = data.LogInTokenID;
const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); request.activationCode = this.code; // code;this.activationCode;
request.P_USER_NAME = data.P_USER_NAME;
const request = new SMSCheckRequest(); request.MobileNumber = data.MobileNumber;
this.authService.checkSMS(request, () => {}, this.translate.trPK('general', 'ok')).subscribe((result: SMSCheckResponse) => {
request.LogInTokenID = data.LogInTokenID;
request.activationCode = this.code; //code;this.activationCode;
request.P_USER_NAME = data.P_USER_NAME;
request.MobileNumber = data.MobileNumber;
this.authService
.checkSMS(request, () => {}, this.translate.trPK("general", "ok"))
.subscribe((result: SMSCheckResponse) => {
console.log(result);
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
AuthenticationService.servicePrivilage = result.Privilege_List;
AuthenticationService.servicePrivilage=result.Privilege_List;
this.authService.setAuthenticatedUser(result).subscribe(() => { this.authService.setAuthenticatedUser(result).subscribe(() => {
localStorage.setItem('emp-name', result.MemberInformationList[0].EMPLOYEE_NAME);
//call insert Mobile Login this.user_name = result.MemberInformationList[0].EMPLOYEE_NAME;
console.log("insert"); const currDateTime = moment().format('MMM DD , YYYY HH:mm');
localStorage.setItem("emp-name",result.MemberInformationList[0].EMPLOYEE_NAME); localStorage.setItem('login-at', currDateTime);
console.log("empnmae: "+ localStorage.getItem("emp-name")); if (this.platform.is('cordova')) {
// localStorage.setItem("login-at", new Date().toISOString());
this.user_name=result.MemberInformationList[0].EMPLOYEE_NAME;
//get date and time of last login
let currDateTime = moment().format('MMM DD , YYYY HH:mm')
localStorage.setItem("login-at",currDateTime);
if (this.platform.is("cordova")) {
// localStorage.setItem("full-name", result.P_USER_NAME);
this.insertMobileLogin(); this.insertMobileLogin();
} }
this.common.openHome(); this.common.openHome();
}); });
} }
}); });
} }
public insertMobileLogin() {
const request = new GetLoginInfoRequest();
public insertMobileLogin(){
console.log("loginData" + this.loginData);
let request = new GetLoginInfoRequest();
this.authService.setPublicFields(request); this.authService.setPublicFields(request);
request.MobileNumber = this.loginData.MobileNumber; request.MobileNumber = this.loginData.MobileNumber;
request.P_USER_NAME = this.loginData.P_USER_NAME;
request.P_USER_NAME=this.loginData.P_USER_NAME; request.UserName = this.loginData.P_USER_NAME;
request.LogInTokenID = this.loginData.LogInTokenID;
request.UserName=this.loginData.P_USER_NAME; request.CompanyID = 1; // CompanyID
request.DeviceType = this.common.getDeviceType();
request.LogInTokenID =this.loginData.LogInTokenID; request.DeviceToken = this.deviceToken; // "5ca8a69cf1804db55264c349edffb99b9d63acd9fa9b6b18956bcb2ad3f2ba36";//this.deviceToken;
request.LoginType = this.loginTypeData.loginType;
request.CompanyID =1;//CompanyID request.EmployeeName = this.user_name;
this.authService.insertMobileLoginInfo(request, () => { }, this.translate.trPK('general', 'ok'), this.isPostNoLoad)
request.DeviceType= this.common.getDeviceType(); .subscribe((result: any) => {
console.log('successful insertMobileLogin' );
request.DeviceToken=this.deviceToken;//"5ca8a69cf1804db55264c349edffb99b9d63acd9fa9b6b18956bcb2ad3f2ba36";//this.deviceToken; });
request.LoginType=this.loginTypeData.loginType;
request.EmployeeName=this.user_name;
this.authService
.insertMobileLoginInfo(
request,
() => { },
this.translate.trPK("general", "ok")
)
.subscribe((result: any) => {
console.log("successful insertMobileLogin" );
});
} }
public checkForgetPwdSMS() { public checkForgetPwdSMS() {
const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false);
const request = new SMSCheckRequest(); const request = new SMSCheckRequest();
request.LogInTokenID = data.LogInTokenID; request.LogInTokenID = data.LogInTokenID;
request.activationCode = this.code; // this.activationCode;
request.activationCode =this.code;// this.activationCode;
request.P_USER_NAME = data.P_USER_NAME; request.P_USER_NAME = data.P_USER_NAME;
this.authService.checkForgetSMS(request, () => {}, this.translate.trPK('general', 'ok')).subscribe((result: SMSCheckResponse) => {
console.log(data.LogInTokenID);
console.log(data.P_USER_NAME);
this.authService
.checkForgetSMS(request, () => {}, this.translate.trPK("general", "ok"))
.subscribe((result: SMSCheckResponse) => {
console.log(result);
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
console.log(result);
if (this.isForgetPwd) { if (this.isForgetPwd) {
this.common.openForgotPassword(); this.common.openForgotPassword();
}
} if (this.isExpiredPwd) {
this.sharedData.setSharedData(true, Password.IS_EXPIRED_PSW);
if(this.isExpiredPwd) {
this.sharedData.setSharedData(true,Password.IS_EXPIRED_PSW);
this.common.openChangePassword(); this.common.openChangePassword();
} }
} }
}); });
} }
onChange() { onChange() {
const filtered = this.smc_code.filter(function (el) { // tslint:disable-next-line: only-arrow-functions
const filtered = this.smc_code.filter(function(el) {
if (el) { if (el) {
return el; return el;
} }
}); });
if (filtered.length === 4) { if (filtered.length === 4) {
//this.validate();
console.log("validate");
this.checkVerificationCode(); this.checkVerificationCode();
} }
} }
goToNextInput(e) { goToNextInput(e) {
// let value = e.target.value;
// if (value.length === 1) {
const key = e.which; const key = e.which;
const t = e.target; const t = e.target;
let sib = t.nextElementSibling; const sib = t.nextElementSibling;
let sibPre =t.previousElementSibling; const sibPre = t.previousElementSibling;
if (key !== 9 && (key < 48 || key > 57)) { if (key !== 9 && (key < 48 || key > 57)) {
if (key === 8 || key === 46) { if (key === 8 || key === 46) {
return true; return true;
} else { } else {
e.preventDefault(); e.preventDefault();
@ -513,22 +241,13 @@ console.log("successful insertMobileLogin" );
if (key === 9) { if (key === 9) {
return true; return true;
} }
if (sib) { if (sib) {
//sib = document.querySelector('input'); if (e.target.value === '') {
if (e.target.value ==="") { sibPre.setFocus();
sibPre.setFocus()} } else {
else{
sib.setFocus(); sib.setFocus();
}
} }
} }
// } else { }
// e.target.value = value.substring(0, value.length - 1); }
// }
}

@ -1,6 +1,6 @@
<!-- <ion-header> <!-- <ion-header>
<ion-toolbar class="header-toolbar-new"> <ion-toolbar class="header-toolbar-new">
<ion-buttons slot="start"> <ion-buttons *ngIf="getPassdirfromNotifiPage != true" slot="start">
<nav-buttons backLink=""></nav-buttons> <nav-buttons backLink=""></nav-buttons>
</ion-buttons> </ion-buttons>
<ion-title color="light">{{headerTitle}}</ion-title> <ion-title color="light">{{headerTitle}}</ion-title>
@ -12,13 +12,21 @@
</ion-buttons> </ion-buttons>
</ion-toolbar> </ion-toolbar>
</ion-header> --> </ion-header>
-->
<!-- <app-generic-header
showBack="!getPassdirfromNotifiPage"
[updateDirection]="getPassdirfromNotifiPage"
[headerText]="headerTitle"
(trigger)="closemodal()">
</app-generic-header> -->
<app-generic-header <app-generic-header
showBack="true" showBack="true"
[headerText]="headerTitle"> [headerText]="headerTitle">
</app-generic-header> </app-generic-header>
<ion-content padding> <ion-content padding>
<div #containerDiv id="containerDiv"> <div #containerDiv id="containerDiv">

@ -323,7 +323,7 @@ export class AddEitComponent implements OnInit {
feildsList[i].APPLICATION_COLUMN_NAME, feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal, defaultVal,
containerId, containerId,
defaultVal, defaultValText,
feildsList[i].MOBILE_ENABLED, feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG, feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG feildsList[i].REQUIRED_FLAG

@ -10,7 +10,7 @@
<ion-grid> <ion-grid>
<ion-row style="margin-top: 20px;margin-left: 12px;"> <ion-row style="margin-top: 20px;margin-left: 12px;">
<ion-col> <ion-col>
<div size="10" class="approvalTitle">{{'general, addAttach' | translate}}</div> <div size="10" [ngClass]=" direction === 'en' ? 'approvalTitle' : 'approvalTitle-ar'" >{{'general, addAttach' | translate}}</div>
</ion-col> </ion-col>
<ion-col style="padding-left: 7%;" size="2"> <ion-col style="padding-left: 7%;" size="2">
<div class="fileDiv"> <div class="fileDiv">
@ -86,7 +86,7 @@
<ion-grid class=""> <ion-grid class="">
<div class="approvalTitle">{{'confirmAddEit, comment' | translate}}</div> <div [ngClass]=" direction === 'en' ? 'approvalTitle' : 'approvalTitle-ar'">{{'confirmAddEit, comment' | translate}}</div>
<ion-item class="submitNote" lines="none"> <ion-item class="submitNote" lines="none">
<!-- <ion-label position="floating" class="boldTxtNav">{{'confirmAddEit, comment' | translate}}</ion-label> --> <!-- <ion-label position="floating" class="boldTxtNav">{{'confirmAddEit, comment' | translate}}</ion-label> -->
<ion-textarea type="text" [(ngModel)]="eitComments"></ion-textarea> <ion-textarea type="text" [(ngModel)]="eitComments"></ion-textarea>
@ -94,7 +94,7 @@
</ion-grid> </ion-grid>
<ion-grid class="approvalList"> <ion-grid class="approvalList">
<div class="approvalTitle">{{'confirmAddEit, approverList' | translate}}</div> <div [ngClass]=" direction === 'en' ? 'approvalTitle' : 'approvalTitle-ar'">{{'confirmAddEit, approverList' | translate}}</div>
<div class="noDataDiv" *ngIf="approversList?.length == 0"> <div class="noDataDiv" *ngIf="approversList?.length == 0">
<p>{{ 'general, empty' | translate}}</p> <p>{{ 'general, empty' | translate}}</p>
</div> </div>

@ -240,4 +240,16 @@
width: 80% !important; width: 80% !important;
color: white!important; color: white!important;
border-radius: 16px !important; border-radius: 16px !important;
} }
.approvalTitle-ar{
font-weight: bold;
font-size: 16px;
text-align: right;
}
.approvalTitle{
font-weight: bold;
font-size: 16px;
text-align: left;
}

@ -14,15 +14,26 @@
<div style="color: black;"> <div style="color: black;">
<div class="result-graph"> <div class="result-graph">
<div > <div >
<ion-datetime [(ngModel)]="Sdate" class="datetime" displayFormat="DD MMMM YYYY" placeholder="DD MMMM YYYY" <!-- <ion-datetime
(ionChange)="getAccrualBalance()"></ion-datetime> [placeholder]="Select"
display-format="DD/MM/YYYY"
[min]="1900"
[max]="2100"
[(ngModel)]="dateTo"
doneText="Done"
cancelText="Cancel"
></ion-datetime> -->
<ion-datetime [(ngModel)]="Sdate" class="datetime" placeholder="Select" displayFormat="DD MMMM YYYY"
cancelText="{{ts.trPK('general','cancel')}}" doneText="{{ts.trPK('general','done')}}"
(ionChange)="getAccrualBalance()"></ion-datetime>
<!-- <ion-datetime [(ngModel)]="Sdate" class="datetime" displayFormat="DD MMMM YYYY" placeholder="DD MMMM YYYY"
(ionChange)="getAccrualBalance()"></ion-datetime> -->
<ion-icon class="iconCalendar" ios="ios-calendar" md="md-calendar"></ion-icon> <ion-icon class="iconCalendar" ios="ios-calendar" md="md-calendar"></ion-icon>
</div> </div>
<div style=" border-bottom: 1px solid #a7a4a4; margin-bottom: 12px; <div style=" border-bottom: 1px solid #a7a4a4; margin-bottom: 12px;
margin-top: -10px; margin-right: -9px;"></div> margin-top: -10px; margin-right: -9px;"></div>
<!-- <div class="result-text-container"> <!-- <div class="result-text-container">
</div> --> </div> -->

@ -555,10 +555,14 @@ export class AuthenticationService {
public insertMobileLoginInfo(request: GetLoginInfoRequest,onError: any, errorLabel: string): Observable<GetLoginInfoResponse> { // tslint:disable-next-line: max-line-length
public insertMobileLoginInfo(request: GetLoginInfoRequest, onError: any, errorLabel: string, isPostNoLoad = false): Observable<GetLoginInfoResponse> {
this.authenticateRequest(request); this.authenticateRequest(request);
if (isPostNoLoad) {
return this.con.post(AuthenticationService.insertMobileLoginInfo,request,onError,errorLabel); return this.con.postNoLoad(AuthenticationService.insertMobileLoginInfo, request, onError, errorLabel);
} else {
return this.con.post(AuthenticationService.insertMobileLoginInfo, request, onError, errorLabel);
}
} }
@ -637,6 +641,7 @@ export class AuthenticationService {
} }
private sessionTimeOutDialog() { private sessionTimeOutDialog() {
this.cs.stopLoading();
this.cs.presentAcceptDialog( this.cs.presentAcceptDialog(
this.ts.trPK("general", "idle-relogin"), this.ts.trPK("general", "idle-relogin"),
() => { () => {
@ -657,7 +662,7 @@ export class AuthenticationService {
this.clearUserSession(); this.clearUserSession();
this.publishUserChangeEvent(); this.publishUserChangeEvent();
this.sessionTimeOutDialog(); this.sessionTimeOutDialog();
this.cs.openHome(); // this.cs.openHome();
} }
}, AuthenticationService.monitorInterval_M); }, AuthenticationService.monitorInterval_M);
} }

@ -168,11 +168,12 @@ export class PushService {
localStorage.setItem('deviceToken', data); localStorage.setItem('deviceToken', data);
} }
if (this.authService.isAuthenticated()) { //
this.registerAuthenticatedUser(data); // if (this.authService.isAuthenticated()) {
} else { // this.registerAuthenticatedUser(data);
this.registerNotAuthenticatedUser(data); // } else {
} // this.registerNotAuthenticatedUser(data);
// }
} }

@ -47,23 +47,38 @@
<ion-col [size]="6" style="border-bottom: 1px solid #ccc;"> <ion-col [size]="6" style="border-bottom: 1px solid #ccc;">
<ion-row class="amountlabel"><p >{{scheduled}}</p> </ion-row> <ion-row class="amountlabel"><p >{{scheduled}}</p> </ion-row>
<ion-row class="rowlabel"> <ion-row class="rowlabel">
<p >{{ts.trPK('attendance-tracking','regular')}}</p> <p >{{ts.trPK('attendance-tracking','shift-type')}}</p>
</ion-row> </ion-row>
</ion-col> </ion-col>
<ion-col [size]="6" [ngClass]="direction == 'ltr'? 'col':'col-ar'"> <ion-col [size]="6" [ngClass]="direction == 'ltr'? 'col':'col-ar'">
<ion-row class="amountlabel"><p >{{startDate}}</p> </ion-row> <ion-row class="amountlabel"><p >{{actualCheckIn}}</p> </ion-row>
<ion-row class="rowlabel"> <ion-row class="rowlabel">
<p >{{ts.trPK('attendance-tracking','check-in')}}</p> <p >{{ts.trPK('attendance-tracking','actual-check-in')}}</p>
</ion-row> </ion-row>
</ion-col> </ion-col>
<ion-col [size]="6" style="border-bottom: 1px solid #ccc;"> <ion-col [size]="6" style="border-bottom: 1px solid #ccc;">
<ion-row class="amountlabel"> <p >{{endDate}}</p> </ion-row> <ion-row class="amountlabel"> <p >{{actualCheckOut}}</p> </ion-row>
<ion-row class="rowlabel"> <ion-row class="rowlabel">
<p >{{ts.trPK('attendance-tracking','check-out')}} </p> <p >{{ts.trPK('attendance-tracking','actual-check-out')}} </p>
</ion-row>
</ion-col>
<ion-col [size]="6" [ngClass]="direction == 'ltr'? 'col':'col-ar'">
<ion-row class="amountlabel"><p >{{approvedCheckIn}}</p> </ion-row>
<ion-row class="rowlabel">
<p >{{ts.trPK('attendance-tracking','approved-check-in')}}</p>
</ion-row>
</ion-col>
<ion-col [size]="6" style="border-bottom: 1px solid #ccc;">
<ion-row class="amountlabel"> <p >{{approvedCheckOut}}</p> </ion-row>
<ion-row class="rowlabel">
<p >{{ts.trPK('attendance-tracking','approved-check-out')}} </p>
</ion-row> </ion-row>
</ion-col> </ion-col>

@ -63,16 +63,18 @@ export class DateInfoModalComponent implements OnInit {
this.excess = this.TODAYDATE.EXCESS_HRS; this.excess = this.TODAYDATE.EXCESS_HRS;
this.lateIn = this.TODAYDATE.LATE_IN_HRS; this.lateIn = this.TODAYDATE.LATE_IN_HRS;
this.shortage = this.TODAYDATE.SHORTAGE_HRS; this.shortage = this.TODAYDATE.SHORTAGE_HRS;
this.scheduled = this.TODAYDATE.SCHEDULED_HRS;
this.earlyOut = this.TODAYDATE.EARLY_OUT_HRS ; this.earlyOut = this.TODAYDATE.EARLY_OUT_HRS ;
this.scheduleDate = this.TODAYDATE.SCHEDULE_DATE; this.scheduleDate = this.TODAYDATE.SCHEDULE_DATE;
this.assignData(this.SHIFTDETAILS.GetScheduleShiftsDetailsList[0]); this.assignData(this.SHIFTDETAILS.GetScheduleShiftsDetailsList[0]);
} }
assignData(shiftDetails) { assignData(shiftDetails) {
this.scheduled = shiftDetails.SHT_TYPE_DESC;
this.shiftTime = shiftDetails.SHT_NAME; this.shiftTime = shiftDetails.SHT_NAME;
this.startDate = shiftDetails.SHT_ACTUAL_START_TIME; this.actualCheckIn = shiftDetails.SHT_ACTUAL_START_TIME;
this.endDate = shiftDetails.SHT_ACTUAL_END_TIME; this.actualCheckOut = shiftDetails.SHT_ACTUAL_END_TIME;
this.approvedCheckIn = shiftDetails.APPROVED_START_TIME;
this.approvedCheckOut = shiftDetails.APPROVED_END_TIME;
this.percentage = shiftDetails.PERCENTAGE; this.percentage = shiftDetails.PERCENTAGE;
this.percChart = this.percentage.substring(0, this.percentage.indexOf('%')); this.percChart = this.percentage.substring(0, this.percentage.indexOf('%'));
// const test = this.scheduleDate; // const test = this.scheduleDate;

@ -12,6 +12,24 @@
<img [src]="userImage"/> <img [src]="userImage"/>
</div> </div>
</ion-col> </ion-col>
<!-- *ngIf="getPassdirfromNotifiPage == true" -->
<ion-col *ngIf="updateDirection" [size]="2" style="padding: 0;" (click)="closeModal()">
<div class="profile-image-container">
<img style="
width: 20px;
height: 20px;
margin-top: 5px;"
[src]="close"
/>
</div>
<!-- <ion-buttons slot="primary" >
<ion-button style="background: red !important;">
<ion-icon slot="icon-only" name="close"></ion-icon>
</ion-button>
</ion-buttons> -->
</ion-col>
</ion-row> </ion-row>
</ion-toolbar> </ion-toolbar>
</ion-header> </ion-header>

@ -1,4 +1,4 @@
import { Component, OnInit, Input } from '@angular/core'; import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { CommonService } from '../../services/common/common.service'; import { CommonService } from '../../services/common/common.service';
@Component({ @Component({
@ -12,16 +12,35 @@ export class GenericHeaderComponent implements OnInit {
@Input() showMenu = false; @Input() showMenu = false;
@Input() showBack = false; @Input() showBack = false;
@Input() navigate = true; @Input() navigate = true;
@Input() showClose = false;
@Input() updateDirection = false;
@Input() headerText = ''; @Input() headerText = '';
@Input() backLink: string; @Input() backLink: string;
@Output() trigger= new EventEmitter();
public close = 'assets/imgs/cancel.png';
constructor(public common: CommonService) { } constructor(public common: CommonService) { }
ngOnInit() {} ngOnInit() {
console.log(this.updateDirection);
console.log(this.showClose);
console.log(this.showBack);
if(this.updateDirection){
this.showBack=false;
}else{
}
}
openProfilePage() { openProfilePage() {
this.common.openEditProfile(); this.common.openEditProfile();
} }
closeModal(){
console.log("closeModal");
this.trigger.emit();
}
} }

@ -360,13 +360,26 @@ ion-title{
background: white; background: white;
border-radius: 20px; border-radius: 20px;
padding: 10px; padding: 10px;
h2{ @media screen and (min-width: 300px) and (max-width:359px) {
h2{
padding: 0;
margin: 0;
font-size: 14px;
}
span{
font-size: 9px;
}
}
@media screen and (min-width: 360px) {
h2{
padding: 0; padding: 0;
margin: 0; margin: 0;
font-size: 18px; font-size: 18px;
} }
span{ span{
font-size: 11px; font-size: 11px;
}
} }
} }

@ -14,6 +14,7 @@
<div class="result-text-container"> <div class="result-text-container">
<h2>{{totalEmployees}}</h2> <h2>{{totalEmployees}}</h2>
<span>{{ts.trPK('myTeam','total')}} <br> {{ts.trPK('myTeam','team-members')}}</span> <span>{{ts.trPK('myTeam','total')}} <br> {{ts.trPK('myTeam','team-members')}}</span>
</div> </div>
<p-chart class="today-graph" type="doughnut" [data]="data" [options]="options"></p-chart> <p-chart class="today-graph" type="doughnut" [data]="data" [options]="options"></p-chart>
</div> </div>

@ -7,5 +7,5 @@ public P_PAGE_LIMIT : Number;
public P_SEARCH_USER_NAME:String; public P_SEARCH_USER_NAME:String;
public P_SEARCH_EMPLOYEE_DISPLAY_NAME:String; public P_SEARCH_EMPLOYEE_DISPLAY_NAME:String;
public P_SEARCH_EMAIL_ADDRESS:String; public P_SEARCH_EMAIL_ADDRESS:String;
public P_SELECTED_EMPLOYEE_NUMBER:any;
} }

@ -1,7 +1,10 @@
<ion-header *ngIf="!messageSuccess"> <ion-header *ngIf="!messageSuccess">
<ion-toolbar> <ion-toolbar>
<!-- class="header-toolbar" <nav-buttons></nav-buttons> --> <!-- class="header-toolbar" <nav-buttons></nav-buttons> -->
<ion-title color="dark">{{ 'replacementRoll, title' | translate}}</ion-title> <ion-title *ngIf="!isAnswer" color="dark">{{ 'replacementRoll, title' | translate}}</ion-title>
<!-- <ion-title *ngIf="isAnswer" color="dark">Answer</ion-title> -->
</ion-toolbar> </ion-toolbar>
</ion-header> </ion-header>
@ -52,7 +55,17 @@
</div> --> </div> -->
</ion-list> </ion-list>
<div class="noteInput" *ngIf="isAnswer==true">
<ion-label class="boldTxtNav" padding>{{"replacementRoll, question" | translate}} :
{{pQuestion}} ?</ion-label>
<ion-label class="boldTxtNav" padding>{{"replacementRoll, answer" | translate}}
</ion-label>
<ion-item>
<ion-textarea [(ngModel)]="userNote"></ion-textarea>
</ion-item>
</div>
<br/>
<ion-item [hidden]="isAnswer==true"> <ion-item [hidden]="isAnswer==true">
<!-- <ion-list *ngIf="ReplacementList"> --> <!-- <ion-list *ngIf="ReplacementList"> -->
@ -133,13 +146,10 @@
<ion-footer *ngIf="!messageSuccess"> <ion-footer *ngIf="!messageSuccess">
<div class="noteInput"> <div class="noteInput" *ngIf="isAnswer== false">
<ion-label [hidden]="isAnswer==false" class="boldTxtNav" padding>{{"replacementRoll, question" | translate}} :
{{pQuestion}} ?</ion-label> <ion-label class="boldTxtNav" padding>{{"replacementRoll, enterNote" | translate}}
<ion-label [hidden]="isAnswer==false" class="boldTxtNav" padding>{{"replacementRoll, answer" | translate}} </ion-label>
</ion-label>
<ion-label [hidden]="isAnswer==true" class="boldTxtNav" padding>{{"replacementRoll, enterNote" | translate}}
</ion-label>
<ion-item> <ion-item>
<ion-textarea [(ngModel)]="userNote"></ion-textarea> <ion-textarea [(ngModel)]="userNote"></ion-textarea>
</ion-item> </ion-item>

@ -88,9 +88,9 @@ button.item-button.button.button-md.button-clear.button-clear-md {
border: solid var(--gray) 1px; border: solid var(--gray) 1px;
border-radius: 21px; border-radius: 21px;
// padding-left: 145px !important; // padding-left: 145px !important;
margin-left: 86px; margin-left: 123px;
padding-right: 129px; // padding-right: 129px;
margin-right: -143px; margin-right: -136px;
} }
.filterBtn{ .filterBtn{
@ -111,8 +111,8 @@ button.item-button.button.button-md.button-clear.button-clear-md {
border-radius: 50%; border-radius: 50%;
height: 60px; height: 60px;
width: 60px; width: 60px;
margin-left: -181px; margin-left: -183px;
margin-right: 269px; margin-right: 260px;
} }

@ -43,7 +43,7 @@ export class WorkListReplacementRollComponent implements OnInit {
messageSuccess: boolean =false; messageSuccess: boolean =false;
public direction: string; public direction: string;
P_RESPOND_ATTRIBUTES_TBL: any[]; P_RESPOND_ATTRIBUTES_TBL: any[];
constructor(public worklistService: WorklistService, private cs: CommonService, private ts: TranslatorService, public workListMainService: WorklistMainService, public modalCtrl: ModalController) { constructor(public worklistService: WorklistService, private cs: CommonService, public ts: TranslatorService, public workListMainService: WorklistMainService, public modalCtrl: ModalController) {
this.P_PAGE_NUM = 1; this.P_PAGE_NUM = 1;
this.P_PAGE_LIMIT = 50; this.P_PAGE_LIMIT = 50;
this.getPassActionMode = this.cs.sharedService.getSharedData('passActionMode', false); this.getPassActionMode = this.cs.sharedService.getSharedData('passActionMode', false);
@ -270,10 +270,10 @@ export class WorkListReplacementRollComponent implements OnInit {
// here must send response attr // here must send response attr
// this.modalCtrl.dismiss(); // this.modalCtrl.dismiss();
// this.workListMainService.actionButton(this.WorkListActionObj). this.workListMainService.actionButton(this.WorkListActionObj).
// subscribe((result: any) => { subscribe((result: any) => {
// this.handleApplayActionResult(result); this.handleApplayActionResult(result);
// }); });
} else { } else {
let msg: string = this.ts.trPK("replacementRoll", "enterNote"); let msg: string = this.ts.trPK("replacementRoll", "enterNote");
this.cs.showErrorMessageDialog(() => { this.cs.showErrorMessageDialog(() => {

@ -1,6 +1,9 @@
<ion-header *ngIf="!messageSuccess"> <ion-header *ngIf="!messageSuccess">
<ion-toolbar > <ion-toolbar >
<ion-title color="dark">{{ 'workListMain, rfc' | translate}}</ion-title> <ion-title color="dark">
{{ts.trPK('worklistMain','rfc')}}
</ion-title>
</ion-toolbar> </ion-toolbar>
</ion-header> </ion-header>

@ -36,7 +36,7 @@ export class WorkListRfcComponent implements OnInit {
constructor( constructor(
public worklistService: WorklistService, public worklistService: WorklistService,
private cs: CommonService, private cs: CommonService,
private ts: TranslatorService, public ts: TranslatorService,
public workListMainService: WorklistMainService, public workListMainService: WorklistMainService,
public modalCtrl: ModalController public modalCtrl: ModalController
) { ) {

@ -1,7 +1,7 @@
<ion-content> <ion-content>
<div class="search-header" (click)="dismissModal()"> <div class="search-header" (click)="dismissModal()">
<h2>{{ts.trPK('general','advanced-search')}}</h2> <h2>{{ts.trPK('general','advanced-search')}}</h2>
<ion-icon slot="icon-only" name="md-close"></ion-icon> <ion-icon [ngClass]=" direction === 'en' ? '' : 'cancel-ar'" slot="icon-only" name="md-close"></ion-icon>
</div> </div>

@ -26,6 +26,10 @@
margin-bottom: 20px; margin-bottom: 20px;
} }
} }
.cancel-ar{
margin-right: 239px;
}
.search-button{ .search-button{
background: #3dcab3; background: #3dcab3;
height: 50px; height: 50px;

@ -16,11 +16,14 @@ export class WorklistAdvancedSearchComponent implements OnInit {
public selectedValue = ''; public selectedValue = '';
public notificationType = ''; public notificationType = '';
public itemType = ''; public itemType = '';
public direction: string;
constructor( constructor(
public modalController: ModalController, public modalController: ModalController,
public ts: TranslatorService public ts: TranslatorService
) { } ) {
this.direction = TranslatorService.getCurrentLanguageName();
}
ngOnInit() {} ngOnInit() {}

@ -196,9 +196,7 @@
<div class="hrTitle"> {{ts.trPK('worklistMain','info')}} </div> <div class="hrTitle"> {{ts.trPK('worklistMain','info')}} </div>
</ion-card-header> </ion-card-header>
<ion-card-content> --> <ion-card-content> -->
<div [hidden]="notificationBodyRes && notificationBodyRes.length > 0">
<p>{{ 'general, empty' | translate}}</p>
</div>
<ion-list class="itemReqList" *ngIf="notificationBodyRes && notificationBodyRes.length > 0 "> <ion-list class="itemReqList" *ngIf="notificationBodyRes && notificationBodyRes.length > 0 ">

@ -127,7 +127,7 @@ export class WorklistMainMRComponent implements OnInit {
this.direction = TranslatorService.getCurrentLanguageName() this.direction = TranslatorService.getCurrentLanguageName()
//this.getPassNotificationDetails = this.common.sharedService.getSharedData('passNotificationInfo'); //this.getPassNotificationDetails = this.common.sharedService.getSharedData('passNotificationInfo');
this.WorkListActionHistoryObj = new WorkListActionHistoryRequest(); this.WorkListActionHistoryObj = new WorkListActionHistoryRequest();
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; this.WorkListActionHistoryObj.P_PAGE_NUM = 1;
this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
// this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; // this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;
} }
@ -167,7 +167,7 @@ export class WorklistMainMRComponent implements OnInit {
this.WorkListBodyObj.P_TRANSACTION_ID = this.TransactionID; this.WorkListBodyObj.P_TRANSACTION_ID = this.TransactionID;
this.WorkListBodyObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; this.WorkListBodyObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;
this.WorkListBodyObj.P_PAGE_NUM = this.P_PAGE_NUM;; this.WorkListBodyObj.P_PAGE_NUM = 1;
this.WorkListBodyObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; this.WorkListBodyObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
this.WorkListButtonsObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; this.WorkListButtonsObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;
@ -178,7 +178,7 @@ export class WorklistMainMRComponent implements OnInit {
this.WorkListActionObj.P_COMMENTS = ''; this.WorkListActionObj.P_COMMENTS = '';
this.WorkListActionObj.P_APPROVER_INDEX = null; this.WorkListActionObj.P_APPROVER_INDEX = null;
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; this.WorkListActionHistoryObj.P_PAGE_NUM = 1;
this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;
@ -260,6 +260,7 @@ export class WorklistMainMRComponent implements OnInit {
getNotificationButtons(notificationButtonsObj) { getNotificationButtons(notificationButtonsObj) {
this.notificationButtonRes=[];
this.worklistMainService this.worklistMainService
.getNotificationButtons(notificationButtonsObj) .getNotificationButtons(notificationButtonsObj)
.subscribe((result: NotificatonButtonResponse) => { .subscribe((result: NotificatonButtonResponse) => {
@ -368,7 +369,7 @@ export class WorklistMainMRComponent implements OnInit {
this.common.openWorklistMainPRPage(); this.common.openWorklistMainPRPage();
} }
else else
if(this.notificationArray[index].REQUEST_TYPE == "MR" ){ if(this.notificationArray[index].REQUEST_TYPE == "MO" ){
this.intializeNotificationDetail(); this.intializeNotificationDetail();
}else{ }else{
@ -611,7 +612,7 @@ export class WorklistMainMRComponent implements OnInit {
getNotificationResAttr(notificationButtonsObj) { getNotificationResAttr(notificationButtonsObj) {
console.log("getNotificationResAttr"); console.log("getNotificationResAttr");
this.NotRespondAttributeList=[];
this.worklistMainService this.worklistMainService
.notificationResponseAttr(notificationButtonsObj) .notificationResponseAttr(notificationButtonsObj)
.subscribe((result: NotificatonButtonResponse) => { .subscribe((result: NotificatonButtonResponse) => {
@ -708,7 +709,7 @@ export class WorklistMainMRComponent implements OnInit {
getAttachmentNotification(WorkListAttachObj) { getAttachmentNotification(WorkListAttachObj) {
this.attachmentRes=[];
this.worklistAttachService.getAttach(WorkListAttachObj). this.worklistAttachService.getAttach(WorkListAttachObj).
subscribe((result: NotificationGetAttachResponse) => { subscribe((result: NotificationGetAttachResponse) => {
this.handleWorkListAttachResult(result); this.handleWorkListAttachResult(result);
@ -726,6 +727,7 @@ export class WorklistMainMRComponent implements OnInit {
getActionHistory(WorkListActionHistoryObj) { getActionHistory(WorkListActionHistoryObj) {
this.IsReachEnd = true; this.IsReachEnd = true;
this.actionHistoryRes=[];
this.worklistService.getActionHistory(WorkListActionHistoryObj). this.worklistService.getActionHistory(WorkListActionHistoryObj).
subscribe((result: WorkListActionHistoryResponse) => { subscribe((result: WorkListActionHistoryResponse) => {
this.handleWorkListActionHistoryResult(result); this.handleWorkListActionHistoryResult(result);

@ -62,8 +62,8 @@ export class WorklistMainPoComponent implements OnInit {
getPassNotificationDetails: any; getPassNotificationDetails: any;
public static PASS_RES_ATTR = "passResAttr"; public static PASS_RES_ATTR = "passResAttr";
TransactionID: number = -999; TransactionID: number = -999;
notificationBodyRes: any; notificationBodyRes : any =[];
actionHistoryRes: any; actionHistoryRes: any =[];
notificationButtonRes: any; notificationButtonRes: any;
actionMode: any; actionMode: any;
pInformation: string = ""; pInformation: string = "";
@ -138,7 +138,7 @@ export class WorklistMainPoComponent implements OnInit {
) { ) {
this.direction = TranslatorService.getCurrentLanguageName() this.direction = TranslatorService.getCurrentLanguageName()
this.WorkListActionHistoryObj = new WorkListActionHistoryRequest(); this.WorkListActionHistoryObj = new WorkListActionHistoryRequest();
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; this.WorkListActionHistoryObj.P_PAGE_NUM = 1;
this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
} }
@ -172,7 +172,7 @@ export class WorklistMainPoComponent implements OnInit {
this.WorkListBodyObj.P_TRANSACTION_ID = this.TransactionID; this.WorkListBodyObj.P_TRANSACTION_ID = this.TransactionID;
this.WorkListBodyObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; this.WorkListBodyObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;
this.WorkListBodyObj.P_PAGE_NUM = this.P_PAGE_NUM;; this.WorkListBodyObj.P_PAGE_NUM = 1;
this.WorkListBodyObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; this.WorkListBodyObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
this.WorkListButtonsObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; this.WorkListButtonsObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;
@ -183,7 +183,7 @@ export class WorklistMainPoComponent implements OnInit {
this.WorkListActionObj.P_COMMENTS = ""; this.WorkListActionObj.P_COMMENTS = "";
this.WorkListActionObj.P_APPROVER_INDEX = null; this.WorkListActionObj.P_APPROVER_INDEX = null;
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; this.WorkListActionHistoryObj.P_PAGE_NUM = 1;
this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;
@ -215,7 +215,7 @@ export class WorklistMainPoComponent implements OnInit {
} }
handleWorkListBodyResult(result, Type) { handleWorkListBodyResult(result, Type) {
this.notificationBodyRes = {}; this.notificationBodyRes = [];
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
this.pInformation = result.P_INFORMATION; this.pInformation = result.P_INFORMATION;
this.pQuestion = result.P_QUESTION; this.pQuestion = result.P_QUESTION;
@ -399,7 +399,7 @@ export class WorklistMainPoComponent implements OnInit {
this.common.openWorklistMainPRPage() this.common.openWorklistMainPRPage()
} }
else else
if(this.notificationArray[index].REQUEST_TYPE == "MR" ){ if(this.notificationArray[index].REQUEST_TYPE == "MO" ){
this.common.openWorklistMainMRPage() this.common.openWorklistMainMRPage()
}else{ }else{
this.common.openWorklistMainPage(); this.common.openWorklistMainPage();
@ -480,7 +480,7 @@ export class WorklistMainPoComponent implements OnInit {
this.common.confirmAlertDialogAction( this.common.confirmAlertDialogAction(
() => { () => {
// this.applyAction(this.WorkListActionObj); this.applyAction(this.WorkListActionObj);
}, this.ts.trPK('general', 'ok'), }, this.ts.trPK('general', 'ok'),
() => { }, this.ts.trPK('general', 'cancel'), () => { }, this.ts.trPK('general', 'cancel'),
this.ts.trPK('vacation-rule', 'confirmation'), this.ts.trPK('vacation-rule', 'confirmation'),
@ -651,6 +651,7 @@ export class WorklistMainPoComponent implements OnInit {
getNotificationResAttr(notificationButtonsObj) { getNotificationResAttr(notificationButtonsObj) {
console.log("getNotificationResAttr"); console.log("getNotificationResAttr");
this.NotRespondAttributeList = [];
this.worklistMainService this.worklistMainService
.notificationResponseAttr(notificationButtonsObj) .notificationResponseAttr(notificationButtonsObj)
@ -748,7 +749,7 @@ export class WorklistMainPoComponent implements OnInit {
getAttachmentNotification(WorkListAttachObj) { getAttachmentNotification(WorkListAttachObj) {
this.attachmentRes =[];
this.worklistAttachService.getAttach(WorkListAttachObj). this.worklistAttachService.getAttach(WorkListAttachObj).
subscribe((result: NotificationGetAttachResponse) => { subscribe((result: NotificationGetAttachResponse) => {
this.handleWorkListAttachResult(result); this.handleWorkListAttachResult(result);
@ -766,6 +767,7 @@ export class WorklistMainPoComponent implements OnInit {
getActionHistory(WorkListActionHistoryObj) { getActionHistory(WorkListActionHistoryObj) {
this.IsReachEnd = true; this.IsReachEnd = true;
this.actionHistoryRes=[];
this.worklistService.getActionHistory(WorkListActionHistoryObj). this.worklistService.getActionHistory(WorkListActionHistoryObj).
subscribe((result: WorkListActionHistoryResponse) => { subscribe((result: WorkListActionHistoryResponse) => {
this.handleWorkListActionHistoryResult(result); this.handleWorkListActionHistoryResult(result);

@ -124,7 +124,7 @@ export class WorklistMainPRComponent implements OnInit {
this.direction = TranslatorService.getCurrentLanguageName() this.direction = TranslatorService.getCurrentLanguageName()
//this.getPassNotificationDetails = this.common.sharedService.getSharedData('passNotificationInfo'); //this.getPassNotificationDetails = this.common.sharedService.getSharedData('passNotificationInfo');
this.WorkListActionHistoryObj = new WorkListActionHistoryRequest(); this.WorkListActionHistoryObj = new WorkListActionHistoryRequest();
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; this.WorkListActionHistoryObj.P_PAGE_NUM = 1;
this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
// this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; // this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;
} }
@ -164,7 +164,7 @@ export class WorklistMainPRComponent implements OnInit {
this.WorkListBodyObj.P_TRANSACTION_ID = this.TransactionID; this.WorkListBodyObj.P_TRANSACTION_ID = this.TransactionID;
this.WorkListBodyObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; this.WorkListBodyObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;
this.WorkListBodyObj.P_PAGE_NUM = this.P_PAGE_NUM;; this.WorkListBodyObj.P_PAGE_NUM = 1;
this.WorkListBodyObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; this.WorkListBodyObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
this.WorkListButtonsObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; this.WorkListButtonsObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;
@ -175,7 +175,7 @@ export class WorklistMainPRComponent implements OnInit {
this.WorkListActionObj.P_COMMENTS = ''; this.WorkListActionObj.P_COMMENTS = '';
this.WorkListActionObj.P_APPROVER_INDEX = null; this.WorkListActionObj.P_APPROVER_INDEX = null;
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; this.WorkListActionHistoryObj.P_PAGE_NUM = 1;
this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;
@ -245,7 +245,7 @@ export class WorklistMainPRComponent implements OnInit {
} }
handleWorkListBodyResult(result, Type) { handleWorkListBodyResult(result, Type) {
this.notificationBodyRes = {}; this.notificationBodyRes = [];
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
this.pInformation = result.P_INFORMATION; this.pInformation = result.P_INFORMATION;
this.pQuestion = result.P_QUESTION; this.pQuestion = result.P_QUESTION;
@ -396,7 +396,7 @@ export class WorklistMainPRComponent implements OnInit {
this.intializeNotificationDetail(); this.intializeNotificationDetail();
} }
else else
if(this.notificationArray[index].REQUEST_TYPE == "MR" ){ if(this.notificationArray[index].REQUEST_TYPE == "MO" ){
this.common.openWorklistMainMRPage() this.common.openWorklistMainMRPage()
}else{ }else{
this.common.openWorklistMainPage(); this.common.openWorklistMainPage();
@ -740,7 +740,7 @@ export class WorklistMainPRComponent implements OnInit {
getAttachmentNotification(WorkListAttachObj) { getAttachmentNotification(WorkListAttachObj) {
this.attachmentRes = [];
this.worklistAttachService.getAttach(WorkListAttachObj). this.worklistAttachService.getAttach(WorkListAttachObj).
subscribe((result: NotificationGetAttachResponse) => { subscribe((result: NotificationGetAttachResponse) => {
this.handleWorkListAttachResult(result); this.handleWorkListAttachResult(result);
@ -758,6 +758,7 @@ export class WorklistMainPRComponent implements OnInit {
getActionHistory(WorkListActionHistoryObj) { getActionHistory(WorkListActionHistoryObj) {
this.IsReachEnd = true; this.IsReachEnd = true;
this.actionHistoryRes = [];
this.worklistService.getActionHistory(WorkListActionHistoryObj). this.worklistService.getActionHistory(WorkListActionHistoryObj).
subscribe((result: WorkListActionHistoryResponse) => { subscribe((result: WorkListActionHistoryResponse) => {
this.handleWorkListActionHistoryResult(result); this.handleWorkListActionHistoryResult(result);

@ -38,7 +38,6 @@
<div *ngIf="pInformation && pInformation != '' " class="tipsPadding">{{pInformation}}</div> <div *ngIf="pInformation && pInformation != '' " class="tipsPadding">{{pInformation}}</div>
<ng-container *ngIf="activeSegment === 'info'"> <ng-container *ngIf="activeSegment === 'info'">
<div *ngIf="notificationBodyRes?.length > 0 "> <div *ngIf="notificationBodyRes?.length > 0 ">
<ion-card *ngFor="let item of notificationBodyRes;let i=index; "> <ion-card *ngFor="let item of notificationBodyRes;let i=index; ">
@ -47,11 +46,16 @@
</ion-card-header> --> </ion-card-header> -->
<ion-card-content> <ion-card-content>
<div> <div>
<ion-row class="" *ngIf=" item.Collection_Notification.DISPLAY_FLAG != 'N' "> <ion-row class="" *ngIf=" item.Collection_Notification.DISPLAY_FLAG != 'N' ">
<ion-col class="rowBorder" *ngFor="let notificationBody of item.Collection_Notification;" <ion-col class="rowBorder" *ngFor="let notificationBody of item.Collection_Notification;"
size="6"> size="6">
<label class="colItemReq" for="">{{notificationBody.SEGMENT_PROMPT}}</label> <label class="colItemReq" for="">{{notificationBody.SEGMENT_PROMPT}}</label>
<!-- </ion-col> <!-- </ion-col>
<ion-col col-7> --> <ion-col col-7> -->
@ -66,7 +70,8 @@
</div> </div>
<div style="margin: 10px; " *ngIf="subordinatesleaveList != undefined">Employee will also on leave </div> <div style="margin: 10px; " *ngIf="subordinatesleaveList != undefined && subordinatesleaveList?.length > 0">
Employee will also on leave </div>
<ion-item lines="none" class="subOrdinateList" *ngFor="let List of subordinatesleaveList;"> <ion-item lines="none" class="subOrdinateList" *ngFor="let List of subordinatesleaveList;">

@ -53,8 +53,8 @@ export class WorklistMainComponent implements OnInit {
getPassNotificationDetails: any; getPassNotificationDetails: any;
public static PASS_RES_ATTR = "passResAttr"; public static PASS_RES_ATTR = "passResAttr";
TransactionID: number = -999; TransactionID: number = -999;
notificationBodyRes: any; notificationBodyRes: any =[];
actionHistoryRes: any; actionHistoryRes: any =[];
notificationButtonRes: any; notificationButtonRes: any;
actionMode: any; actionMode: any;
pInformation: string = ""; pInformation: string = "";
@ -70,7 +70,7 @@ export class WorklistMainComponent implements OnInit {
P_RESPOND_ATTRIBUTES_TBL: any; P_RESPOND_ATTRIBUTES_TBL: any;
selEmployeeID: any; selEmployeeID: any;
actionType: string = ""; actionType: string = "";
notificationArray: any; notificationArray: any =[];
notificationDynamicAttributeArr: any; notificationDynamicAttributeArr: any;
private textInput: TextInput; private textInput: TextInput;
private textArea: TextAreaInput; private textArea: TextAreaInput;
@ -80,7 +80,7 @@ export class WorklistMainComponent implements OnInit {
notificationCount: any; notificationCount: any;
activeSegment: any = "item-req"; activeSegment: any = "item-req";
lines_note_limit: any = 24; lines_note_limit: any = 24;
attachmentRes: any; attachmentRes: any =[];
private WorkListActionHistoryObj: WorkListActionHistoryRequest; private WorkListActionHistoryObj: WorkListActionHistoryRequest;
IsReachEnd: boolean = true; IsReachEnd: boolean = true;
notiActionBtnMore: any = []; notiActionBtnMore: any = [];
@ -88,7 +88,7 @@ export class WorklistMainComponent implements OnInit {
confirmMsg: string; confirmMsg: string;
newArr: any = []; newArr: any = [];
selEmp: any; selEmp: any;
subordinatesleaveList: any; subordinatesleaveList: any =[];
private WorkListSubmitterInfoObj: WorkListSubmitterInfoRequest; private WorkListSubmitterInfoObj: WorkListSubmitterInfoRequest;
submitterInfoRes: any; submitterInfoRes: any;
approveDis: boolean = false; approveDis: boolean = false;
@ -119,7 +119,7 @@ export class WorklistMainComponent implements OnInit {
) { ) {
this.direction = TranslatorService.getCurrentLanguageName() this.direction = TranslatorService.getCurrentLanguageName()
this.WorkListActionHistoryObj = new WorkListActionHistoryRequest(); this.WorkListActionHistoryObj = new WorkListActionHistoryRequest();
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; this.WorkListActionHistoryObj.P_PAGE_NUM = 1;
this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
} }
@ -168,6 +168,8 @@ export class WorklistMainComponent implements OnInit {
); );
console.log("for next()"+ this.getPassNotificationDetails.ROW_NUM); console.log("for next()"+ this.getPassNotificationDetails.ROW_NUM);
this.notificationArray=[]
this.subordinatesleaveList=[];
this.notificationArray = this.common.sharedService.getSharedData( this.notificationArray = this.common.sharedService.getSharedData(
HomeComponent.NOTIFICATION_ARR, HomeComponent.NOTIFICATION_ARR,
false false
@ -192,7 +194,7 @@ export class WorklistMainComponent implements OnInit {
this.WorkListActionObj.P_COMMENTS = ""; this.WorkListActionObj.P_COMMENTS = "";
this.WorkListActionObj.P_APPROVER_INDEX = null; this.WorkListActionObj.P_APPROVER_INDEX = null;
this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; this.WorkListActionHistoryObj.P_PAGE_NUM = 1;
this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;
this.WorkListAttachObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; this.WorkListAttachObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;
@ -253,6 +255,7 @@ export class WorklistMainComponent implements OnInit {
} }
getEITNotificationDetails(notificationBodyObj) { getEITNotificationDetails(notificationBodyObj) {
this.notificationBodyRes = []
this.worklistMainService this.worklistMainService
.getEITNotificationBody(notificationBodyObj) .getEITNotificationBody(notificationBodyObj)
.subscribe((result: EITNotificatonBodyResponse) => { .subscribe((result: EITNotificatonBodyResponse) => {
@ -261,6 +264,7 @@ export class WorklistMainComponent implements OnInit {
} }
getAbsenceNotificationDetails(notificationBodyObj) { getAbsenceNotificationDetails(notificationBodyObj) {
this.notificationBodyRes = [];
this.worklistMainService this.worklistMainService
.getAbsencesNotificationBody(notificationBodyObj) .getAbsencesNotificationBody(notificationBodyObj)
.subscribe((result: AbsenceNotificatonBodyResponse) => { .subscribe((result: AbsenceNotificatonBodyResponse) => {
@ -269,7 +273,7 @@ export class WorklistMainComponent implements OnInit {
} }
handleWorkListBodyResult(result, Type) { handleWorkListBodyResult(result, Type) {
this.notificationBodyRes = {};
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
this.pInformation = result.P_INFORMATION; this.pInformation = result.P_INFORMATION;
this.pQuestion = result.P_QUESTION; this.pQuestion = result.P_QUESTION;
@ -277,11 +281,17 @@ export class WorklistMainComponent implements OnInit {
if (result.GetEITCollectionNotificationBodyList) { if (result.GetEITCollectionNotificationBodyList) {
this.notificationBodyRes = this.notificationBodyRes =
result.GetEITCollectionNotificationBodyList; result.GetEITCollectionNotificationBodyList;
if(this.notificationBodyRes[0].Collection_Notification){
console.log(this.notificationBodyRes[0].Collection_Notification);
}
} }
} else if (Type == "ABSENCE") { } else if (Type == "ABSENCE") {
if (result.GetAbsenceCollectionNotificationBodyList) { if (result.GetAbsenceCollectionNotificationBodyList) {
this.notificationBodyRes = this.notificationBodyRes =
result.GetAbsenceCollectionNotificationBodyList; result.GetAbsenceCollectionNotificationBodyList ;
if(this.notificationBodyRes[0].Collection_Notification){
console.log(this.notificationBodyRes[0].Collection_Notification);
}
// getDimensions(this.notificationBodyRes) { // getDimensions(this.notificationBodyRes) {
let obj = (this.notificationBodyRes[0].Collection_Notification).filter(function (list) { let obj = (this.notificationBodyRes[0].Collection_Notification).filter(function (list) {
@ -304,6 +314,7 @@ export class WorklistMainComponent implements OnInit {
getNotificationButtons(notificationButtonsObj) { getNotificationButtons(notificationButtonsObj) {
this.notificationButtonRes=[];
this.worklistMainService this.worklistMainService
.getNotificationButtons(notificationButtonsObj) .getNotificationButtons(notificationButtonsObj)
.subscribe((result: NotificatonButtonResponse) => { .subscribe((result: NotificatonButtonResponse) => {
@ -422,7 +433,7 @@ export class WorklistMainComponent implements OnInit {
this.common.openWorklistMainPRPage() this.common.openWorklistMainPRPage()
} }
else else
if(this.notificationArray[index].REQUEST_TYPE == "MR" ){ if(this.notificationArray[index].REQUEST_TYPE == "MO" ){
this.common.openWorklistMainMRPage() this.common.openWorklistMainMRPage()
}else{ }else{
@ -773,6 +784,8 @@ export class WorklistMainComponent implements OnInit {
// } // }
getAttachmentNotification(WorkListAttachObj) { getAttachmentNotification(WorkListAttachObj) {
this.attachmentRes = []
console.log(" this.P_PAGE_NUM: "+ this.P_PAGE_NUM);
this.worklistAttachService.getAttach(WorkListAttachObj). this.worklistAttachService.getAttach(WorkListAttachObj).
subscribe((result: NotificationGetAttachResponse) => { subscribe((result: NotificationGetAttachResponse) => {
@ -791,6 +804,8 @@ export class WorklistMainComponent implements OnInit {
getActionHistory(WorkListActionHistoryObj) { getActionHistory(WorkListActionHistoryObj) {
this.IsReachEnd = true; this.IsReachEnd = true;
this.actionHistoryRes =[];
console.log(" this.P_PAGE_NUM: "+ this.P_PAGE_NUM);
this.worklistService.getActionHistory(WorkListActionHistoryObj). this.worklistService.getActionHistory(WorkListActionHistoryObj).
subscribe((result: WorkListActionHistoryResponse) => { subscribe((result: WorkListActionHistoryResponse) => {
this.handleWorkListActionHistoryResult(result); this.handleWorkListActionHistoryResult(result);
@ -944,6 +959,7 @@ export class WorklistMainComponent implements OnInit {
} }
getsubmitterInfo(notificationSubmitterInfoObj) { getsubmitterInfo(notificationSubmitterInfoObj) {
this.submitterInfoRes=[];
this.worklistMainService.getSubmitterInfo(notificationSubmitterInfoObj). this.worklistMainService.getSubmitterInfo(notificationSubmitterInfoObj).
subscribe((result: WorklistsubmitterInfoResponse) => { subscribe((result: WorklistsubmitterInfoResponse) => {
this.handleSubmitterInfoResult(result); this.handleSubmitterInfoResult(result);

@ -12,7 +12,7 @@
border-bottom-left-radius: -10px !important; border-bottom-left-radius: -10px !important;
padding-top: 8px; padding-top: 8px;
padding-bottom: 8px; padding-bottom: 8px;
margin-left: 18px; margin-left: 8px;
font-size: 12px !important; font-size: 12px !important;
} }
.colPayslips{ .colPayslips{
@ -34,6 +34,7 @@
font-size: 13px !important; font-size: 13px !important;
// font-weight: bold !important; // font-weight: bold !important;
font-family: WorkSans-Bold; font-family: WorkSans-Bold;
margin-left: 8px;
} }
.earingTotH{ .earingTotH{
text-align: right; text-align: right;

@ -834,13 +834,26 @@ $actionBtnSize : 36px;
background: white; background: white;
border-radius: 20px; border-radius: 20px;
padding: 10px; padding: 10px;
h2{ @media screen and (min-width: 300px) and (max-width:359px) {
h2{
padding: 0;
margin: 0;
font-size: 14px;
}
span{
font-size: 9px;
}
}
@media screen and (min-width: 360px) {
h2{
padding: 0; padding: 0;
margin: 0; margin: 0;
font-size: 18px; font-size: 18px;
} }
span{ span{
font-size: 11px; font-size: 11px;
}
} }
} }

@ -26,7 +26,7 @@ export class TextInput extends UiElement {
// "<div class='custom-text-area-element' style='" + this.hidden + "'>" + // "<div class='custom-text-area-element' style='" + this.hidden + "'>" +
"<ion-item style='" + this.hidden + "' class='dynamicField'>" + "<ion-item style='" + this.hidden + "' class='dynamicField'>" +
" <ion-label position='floating' style='font-size: medium;' class='" + requiredClass + " dynamiclable-float'>" + this.label + "</ion-label>" + " <ion-label position='floating' style='font-size: medium;' class='" + requiredClass + " dynamiclable-float'>" + this.label + "</ion-label>" +
" <ion-input style='' type='text' data-colm-text='" + this.textVal + "' id='" + this.elementId + "' value='" + this.value + "' " + this.disabled + "> </ion-input>" + " <ion-input style='' type='text' data-colm-text='" + this.value + "' id='" + this.elementId + "' value='" + this.textVal + "' " + this.disabled + "></ion-input>" +
"</ion-item> "; "</ion-item> ";
return template; return template;

@ -23,11 +23,24 @@
</ion-select> </ion-select>
</ion-item> </ion-item>
<ion-item lines="none"> <ion-item lines="none" [ngClass]="direction == 'en'? '':'ion-item-ar'">
<ion-button [ngClass]="(!searchKeyEnter || !isSelect) ? 'disabledButton' : '' " [disabled]="(!searchKeyEnter || !isSelect) " class="filterBtn" button-type="clear" button-type="clear" (click)="SearchReplacementList()"> <!-- <ion-button [ngClass]="(!searchKeyEnter || !isSelect) ? 'disabledButton' : '' "
<ion-icon slot="icon-only" color="white" name="search"></ion-icon> [disabled]="(!searchKeyEnter || !isSelect) " class="filterBtn" button-type="clear" button-type="clear" (click)="SearchReplacementList()">
<ion-icon class="iconSearch" slot="icon-only" color="white" name="search"></ion-icon>
</ion-button> -->
<ion-button
[ngClass]=" {
'disabledButton' : !searchKeyEnter || !isSelect ,
'' : searchKeyEnter || isSelect ,
'filterBtn' : direction === 'en',
'filterBtn-ar' : direction != 'en'
}" [disabled]="(!searchKeyEnter || !isSelect) " button-type="clear" button-type="clear" (click)="SearchReplacementList()">
<ion-icon slot="icon-only" color="white" name="search"></ion-icon>
</ion-button> </ion-button>
<ion-input (ionChange)="onChangeInput()" class="filterInput" [(ngModel)]="searchKey" placeholder="{{'vacation-rule, search-employee' | translate}}"></ion-input>
<ion-input (ionChange)="onChangeInput()" [ngClass]="direction == 'en'? 'filterInput':'filterInput-ar'" [(ngModel)]="searchKey" placeholder="{{'vacation-rule, search-employee' | translate}}"></ion-input>
</ion-item> </ion-item>

@ -41,6 +41,10 @@ button.item-button.button.button-md.button-clear.button-clear-md {
// margin-right: 7%; // margin-right: 7%;
// width: 100%; // width: 100%;
// } // }
.ion-item-ar{
margin-top: 5%;
margin-right: -6%;
}
.ionItem{ .ionItem{
border: #e4e4e4 solid; border: #e4e4e4 solid;
/* margin: 6px; */ /* margin: 6px; */
@ -108,13 +112,12 @@ button.item-button.button.button-md.button-clear.button-clear-md {
border-radius: 21px; border-radius: 21px;
padding-left: 10px !important; padding-left: 10px !important;
} }
.filterInput-ar{ .filterInput-ar{
border: solid var(--gray) 1px; border: solid var(--gray) 1px;
border-radius: 21px; border-radius: 21px;
// padding-left: 100px !important; margin-left: 115px;
margin-left: 86px; margin-right: -132px;
// padding-right: 129px;
margin-right: -139px;
} }
.filterBtn{ .filterBtn{
@ -131,8 +134,8 @@ button.item-button.button.button-md.button-clear.button-clear-md {
border-radius: 50%; border-radius: 50%;
height: 60px; height: 60px;
width: 60px; width: 60px;
margin-left: -167px; margin-left: -201px;
margin-right: 247px; margin-right: 282px;
} }
*{ *{

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 635 B

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

@ -1373,13 +1373,21 @@ border:0px
--border-radius: 0.4cm; --border-radius: 0.4cm;
} }
.monthview-datetable { .monthview-datetable {
*{ @media screen and (min-width: 300px) and (max-width:360px) {
font-size: 11px !important; *{
font-weight: normal !important; font-size: 9px !important;
font-weight: normal !important;
}
} }
@media screen and (min-width: 361px) {
*{
font-size: 11px !important;
font-weight: normal !important;
}
}
thead th { thead th {
border:none !important; border:none !important;
color:#888; color:#888;

Loading…
Cancel
Save