Merge branch 'master-newdesign' into enad-issues

master
enadhilal 6 years ago
commit 0c569178c5

@ -10,7 +10,7 @@
<ion-grid>
<ion-row style="margin-top: 20px;margin-left: 12px;">
<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 style="padding-left: 7%;" size="2">
<div class="fileDiv">
@ -86,7 +86,7 @@
<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-label position="floating" class="boldTxtNav">{{'confirmAddEit, comment' | translate}}</ion-label> -->
<ion-textarea type="text" [(ngModel)]="absComments"></ion-textarea>
@ -94,7 +94,7 @@
</ion-grid>
<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">
<p>{{ 'general, empty' | translate}}</p>
</div>

@ -270,4 +270,16 @@ ion-card-content.confirm-details{
width: 80% !important;
color: white!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-radius: 21px;
// padding-left: 145px !important;
margin-left: 86px;
margin-left: 115px;
// padding-right: 129px;
margin-right: -143px;
// margin-right: -143px;
margin-right: -136px;
}
// {padding-left: unset;
// padding-right: unset;
@ -123,7 +124,7 @@ button.item-button.button.button-md.button-clear.button-clear-md {
height: 60px;
width: 60px;
margin-left: -181px;
margin-right: 269px;
margin-right: 259px;
}

@ -22,6 +22,7 @@ export class AbsenceReplacementListComponent implements OnInit {
selectedValue: any;
inputSearch: any;
selEmpName: any;
selectedReplacedEmp: any;
selectedUserInf: any;
userNote: any;
getPassNotificationDetails: any;
@ -63,7 +64,7 @@ export class AbsenceReplacementListComponent implements OnInit {
}
ngOnInit() {
this.selectedReplacedEmp = this.cs.sharedService.getSharedData('selectedReplacedEmp');
this.demoeAttach = [{
USER_NAME: '18888',
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_EMAIL_ADDRESS=this.inputSearch;
// }
this.WorkListReplacmentEmployeeObj.P_SELECTED_EMPLOYEE_NUMBER =this.selectedReplacedEmp;
this.worklistService.getReplacmentEmployeeList(this.WorkListReplacmentEmployeeObj).
subscribe((result: WorKListReplacmentEmployeeResponse) => {
this.handleWorkListReplacmentEmployeeResult(result);

@ -50,8 +50,11 @@
<div >
<!-- <ion-item> -->
<!-- <ion-label class="datelabel">{{request.P_EFFECTIVE_DATE}}</ion-label> -->
<ion-datetime [(ngModel)]="Sdate" class="datetime" displayFormat="DD MMMM YYYY" placeholder="DD MMMM YYYY"
(ionChange)="getAccrualBalance()"></ion-datetime>
<ion-datetime [(ngModel)]="Sdate" class="datetime" displayFormat="DD MMMM YYYY"
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-item> -->
</div>

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

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

@ -15,7 +15,9 @@
<ion-item class='dynamicField'>
<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 *ngIf="hoursOrDay!='D'" class='dynamicField'>
<ion-label position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','startTime')}} </ion-label>
@ -23,7 +25,9 @@
</ion-item>
<ion-item class='dynamicField'>
<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 *ngIf="hoursOrDay!='D'" class='dynamicField'>

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

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

@ -61,8 +61,7 @@ header
border-radius: 50% !important;
position: relative;
color: #7f8c8d;
}
.changeImgBtn{
@ -236,6 +235,38 @@ padding: 6px 24px;
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-ios .item-block .item-inner {
border-color: var(--primary);
@ -279,6 +310,7 @@ button.menu-item.item.item-block.item-ios {
width: 100%;
}
.menuFooter div {
width: 80px;
// height: 80px;
@ -286,16 +318,28 @@ button.menu-item.item.item-block.item-ios {
}
.menuFooter .CompanyImg {
width: 100%;
height: 100%;
// .menuFooter .CompanyImg {
// width: 100%;
// height: 100%;
// }
.menuFooter .CompanyImg{
width: 80%;
height: 80%;
margin-bottom: -21px;
}
// .logoImg{
// width: 120px;
// position: relative;
// }
.logoImg{
width: 120px;
position: relative;
width: 77px;
position: relative;
margin-top: -1px;
}
.companyTxt {
font-size: 12px;
color: var(--customnavy);
@ -316,16 +360,31 @@ 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>
-->
</ion-col>
</ion-row> <div *ngIf="onlySMSBox"><p>{{ts.trPK('login','verify-login-with')}}</p></div>
<!-- <type-writer *ngIf="!onlySMSBox" [text]="'login, verify-fingerprint' | translate" class="description"
color="primary" fontSize="0.55cm" lineHeight="1cm" fontSize="0.55cm"></type-writer>
-->
</ion-row>
<div *ngIf="onlySMSBox"><p>{{ts.trPK('login','verify-login-with')}}</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>
</ion-col>
</ion-row>

@ -53,10 +53,10 @@
</ion-item>
<ion-item>
<!-- <ion-item>
<ion-label>{{ts.trPK('login','remeber-me')}}</ion-label>
<ion-checkbox [(ngModel)]="remeberMe" (ionChange)="addValue($event)" ></ion-checkbox>
</ion-item>
</ion-item> -->
<div class="centerDiv signupDiv" *ngIf="isAppleStore==false">
<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']
})
export class LoginComponent implements OnInit, OnDestroy {
deviceToken1: any;
constructor(
public cs: CommonService,
@ -71,7 +72,7 @@ export class LoginComponent implements OnInit, OnDestroy {
public password: string;
private language: string;
public username: string;
public remeberMe: boolean;
public remeberMe = true;
private iosLink: string;
private androidLink: string;
public currentLang = 1;
@ -91,10 +92,26 @@ export class LoginComponent implements OnInit, OnDestroy {
requestGetLoginInfo: any;
logoutFlage: boolean ;
getuser: any = '';
getlastlogin: any;
private checkUserResult: CheckUserAuthenticationResponse;
ionViewWillEnter(){
console.log("ionViewWillEnter");
}
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();
console.log(TranslatorService.CURRENT_LANGUAGE)
console.log(TranslatorService.EN)
@ -126,7 +143,17 @@ export class LoginComponent implements OnInit, OnDestroy {
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) {
console.log('login enabled first time: ' + this.deviceToken);
} else {
@ -377,7 +404,7 @@ export class LoginComponent implements OnInit, OnDestroy {
getLastLoginInfo() {
this.requestGetLoginInfo = {
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 => {
if (this.cs.validResponse(res)) {

@ -18,7 +18,16 @@
<ion-col>
<p class="headerTxt" > {{'verificationcode,verificationcode' | translate}}</p>
<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-row>
</ion-grid>

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

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

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

@ -10,7 +10,7 @@
<ion-grid>
<ion-row style="margin-top: 20px;margin-left: 12px;">
<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 style="padding-left: 7%;" size="2">
<div class="fileDiv">
@ -86,7 +86,7 @@
<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-label position="floating" class="boldTxtNav">{{'confirmAddEit, comment' | translate}}</ion-label> -->
<ion-textarea type="text" [(ngModel)]="eitComments"></ion-textarea>
@ -94,7 +94,7 @@
</ion-grid>
<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">
<p>{{ 'general, empty' | translate}}</p>
</div>

@ -240,4 +240,16 @@
width: 80% !important;
color: white!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 class="result-graph">
<div >
<ion-datetime [(ngModel)]="Sdate" class="datetime" displayFormat="DD MMMM YYYY" placeholder="DD MMMM YYYY"
(ionChange)="getAccrualBalance()"></ion-datetime>
<!-- <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>
</div>
<div style=" border-bottom: 1px solid #a7a4a4; margin-bottom: 12px;
margin-top: -10px; margin-right: -9px;"></div>
<!-- <div class="result-text-container">
</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);
return this.con.post(AuthenticationService.insertMobileLoginInfo,request,onError,errorLabel);
if (isPostNoLoad) {
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() {
this.cs.stopLoading();
this.cs.presentAcceptDialog(
this.ts.trPK("general", "idle-relogin"),
() => {
@ -657,7 +662,7 @@ export class AuthenticationService {
this.clearUserSession();
this.publishUserChangeEvent();
this.sessionTimeOutDialog();
this.cs.openHome();
// this.cs.openHome();
}
}, AuthenticationService.monitorInterval_M);
}

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

@ -47,23 +47,38 @@
<ion-col [size]="6" style="border-bottom: 1px solid #ccc;">
<ion-row class="amountlabel"><p >{{scheduled}}</p> </ion-row>
<ion-row class="rowlabel">
<p >{{ts.trPK('attendance-tracking','regular')}}</p>
<p >{{ts.trPK('attendance-tracking','shift-type')}}</p>
</ion-row>
</ion-col>
<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">
<p >{{ts.trPK('attendance-tracking','check-in')}}</p>
<p >{{ts.trPK('attendance-tracking','actual-check-in')}}</p>
</ion-row>
</ion-col>
<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">
<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-col>

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

@ -12,6 +12,24 @@
<img [src]="userImage"/>
</div>
</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-toolbar>
</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';
@Component({
@ -12,16 +12,35 @@ export class GenericHeaderComponent implements OnInit {
@Input() showMenu = false;
@Input() showBack = false;
@Input() navigate = true;
@Input() showClose = false;
@Input() updateDirection = false;
@Input() headerText = '';
@Input() backLink: string;
@Output() trigger= new EventEmitter();
public close = 'assets/imgs/cancel.png';
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() {
this.common.openEditProfile();
}
closeModal(){
console.log("closeModal");
this.trigger.emit();
}
}

@ -360,13 +360,26 @@ ion-title{
background: white;
border-radius: 20px;
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;
margin: 0;
font-size: 18px;
}
span{
font-size: 11px;
}
span{
font-size: 11px;
}
}
}

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

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

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

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

@ -43,7 +43,7 @@ export class WorkListReplacementRollComponent implements OnInit {
messageSuccess: boolean =false;
public direction: string;
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_LIMIT = 50;
this.getPassActionMode = this.cs.sharedService.getSharedData('passActionMode', false);
@ -270,10 +270,10 @@ export class WorkListReplacementRollComponent implements OnInit {
// here must send response attr
// this.modalCtrl.dismiss();
// this.workListMainService.actionButton(this.WorkListActionObj).
// subscribe((result: any) => {
// this.handleApplayActionResult(result);
// });
this.workListMainService.actionButton(this.WorkListActionObj).
subscribe((result: any) => {
this.handleApplayActionResult(result);
});
} else {
let msg: string = this.ts.trPK("replacementRoll", "enterNote");
this.cs.showErrorMessageDialog(() => {

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

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

@ -1,7 +1,7 @@
<ion-content>
<div class="search-header" (click)="dismissModal()">
<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>

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

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

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

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

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

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

@ -38,7 +38,6 @@
<div *ngIf="pInformation && pInformation != '' " class="tipsPadding">{{pInformation}}</div>
<ng-container *ngIf="activeSegment === 'info'">
<div *ngIf="notificationBodyRes?.length > 0 ">
<ion-card *ngFor="let item of notificationBodyRes;let i=index; ">
@ -47,11 +46,16 @@
</ion-card-header> -->
<ion-card-content>
<div>
<ion-row class="" *ngIf=" item.Collection_Notification.DISPLAY_FLAG != 'N' ">
<ion-col class="rowBorder" *ngFor="let notificationBody of item.Collection_Notification;"
size="6">
<label class="colItemReq" for="">{{notificationBody.SEGMENT_PROMPT}}</label>
<!-- </ion-col>
<ion-col col-7> -->
@ -66,7 +70,8 @@
</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;">

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

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

@ -834,13 +834,26 @@ $actionBtnSize : 36px;
background: white;
border-radius: 20px;
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;
margin: 0;
font-size: 18px;
}
span{
font-size: 11px;
}
span{
font-size: 11px;
}
}
}

@ -26,7 +26,7 @@ export class TextInput extends UiElement {
// "<div class='custom-text-area-element' style='" + this.hidden + "'>" +
"<ion-item style='" + this.hidden + "' class='dynamicField'>" +
" <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> ";
return template;

@ -23,11 +23,24 @@
</ion-select>
</ion-item>
<ion-item lines="none">
<ion-button [ngClass]="(!searchKeyEnter || !isSelect) ? 'disabledButton' : '' " [disabled]="(!searchKeyEnter || !isSelect) " class="filterBtn" button-type="clear" button-type="clear" (click)="SearchReplacementList()">
<ion-icon slot="icon-only" color="white" name="search"></ion-icon>
<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-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-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>

@ -41,6 +41,10 @@ button.item-button.button.button-md.button-clear.button-clear-md {
// margin-right: 7%;
// width: 100%;
// }
.ion-item-ar{
margin-top: 5%;
margin-right: -6%;
}
.ionItem{
border: #e4e4e4 solid;
/* margin: 6px; */
@ -108,13 +112,12 @@ button.item-button.button.button-md.button-clear.button-clear-md {
border-radius: 21px;
padding-left: 10px !important;
}
.filterInput-ar{
border: solid var(--gray) 1px;
border-radius: 21px;
// padding-left: 100px !important;
margin-left: 86px;
// padding-right: 129px;
margin-right: -139px;
margin-left: 115px;
margin-right: -132px;
}
.filterBtn{
@ -131,8 +134,8 @@ button.item-button.button.button-md.button-clear.button-clear-md {
border-radius: 50%;
height: 60px;
width: 60px;
margin-left: -167px;
margin-right: 247px;
margin-left: -201px;
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;
}
.monthview-datetable {
*{
font-size: 11px !important;
font-weight: normal !important;
@media screen and (min-width: 300px) and (max-width:360px) {
*{
font-size: 9px !important;
font-weight: normal !important;
}
}
@media screen and (min-width: 361px) {
*{
font-size: 11px !important;
font-weight: normal !important;
}
}
thead th {
border:none !important;
color:#888;

Loading…
Cancel
Save