import { vacationRuleResponse } from './../model/vacationRule.Respond'; import { notificationTypeRequest } from './../model/notification.Request'; import { DeleteVacationRuleRequest } from './../model/deleteVacationRule.Request'; import { CommonService } from 'src/app/hmg-common/services/common/common.service'; import { VacationRuleServiceService } from './../service/vacation-rule-service.service'; import { VacationRuleRequest } from './../model/VacationRuleRequest'; import { Component, OnInit } from '@angular/core'; import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; import { Router } from '@angular/router'; @Component({ selector: 'app-home', templateUrl: './home.component.html', styleUrls: ['./home.component.scss'], }) export class HomeComponent implements OnInit { userName: any; P_PAGE_NUM: number; P_PAGE_LIMIT: number; GetVacationRulesList: any = []; isUpdate: boolean = false; IsReachEnd: boolean = false; RespondAttributeList: any; // button: ButtonInput; // dateTime: DateTimeInput; // date: DateInput; // numberInput: NumberInput; // selectInput: SelectInput; // textAreaInput: TextAreaInput; // timeInput: TimeInput; constructor(public vacationRuleService: VacationRuleServiceService, public ts: TranslatorService, public cs: CommonService, private router: Router) { this.P_PAGE_NUM = 1; this.P_PAGE_LIMIT = 50; // this.button = new ButtonInput('btnSubmit', 'Submit', 'containerDiv', 'Y'); // this.dateTime = new DateTimeInput('Start Date', 'SDate', '', 'containerDiv', 'Y', 'Y', 'Y'); // this.date = new DateInput('Start Date', 'SDate', '', 'containerDiv', 'Y', 'Y', 'Y'); // this.numberInput = new NumberInput('Roll No.:', 'rollNo', '', 'containerDiv', 'Y', 'Y', 'Y'); // this.selectInput = new SelectInput('Gender', 'genderSelect', 'm', 'containerDiv', 'Y', 'Y', 'Y'); // this.textAreaInput = new TextAreaInput('Message:', 'messageText', '', 'containerDiv', 'Y', 'Y', 'Y'); // this.timeInput = new TimeInput('Time', 'SDate', '', 'containerDiv', 'Y', 'Y', 'Y'); } showAlert() { this.cs.presentAlert('Button Clicked'); } ngOnInit() { console.log('OnInit'); this.getVacationRules(); // let elem = document.getElementById('btnSubmit'); // const elemDiv = document.createElement('div'); //elemDiv.id = this.elementID; // elemDiv.className = ''; // elemDiv.innerHTML = this.button.getTemplate(); // elemDiv.innerHTML = this.dateTime.getTemplate(); // elemDiv.innerHTML = this.date.getTemplate(); // elemDiv.innerHTML = this.numberInput.getTemplate(); // elemDiv.innerHTML = this.selectInput.getTemplate(); // elemDiv.innerHTML = this.textAreaInput.getTemplate(); // elemDiv.innerHTML = this.timeInput.getTemplate(); // document.getElementById('containerDiv').appendChild(elemDiv); // let elem = document.getElementById("btnSubmit"); // console.log(elem); // elem.addEventListener("click", (e) => { // this.showAlert(); // e.stopImmediatePropagation(); // }); } Vacation_Type() { this.cs.navigateForward('/vacation-rule/vacation-type'); } getVacationRules() { this.GetVacationRulesList = []; this.P_PAGE_NUM = 1; this.IsReachEnd = false; let request: VacationRuleRequest = new VacationRuleRequest(); request.P_PAGE_LIMIT = this.P_PAGE_LIMIT; request.P_PAGE_NUM = this.P_PAGE_NUM; this.vacationRuleService.getVacationRule(request, () => { this.getVacationRules(); }, this.ts.trPK('general', 'retry')).subscribe((result) => { if (this.cs.validResponse(result)) { this.GetVacationRulesList = result.GetVacationRulesList; } else { this.cs.presentAlert(result.ErrorEndUserMessage); } }); } deleteFunc(i) { let alert = this.cs.confirmAlertDialog(() => { this.deleteVacationRule(i); }, this.ts.trPK('general', 'ok'), () => { }, this.ts.trPK('general', 'cancel'), this.ts.trPK('vacation-rule', 'confirmation'), this.ts.trPK('vacation-rule', 'deleteVR')); } deleteVacationRule(i) { let request: DeleteVacationRuleRequest = new DeleteVacationRuleRequest(); request.P_RULE_ID = this.GetVacationRulesList[i].RULE_ID; this.vacationRuleService.deleteVacationRule(request, () => { this.deleteVacationRule(i); }, this.ts.trPK('general', 'retry')).subscribe((result) => { if (this.cs.validResponse(result)) { this.handleDeleteVacationRuleResult(result) } else { this.cs.presentAlert(result.ErrorEndUserMessage); } }); } handleDeleteVacationRuleResult(result) { if (this.cs.validResponse(result)) { //this.navCtrl.push('HomePage'); this.cs.JustAlertDialog(this.ts.trPK('general', 'ok'), this.ts.trPK('vacation-rule', 'rule-delete-success')); this.getVacationRules(); } } updateFunc(i) { this.respondAttributes(i); this.cs.sharedService.setSharedData(this.GetVacationRulesList[i], vacationRuleResponse.SHARED_DATA); this.isUpdate = true; this.cs.sharedService.setSharedData(this.isUpdate, 'isUpdate'); this.router.navigate(['/vacation-rule/create-vacation-rule']); } respondAttributes(i) { let request: notificationTypeRequest = new notificationTypeRequest(); request.P_NOTIFICATION_NAME = this.GetVacationRulesList[i].NOTIFICATION_NAME; request.P_ITEM_TYPE = this.GetVacationRulesList[i].ITEM_TYPE; this.vacationRuleService.respondAttributes(request, () => { this.respondAttributes(i); }, this.ts.trPK('general', 'retry')).subscribe((result) => { this.handlerespondAttributesResult(result, i); }); } handlerespondAttributesResult(result, i) { // console.log("Respond att: ") if (this.cs.validResponse(result)) { // console.log(result.RespondAttributesList); this.RespondAttributeList = result.RespondAttributesList; this.GetVacationRulesList[i].RespondAttributeList = this.RespondAttributeList; } } }