From b6e109db56f9f28869d3a999af5b326f5d10c73b Mon Sep 17 00:00:00 2001 From: enadhilal Date: Tue, 27 Jul 2021 10:05:11 +0300 Subject: [PATCH 1/5] changes --- Mohem/src/app/absence/home/home.component.ts | 120 ++++++------- .../work-list-main-itg.component.ts | 157 ++++++++---------- 2 files changed, 130 insertions(+), 147 deletions(-) diff --git a/Mohem/src/app/absence/home/home.component.ts b/Mohem/src/app/absence/home/home.component.ts index 131f5127..1e08083c 100644 --- a/Mohem/src/app/absence/home/home.component.ts +++ b/Mohem/src/app/absence/home/home.component.ts @@ -37,17 +37,18 @@ export class HomeComponent implements OnInit { balance: any; ACCRUAL_NET_ENTITLEMENT: any; ACCRUAL_USED_ENTITLEMENT: any; - ACCRUAL_YEARLY_ENTITLEMENT: any; - totalnumber: any; - public direction: string; - + ACCRUAL_YEARLY_ENTITLEMENT: any; + totalnumber: any; + public direction: string; + public options = { cutoutPercentage: 80, tooltips: { enabled: false }, - legend: { display: false }}; - gaugeType = "full"; - // gaugeValue = 11.200; - // gaugeLabel = ""; + legend: { display: false } + }; + gaugeType = "full"; + // gaugeValue = 11.200; + // gaugeLabel = ""; constructor( public common: CommonService, @@ -58,23 +59,23 @@ export class HomeComponent implements OnInit { public authService: AuthenticationService ) { this.direction = TranslatorService.getCurrentDirection(); - // this.userData =this.common.sharedService.getSharedData(AuthenticatedUser.SHARED_DATA,false); + // this.userData =this.common.sharedService.getSharedData(AuthenticatedUser.SHARED_DATA,false); } ngOnInit() { this.Sdate = new Date().toISOString(); - + this.getUserDetails(); this.getAccrualBalance(); } - private getUserDetails(){ + private getUserDetails() { this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => { - if (user) { - // this.emp_no=user.EMPLOYEE_NUMBER; - // this.getAccrualBalance(); - } - }); + if (user) { + // this.emp_no=user.EMPLOYEE_NUMBER; + // this.getAccrualBalance(); + } + }); @@ -102,36 +103,36 @@ export class HomeComponent implements OnInit { this.accrualNet = this.leaveAccrualBalance.ACCRUAL_NET_ENTITLEMENT; this.accrualUsed = this.leaveAccrualBalance.ACCRUAL_USED_ENTITLEMENT; this.accrualYearly = this.leaveAccrualBalance.ACCRUAL_YEARLY_ENTITLEMENT; - this.totalnumber= this.accrualNet + this.accrualUsed + this.accrualYearly; - this.totalnumber= this.totalnumber.toFixed(3); + this.totalnumber = this.accrualNet + this.accrualUsed + this.accrualYearly; + this.totalnumber = this.totalnumber.toFixed(3); this.request = this.common.sharedService.getSharedData('leaveAccrualBalanceDate', false); console.log("this.request" + this.request.P_EFFECTIVE_DATE); this.effectiveDate = this.request.P_EFFECTIVE_DATE; this.data = { // labels: ['earingTotal', 'deductionTotal'], datasets: [ - // { data: [this.accrualNet,this.accrualYearly,this.accrualUsed], - { - data: [this.accrualNet,this.accrualUsed], - backgroundColor: [ - // '#1FA269', - // '#CB3232',], - '#269DB8', - '#b60c0c',], - borderWidth: 1 - } - ] - }; + // { data: [this.accrualNet,this.accrualYearly,this.accrualUsed], + { + data: [this.accrualNet, this.accrualUsed], + backgroundColor: [ + // '#1FA269', + // '#CB3232',], + '#269DB8', + '#b60c0c',], + borderWidth: 1 + } + ] + }; this.getAbsenceTransaction(); } -AccrualBalances() { + AccrualBalances() { this.common.openAccuralPage(); } -AttachmentDocuments(id) { + AttachmentDocuments(id) { const request = { P_ABSENCE_ATTENDANCE_ID: id }; @@ -159,7 +160,7 @@ AttachmentDocuments(id) { //this.GetAbsenceTransactionList =result.GetAbsenceTransactionList; } } -getAbsenceTransaction() { + getAbsenceTransaction() { this.IsReachEnd = false; const request = { P_SELECTED_EMPLOYEE_NUMBER: this.selEmp, @@ -173,7 +174,7 @@ getAbsenceTransaction() { }); } - handleAbsListResult(result) { + handleAbsListResult(result) { if (this.common.validResponse(result)) { if (this.common.hasData(result.GetAbsenceTransactionList)) { this.GetAbsenceTransactionList = result.GetAbsenceTransactionList; @@ -190,7 +191,7 @@ getAbsenceTransaction() { } } } -doInfinite(event: any) { + doInfinite(event: any) { if (!this.IsReachEnd) { // this.P_PAGE_NUM++; const request = { @@ -230,11 +231,11 @@ doInfinite(event: any) { } } } -createAbsence() { + createAbsence() { this.common.openSubmitAbsencePage(); } -/////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////// getAccrualBalance() { if (this.Sdate) { let today = new Date(this.Sdate); @@ -255,31 +256,32 @@ createAbsence() { }); } } - + handleAccrualResult(result) { if (this.common.validResponse(result)) { this.balance = result.GetAccrualBalancesList; - } - if(this.balance){ - this.accrualNet = this.balance[0].ACCRUAL_NET_ENTITLEMENT; - this.accrualUsed = this.balance[0].ACCRUAL_USED_ENTITLEMENT; - // this.accrualYearly = this.balance[0].ACCRUAL_YEARLY_ENTITLEMENT; - // this.totalnumber= this.accrualNet + this.accrualUsed + this.accrualYearly; - this.totalnumber= this.accrualNet + this.accrualUsed; - this.totalnumber= this.totalnumber.toFixed(3); - this.data = { - // labels: ['earingTotal', 'deductionTotal'], - datasets: [ - // { data: [this.accrualNet,this.accrualYearly,this.accrualUsed], - { data: [this.accrualNet,this.accrualUsed], - backgroundColor: [ - '#269DB8', - '#b60c0c',], - borderWidth: 1 - } - ] - }; + } + if (this.balance) { + this.accrualNet = this.balance[0].ACCRUAL_NET_ENTITLEMENT; + this.accrualUsed = this.balance[0].ACCRUAL_USED_ENTITLEMENT; + // this.accrualYearly = this.balance[0].ACCRUAL_YEARLY_ENTITLEMENT; + // this.totalnumber= this.accrualNet + this.accrualUsed + this.accrualYearly; + this.totalnumber = this.accrualNet + this.accrualUsed; + this.totalnumber = this.totalnumber.toFixed(3); + this.data = { + // labels: ['earingTotal', 'deductionTotal'], + datasets: [ + // { data: [this.accrualNet,this.accrualYearly,this.accrualUsed], + { + data: [this.accrualNet, this.accrualUsed], + backgroundColor: [ + '#269DB8', + '#b60c0c',], + borderWidth: 1 + } + ] + }; - } + } } } diff --git a/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.ts b/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.ts index d257ff59..25da5c26 100644 --- a/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.ts +++ b/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.ts @@ -18,20 +18,22 @@ import { ApplyActionModalComponent } from '../apply-action-modal/apply-action-mo export class WorkListMainItgComponent implements OnInit { @ViewChild('slides') slides: IonSlides; - public static APPROVAL = "Services/COCWS.svc/REST/ITGApproveRequest" - public static REJECT = 'Services/COCWS.svc/REST/ITGRejectRequest' + // tslint:disable: member-ordering + public static APPROVAL = 'Services/COCWS.svc/REST/ITGApproveRequest'; + public static REJECT = 'Services/COCWS.svc/REST/ITGRejectRequest'; public static DELEGATE = 'Services/COCWS.svc/REST/ITGDelegateRequest'; public static REQUEST_INFORMATION = 'Services/COCWS.svc/REST/ITGRequestInformation'; public static ANSWER = 'Services/COCWS.svc/REST/ITGAnswer'; public static GRANT = 'Services/COCWS.svc/REST/ITGGrantAccess'; + // tslint:disable: variable-name public request_info: any; public request_name: any; public all_request: any; public all_request_names: any; public is_all_items_sents: any; public request = new itgRequest(); - public activeSegment: any = "info"; + public activeSegment: any = 'info'; public request_details: any; public segmentsArray: { name: string, number: number }[] = []; public segmentData: { name: string, data: any }[] = []; @@ -44,7 +46,7 @@ export class WorkListMainItgComponent implements OnInit { public replcamentID: string; public actionSelected: any; public options: any; - public index: number = 0; + public index = 0; public grantDATA: any; public grantInfo: any; public grantFieldsConditionalValue: any = []; @@ -67,7 +69,7 @@ export class WorkListMainItgComponent implements OnInit { public modalCtrl: ModalController) { } ngOnInit() { - this.direction = TranslatorService.getCurrentLanguageName() + this.direction = TranslatorService.getCurrentLanguageName(); this.request_info = this.common.sharedService.getSharedData(HomeComponent.REQUSET_INFO); this.request_name = this.common.sharedService.getSharedData(HomeComponent.REQUSET_NAME); this.all_request = this.common.sharedService.getSharedData(HomeComponent.ALL_REQUEST); @@ -90,19 +92,14 @@ export class WorkListMainItgComponent implements OnInit { this.workListService.getITGFormDetails(this.request).subscribe((result: any) => { this.request_details = result.ITGRequest; this.grantInfo = result.ITGRequest.GrantFields; - let count = 0; for (let i = 0; i < result.ITGRequest.FieldGoups.length; i++) { this.segmentsArray[i] = { name: result.ITGRequest.FieldGoups[i].Title, number: i }; - this.segmentData[i] = { name: result.ITGRequest.FieldGoups[i].Title, data: result.ITGRequest.FieldGoups[i].Fields } + this.segmentData[i] = { name: result.ITGRequest.FieldGoups[i].Title, data: result.ITGRequest.FieldGoups[i].Fields }; + // tslint:disable: prefer-for-of for (let j = 0; j < this.segmentData[i].data.length; j++) { - if (this.segmentData[i].data[j].Type === "table") { - this.dataLabelAndValue.push(JSON.parse(this.segmentData[i].data[j].Value)) + if (this.segmentData[i].data[j].Type === 'table') { + this.dataLabelAndValue.push(JSON.parse(this.segmentData[i].data[j].Value)); } - // if (this.segmentData[i].data[j].TableValue){ - // this.requestDetailsData[count] ={ name:this.segmentData[i].data[j].TableValue.Header, - // data: this.segmentData[i].data[j].TableValue.Rows} - // count++; - // } } } this.segmentsArray[this.segmentsArray.length] = { name: 'Approval Level', number: this.segmentsArray.length }; @@ -135,62 +132,56 @@ export class WorkListMainItgComponent implements OnInit { } } } - //result.ITGRequest.FieldGoups.Fields }); } imageURL(actionName) { - if (actionName == "Approve") { - return "../assets/imgs/mohemm-action/Approve.png" + if (actionName === 'Approve') { + return '../assets/imgs/mohemm-action/Approve.png'; } - if (actionName == "Reject") { - return "../assets/imgs/mohemm-action/Reject.png" + if (actionName === 'Reject') { + return '../assets/imgs/mohemm-action/Reject.png'; } - if (actionName == "RequestInformation") { - return "../assets/imgs/mohemm-action/info.png" + if (actionName === 'RequestInformation') { + return '../assets/imgs/mohemm-action/info.png'; } - if (actionName == "Grant") { - return "../assets/imgs/mohemm-action/info.png" + if (actionName === 'Grant') { + return '../assets/imgs/mohemm-action/info.png'; } - if (actionName == "Delegate") { - return "../assets/imgs/mohemm-action/info.png" + if (actionName === 'Delegate') { + return '../assets/imgs/mohemm-action/info.png'; } - if (actionName == "Answer") { - return "../assets/imgs/mohemm-action/info.png" + if (actionName === 'Answer') { + return '../assets/imgs/mohemm-action/info.png'; } - if (actionName == "ReportGenerated") { - return "../assets/imgs/mohemm-action/info.png" + if (actionName === 'Question') { + return '../assets/imgs/mohemm-action/info.png'; } - if (actionName == "Doable") { - return "../assets/imgs/mohemm-action/info.png" + if (actionName === 'ReportGenerated') { + return '../assets/imgs/mohemm-action/info.png'; } - if (actionName == "NotDoable") { - return "../assets/imgs/mohemm-action/info.png" + if (actionName === 'Doable') { + return '../assets/imgs/mohemm-action/info.png'; } - if (actionName == "DataCorrected") { - return "../assets/imgs/mohemm-action/info.png" + if (actionName === 'NotDoable') { + return '../assets/imgs/mohemm-action/info.png'; + } + if (actionName === 'DataCorrected') { + return '../assets/imgs/mohemm-action/info.png'; } } public segmentChangedClick(event: any) { - if (event.detail.value === "Request Details") { + if (event.detail.value === 'Request Details') { this.slides.slideTo(0); this.activeSegment = event.detail.value; - } - else if (event.detail.value === "Approval Level") { + } else if (event.detail.value === 'Approval Level') { this.slides.slideTo(1); this.activeSegment = event.detail.value; - } - else if (event.detail.value === "Requester Details") { + } else if (event.detail.value === 'Requester Details') { this.slides.slideTo(2); this.activeSegment = event.detail.value; } - // for(let i=0; i< this.segmentsArray.length; i++){ - // if(this.segmentsArray[i].name === event.detail.value){ - // this.slides.slideTo(i); - // this.activeSegment = event.detail.value; - // } - // } } slideChanged(event: any) { @@ -224,11 +215,9 @@ export class WorkListMainItgComponent implements OnInit { } } } - } - //if user clicked on spicific type of ITG request - else { + } else { // if user clicked on spicific type of ITG request for (let i = 0; i < this.all_request.length; i++) { // search for the request that clicked on all request - if (this.request_info.ID == this.all_request[i].ID) { // check if the ID for the request is found. + if (this.request_info.ID === this.all_request[i].ID) { // check if the ID for the request is found. this.index = i + 1; if (this.index !== this.all_request.length) { // check if its last one to redirecte to home otherwise to next request. this.clearDataArray(); @@ -240,11 +229,6 @@ export class WorkListMainItgComponent implements OnInit { return; } } - // else { - // this.common.sharedService.setSharedData(true, 'loadWorkList'); - // this.common.openNotificationPage(); - // return; - // } } } this.common.sharedService.setSharedData(true, 'loadWorkList'); @@ -266,7 +250,7 @@ export class WorkListMainItgComponent implements OnInit { actionService(action, comments?, grantRequests?) { let url: string; - let request = new itgRequest(); + const request = new itgRequest(); request.RequestType = this.request_name; request.ItemID = this.request_info.ItemID; request.TaskID = this.request_info.ID; @@ -276,14 +260,14 @@ export class WorkListMainItgComponent implements OnInit { request.NewUserEMPId = this.replcamentID; this.common.confirmAlertDialogAction( () => { - if (action == 1) { //approved + if (action === 1) { // approved url = WorkListMainItgComponent.APPROVAL; this.workListService.getITGActionRequest(request, url) .subscribe((result: any) => { - if (result.MessageStatus != 1) { + if (result.MessageStatus !== 1) { this.common.presentAlert(this.ts.trPK('general', 'error-itg')); - } else if (result.MessageStatus == 1) { + } else if (result.MessageStatus === 1) { this.messageSuccess = true; setTimeout(() => { this.messageSuccess = false; @@ -293,26 +277,24 @@ export class WorkListMainItgComponent implements OnInit { }, 2000); } }); - } else if (action == 2) {//reject + } else if (action === 2) {// reject url = WorkListMainItgComponent.REJECT; this.workListService.getITGActionRequest(request, url) .subscribe((result: any) => { - if (result.MessageStatus != 1) { + if (result.MessageStatus !== 1) { this.common.presentAlert(this.ts.trPK('general', 'error-itg')); - } else if (result.MessageStatus == 1) { + } else if (result.MessageStatus === 1) { setTimeout(() => { this.messageSuccess = true; this.common.sharedService.setSharedData(true, 'loadWorkList'); - // this.common.presentAlert(this.ts.trPK('worklistMain', 'Tran_Succ')); - // this.common.sharedService.setSharedData(true, 'loadWorkList'); this.confirmMsg(2); this.skip(); this.messageSuccess = false; }, 2000); } }); - } else if (action == 3) {//request more info + } else if (action === 3) {// request more info request.NewUserEMPId = this.replcamentID; url = WorkListMainItgComponent.REQUEST_INFORMATION; if (!comments) { @@ -321,12 +303,11 @@ export class WorkListMainItgComponent implements OnInit { request.Comments = comments; this.workListService.getITGActionRequest(request, url) .subscribe((result: any) => { - if (result.MessageStatus != 1) { - //this.common.presentAlert(result.Message); + if (result.MessageStatus !== 1) { this.common.presentAlert(this.ts.trPK('general', 'error-itg')); } - if (result.MessageStatus == 1) { + if (result.MessageStatus === 1) { this.messageSuccess = true; setTimeout(() => { this.messageSuccess = false; @@ -339,15 +320,15 @@ export class WorkListMainItgComponent implements OnInit { } }); } - } else if (action == 4) {//delegate + } else if (action === 4) {// delegate request.NewUserEMPId = this.replcamentID; url = WorkListMainItgComponent.DELEGATE; this.workListService.getITGActionRequest(request, url) .subscribe((result: any) => { - if (result.MessageStatus != 1) { + if (result.MessageStatus !== 1) { this.common.presentAlert(this.ts.trPK('general', 'error-itg')); - } else if (result.MessageStatus == 1) { + } else if (result.MessageStatus === 1) { this.messageSuccess = true; setTimeout(() => { this.messageSuccess = false; @@ -359,17 +340,17 @@ export class WorkListMainItgComponent implements OnInit { }, 2000); } }); - } else if (action == 5) { //answer + } else if (action === 5) { // answer url = WorkListMainItgComponent.ANSWER; if (!comments) { this.common.presentAlert(this.ts.trPK('worklist', 'empty-comment')); } else { this.workListService.getITGActionRequest(request, url) .subscribe((result: any) => { - if (result.MessageStatus != 1) { + if (result.MessageStatus !== 1) { this.common.presentAlert(this.ts.trPK('general', 'error-itg')); - } else if (result.MessageStatus == 1) { + } else if (result.MessageStatus === 1) { this.messageSuccess = true; setTimeout(() => { this.messageSuccess = false; @@ -382,20 +363,19 @@ export class WorkListMainItgComponent implements OnInit { } }); } - } else if (action == 6) { //grant + } else if (action === 6) { // grant url = WorkListMainItgComponent.GRANT; if (!comments) { this.common.presentAlert(this.ts.trPK('worklist', 'empty-comment')); - } - else { + } else { if (this.grantRequest) { request.AdditionalFields = this.grantRequest; this.workListService.getITGActionRequest(request, url) .subscribe((result: any) => { - if (result.MessageStatus != 1) { + if (result.MessageStatus !== 1) { this.common.presentAlert(this.ts.trPK('general', 'error-itg')); - } else if (result.MessageStatus == 1) { + } else if (result.MessageStatus === 1) { this.messageSuccess = true; setTimeout(() => { this.messageSuccess = false; @@ -412,16 +392,16 @@ export class WorkListMainItgComponent implements OnInit { } } - } else if (action == 7) { //grant + } else if (action === 7) { // grant url = WorkListMainItgComponent.GRANT; if (this.grantRequest) { request.AdditionalFields = this.grantRequest; this.workListService.getITGActionRequest(request, url) .subscribe((result: any) => { - if (result.MessageStatus != 1) { + if (result.MessageStatus !== 1) { this.common.presentAlert(this.ts.trPK('general', 'error-itg')); - } else if (result.MessageStatus == 1) { + } else if (result.MessageStatus === 1) { this.messageSuccess = true; setTimeout(() => { this.messageSuccess = false; @@ -476,13 +456,13 @@ export class WorkListMainItgComponent implements OnInit { selectAtion(actionSelected) { this.actionSelected = actionSelected; - if (this.actionSelected == "Answer") { - this.actionService(5, this.commentText) + if (this.actionSelected === 'Answer') { + this.actionService(5, this.commentText); } - if (this.actionSelected == "Approve") { + if (this.actionSelected === 'Approve') { this.actionService(1, this.commentText); } - if (this.actionSelected == "Delegate") { + if (this.actionSelected === 'Delegate') { this.presentModal(4); } if (this.actionSelected === 'Doable') { @@ -495,6 +475,7 @@ export class WorkListMainItgComponent implements OnInit { this.actionService(2, this.commentText); } if (this.actionSelected === 'Question') { + this.actionService(5, this.commentText); } if (this.actionSelected === 'Reject') { this.actionService(2, this.commentText); @@ -522,9 +503,9 @@ export class WorkListMainItgComponent implements OnInit { .then((data) => { this.replcamentID = data.data.empData.USER_NAME; this.commentText = data.data.comments; - if (actionNumber == 3) { + if (actionNumber === 3) { this.actionService(3, this.commentText); - } else if (actionNumber == 4) { + } else if (actionNumber === 4) { this.actionService(4); } From b0da97573c78bfeac078fa441badc93cdea822cd Mon Sep 17 00:00:00 2001 From: enadhilal Date: Wed, 28 Jul 2021 14:52:40 +0300 Subject: [PATCH 2/5] adding filter, pagination and enhance calling services in service.ts file --- .../offersdiscount/home/home.component.html | 128 ++++++++--------- .../app/offersdiscount/home/home.component.ts | 131 ++++++++++++------ .../app/offersdiscount/services/service.ts | 37 +++-- 3 files changed, 181 insertions(+), 115 deletions(-) diff --git a/Mohem/src/app/offersdiscount/home/home.component.html b/Mohem/src/app/offersdiscount/home/home.component.html index e0c1a3f6..1d41025c 100644 --- a/Mohem/src/app/offersdiscount/home/home.component.html +++ b/Mohem/src/app/offersdiscount/home/home.component.html @@ -1,24 +1,22 @@
- - - + + +
- +
- + - - - + + + @@ -29,60 +27,66 @@ - - -
-
-
-
- - -
-
-

{{key.categoryName_en}}

-

{{key.categoryName_ar}}

-
-
+ + +
+
+
+
+ + +
+
+

{{key.categoryName_en}}

+

{{key.categoryName_ar}}

+
-
- +
+ +
- - - - - -
- {{item.Title}} -
- - -
-
- {{item.Discount}} -
- - -

{{ts.trPK('general','offer-valid')}}

-
- -

{{ts.trPK('general','expired')}}

-
- - - -
- -
-
-
- -
-
+ + + + + +
+ {{item.Title}} +
+ + +
+
+ {{item.Discount}} +
+ + +

{{ts.trPK('general','offer-valid')}}

+
+ +

{{ts.trPK('general','expired')}}

+
+ + + +
+ +
+
+
+ +
+
- - - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/Mohem/src/app/offersdiscount/home/home.component.ts b/Mohem/src/app/offersdiscount/home/home.component.ts index 28a2d563..7a7fc8c0 100644 --- a/Mohem/src/app/offersdiscount/home/home.component.ts +++ b/Mohem/src/app/offersdiscount/home/home.component.ts @@ -1,11 +1,10 @@ -import { AfterViewInit, Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; +import { AfterViewInit, Component, ViewChild } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; import { ModalController } from '@ionic/angular'; -import { connectableObservableDescriptor } from 'rxjs/internal/observable/ConnectableObservable'; import { CommonService } from 'src/app/hmg-common/services/common/common.service'; import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; -import { FilterComponent } from '../filter/filter.component'; import { OfferDiscountService } from '../services/service'; +import { IonInfiniteScroll } from '@ionic/angular'; @Component({ selector: 'app-home', @@ -13,6 +12,9 @@ import { OfferDiscountService } from '../services/service'; styleUrls: ['./home.component.scss'], }) export class HomeComponent implements AfterViewInit { + + @ViewChild(IonInfiniteScroll) infiniteScroll: IonInfiniteScroll; + segment: any = '1'; categoriesObj: any; categories: any = []; @@ -21,8 +23,15 @@ export class HomeComponent implements AfterViewInit { tempSearch: any = []; searchText: String; direction: any; + itemCounter = 1; + itemType: any; // categories:any = []; - constructor(public ts: TranslatorService, public modalController: ModalController, public cs: CommonService, public offersService: OfferDiscountService, public route: ActivatedRoute) { + constructor( + public ts: TranslatorService, + public modalController: ModalController, + public cs: CommonService, + public offersService: OfferDiscountService, + public route: ActivatedRoute) { this.route .params.subscribe(val => { @@ -35,8 +44,10 @@ export class HomeComponent implements AfterViewInit { ngAfterViewInit(): void { this.getOfferDiscount(); } + ionEnter() { this.direction = TranslatorService.getCurrentDirection(); + console.log(this.direction); let activeClass = this.cs.sharedService.getSharedData(OfferDiscountService.selected_filters); if (activeClass) { this.filterOffers(activeClass); @@ -45,8 +56,8 @@ export class HomeComponent implements AfterViewInit { } getCategories() { - this.offersService.getCategories().subscribe((result) => { - this.categories = result.result.data; + this.offersService.getCategories({}).subscribe((result) => { + this.categories = JSON.parse(result.Mohemm_ITG_ResponseItem).result.data; //result.result.data; this.cs.sharedService.setSharedData(this.categories, OfferDiscountService.categories); }); } @@ -58,60 +69,54 @@ export class HomeComponent implements AfterViewInit { this.cs.navigateForward('/offersdiscount/offer-details'); } - getOfferDiscount() { + + getOfferDiscount(pageNo?, categoryId?) { this.cs.startLoading(); - this.offersService.getOffers({}, () => { }, this.ts.trPK('general', 'retry')).subscribe((res) => { - var data = JSON.parse(res['Mohemm_ITG_ResponseItem']); - this.cs.stopLoading(); - if (data['result']) - this.displayOffers(data['result']); - }); + if (categoryId) { + this.offersService.getOffers({}, () => { }, this.ts.trPK('general', 'retry'),pageNo, categoryId).subscribe((res) => { + var data = JSON.parse(res['Mohemm_ITG_ResponseItem']); + this.cs.stopLoading(); + if (data['result']) + this.displayOffers(data['result']); + }); + } else { + this.offersService.getOffers({}, () => { }, this.ts.trPK('general', 'retry')).subscribe((res) => { + var data = JSON.parse(res['Mohemm_ITG_ResponseItem']); + this.cs.stopLoading(); + if (data['result']) + this.displayOffers(data['result']); + }); + } } + displayOffers(data) { if (data['data']) { var parseJSON = data['data']; var offers = JSON.parse(parseJSON); this.offersData = offers; - // this.categoriesObj = this.groupBy(offers, TranslatorService.getCurrentDirection() == 'ltr' ? 'categoryName_en' : 'categoryName_ar'); - // = Object.keys(this.categoriesObj); - - - - // for (var x in this.categoriesObj) { - // for (var y in offers) { - // if (x == offers[y].categoryName_en && this.categories.filter(item => item.name.includes(x)) == false) { - // this.categories.push({ - // name: x, - // icon: offers[y].icon - // }) - - // } - // } - // } - - //this.filterOffers(this.categories[0]); } } - // groupBy(xs, key) { - // return xs.reduce((rv, x) => { - // (rv[x[key.trim()]] = rv[x[key]] || []).push(x); - // return rv - // }, {}); - // }; filterOffers(key) { - this.activeClass = key.categoryName_en; - this.offersData = this.categoriesObj[key.name]; - // this.tempSearch = JSON.parse(JSON.stringify(this.offersData)); + if(this.direction === 'ltr') { + this.activeClass = key.categoryName_en; + }else { + this.activeClass = key.categoryName_ar + } + this.itemType = key.id; + this.getOfferDiscount(1,this.itemType) } + checkDate(date) { return new Date(date) >= new Date() } + getDotted(temp) { temp = this.stripHtml(temp); return temp.substring(0, 70) + " ..."; } + stripHtml(html) { var temporalDivElement = document.createElement("div"); @@ -119,14 +124,15 @@ export class HomeComponent implements AfterViewInit { return temporalDivElement.textContent || temporalDivElement.innerText || ""; } - search(t) { + search(t) { this.offersData = this.tempSearch.filter((post, index) => { if (post.Title.toLowerCase().indexOf(t.toLowerCase()) > -1) return true; }); } + async openModel() { // const modal = await this.modalController.create({ // component: FilterComponent, @@ -136,4 +142,45 @@ export class HomeComponent implements AfterViewInit { // modal.present(); this.cs.navigateForward('/offersdiscount/filter-page'); } + + loadData(event) { + const counter = 1; + this.itemCounter += counter; + console.log(this.itemType); + if (this.itemType) { + setTimeout(() => { + event.target.complete(); + console.log(this.itemCounter); + this.offersService.getOffers({}, () => { }, this.ts.trPK('general', 'retry'), this.itemCounter, this.itemType).subscribe((res) => { + const data = JSON.parse(res['Mohemm_ITG_ResponseItem']); + if (data['result']){ + const allItem = JSON.parse(data.result['data']); + if (allItem) { + allItem.forEach(element => { + this.offersData.push(element); + }); + } + } + }); + // event.target.disabled = true; + }, 1000); + } else { + setTimeout(() => { + event.target.complete(); + console.log(this.itemCounter); + this.offersService.getOffers({}, () => { }, this.ts.trPK('general', 'retry'), this.itemCounter).subscribe((res) => { + const data = JSON.parse(res['Mohemm_ITG_ResponseItem']); + if (data['result']){ + const allItem = JSON.parse(data.result['data']); + if (allItem) { + allItem.forEach(element => { + this.offersData.push(element); + }); + } + } + }); + // event.target.disabled = true; + }, 1000); + } + } } diff --git a/Mohem/src/app/offersdiscount/services/service.ts b/Mohem/src/app/offersdiscount/services/service.ts index 7a838b35..8904ef33 100644 --- a/Mohem/src/app/offersdiscount/services/service.ts +++ b/Mohem/src/app/offersdiscount/services/service.ts @@ -14,6 +14,8 @@ export class OfferDiscountService { public static related_offers = 'related-offers'; public static selected_filters = 'selected-filters'; public static categories = 'categories'; + public static getCategories = 'Services/COCWS.svc/REST/Mohemm_ITG_GetCategories'; + constructor( public con: ConnectorService, private authService: AuthenticationService, @@ -22,22 +24,35 @@ export class OfferDiscountService { this.cs.sharedService.getSharedData(OfferDiscountService.selected_offers, false); } - getOffers(offer_request, onError, errorLabel) { + getOffers(offer_request, onError, errorLabel, pageNo?: number, categoryId?) { + let catId = categoryId; var request = this.authService.getAuthenticatedRequest(); request['EmployeeNumber'] = request.UserName; + request['ItgIsActive'] = true; + request['ItgPageSize'] = 5; + request['ItgPageNo'] = pageNo; + if (catId) { + request['ItgCategoryID'] = categoryId; + } return this.con.postNoLoad(OfferDiscountService.offersDiscountData, request, onError, errorLabel); } - getCategories() { - - var json = { "statusCode": 200, "message": null, "originalErrMsg": null, "result": { "totalItemsCount": 17, "data": [{ "id": 9, "categoryName_en": " shopping", "content": "data:image/jpeg;base64,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", "categoryName_ar": " التسوق", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 10, "categoryName_en": "Foods", "content": "data:image/png;base64,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", "categoryName_ar": "الاطعمة", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 11, "categoryName_en": "Fitness", "content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQ8AAAC6CAMAAACHgTh+AAAAe1BMVEX39/cAAAD9/f319fUCBgn////5+fmjo6MGBgZiYmJTU1NycnIJCQnPz8+cnJwfHx+rq6vJycno6OiRkZEpKSng4OC4uLgZGRlRUVEQEBBnZ2d2dnbW1tbBwcGvr6/v7+8wMDBcXFyHh4dJSUlBQUF+fn6Tk5Pk5OQ2NjbIqVKJAAAId0lEQVR4nO2dZ2PaMBCGNarDjIAhjLDiQOb//4WVbBzuPIAWQmzp3k9tobb1cEvTQrBYLBaLxWKxWCxWmALlBF7d6f+lhY6HVuOffkwQMJk7TX74RtdJq71MtVE/fCNhXtMbvZifvdGVUv2Mx8PP2/FCRvZGUXM9Rmv7q92NB4zSGw1+2BD/Xy64wW/wAKefvt2/6zmO4/H9eZiZvW/cuLAKD+7pRr/AI73jsGluo8YyiuT0V3gMoqby+A37WLsbD5sWQH6PR595ODEPKuZB1T4etnMnwNasN5POauBM7eMBWhkw6lZAtLblr/rOq+3joSF+Gr09JjcqDUCN10+7YX65dvFwAyB6l/4x2sD1JmLdRL1nANLL2R5Lq3hsjLKFkvz+y/US/bR/L+VCZ5drFY9et7vKrMP+63K16l6pVf9JHnjI1+xfBm3isY877/Koddy5TvHieLGv7GLL9vCI5EapLeIxutZl1rlxONtrnb9ENr/ATKI2WED/G1RtKIU+Yivf07a3K54+KKF2uBH1I8w6mzmoHeKyZceKXOmhjTxAw+fiEiCgknFn/z7cJqauTRTHYzai3jYetkSYjejvWgKiQahkvzx8vp6pcnVvrYfi2Kd1ewt5CK1m0zNAhBnbZkV/nOwXnqsmD1Y4DMm9OVR37eNhn7lkIYXfX83TCiXlEQ3cMGjRQIrW8W1CreQB1kLwr/tAZ9Ngk+I48LD/X85Ju6yzdGnsUKK9/Vsn+DzhMiC+UhwZDwtkIAcTmme6BKfD0RYeD9Xj61AfQ7R6PoSOo+QHsiCaaCOHA32IxpMH1tEaBgTG7unK42OgPpHLRAiIzUC9Mo/pMYBA0VkMTj90/uWjafMNsFksFstdiYetpoouk1sAJLY5f4pANlnkcaM/xdihK3kM5WhUiDtNECRaJ5Xz2UUg4zyJbGRUtI8/cp6P94jaUJp9ns/fgk4S3TTzSGsrFxLWZR4lINtDhbmt4hGnTbOZ5ankLDU8rOPdrZUX6/CsJh21iQrj62WXSYe4xlU8nrOfmvR+XCgtFCb6wGOZBtIGAnECXb0eBmBSqENco2FSxSMdaRSAcRRDaXpJcegdNXGpw7e02qYjYq/Fp3dAqIW4Vk/L+UUmafvKOIr2cRhO7TcvchCli1Og/JAlIDY8qsdSfpFdVbSOyNYkFWMnFrFTk63jqIpZKOIyUdaX+Szbh+sYV1hH1U2auSzoUtnfk46HWCAwlAUca7f8qYTj5HXv1YCbS9ERRDk2QnWzDkymgXyzRYytWrHea6yj/dJqtiRNHau0h5LjkPIpsV/rEWhDU+V8Xshm440sABEmPrb+A4BaRyQ7p52l7XKD7gSIdRkdd21pteh1EhtQBHWWjrfOclC2DJFYiFbGtloZcAskiji8dZZcalwCIlzyEWkPaBeSs6TSZk6BbPPaTecLAoJxlkzmuRhD4DCDT50lbvbOhZsJTIcCidONLPPtLkgcFUCOEQPhaHg/7XayHRTzUQ0kRBxO39uoanGEEUpzaTDvp3DM/a87CgK1ovGigCM8qW4dj3lQsSNXcZgDWUdYrpIL4kocvRCdxUlVVyG9IL1FMI+imAcV86BiHlTMg4p5UDEPKuZBxTyomAcV86BiHlTMg4p5UDEPKuZBxTyomAcV86BiHlTMg4p5UDEPKuZBxTyomAcV86BiHlTMg4p5UDEPKuZBxTyomAcV86BiHlQ1q/p3ofJQQ7YPrBoeT6HyMNV7HL7avAn9Gql1JY9RqDzMtJKHbMmRDTeWhk01Dhk37eisu0ibj5r9HoEmGPWFGJD9dEE6DOB92stkh+GEaCAGZ5e+wXthpgFmGBDYQ7Zqgv96h5e1NU3kWINFIgx2mH3FObmei+w3XRsBeFP/183egdEWaUXdxZ3NhnSLNz60SoXsYuMFcZjHwDJMfrhcppVrvcIZ5iUwHkIMUOvd/mMQn9RhfvsB7yr6bofsOHWFjzvdh7UJ1+BzkbNgoWkGFiFFVHdQcK5Ibg7n7Qt8nN82JIdRc9S1ncLhLFlUwUe2JNHBENGmMlSQoCLDwWEbiht+7Kxo7DDjcDp1gA1hemy2wW+9eQ8mw9DMemy3O2sYxZVgSjKNsgt2FxDJAvHYhgIEjvOUkfzCcZOOEYXBQ2vzhXh84K49PesxCaIk04IcgToj5/gDnpIJ5Eg2wNP6b7TN5hF9tgsiw2jzitrcoUUGPS02BHcRrl8f5dFDzgofKuwwzXuHyQ9IUXehNkDPNeyG4DAGv8ak+NYnTR2mxWfNXygAMgxWdBf7hRdUkvl/cJ9WeKa2V55nsRnmyOPJCM9jqnvLc97eSMblt6/TVRAz30syRRNqRXxQOB0Pfe/0q7MFF80/ta889UTqBbX2uerXp68R/rz/I95TNDpUd9jUG+LR8TvDkHO1e5VDxposS331uiTTBrtLTf8V21AkJ/5mGNA0u9QtE0MLywbWYfwdaKe9k1VdaEAOE8k3b2m4obHLZuDI+KrHM9t0wqn2FG2t8Ozu3t+SjCxYX9dnDsBviBn5m3HhMnfRgq6d8hUIHT0/5QVk7ZSvq3M1mb/vnyq0FF5sOPWzD2MbhV/Gd3KoBy82jHzt9Lu3IR+bebrKUj3EY+/n/g9TPYtdKeIwozs94J1FV6ifCZKkJPNy7RRakB3JxZlu6/drp1N5ObNN3KX0dvCC6GJDH9dOgR6hBm7OjJtrATjDeLj/g6zXX54f5SFrp579cxhIkH1csPqYrDHzkIdQO+Qu5+0ftPyn77dOaIfHJSc4aDQz8epll/97pvJlckH9DSJ5y3mcK1ZaKhWnIWQ1ueznhiRbCTAd+4nDAknG8Xx2cW9EwfZ9t4oTbzfT2apCqX+ZsbdfTzv7PoYPFovFYrFYLBaLxbpWfwFtum7SSsX02wAAAABJRU5ErkJggg==", "categoryName_ar": "الرياضة", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 12, "categoryName_en": "Clothes", "content": "data:image/jpeg;base64,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", "categoryName_ar": "ملابس", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 13, "categoryName_en": "Tourism", "content": "data:image/jpeg;base64,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", "categoryName_ar": "السياحة", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 14, "categoryName_en": "Car Rental", "content": "data:image/jpeg;base64,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", "categoryName_ar": "تأجير سيارات", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 15, "categoryName_en": "Car Care", "content": "data:image/png;base64,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", "categoryName_ar": "العناية بالسيارات", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 16, "categoryName_en": "Shipping", "content": "data:image/png;base64,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", "categoryName_ar": "الشحن", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 17, "categoryName_en": "Banks", "content": "data:image/jpeg;base64,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", "categoryName_ar": "البنوك", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 18, "categoryName_en": "Medical", "content": "data:image/jpeg;base64,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", "categoryName_ar": "طبي", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 19, "categoryName_en": "Telecommunication", "content": "data:image/jpeg;base64,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", "categoryName_ar": "إتصالات", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 20, "categoryName_en": "Entertainment", "content": "data:image/png;base64,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", "categoryName_ar": "ترفيه", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 21, "categoryName_en": "Electronics", "content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQ8AAAC6CAMAAACHgTh+AAAAe1BMVEX39/cAAAD9/f319fUCBgn////5+fmjo6MGBgZiYmJTU1NycnIJCQnPz8+cnJwfHx+rq6vJycno6OiRkZEpKSng4OC4uLgZGRlRUVEQEBBnZ2d2dnbW1tbBwcGvr6/v7+8wMDBcXFyHh4dJSUlBQUF+fn6Tk5Pk5OQ2NjbIqVKJAAAId0lEQVR4nO2dZ2PaMBCGNarDjIAhjLDiQOb//4WVbBzuPIAWQmzp3k9tobb1cEvTQrBYLBaLxWKxWCxWmALlBF7d6f+lhY6HVuOffkwQMJk7TX74RtdJq71MtVE/fCNhXtMbvZifvdGVUv2Mx8PP2/FCRvZGUXM9Rmv7q92NB4zSGw1+2BD/Xy64wW/wAKefvt2/6zmO4/H9eZiZvW/cuLAKD+7pRr/AI73jsGluo8YyiuT0V3gMoqby+A37WLsbD5sWQH6PR595ODEPKuZB1T4etnMnwNasN5POauBM7eMBWhkw6lZAtLblr/rOq+3joSF+Gr09JjcqDUCN10+7YX65dvFwAyB6l/4x2sD1JmLdRL1nANLL2R5Lq3hsjLKFkvz+y/US/bR/L+VCZ5drFY9et7vKrMP+63K16l6pVf9JHnjI1+xfBm3isY877/Koddy5TvHieLGv7GLL9vCI5EapLeIxutZl1rlxONtrnb9ENr/ATKI2WED/G1RtKIU+Yivf07a3K54+KKF2uBH1I8w6mzmoHeKyZceKXOmhjTxAw+fiEiCgknFn/z7cJqauTRTHYzai3jYetkSYjejvWgKiQahkvzx8vp6pcnVvrYfi2Kd1ewt5CK1m0zNAhBnbZkV/nOwXnqsmD1Y4DMm9OVR37eNhn7lkIYXfX83TCiXlEQ3cMGjRQIrW8W1CreQB1kLwr/tAZ9Ngk+I48LD/X85Ju6yzdGnsUKK9/Vsn+DzhMiC+UhwZDwtkIAcTmme6BKfD0RYeD9Xj61AfQ7R6PoSOo+QHsiCaaCOHA32IxpMH1tEaBgTG7unK42OgPpHLRAiIzUC9Mo/pMYBA0VkMTj90/uWjafMNsFksFstdiYetpoouk1sAJLY5f4pANlnkcaM/xdihK3kM5WhUiDtNECRaJ5Xz2UUg4zyJbGRUtI8/cp6P94jaUJp9ns/fgk4S3TTzSGsrFxLWZR4lINtDhbmt4hGnTbOZ5ankLDU8rOPdrZUX6/CsJh21iQrj62WXSYe4xlU8nrOfmvR+XCgtFCb6wGOZBtIGAnECXb0eBmBSqENco2FSxSMdaRSAcRRDaXpJcegdNXGpw7e02qYjYq/Fp3dAqIW4Vk/L+UUmafvKOIr2cRhO7TcvchCli1Og/JAlIDY8qsdSfpFdVbSOyNYkFWMnFrFTk63jqIpZKOIyUdaX+Szbh+sYV1hH1U2auSzoUtnfk46HWCAwlAUca7f8qYTj5HXv1YCbS9ERRDk2QnWzDkymgXyzRYytWrHea6yj/dJqtiRNHau0h5LjkPIpsV/rEWhDU+V8Xshm440sABEmPrb+A4BaRyQ7p52l7XKD7gSIdRkdd21pteh1EhtQBHWWjrfOclC2DJFYiFbGtloZcAskiji8dZZcalwCIlzyEWkPaBeSs6TSZk6BbPPaTecLAoJxlkzmuRhD4DCDT50lbvbOhZsJTIcCidONLPPtLkgcFUCOEQPhaHg/7XayHRTzUQ0kRBxO39uoanGEEUpzaTDvp3DM/a87CgK1ovGigCM8qW4dj3lQsSNXcZgDWUdYrpIL4kocvRCdxUlVVyG9IL1FMI+imAcV86BiHlTMg4p5UDEPKuZBxTyomAcV86BiHlTMg4p5UDEPKuZBxTyomAcV86BiHlTMg4p5UDEPKuZBxTyomAcV86BiHlTMg4p5UDEPKuZBxTyomAcV86BiHlQ1q/p3ofJQQ7YPrBoeT6HyMNV7HL7avAn9Gql1JY9RqDzMtJKHbMmRDTeWhk01Dhk37eisu0ibj5r9HoEmGPWFGJD9dEE6DOB92stkh+GEaCAGZ5e+wXthpgFmGBDYQ7Zqgv96h5e1NU3kWINFIgx2mH3FObmei+w3XRsBeFP/183egdEWaUXdxZ3NhnSLNz60SoXsYuMFcZjHwDJMfrhcppVrvcIZ5iUwHkIMUOvd/mMQn9RhfvsB7yr6bofsOHWFjzvdh7UJ1+BzkbNgoWkGFiFFVHdQcK5Ibg7n7Qt8nN82JIdRc9S1ncLhLFlUwUe2JNHBENGmMlSQoCLDwWEbiht+7Kxo7DDjcDp1gA1hemy2wW+9eQ8mw9DMemy3O2sYxZVgSjKNsgt2FxDJAvHYhgIEjvOUkfzCcZOOEYXBQ2vzhXh84K49PesxCaIk04IcgToj5/gDnpIJ5Eg2wNP6b7TN5hF9tgsiw2jzitrcoUUGPS02BHcRrl8f5dFDzgofKuwwzXuHyQ9IUXehNkDPNeyG4DAGv8ak+NYnTR2mxWfNXygAMgxWdBf7hRdUkvl/cJ9WeKa2V55nsRnmyOPJCM9jqnvLc97eSMblt6/TVRAz30syRRNqRXxQOB0Pfe/0q7MFF80/ta889UTqBbX2uerXp68R/rz/I95TNDpUd9jUG+LR8TvDkHO1e5VDxposS331uiTTBrtLTf8V21AkJ/5mGNA0u9QtE0MLywbWYfwdaKe9k1VdaEAOE8k3b2m4obHLZuDI+KrHM9t0wqn2FG2t8Ozu3t+SjCxYX9dnDsBviBn5m3HhMnfRgq6d8hUIHT0/5QVk7ZSvq3M1mb/vnyq0FF5sOPWzD2MbhV/Gd3KoBy82jHzt9Lu3IR+bebrKUj3EY+/n/g9TPYtdKeIwozs94J1FV6ifCZKkJPNy7RRakB3JxZlu6/drp1N5ObNN3KX0dvCC6GJDH9dOgR6hBm7OjJtrATjDeLj/g6zXX54f5SFrp579cxhIkH1csPqYrDHzkIdQO+Qu5+0ftPyn77dOaIfHJSc4aDQz8epll/97pvJlckH9DSJ5y3mcK1ZaKhWnIWQ1ueznhiRbCTAd+4nDAknG8Xx2cW9EwfZ9t4oTbzfT2apCqX+ZsbdfTzv7PoYPFovFYrFYLBaLxbpWfwFtum7SSsX02wAAAABJRU5ErkJggg==", "categoryName_ar": "الكترونيات", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 22, "categoryName_en": "Education", "content": "data:image/jpeg;base64,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", "categoryName_ar": "تعليم", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 23, "categoryName_en": "Properties", "content": "data:image/jpeg;base64,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", "categoryName_ar": "عقارات", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 24, "categoryName_en": "Accessories", "content": "data:image/jpeg;base64,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", "categoryName_ar": "اكسسوارات", "isActive": true, "pageSize": null, "pageNo": null }, { "id": 25, "categoryName_en": "Other", "content": "data:image/jpeg;base64,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", "categoryName_ar": "أخرى", "isActive": true, "pageSize": null, "pageNo": null }], "errormsg": null } } - return Observable.create(observer => { - - observer.next(json); // This method same as resolve() method from Angular 1 - console.log("am done"); - observer.complete(); - }); - + getCategories(request: any, onError?: any, errorLabel?: string): Observable { + this.authService.authenticateRequest(request); + request['EmployeeNumber'] = request.UserName; + request['ItgChannelId'] = 3; + request['ItgIsActive'] = true; + request['ItgPageSize'] = 100; + request['ItgPageNo'] = 1; + request['ItgId'] = 0; + request['ItgCategoryName_en'] = ''; + request['ItgCategoryName_ar'] = ''; + return this.con.postNoLoad( + OfferDiscountService.getCategories, + request, + onError, + errorLabel + ); } } \ No newline at end of file From d4dccd6dff9f8bceb7e3970a3085b8ba5e2f3d1e Mon Sep 17 00:00:00 2001 From: umasoodch Date: Thu, 29 Jul 2021 10:36:23 +0300 Subject: [PATCH 3/5] fixed basic details issue --- .../services/common/common.service.ts | 9 +- .../add-basic-details.component.html | 28 +- .../add-basic-details.component.scss | 5 + .../add-basic-details.component.ts | 316 ++++++++++++++++-- .../src/app/profile/home/home.component.html | 3 +- Mohem/src/app/profile/home/home.component.ts | 24 +- Mohem/src/app/profile/models/basic.request.ts | 3 +- 7 files changed, 321 insertions(+), 67 deletions(-) diff --git a/Mohem/src/app/hmg-common/services/common/common.service.ts b/Mohem/src/app/hmg-common/services/common/common.service.ts index c62a99f8..f7fc2fdf 100644 --- a/Mohem/src/app/hmg-common/services/common/common.service.ts +++ b/Mohem/src/app/hmg-common/services/common/common.service.ts @@ -1116,8 +1116,13 @@ export class CommonService { public openEditProfile() { this.nav.navigateForward(['/profile/editprofile']); } - public openAddBasicDetails() { - this.nav.navigateForward(['/profile/addBasicDetails']); + public openAddBasicDetails(target: string) { + const navigationExtras: NavigationExtras = { + queryParams: { + targetValue: target + } + }; + this.nav.navigateForward(['/profile/addBasicDetails'], navigationExtras); } public openAccuralPage() { this.nav.navigateForward(['/accrual-balances/home']); diff --git a/Mohem/src/app/profile/add-basic-details/add-basic-details.component.html b/Mohem/src/app/profile/add-basic-details/add-basic-details.component.html index e4082aa9..5f52a665 100644 --- a/Mohem/src/app/profile/add-basic-details/add-basic-details.component.html +++ b/Mohem/src/app/profile/add-basic-details/add-basic-details.component.html @@ -1,20 +1,3 @@ - - + + Effective Date + 17-Mar-2017 +
+
- + {{'vacation-rule, next-label' | translate}}
\ No newline at end of file diff --git a/Mohem/src/app/profile/add-basic-details/add-basic-details.component.scss b/Mohem/src/app/profile/add-basic-details/add-basic-details.component.scss index 9b59e3d3..a6dbf815 100644 --- a/Mohem/src/app/profile/add-basic-details/add-basic-details.component.scss +++ b/Mohem/src/app/profile/add-basic-details/add-basic-details.component.scss @@ -37,4 +37,9 @@ width: 80% !important; color: white!important; border-radius: 16px !important; + } + + .country{ + margin-top: 10px; + padding: 10px; } \ No newline at end of file diff --git a/Mohem/src/app/profile/add-basic-details/add-basic-details.component.ts b/Mohem/src/app/profile/add-basic-details/add-basic-details.component.ts index 5592e376..ab5a7aa5 100644 --- a/Mohem/src/app/profile/add-basic-details/add-basic-details.component.ts +++ b/Mohem/src/app/profile/add-basic-details/add-basic-details.component.ts @@ -22,6 +22,8 @@ import { EIT_ACTION } from "../models/submit.eit.action"; import { AddEitResponse } from "../models/add.eit.response"; import { element } from '@angular/core/src/render3'; import { EITNotificatonBodyResponse } from "../models/EITNotificationBodyRes"; +import { ActivatedRoute } from '@angular/router'; + @Component({ selector: 'app-add-basic-details', templateUrl: './add-basic-details.component.html', @@ -29,14 +31,13 @@ import { EITNotificatonBodyResponse } from "../models/EITNotificationBodyRes"; }) export class AddBasicDetailsComponent implements OnInit { @ViewChild("containerDiv") containerDiv: ElementRef; + @ViewChild("containerDivTwo") containerDivTwo: ElementRef; + - ////*new add*///// getPassNotificationDetails: any; getPassdirfromNotifiPage: boolean = false; functionName: string = ""; menuType: any; - ///////////////// - private textArea: TextAreaInput; private numberInput: NumberInput; private textInput: TextInput; @@ -47,7 +48,8 @@ export class AddBasicDetailsComponent implements OnInit { private buttonInput: ButtonInput; private hiddenInput: HiddenInput; private eitResponse: any; - + private eitColResponse: any; + private eitVALSettoCall: any = []; private comtransNo: number = 0; getPassMnuEntryObj: MenuEntry; @@ -64,6 +66,9 @@ export class AddBasicDetailsComponent implements OnInit { private updatedValues: any = []; addEITData: any; direction:string; + public targetValue: any; + public employeeBasicDetails: any = []; + public mutualBasicDetailsArray: any = []; constructor( @@ -71,8 +76,18 @@ export class AddBasicDetailsComponent implements OnInit { public cs: CommonService, private ts: TranslatorService, private profileService: ProfileService, - public datePicker: DatePicker + public datePicker: DatePicker, + public router: ActivatedRoute ) { + + this.router.queryParams.subscribe(params => { + this.targetValue = params.targetValue; + console.log(this.targetValue); + }); + + this.employeeBasicDetails = this.cs.sharedService.getSharedData('employeeDetails', false); + console.log(this.employeeBasicDetails); + this.direction = TranslatorService.getCurrentLanguageName(); this.selEmp = this.cs.sharedService.getSharedData( MenuResponse.SHARED_SEL_EMP, @@ -89,7 +104,6 @@ export class AddBasicDetailsComponent implements OnInit { ); this.addEITData = this.cs.sharedService.getSharedData("AddEITData", false); console.log("addEITData: " + this.addEITData); - // console.log("dirfromNotificationPage: " + this.addEITData.dirfromNotificationPage); this.basicRequest = new BasicRequest(); @@ -122,9 +136,7 @@ export class AddBasicDetailsComponent implements OnInit { ngOnInit() {} ngAfterViewInit() { - // this.getEitDffStructure(); - this.getColumnStructure(); - + this.getEitDffStructure(); } public getColumnStructure() { @@ -153,18 +165,180 @@ export class AddBasicDetailsComponent implements OnInit { public handleBasicColStructureResult(result) { if (result.GetBasicDetColsStructureList != null) { - this.eitResponse = result.GetBasicDetColsStructureList; - this.drawEitFields(result.GetBasicDetColsStructureList); + this.eitColResponse = result.GetBasicDetColsStructureList; + this.drawEitFieldsStatic(result.GetBasicDetColsStructureList); } } public handleBasicDffStructureResult(result) { if (result.GetBasicDetDffStructureList != null) { + this.getColumnStructure(); this.eitResponse = result.GetBasicDetDffStructureList; this.drawEitFields(result.GetBasicDetDffStructureList); } } + private drawEitFieldsStatic(feildsList) { + const containerId = "containerDivTwo"; + this.eitVALSettoCall = []; + for (let i = 0; i < feildsList.length; i++) { + let defaultVal: string = ""; + let defaultValText: string = ""; + + if (feildsList[i].DISPLAY_FLAG != "N") { + //text , date , time + if (feildsList[i].DATATYPE == "VARCHAR2" && feildsList[i].ObjectValuesList === null) { + // character + this.textInput = new TextInput( + feildsList[i].SEGMENT_PROMPT, + feildsList[i].APPLICATION_COLUMN_NAME, + defaultVal, + containerId, + defaultValText, + feildsList[i].MOBILE_ENABLED, + feildsList[i].DISPLAY_FLAG, + feildsList[i].REQUIRED_FLAG + ); + } else if (feildsList[i].DATATYPE == "VARCHAR2" && feildsList[i].ObjectValuesList !== null) { + this.selectInput = new SelectInput( + feildsList[i].SEGMENT_PROMPT, + feildsList[i].APPLICATION_COLUMN_NAME, + defaultVal, + containerId, + feildsList[i].MOBILE_ENABLED, + feildsList[i].DISPLAY_FLAG, + feildsList[i].REQUIRED_FLAG + ); + this.fillStaticDropdownList( + feildsList[i].SEGMENT_NAME, + feildsList[i].ObjectValuesList, + feildsList[i].APPLICATION_COLUMN_NAME + ); + } else if (feildsList[i].DATATYPE == "NUMBER") { + this.numberInput = new NumberInput( + feildsList[i].SEGMENT_PROMPT, + feildsList[i].APPLICATION_COLUMN_NAME, + defaultVal, + containerId, + feildsList[i].MOBILE_ENABLED, + feildsList[i].DISPLAY_FLAG, + feildsList[i].REQUIRED_FLAG + ); + } else if (feildsList[i].DATATYPE == "DATE" && this.targetValue === 'new') { + this.dateInput = new DateInput( + feildsList[i].SEGMENT_PROMPT, + feildsList[i].APPLICATION_COLUMN_NAME, + "", + containerId, + feildsList[i].MOBILE_ENABLED, + feildsList[i].DISPLAY_FLAG, + feildsList[i].REQUIRED_FLAG, + this.direction + ); + + } + } + } + this.fillBasicDetailsStructure(); + } + + public getElementsStaticValues(): any { + this.updatedValues = []; //fill updated list + let valuseArr: any = []; + let varcharValue: any = null; + let numbervalue: any = 0; + let dateValue: any = null; + let transNo: number = this.comtransNo; + let textValue : any; + + for (let i = 0; i < this.eitColResponse.length; i++) { + varcharValue = null; + numbervalue = null; + dateValue = null; + + if (this.eitColResponse[i].DISPLAY_FLAG != "N") { + if (this.eitColResponse[i].ObjectValuesList === null) { + let elem = document.getElementById( this.eitColResponse[i].APPLICATION_COLUMN_NAME) as HTMLInputElement; + let elemVal = elem !== null ? (document.getElementById( this.eitColResponse[i].APPLICATION_COLUMN_NAME ) as HTMLInputElement).value : ''; + textValue = elemVal; + + if ((this.eitColResponse[i].DATATYPE == "VARCHAR2" || this.eitColResponse[i].DATATYPE == "NUMBER") && this.eitColResponse[i].ObjectValuesList === null) { + elemVal = elemVal; + } else if (this.eitColResponse[i].DATATYPE == "DATE" && this.targetValue === 'new') { + // date + elemVal = this.cs.formatDate(elemVal); + } + + if (this.targetValue === 'new') { + if (this.eitColResponse[i].REQUIRED_FLAG == "Y" && !elemVal) { + elem.classList.add("requiredClassElm"); + return false; + } else { + elem.classList.remove("requiredClassElm"); + } + } + + varcharValue = elemVal; + + valuseArr.push({ + TRANSACTION_NUMBER: transNo, + NAME: this.eitColResponse[i].APPLICATION_COLUMN_NAME, + VARCHAR2_VALUE: varcharValue, + NUMBER_VALUE: numbervalue, + DATE_VALUE: dateValue + }); + } else { + let x = document.getElementById(this.eitColResponse[i].APPLICATION_COLUMN_NAME) as HTMLSelectElement; + + let val = x.options[x.selectedIndex] ? x.options[x.selectedIndex].value : null; + let txt = x.options[x.selectedIndex] ? x.options[x.selectedIndex].text : null; + varcharValue = val; + textValue = txt; + + if (x !== null) { + if (this.eitColResponse[i].REQUIRED_FLAG == "Y" && !varcharValue) { + x.classList.add("requiredClassElm"); + return false; + } else { + x.classList.remove("requiredClassElm"); + } + } + + valuseArr.push({ + TRANSACTION_NUMBER: transNo, + NAME: this.eitColResponse[i].APPLICATION_COLUMN_NAME, + VARCHAR2_VALUE: varcharValue, + NUMBER_VALUE: numbervalue, + DATE_VALUE: dateValue + }); + } + } else { + let x = document.getElementById(this.eitColResponse[i].APPLICATION_COLUMN_NAME) as HTMLSelectElement; + let val = x !== null ? x.dataset.colmText : ''; + textValue = x !== null ? x.value : ''; + + if (x !== null) { + if (this.eitResponse[i].REQUIRED_FLAG == "Y" && !val) { + x.classList.add("requiredClassElm"); + return false; + } else { + x.classList.remove("requiredClassElm"); + } + } + + if (val) varcharValue = val; + valuseArr.push({ + TRANSACTION_NUMBER: transNo, + NAME: this.eitColResponse[i].APPLICATION_COLUMN_NAME, + VARCHAR2_VALUE: varcharValue, + NUMBER_VALUE: numbervalue, + DATE_VALUE: dateValue + }); + } + } + return valuseArr; + } + private drawEitFields(feildsList) { const containerId = "containerDiv"; this.eitVALSettoCall = []; @@ -375,7 +549,6 @@ export class AddBasicDetailsComponent implements OnInit { } closeModal() { - console.log("closeModal"); this.updatedValues = []; this.modalController.dismiss(); } @@ -407,6 +580,7 @@ export class AddBasicDetailsComponent implements OnInit { err => console.log("Error occurred while getting date: ", err) ); } + public showTimePicker(elemID, maxSize) { let elem = document.getElementById(elemID) as HTMLDivElement; let date: any; @@ -480,6 +654,21 @@ export class AddBasicDetailsComponent implements OnInit { } } + public fillStaticDropdownList(segmentName, optionList: any = [], elemID: string) { + let eitObj: any; + if (optionList.length > 0) { + let select = document.getElementById(elemID) as HTMLSelectElement; + document.getElementById(elemID).innerHTML = ""; + + for (let i = 0; i < optionList.length; i++) { + var option = document.createElement("option"); + option.text = optionList[i].MEANING; + option.value = optionList[i].CODE; + select.add(option); + } + } + } + bindHtmlElemEvents(id, obj) { const elem = document.getElementById(id); console.log(elem); @@ -949,6 +1138,7 @@ export class AddBasicDetailsComponent implements OnInit { } return isSt; } + isStandardDateTime(obj: any): boolean { let isSt: boolean = false; if (obj.FORMAT_TYPE == "Y") { @@ -965,6 +1155,7 @@ export class AddBasicDetailsComponent implements OnInit { } return isSt; } + isStandardTime(obj: any): boolean { let isSt: boolean = false; if (obj.FORMAT_TYPE == "I") { @@ -992,6 +1183,7 @@ export class AddBasicDetailsComponent implements OnInit { } return isSt; } + isStandardDateTimeVal(obj: any): boolean { let isSt: boolean = false; if (obj.FORMAT_TYPE == "Y") { @@ -1002,6 +1194,7 @@ export class AddBasicDetailsComponent implements OnInit { } return isSt; } + isStandardTimeVal(obj: any): boolean { let isSt: boolean = false; if (obj.FORMAT_TYPE == "I") { @@ -1013,6 +1206,58 @@ export class AddBasicDetailsComponent implements OnInit { return isSt; } + public customiseDate(date: any) { + let formatedDate = date.replace(/\//g, '/'); + formatedDate = formatedDate.replace(/ 00:00:00/g, ''); + let newDate = formatedDate.split("/").reverse(); + const tmp = newDate[2]; + newDate[2] = newDate[1]; + newDate[1] = tmp; + newDate = newDate.join("/"); + newDate = newDate + ' 00:00:00'; + return newDate; + } + + + public fillBasicDetailsStructure() { + console.log(this.eitResponse); + console.log(this.eitColResponse); + this.mutualBasicDetailsArray = this.mutualBasicDetailsArray.concat(this.eitResponse, this.eitColResponse); + console.log(this.mutualBasicDetailsArray); + for (let i = 0; i < this.employeeBasicDetails.length; i++) { + let val: any; + if (this.employeeBasicDetails[i].VARCHAR2_VALUE) + val = this.employeeBasicDetails[i].VARCHAR2_VALUE; + else if (this.employeeBasicDetails[i].DATE_VALUE) + // val = this.customiseDate(this.employeeBasicDetails[i].DATE_VALUE); + this.employeeBasicDetails[i].DATE_VALUE + else if (this.employeeBasicDetails[i].NUMBER_VALUE) + val = this.employeeBasicDetails[i].NUMBER_VALUE; + const elem = document.getElementById( + this.employeeBasicDetails[i].APPLICATION_COLUMN_NAME + ) as HTMLInputElement; + if (elem) { + if (val) { + let feldDetails = this.mutualBasicDetailsArray.find( + x => + x.APPLICATION_COLUMN_NAME == + this.employeeBasicDetails[i].APPLICATION_COLUMN_NAME + ); + if (feldDetails) { + let isStandardTime = this.isStandardTimeVal(feldDetails); + if (isStandardTime) { + elem.innerHTML = val; + elem.dataset.dtvalue = val; + } else { + elem.value = val; + elem.setAttribute("value", elem.value); + } + } + } + } + } + } + fillEITStructure() { var obj = { peiObjVer: null, peiExtraInfoID: null }; for (let i = 0; i < this.validateEitObj.length; i++) { @@ -1384,6 +1629,7 @@ export class AddBasicDetailsComponent implements OnInit { values.push(obj3); return values; } + fillExtraInformation( values: any, peiAction: string, @@ -1453,6 +1699,7 @@ export class AddBasicDetailsComponent implements OnInit { } return list; } + handleSubmitEitResult(result) { if (this.cs.validResponse(result)) { this.cs.sharedService.setSharedData( @@ -1477,27 +1724,30 @@ export class AddBasicDetailsComponent implements OnInit { } } - // validateEITTransaction() { - // // let EITTransactionValues:any= []; - - // this.arrValues = this.getElementsValues(); - // if (this.arrValues) { - // this.basicRequest = { - // P_SELECTED_EMPLOYEE_NUMBER: this.selEmp, - // P_MENU_TYPE: this.menuType, - // P_SELECTED_RESP_ID: this.respID, //this.selMenu.List_Menu.RESP_ID,//-999, - // P_FUNCTION_NAME: this.functionName, - // P_DESC_FLEX_CONTEXT_CODE: this.eitResponse[0].DESC_FLEX_CONTEXT_CODE, - // EITTransactionTBL: this.arrValues - // }; - - // this.eitService - // .validateEITTransaction(this.eitRequest) - // .subscribe((result: any) => { - // this.handleEITValidateTr(result); - // }); - // } - // } + public submitBasicDetailsTransaction() { + // let EITTransactionValues:any= []; + + this.arrValues = this.getElementsValues(); + let staticValues = this.getElementsStaticValues(); + let allStatisDynamicValues = this.arrValues.concat(staticValues); + if (allStatisDynamicValues) { + this.basicRequest = { + P_SELECTED_EMPLOYEE_NUMBER: this.selEmp, + P_MENU_TYPE: this.selMenu.List_Menu.MENU_TYPE, + P_SELECTED_RESP_ID: this.respID, + P_FUNCTION_NAME: this.selMenu.GetMenuEntriesList.FUNCTION_NAME, + EITTransactionTBL: allStatisDynamicValues, + // P_EFFECTIVE_DATE: moment(this.effectiveDate).format('DD-MMM-YYYY'), + P_ACTION: this.targetValue === 'correct' ? 'CORRECT' : 'CHANGE' + }; + + // this.eitService + // .validateEITTransaction(this.eitRequest) + // .subscribe((result: any) => { + // this.handleEITValidateTr(result); + // }); + } + } // private handleEITValidateTr(result) { // let data: any = { eitRequest: {}, updated: [] }; // if (this.cs.validResponse(result)) { diff --git a/Mohem/src/app/profile/home/home.component.html b/Mohem/src/app/profile/home/home.component.html index ccef838c..962a1fdb 100644 --- a/Mohem/src/app/profile/home/home.component.html +++ b/Mohem/src/app/profile/home/home.component.html @@ -196,8 +196,7 @@ - + diff --git a/Mohem/src/app/profile/home/home.component.ts b/Mohem/src/app/profile/home/home.component.ts index 68ca831a..626c7b98 100644 --- a/Mohem/src/app/profile/home/home.component.ts +++ b/Mohem/src/app/profile/home/home.component.ts @@ -165,6 +165,7 @@ export class HomeComponent implements OnInit { this.profileService.getEmployeeBasicDetails(body).subscribe((result: any) => { if (this.cs.validResponse(result)) { this.employeeBasicDetails = result.GetEmployeeBasicDetailsList; + this.cs.sharedService.setSharedData(this.employeeBasicDetails, 'employeeDetails'); console.log(this.employeeBasicDetails); for (let i = 0; i < this.employeeBasicDetails.length; i++) { if (this.employeeBasicDetails[i].APPLICATION_COLUMN_NAME === 'FULL_NAME') { @@ -280,7 +281,7 @@ export class HomeComponent implements OnInit { this.transactionNo++; // tslint:disable-next-line: max-line-length this.cs.sharedService.setSharedData({ dirfromNotificationPage: false, submitEITObjList: undefined, transNo: this.transactionNo }, 'AddEITData'); - this.cs.openAddBasicDetails(); + this.openAddBasicDetails(); } else { this.openAddAddress(); } @@ -297,7 +298,7 @@ export class HomeComponent implements OnInit { } } - async presentModal() { + async presentModal(source: string) { const modal = await this.modalController.create({ component: EditDetailProfileComponent, cssClass: 'my-custom-modal-css' @@ -307,14 +308,18 @@ export class HomeComponent implements OnInit { .then((data) => { console.log(data); this.cs.sharedService.setSharedData(data.data, ProfileService.SELECTED_STATUS); - if (data.data && data.data.data == 1) { + if (data.data && data.data.data == 1 && source === 'address') { this.cs.sharedService.setSharedData(this.addressSubMenu, ProfileService.ADRESS_ENTRIES); this.cs.sharedService.setSharedData(this.employeeAdress, ProfileService.EMP_ADDRESS); this.cs.sharedService.setSharedData(this.country, ProfileService.COUNTRY); this.cs.openAddAddress(); - } else if (data.data && data.data.data == 2) { + } else if (data.data && data.data.data == 2 && source === 'address') { this.cs.openAddAddress(); + } else if (data.data && data.data.data == 1 && source === 'basicDetails') { + this.cs.openAddBasicDetails('correct'); + } else if (data.data && data.data.data == 2 && source === 'basicDetails') { + this.cs.openAddBasicDetails('new'); } @@ -327,14 +332,19 @@ export class HomeComponent implements OnInit { } public openAddAddress() { - if (this.addressSubMenu && this.addressSubMenu.UPDATE_BUTTON === 'Y') { - - this.presentModal(); + this.presentModal('address'); } else { this.cs.openAddAddress(); } + } + public openAddBasicDetails() { + if (this.basicDetailsSubMenu && this.basicDetailsSubMenu.UPDATE_BUTTON === 'Y') { + this.presentModal('basicDetails'); + } else { + this.cs.openAddBasicDetails('correct'); + } } } diff --git a/Mohem/src/app/profile/models/basic.request.ts b/Mohem/src/app/profile/models/basic.request.ts index a93d7d01..f3471c75 100644 --- a/Mohem/src/app/profile/models/basic.request.ts +++ b/Mohem/src/app/profile/models/basic.request.ts @@ -6,6 +6,7 @@ export class BasicRequest { public P_SELECTED_EMPLOYEE_NUMBER: string; public P_FUNCTION_NAME: string; public P_SELECTED_RESP_ID: Number; - P_DESC_FLEX_CONTEXT_CODE: string; + // P_DESC_FLEX_CONTEXT_CODE: string; EITTransactionTBL: EitTransactionModel[]; + P_ACTION: string; } \ No newline at end of file From 23eb5652e8cb7949d745d60c2df5dddee6b6d5c9 Mon Sep 17 00:00:00 2001 From: umasoodch Date: Sat, 31 Jul 2021 14:46:36 +0300 Subject: [PATCH 4/5] added analytics code --- Mohem/src/app/app.component.ts | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/Mohem/src/app/app.component.ts b/Mohem/src/app/app.component.ts index 3f24ffbf..1d7815fb 100644 --- a/Mohem/src/app/app.component.ts +++ b/Mohem/src/app/app.component.ts @@ -9,9 +9,10 @@ import { PushService } from '../../src/app/hmg-common/services/push/push.service import { LazyLoadingService } from './hmg-common/services/lazy-loading/lazy-loading.service'; import { DomSanitizer } from '@angular/platform-browser'; import { SplashScreen } from '@ionic-native/splash-screen/ngx'; -import { Router } from '@angular/router'; +import { Router, NavigationEnd } from '@angular/router'; import { DigitalIdComponent } from './authentication/digital-id/digital-id.component'; import { checkAndUpdatePureExpressionInline } from '@angular/core/src/view/pure_expression'; +import { FirebaseX } from '@ionic-native/firebase-x/ngx'; @Component({ selector: 'app-root', @@ -56,6 +57,7 @@ export class AppComponent implements OnInit { public router: Router, public modalController: ModalController, public nav: NavController, + public firebasex: FirebaseX ) { this.events.subscribe('img-change', displayImg => { console.log('app compont: ' + displayImg); @@ -83,6 +85,7 @@ export class AppComponent implements OnInit { this.ts.loadResources(() => { this.isIOS = this.platform.is('ios') ? true : false; this.initializeDirection(); + this.monitorAnalytics(); this.start = true; if (this.isIOS) { this.monitUrlChange(); @@ -105,6 +108,25 @@ export class AppComponent implements OnInit { }); } + public monitorAnalytics() { + this.router.events.subscribe((val) => { + if (val instanceof NavigationEnd) { + const lastIndex = val.urlAfterRedirects.lastIndexOf('/'); + const currentPageName = val.urlAfterRedirects.substr(lastIndex + 1); + console.log(currentPageName + ' umarrrrrrrr'); + this.setScreenNameAnalytics(currentPageName); + } + }); + } + + public setScreenNameAnalytics(currentPageName: string) { + try { + this.firebasex.setScreenName(currentPageName).then((result)=>{ + console.log(result); + }); + } catch (Error) { } + } + private startReceivingPushService() { this.pushService.startReceiving(); setTimeout(() => { From ded927bf6a4fab64ea57587e37e1f15788ae0618 Mon Sep 17 00:00:00 2001 From: umasoodch Date: Sun, 8 Aug 2021 17:40:18 +0300 Subject: [PATCH 5/5] fixed basic details issue --- Mohem/src/app/app.component.ts | 1 - .../services/common/common.service.ts | 3 + .../add-basic-details.component.html | 4 +- .../add-basic-details.component.ts | 177 ++++---- .../confirm-basic-details.component.html | 131 +++++- .../confirm-basic-details.component.scss | 263 +++++++++++ .../confirm-basic-details.component.ts | 425 +++++++++++++++++- Mohem/src/app/profile/models/basic.request.ts | 2 +- .../app/profile/service/profile.service.ts | 16 +- 9 files changed, 919 insertions(+), 103 deletions(-) diff --git a/Mohem/src/app/app.component.ts b/Mohem/src/app/app.component.ts index 1d7815fb..40b54e26 100644 --- a/Mohem/src/app/app.component.ts +++ b/Mohem/src/app/app.component.ts @@ -113,7 +113,6 @@ export class AppComponent implements OnInit { if (val instanceof NavigationEnd) { const lastIndex = val.urlAfterRedirects.lastIndexOf('/'); const currentPageName = val.urlAfterRedirects.substr(lastIndex + 1); - console.log(currentPageName + ' umarrrrrrrr'); this.setScreenNameAnalytics(currentPageName); } }); diff --git a/Mohem/src/app/hmg-common/services/common/common.service.ts b/Mohem/src/app/hmg-common/services/common/common.service.ts index f7fc2fdf..cba9d334 100644 --- a/Mohem/src/app/hmg-common/services/common/common.service.ts +++ b/Mohem/src/app/hmg-common/services/common/common.service.ts @@ -1090,6 +1090,9 @@ export class CommonService { public openConfirmEitPage() { this.nav.navigateForward(['/eit/confirm-add-eit']); } + public openConfirmBasicDetailsPage() { + this.nav.navigateForward(['/profile/confirm-basic']); + } public openHome() { this.nav.navigateRoot(['/home']); } diff --git a/Mohem/src/app/profile/add-basic-details/add-basic-details.component.html b/Mohem/src/app/profile/add-basic-details/add-basic-details.component.html index 5f52a665..ce1335e8 100644 --- a/Mohem/src/app/profile/add-basic-details/add-basic-details.component.html +++ b/Mohem/src/app/profile/add-basic-details/add-basic-details.component.html @@ -9,9 +9,9 @@ - + Effective Date - 17-Mar-2017 + {{showEffectiveDate}}
diff --git a/Mohem/src/app/profile/add-basic-details/add-basic-details.component.ts b/Mohem/src/app/profile/add-basic-details/add-basic-details.component.ts index ab5a7aa5..2e1f8ea0 100644 --- a/Mohem/src/app/profile/add-basic-details/add-basic-details.component.ts +++ b/Mohem/src/app/profile/add-basic-details/add-basic-details.component.ts @@ -69,6 +69,8 @@ export class AddBasicDetailsComponent implements OnInit { public targetValue: any; public employeeBasicDetails: any = []; public mutualBasicDetailsArray: any = []; + public effectiveDate: string; + public showEffectiveDate: string; constructor( @@ -248,7 +250,7 @@ export class AddBasicDetailsComponent implements OnInit { let varcharValue: any = null; let numbervalue: any = 0; let dateValue: any = null; - let transNo: number = this.comtransNo; + let transNo: number = 1; let textValue : any; for (let i = 0; i < this.eitColResponse.length; i++) { @@ -262,12 +264,15 @@ export class AddBasicDetailsComponent implements OnInit { let elemVal = elem !== null ? (document.getElementById( this.eitColResponse[i].APPLICATION_COLUMN_NAME ) as HTMLInputElement).value : ''; textValue = elemVal; - if ((this.eitColResponse[i].DATATYPE == "VARCHAR2" || this.eitColResponse[i].DATATYPE == "NUMBER") && this.eitColResponse[i].ObjectValuesList === null) { + if (this.eitColResponse[i].DATATYPE == "VARCHAR2" || this.eitColResponse[i].DATATYPE == "NUMBER") { elemVal = elemVal; } else if (this.eitColResponse[i].DATATYPE == "DATE" && this.targetValue === 'new') { // date elemVal = this.cs.formatDate(elemVal); - } + } else if (this.eitColResponse[i].DATATYPE == "DATE" && this.targetValue === 'correct') { + // date + elemVal = this.customiseDate(this.effectiveDate); + } if (this.targetValue === 'new') { if (this.eitColResponse[i].REQUIRED_FLAG == "Y" && !elemVal) { @@ -278,7 +283,13 @@ export class AddBasicDetailsComponent implements OnInit { } } - varcharValue = elemVal; + if (this.eitColResponse[i].DATATYPE == "DATE") { + dateValue = elemVal; + } else if (this.eitColResponse[i].DATATYPE == "NUMBER") { + numbervalue = elemVal; + } else { + varcharValue = elemVal; + } valuseArr.push({ TRANSACTION_NUMBER: transNo, @@ -326,7 +337,28 @@ export class AddBasicDetailsComponent implements OnInit { } } - if (val) varcharValue = val; + let staticValueBasicDetail = this.employeeBasicDetails.find( + x => + x.APPLICATION_COLUMN_NAME == + this.eitColResponse[i].APPLICATION_COLUMN_NAME + ); + + if (staticValueBasicDetail) { + if (this.eitColResponse[i].DATATYPE === 'VARCHAR2') { + varcharValue = staticValueBasicDetail.VARCHAR2_VALUE; + } else if (this.eitColResponse[i].DATATYPE === 'DATE') { + dateValue = staticValueBasicDetail.DATE_VALUE; + } else if (this.eitColResponse[i].DATATYPE === 'NUMBER') { + numbervalue = staticValueBasicDetail.NUMBER_VALUE; + } else { + varcharValue = val; + } + } else { + varcharValue = val; + } + + + valuseArr.push({ TRANSACTION_NUMBER: transNo, NAME: this.eitColResponse[i].APPLICATION_COLUMN_NAME, @@ -1177,7 +1209,6 @@ export class AddBasicDetailsComponent implements OnInit { let isSt: boolean = false; if (obj.FORMAT_TYPE == "X") { // standard date - // if(obj.DEFAULT_TYPE=="C" || obj.DEFAULT_TYPE=="D" || obj.DEFAULT_TYPE=="P"||obj.DEFAULT_TYPE=="S"){//constant isSt = true; // } } @@ -1188,9 +1219,7 @@ export class AddBasicDetailsComponent implements OnInit { let isSt: boolean = false; if (obj.FORMAT_TYPE == "Y") { // standard date time - //if(obj.DEFAULT_TYPE=="C" || obj.DEFAULT_TYPE=="D" || obj.DEFAULT_TYPE=="P"||obj.DEFAULT_TYPE=="S"){//constant isSt = true; - //} } return isSt; } @@ -1199,16 +1228,13 @@ export class AddBasicDetailsComponent implements OnInit { let isSt: boolean = false; if (obj.FORMAT_TYPE == "I") { // standard time - //if(obj.DEFAULT_TYPE=="C" || obj.DEFAULT_TYPE=="D" || obj.DEFAULT_TYPE=="P"||obj.DEFAULT_TYPE=="S"){//constant isSt = true; - //} } return isSt; } public customiseDate(date: any) { - let formatedDate = date.replace(/\//g, '/'); - formatedDate = formatedDate.replace(/ 00:00:00/g, ''); + let formatedDate = date.slice(0,9); let newDate = formatedDate.split("/").reverse(); const tmp = newDate[2]; newDate[2] = newDate[1]; @@ -1220,22 +1246,23 @@ export class AddBasicDetailsComponent implements OnInit { public fillBasicDetailsStructure() { - console.log(this.eitResponse); - console.log(this.eitColResponse); + this.mutualBasicDetailsArray = this.mutualBasicDetailsArray.concat(this.eitResponse, this.eitColResponse); - console.log(this.mutualBasicDetailsArray); + for (let i = 0; i < this.employeeBasicDetails.length; i++) { let val: any; - if (this.employeeBasicDetails[i].VARCHAR2_VALUE) + if (this.employeeBasicDetails[i].VARCHAR2_VALUE) { val = this.employeeBasicDetails[i].VARCHAR2_VALUE; - else if (this.employeeBasicDetails[i].DATE_VALUE) - // val = this.customiseDate(this.employeeBasicDetails[i].DATE_VALUE); - this.employeeBasicDetails[i].DATE_VALUE - else if (this.employeeBasicDetails[i].NUMBER_VALUE) + } else if (this.employeeBasicDetails[i].DATE_VALUE) { + val = this.customiseDate(this.employeeBasicDetails[i].DATE_VALUE); + if (this.employeeBasicDetails[i].APPLICATION_COLUMN_NAME === 'EFFECTIVE_DATE') { + this.effectiveDate = this.employeeBasicDetails[i].DATE_VALUE; + this.showEffectiveDate = this.employeeBasicDetails[i].SEGMENT_VALUE_DSP; + } + } else if (this.employeeBasicDetails[i].NUMBER_VALUE) { val = this.employeeBasicDetails[i].NUMBER_VALUE; - const elem = document.getElementById( - this.employeeBasicDetails[i].APPLICATION_COLUMN_NAME - ) as HTMLInputElement; + } + const elem = document.getElementById( this.employeeBasicDetails[i].APPLICATION_COLUMN_NAME ) as HTMLInputElement; if (elem) { if (val) { let feldDetails = this.mutualBasicDetailsArray.find( @@ -1339,7 +1366,7 @@ export class AddBasicDetailsComponent implements OnInit { let varcharValue: any = null; let numbervalue: any = 0; let dateValue: any = null; - let transNo: number = this.comtransNo; + let transNo: number = 1; let textValue : any; // if(this.ExtraObj.transactionNo) // transNo=this.ExtraObj.transactionNo; @@ -1459,7 +1486,28 @@ export class AddBasicDetailsComponent implements OnInit { } else { x.classList.remove("requiredClassElm"); } - if (val) varcharValue = val; + + let staticValueBasicDetail = this.employeeBasicDetails.find( + x => + x.APPLICATION_COLUMN_NAME == + this.eitResponse[i].APPLICATION_COLUMN_NAME + ); + + if (staticValueBasicDetail) { + if (staticValueBasicDetail.DATATYPE === 'VARCHAR2') { + varcharValue = staticValueBasicDetail.VARCHAR2_VALUE; + } else if (staticValueBasicDetail.DATATYPE === 'DATE') { + dateValue = staticValueBasicDetail.DATE_VALUE; + } else if (staticValueBasicDetail.DATATYPE === 'NUMBER') { + numbervalue = staticValueBasicDetail.NUMBER_VALUE; + } else { + if (val) varcharValue = val; + } + } else { + if (val) varcharValue = val; + } + + valuseArr.push({ TRANSACTION_NUMBER: transNo, NAME: this.eitResponse[i].APPLICATION_COLUMN_NAME, @@ -1661,16 +1709,6 @@ export class AddBasicDetailsComponent implements OnInit { return values; } - submitEit() { - let list = this.basicRequest.EITTransactionTBL; - this.basicRequest.EITTransactionTBL = this.fixTransactionNo(list); - this.profileService - .submitEit(this.basicRequest) - .subscribe((result: AddEitResponse) => { - this.handleSubmitEitResult(result); - }); - } - fixTransactionNo(transactionTBL: any): any[] { let list: any = []; let newIndex: number = 1; @@ -1700,36 +1738,20 @@ export class AddBasicDetailsComponent implements OnInit { return list; } - handleSubmitEitResult(result) { + public handleBasicdetailsResult(result) { if (this.cs.validResponse(result)) { - this.cs.sharedService.setSharedData( - this.basicRequest, - BasicRequest.SHARED_DATA - ); - this.cs.sharedService.setSharedData(result, AddEitResponse.SHARED_DATA); - //this.addrespList=result.SubmitEITTransactionList; - // this.itemKey=this.addrespList.P_ITEM_KEY; - // this.P_TransactionID=result.SubmitEITTransactionList.P_TRANSACTION_ID; - // this.sharedData.setSharedData(result,AddEitResponse.SHARED_DATA); - - // // this.sharedData.setSharedData(result.SubmitEITTransactionList.P_TRANSACTION_ID,"TransactionIDResubmit"); - // // this.sharedData.setSharedData(this.eitRequest,EitRequest.SHARED_DATA); - - this.cs.sharedService.setSharedData( - { isResubmit: false }, - "confirmAddEITData" - ); - this.cs.openConfirmEitPage(); - // this.navCtrl.push("ConfirmAddEitPage", { isResubmit: false }); + this.cs.sharedService.setSharedData(this.basicRequest, BasicRequest.SHARED_DATA); + this.cs.sharedService.setSharedData(result.SubmitBasicDetTransactionList, 'basic-details-response'); + // this.cs.sharedService.setSharedData({ isResubmit: false },"confirmAddEITData"); + this.cs.openConfirmBasicDetailsPage(); } } public submitBasicDetailsTransaction() { - // let EITTransactionValues:any= []; - this.arrValues = this.getElementsValues(); let staticValues = this.getElementsStaticValues(); let allStatisDynamicValues = this.arrValues.concat(staticValues); + if (allStatisDynamicValues) { this.basicRequest = { P_SELECTED_EMPLOYEE_NUMBER: this.selEmp, @@ -1737,44 +1759,15 @@ export class AddBasicDetailsComponent implements OnInit { P_SELECTED_RESP_ID: this.respID, P_FUNCTION_NAME: this.selMenu.GetMenuEntriesList.FUNCTION_NAME, EITTransactionTBL: allStatisDynamicValues, - // P_EFFECTIVE_DATE: moment(this.effectiveDate).format('DD-MMM-YYYY'), - P_ACTION: this.targetValue === 'correct' ? 'CORRECT' : 'CHANGE' + P_ACTION_TYPE: this.targetValue === 'correct' ? 'CORRECT' : 'CHANGE' }; + console.log(this.basicRequest); - // this.eitService - // .validateEITTransaction(this.eitRequest) - // .subscribe((result: any) => { - // this.handleEITValidateTr(result); - // }); + this.profileService.submitBasicDetailsTransaction(this.basicRequest).subscribe((result: any) => { + this.handleBasicdetailsResult(result); + }); } } - // private handleEITValidateTr(result) { - // let data: any = { eitRequest: {}, updated: [] }; - // if (this.cs.validResponse(result)) { - // // public static SHARED_DATA = 'login-request'; - // this.cs.sharedService.setSharedData( - // this.eitRequest, - // EitRequest.SHARED_DATA - // ); - // if (this.getPassdirfromNotifiPage) { - // let data: any = { eitRequest: {}, updated: [] }; - // data.eitRequest = this.eitRequest; - // data.updated = this.updatedValues; - // // this.viewCtrl.dismiss(data); - // this.modalController.dismiss(data); - // // this.closemodal(); - // } else { - // this.submitEit(); - // // this.navCtrl.push("ConfirmAddEitPage"); - // // data = { eitRequest: {}, updated: [] }; - // // data.eitRequest = this.eitRequest; - // // data.updated = this.updatedValues; - // // this.viewCtrl.dismiss(data); - // } - // } else { - // this.updatedValues = []; - // data = { eitRequest: {}, updated: [] }; - // } - // } + } diff --git a/Mohem/src/app/profile/confirm-basic-details/confirm-basic-details.component.html b/Mohem/src/app/profile/confirm-basic-details/confirm-basic-details.component.html index 4e678a53..5a222666 100644 --- a/Mohem/src/app/profile/confirm-basic-details/confirm-basic-details.component.html +++ b/Mohem/src/app/profile/confirm-basic-details/confirm-basic-details.component.html @@ -1,3 +1,128 @@ -

- confirm-basic-details works! -

+ + + + {{headerTitle}} + + + + + + + + + +
{{'general, addAttach' | translate}}
+
+ +
+ +
+
+
+ + + {{ 'general, notAttch' | translate}} + +
+ + +
+ + + + {{attachList.AttachmentID +1 }} . + + + + + {{attachList.P_FILE_NAME }} + + + + + + + +
+ +
+ +
+ + +
+
+ + {{attachRes.FILE_NAME }} + +
+ + + + +
+
+ +
+ + + +
{{'confirmAddEit, comment' | translate}}
+ + + +
+ + +
{{'confirmAddEit, approverList' | translate}}
+
+

{{ 'general, empty' | translate}}

+
+
+ +
+ + +
+
+ +
+
+ + + {{employee.APPROVER}} + + + {{employee.POSITION_TITLE}} + + + +
+
+
+
+
+ +
+ + +
+ + +
+ + {{ (isDelete ? 'general, delete' : 'general, submit') | translate }} +
+
\ No newline at end of file diff --git a/Mohem/src/app/profile/confirm-basic-details/confirm-basic-details.component.scss b/Mohem/src/app/profile/confirm-basic-details/confirm-basic-details.component.scss index e69de29b..2ed98379 100644 --- a/Mohem/src/app/profile/confirm-basic-details/confirm-basic-details.component.scss +++ b/Mohem/src/app/profile/confirm-basic-details/confirm-basic-details.component.scss @@ -0,0 +1,263 @@ +.footer-button { + border-radius: 2px; + padding: 0 1.1em; + min-height: 45px; + min-width: 200px; + } + + .imgSize { + width: 22px; + height: 22px; + } + + .Header { + font-weight: bold; + color: #1a586d !important; + font-size: 10px; + } + + .tbData { + font-size: 10px; + } + + .btnBack { + background: transparent; + float: right; + } + + .attachmentDiv{ + background: #ffffff; + height: auto; + text-align: center; + padding-top: 1px; + margin: 10px; + border-radius: 15px; + border: 1px solid grey; + } + + .noDataDiv{ + background: #ffffff; + height: 11%; + text-align: center; + padding-top: 1px; + border-radius: 10px; + margin: 10px; + border-radius: 5px; + } + .submitNote{ + background: #ffffff; + height: 80px; + padding-top: 1px; + margin: 10px; + border-radius: 15px; + border: 1px solid grey; + } + + .approvalList{ + --background: #f0efef; + height: auto; + text-align: center; + padding-top: 1px; + border-radius: 10px; + margin: 10px; + border-radius: 5px; + } + + /************************New Design**********************************/ + .notification-list{ + background: none; + background: none; + border-radius: 32px; + ion-item{ + // margin-top: 5px; + // margin-bottom: 5px; + + background-color: transparent; + .item-date{ + width: 100%; + font-size: 16px; + font-weight: bold; + + text-align: start; + padding: 0; + margin: 0; + + position: absolute; + left: 0; + top: 12%; + } + ion-label , [item-end]{ + + white-space: normal; + font-size: 14px; + padding-top: 15%; + // :root[dir="ltr"]{ + // margin-left: 10px; + // } + // :root[dir="rtl"]{ + // margin-right: 10px; + // } + + } + + } + } + + + + + + + .timeline { + position: relative; + margin: 15px 0 0 0; + // border-bottom: solid 1px var(--cusgray); + } + + .timeline:before { + + content: ''; + position: inherit !important; + top: 0; + bottom: 0; + width: 4px; + // background: #e4e4e4; + z-index: 1; + left: 35px; + /* margin-left: -10px; */ + /* z-index: 1; */ + } + + .timeline .timeline-thumb { + + border-radius: 500px; + width: 70px !important; + z-index: 2; + position: absolute; + left: 0px; + // :root[dir="ltr"]{ + // left: 37px; + // } + // :root[dir="rtl"]{ + // right: 37px; + // } + float: right; + top: 9px; + } + + .timeline .timeline-thumb.timeline-icon { + height: 70px; + // text-align: center; + // color: white; + // border: 5px solid #CBD0D3; + // transform: scale(0.2); + } + + + + .timeline .timeline-item { + width: 40px; + + } + + .timeline .timeline-stats { + position: relative; + font-size: 12px; + color: var(--darkgray); + + } + + .empImge{ + border-radius: 50%; + width:100%; + height: 100%; + border: #dedede solid 1px; + + } + .empImgeRep { + border-radius: 50% !important; + width: 80px; + height: 80px; + border: #dedede solid 1px; + } + + .line{ + padding-bottom:87px; + } + + .attachLable{ + position: absolute; + top: 0px; + z-index: 0; + background: #30b8c6; + color: #fff; + border-radius: 50%; + border: 0px; + width: 24px; + height: 24px; + text-align: center; + font-size: 5px; + } + + .removeLable{ + top: 0px; + z-index: 0; + background: #d8252d; + color: #fff; + border-radius: 50%; + border: 0px; + width: 20px; + height: 20px; + text-align: center; + font-size: 5px; + } + + .note-modal { + // width: 90%; + // height: 50%; + // top: 20%; + // left: 5%; + // right: 5%; + // bottom: 5%; + background: rgba(0, 0, 0, 0.5) !important; + padding: 30% 10% !important; + --height: 12cm !important; + // --width: 80% !important; + --border-radius:20px; + + } + .header-toolbar-new{ + --background: #269DB8; + } + .title{ + margin-top: -37px; + margin-left: 85px; + } + .title-ar{ + margin-top: -37px; + margin-right: 101px; + } + .confirmEitOkButton{ + white-space: normal !important; + text-transform: capitalize !important; + min-height: 45px !important; + min-width: 5px !important; + margin: 8px !important; + background-color: #269DB8; + 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; + } + \ No newline at end of file diff --git a/Mohem/src/app/profile/confirm-basic-details/confirm-basic-details.component.ts b/Mohem/src/app/profile/confirm-basic-details/confirm-basic-details.component.ts index 97213ee6..ef49d9e4 100644 --- a/Mohem/src/app/profile/confirm-basic-details/confirm-basic-details.component.ts +++ b/Mohem/src/app/profile/confirm-basic-details/confirm-basic-details.component.ts @@ -1,4 +1,20 @@ import { Component, OnInit } from '@angular/core'; +import { ModalController } from '@ionic/angular'; +import { FileUploader } from 'ng2-file-upload'; +import { AddAttachComponent } from 'src/app/eit/add-attach/add-attach.component'; +import { AddEitResponse } from 'src/app/eit/models/add.eit.response'; +import { BasicRequest } from "../models/basic.request"; +import { NotificationGetAttachResponse } from 'src/app/eit/models/NotificationGetAttachRes'; +import { EitService } from 'src/app/eit/services/eit.service'; +import { SubmitEitModalComponent } from 'src/app/eit/submit-eit-modal/submit-eit-modal.component'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { MenuResponse } from 'src/app/hmg-common/services/menu/models/menu-response'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +import { EITNotificatonBodyResponse } from 'src/app/notification/models/EITNotificationBodyRes'; +import { WorkListButtonRequest } from 'src/app/notification/models/NotificationButtonReq'; +import { WorkListAttachViewComponent } from 'src/app/notification/work-list-attach-view/work-list-attach-view.component'; +import { ProfileService } from '../service/profile.service'; +import { SubmitAddressModalComponent } from '../submit-eit-modal/submit-address-modal.component'; @Component({ selector: 'app-confirm-basic-details', @@ -7,8 +23,413 @@ import { Component, OnInit } from '@angular/core'; }) export class ConfirmBasicDetailsComponent implements OnInit { - constructor() { } + private P_TransactionID: number; + private basicRequest: BasicRequest; + approversList = []; + basicResponseList: any; + eitComments: string = ""; + menuType: string = ""; + selEmp: string = ""; + respID: number; + selMenu: MenuResponse; + getAttachList: any; + attachListDisplay: any = []; + headerTitle: string = ""; + isTrue: any = 0; + attachItems: any; + public isResubmitEIT: boolean = false; + private itemKey: string = ""; + private pActionMode: string = "SUBMIT"; + attachReqObj: WorkListButtonRequest = new WorkListButtonRequest(); + attachmentRes: any; + objIndex1: any; + attachListOver: any = []; + index: any = 0; + getPassNotificationDetails: any; + isSubmitBtnClicked: boolean; + // isDelete: boolean = false; - ngOnInit() {} + /***Add Attchment Vars */ + isUpload: boolean = false; + inQueue: boolean = false; + addAttachmentListReq: any; + attachmentID: number = 0; + addAttachRequest: any = []; + fileData: any; + fileType: any; + dirPage: any; + TransactionID: any; + indexLastObj: any = 0; + filterAllowedType: any = ['application/pdf', 'image/jpeg', 'image/png', 'text/plain', 'image/jpg', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']; + direction: string; + + constructor(public modalController: ModalController, public cs: CommonService, private ts: TranslatorService, private eitService: EitService, public profileService: ProfileService) { + this.direction = TranslatorService.getCurrentLanguageName() + this.isSubmitBtnClicked = false; + this.basicRequest = new BasicRequest(); + } + + ngOnInit() { + this.selMenu = this.cs.sharedService.getSharedData(MenuResponse.SHARED_DATA, false); + this.selEmp = this.cs.sharedService.getSharedData(MenuResponse.SHARED_SEL_EMP, false); + this.respID = this.cs.sharedService.getSharedData(MenuResponse.SHARED_SEL_RESP_ID, false); + this.basicRequest = this.cs.sharedService.getSharedData(BasicRequest.SHARED_DATA, false); + + this.selEmp = this.basicRequest.P_SELECTED_EMPLOYEE_NUMBER; + + this.menuType = this.selMenu.List_Menu.MENU_TYPE; + this.headerTitle = this.selMenu.GetMenuEntriesList.PROMPT; + this.basicResponseList = this.cs.sharedService.getSharedData('basic-details-response', false); + console.log(this.basicResponseList); + this.itemKey = this.basicResponseList.P_ITEM_KEY; + this.P_TransactionID = this.basicResponseList.P_TRANSACTION_ID; + // this.isDelete = this.isResubmitEIT = this.cs.sharedService.getSharedData('confirmAddEITData', false).isDelete; + + this.getApproversList(); + + } + + getApproversList() { + let body: any = { + P_TRANSACTION_ID: this.P_TransactionID, + P_AME_TRANSACTION_TYPE: "SSHRMS", + P_PAGE_NUM: 1, + P_PAGE_LIMIT: 1000 + } + this.eitService.getApproversList(body).subscribe((result: any) => { + this.handleApproversResult(result); + }); + } + + handleApproversResult(result) { + if (this.cs.validResponse(result)) { + this.approversList = result.GetApprovesList; + } + } + + startEitApproval() { + if (this.attachListOver) { + let request = { + AddAttachmentList: this.attachListOver + } + + this.eitService.addAttachment( + request). + subscribe((result: any) => { + this.handleAddAttachmentResults(result); + }); + } else { + this.startBasicDetailsApprovalProcess(); + } + } + + + handleAddAttachmentResults(result) { + + if (this.cs.validResponse(result)) { + this.isTrue = 0; + for (let i = 0; i < result.AddAttSuccessList.length; i++) { + if (!result.AddAttSuccessList[i].AddSuccess) { + this.attachListOver[i].isSuccess = false; + //this.attachItems[i].isSuccess = false; + // if false display cancel button with waring icon or design + }// end if + else { + // if true remove cancel and set isSuccess = true + // this.attachItems[i].isSuccess = true; + this.attachListOver[i].isSuccess = true; + this.isTrue = this.isTrue + 1; //count flag of attach status + } // end else + } // end for + + if (this.isTrue == result.AddAttSuccessList.length) { + this.startBasicDetailsApprovalProcess(); + } + else { + //stope + let filtered = this.attachListOver.filter(function (el) { return el.isSuccess == true; }); + this.attachListOver = filtered; + let msg: string = ""; + msg = this.ts.trPK("eit", "attach-errorMsg"); + this.cs.presentAlert(msg); + } + } + } + + startBasicDetailsApprovalProcess() { + let request: any = {}; + request.P_SELECTED_EMPLOYEE_NUMBER = this.selEmp; + request.P_MENU_TYPE = this.menuType; + request.P_SELECTED_RESP_ID = this.respID; + request.P_TRANSACTION_ID = this.P_TransactionID; + request.P_ITEM_KEY = this.itemKey; + request.P_ACTION_MODE = this.pActionMode; + request.P_COMMENTS = this.eitComments; + this.profileService.startBasicDetailsApprovalProcess( + request). + subscribe((result: any) => { + this.handleResults(result); + }); + } + cancelEitProcess() { + let body: any = { + P_TRANSACTION_ID: this.P_TransactionID + } + this.eitService.cancelHRTransaction( + body). + subscribe((result: any) => { + this.handleCancelResults(result); + }); + + } + handleCancelResults(result) { + if (this.cs.validResponse(result)) { + this.isSubmitBtnClicked = false; + } + } + handleResults(result) { + if (this.cs.validResponse(result)) { + this.isSubmitBtnClicked = true; + let msg: string = this.ts.trPK("eit", "approval-message-success"); + this.cs.presentAlert(msg); + this.cs.openNotificationPage(); + } + } + + async addAttachment(str: boolean, attachItems: any) { + //open the modal with return data + let attachDocID = attachItems.ATTACHED_DOCUMENT_ID; + + this.cs.sharedService.setSharedData(this.P_TransactionID, 'TransactionID'); + this.cs.sharedService.setSharedData(this.attachListOver.length, 'indexLastObj'); + + const modal = await this.modalController.create({ + component: AddAttachComponent + }); + + modal.onDidDismiss() + .then((data) => { + if (data == "cancel" || data == "undefined") { + return; + } else { + if (!str) { + this.updateFile(data, attachDocID); + } else { + console.log(data); + this.attachListDisplay = data.data; + this.attachItems = this.attachListDisplay.map(function (el) { + var o = Object.assign({}, el); + o.isSuccess = false; + return o; + }); + + this.attachListOver = this.attachListOver ? this.attachListOver.concat(this.attachItems) : this.attachItems; + } + } + }); + + return await modal.present(); + } + + /*****submit modal********/ + async openSubmitModal() { + this.cs.sharedService.setSharedData(this.attachListOver, 'submitAttachmentList'); + this.cs.sharedService.setSharedData(this.eitComments, 'eitComments'); + const modal = await this.modalController.create({ + component: SubmitAddressModalComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'note-modal'; + + modal.onDidDismiss() + .then((data) => { + console.log(data.data); + + if (data.data == "cancel" || data.data == undefined) { + return; + } else { + this.startEitApproval(); + } + }); + + return await modal.present(); + } + + + + removeFile(objectitem) { + if (this.attachListOver) { + let index2 = this.attachListOver.findIndex(item => item == objectitem); + if (index2 > -1) { + this.attachListOver.splice(index2, 1); + } + } + if (this.attachmentRes) { + let index3 = this.attachmentRes.findIndex(item => item == objectitem); + if (index3 > -1) { + this.attachmentRes.splice(index3, 1); + } + } + + } + + + getAttachment(NotificationID) { + this.attachReqObj.P_NOTIFICATION_ID = NotificationID; + this.eitService.getAttach(this.attachReqObj). + subscribe((result: NotificationGetAttachResponse) => { + this.handleWorkListAttachResult(result); + }); + } + + handleWorkListAttachResult(result) { + if (this.cs.validResponse(result)) { + if (result.GetAttachementList != null) { + this.attachmentRes = result.GetAttachementList; + } // if result == null + } // valid it + + } + + async OpenAttachFiles(value, Type) { + this.cs.sharedService.setSharedData({ displayData: value, TypeData: Type }, 'WorkListAttachViewPage'); + const modal = await this.modalController.create({ + component: WorkListAttachViewComponent + }); + + modal.onDidDismiss() + .then((data) => { + }); + return await modal.present(); + } + + + delelteFile(attach) { + this.cs.confirmAlertDialog((data) => { + if (data == true) { + this.continueDelete(attach); + } + }, this.ts.trPK('general', 'ok'), () => { + + }, this.ts.trPK('general', 'cancel'), this.ts.trPK('general', 'alert'), this.ts.trPK('eit', 'delete-perm')); + } + + continueDelete(attach) { + let req = { + P_ATTACHED_DOCUMENT_ID: attach.ATTACHED_DOCUMENT_ID + } + this.eitService.deleteAttach(req). + subscribe((result: any) => { + if (this.cs.validResponse(result)) { + if (result.DeleteAttachmentList.P_RETURN_STATUS === "S") { + this.getAttachment(this.getPassNotificationDetails.NOTIFICATION_ID); + let msg: string = ""; + msg = this.ts.trPK("eit", "deleteAttach"); + this.cs.presentAlert(msg); + } + } + }); + } + + updateFile(attachList, attachDocID) { + let req = { + P_ATTACHED_DOCUMENT_ID: attachDocID, + P_FILE_DATA: attachList[0].P_FILE_DATA, + P_FILE_NAME: attachList[0].P_FILE_NAME, + P_FILE_CONTENT_TYPE: attachList[0].P_FILE_CONTENT_TYPE + } + this.eitService.updateAttach(req). + subscribe((result: any) => { + if (this.cs.validResponse(result)) { + if (result.MessageStatus == 1) { + let msg: string = ""; + msg = this.ts.trPK("eit", "attachUpdate"); + this.cs.presentAlert(msg); + this.getAttachment(this.getPassNotificationDetails.NOTIFICATION_ID); + } + } + }); + } + + + ionViewWillLeave() { + if (this.P_TransactionID && this.isSubmitBtnClicked == false) + this.cancelEitProcess(); + } + + /*******************Add attchement Functions*************/ + + public uploader: FileUploader = new FileUploader({ + allowedMimeType: ['application/pdf', 'image/jpeg', 'image/png', 'text/plain', 'image/jpg', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'], + maxFileSize: 10 * 1024 * 1024, + formatDataFunctionIsAsync: true, + formatDataFunction: async (item) => { + return new Promise((resolve, reject) => { + resolve({ + name: item._file.name, + length: item._file.size, + contentType: item._file.type, + date: new Date() + }); + }); + } + }); + + + onFileSelectedclick(event) { + event.target.value = ''; + } + + + + onFileSelected(input) { + + if (!(this.filterAllowedType.indexOf(input.target.files[0].type) > -1)) { + let msg: string = ""; + msg = this.ts.trPK("general", "notSupport"); + this.cs.presentAlert(msg); + return + } // todo: show alert that you tried uploading wrong files + + else { + const file = input.target.files[0]; + this.getBase64(file).then( + data => this.pushObject(data, file.name, file.type) + ); + } + } + + + getBase64(file) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.readAsDataURL(file); + reader.onload = () => resolve(reader.result); + reader.onerror = error => reject(error); + }); + } + + + pushObject(fileData, name, type) { + + console.log("before push: " + this.index); + try { + let array = name.split('.'); + let attachType: string = array[array.length - 1]; + this.attachListOver.push( + { + AttachmentID: this.attachListOver.length, + P_FILE_CONTENT_TYPE: attachType,//type.split('/')[1], + P_FILE_DATA: fileData.split(',')[1], + P_FILE_NAME: name,//.split('.')[0], + P_TRANSACTION_ID: this.P_TransactionID + }) + + } catch (e) { + } + } + } + diff --git a/Mohem/src/app/profile/models/basic.request.ts b/Mohem/src/app/profile/models/basic.request.ts index f3471c75..68f183ec 100644 --- a/Mohem/src/app/profile/models/basic.request.ts +++ b/Mohem/src/app/profile/models/basic.request.ts @@ -8,5 +8,5 @@ export class BasicRequest { public P_SELECTED_RESP_ID: Number; // P_DESC_FLEX_CONTEXT_CODE: string; EITTransactionTBL: EitTransactionModel[]; - P_ACTION: string; + P_ACTION_TYPE: string; } \ No newline at end of file diff --git a/Mohem/src/app/profile/service/profile.service.ts b/Mohem/src/app/profile/service/profile.service.ts index 470bef1d..0feb9512 100644 --- a/Mohem/src/app/profile/service/profile.service.ts +++ b/Mohem/src/app/profile/service/profile.service.ts @@ -19,6 +19,7 @@ export class ProfileService { public static submitEit = 'Services/ERP.svc/REST/SUBMIT_EIT_TRANSACTION'; public static resubmitEit = 'Services/ERP.svc/REST/RESUBMIT_EIT_TRANSACTION'; public static startEitProcess = 'Services/ERP.svc/REST/START_ADDRESS_APPROVAL_PROCESS'; + public static startBasicProcess = 'Services/ERP.svc/REST/START_BASIC_DET_APPR_PROCESS'; public static updateAttach = 'Services/ERP.svc/REST/UPDATE_ATTACHMENT'; public static deleteAttach = 'Services/ERP.svc/REST/DELETE_ATTACHMENT'; public static getApproversList = 'Services/ERP.svc/REST/GET_APPROVERS_LIST'; @@ -28,8 +29,9 @@ export class ProfileService { public static getEmployeeAddress = "Services/ERP.svc/REST/GET_EMPLOYEE_ADDRESS"; public static getCountries = "Services/ERP.svc/REST/GET_COUNTRIES"; - public static getDiffStructure = "Services/ERP.svc/REST/GET_ADDRESS_DFF_STRUCTURE" - public static submitAddressTransactions = "Services/ERP.svc/REST/SUBMIT_ADDRESS_TRANSACTION" + public static getDiffStructure = "Services/ERP.svc/REST/GET_ADDRESS_DFF_STRUCTURE"; + public static submitAddressTransactions = "Services/ERP.svc/REST/SUBMIT_ADDRESS_TRANSACTION"; + public static submitBasicDetailsTransaction = "Services/ERP.svc/REST/SUBMIT_BASIC_DET_TRANSACTION"; public static ADRESS_ENTRIES = 'address-entries'; public static EMP_ADDRESS = 'emp-address'; @@ -110,9 +112,19 @@ export class ProfileService { this.authService.authenticateRequest(request); return this.con.post(ProfileService.submitAddressTransactions, request, onError, errorLabel); } + public submitBasicDetailsTransaction(basicDetailsRequest: any, onError?: any, errorLabel?: string): Observable { + const request = basicDetailsRequest; + this.authService.authenticateRequest(request); + return this.con.post(ProfileService.submitBasicDetailsTransaction, request, onError, errorLabel); + } public startEitApprovalProcess(eitProcess: any, onError?: any, errorLabel?: string): Observable { const request = eitProcess; this.authService.authenticateRequest(request); return this.con.post(ProfileService.startEitProcess, request, onError, errorLabel); } + public startBasicDetailsApprovalProcess(basicDetailsProcess: any, onError?: any, errorLabel?: string): Observable { + const request = basicDetailsProcess; + this.authService.authenticateRequest(request); + return this.con.post(ProfileService.startBasicProcess, request, onError, errorLabel); + } } \ No newline at end of file