{"version":3,"file":"app-b8b57aee.d152cf98c45d962fa693.bundle.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAgBA;AAAA;AAdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAqBA;AAAA;AAnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AAEA;AAAA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AClUA;AACA;AACA;AACA;AACA;AACA;AAOA;AAAA;AAJA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAGA;AACA;AAEA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAMA;AAAA;AAJA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAIA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AA6BA;AAAA;AA3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAiMA;AACA;AA/LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAOA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AAEA;AAIA;AACA;AAIA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAMA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AA6BA;AAAA;AA3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AA+OA;AACA;AA9OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAIA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAMA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AA+BA;AAOA;AA7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AAyNA;AACA;AAAA;AAsIA;AACA;AACA;AACA;AACA;AACA;AAAA;AAgBA;AACA;AACA;AACA;AACA;AACA;AAhXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAGA;AACA;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AAEA;AACA;AAGA;AAAA;AAEA;AAMA;AACA;AACA;AAGA;AACA;AAIA;AAGA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AAEA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACXA;AACA;AACA;AACA;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://HRMSPortal/./src/components/leavemanagement/leavecredits/leavecreditscomponent.js","webpack://HRMSPortal/./src/components/leavemanagement/mytimeoffdetails/mytimeoffdetailscomponent.js","webpack://HRMSPortal/./src/components/leavemanagement/mytimeoffsummary/ViewTimeOffGrid/viewtimeoffgridcomponent.js","webpack://HRMSPortal/./src/components/leavemanagement/mytimeoffsummary/mytimeoffsummarycomponent.js","webpack://HRMSPortal/./src/components/leavemanagement/timeoffadjustments/addtimeoffadjustmentcomponent.js","webpack://HRMSPortal/./src/components/leavemanagement/timeoffadjustments/edittimeoffadjustmentcomponent.js","webpack://HRMSPortal/./src/components/leavemanagement/timeoffadjustments/timeoffadjustmentscomponent.js","webpack://HRMSPortal/./src/components/leavemanagement/leavecredits/leavecreditscomponent.html","webpack://HRMSPortal/./src/components/leavemanagement/mytimeoffdetails/mytimeoffdetailscomponent.html","webpack://HRMSPortal/./src/components/leavemanagement/mytimeoffsummary/ViewTimeOffGrid/viewtimeoffgridcomponent.html","webpack://HRMSPortal/./src/components/leavemanagement/mytimeoffsummary/mytimeoffsummarycomponent.html","webpack://HRMSPortal/./src/components/leavemanagement/timeoffadjustments/addtimeoffadjustmentcomponent.html","webpack://HRMSPortal/./src/components/leavemanagement/timeoffadjustments/edittimeoffadjustmentcomponent.html","webpack://HRMSPortal/./src/components/leavemanagement/timeoffadjustments/timeoffadjustmentscomponent.html"],"sourcesContent":["import {inject,bindingMode,bindable } from 'aurelia-framework';\r\nimport flatpickr from \"flatpickr\";\r\nimport { JwtService } from '../../../shared/services/jwtservice';\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport {DialogService} from 'aurelia-dialog';\r\nimport {LeavemanagementService} from \"../../../shared/services/leavemanagementservice\";\r\nimport * as XLSX from 'xlsx';\r\nimport {config} from '../../../shared/services/config';\r\nimport { constants } from '../../../shared/services/constants';\r\nimport Scrollbar from 'smooth-scrollbar';\r\nimport {LoginService} from \"../../../shared/services/loginservice\";\r\nimport {Router} from 'aurelia-router';\r\nimport ExcelJS from 'exceljs';\r\nimport saveAs from 'file-saver';\r\n\r\n@inject(DialogController,JwtService,LeavemanagementService,DialogService,Router,LoginService)\r\nexport class PTOAnnouncement{\r\n pageSize =config.grid_PazeSize;\r\n searchTerm = '';\r\n search = '';\r\n showTable = false;\r\n FromDate = null;\r\n ToDate = null;\r\n isLoading = false;\r\n showEmployeeDropdown = false;\r\n FavoritesExist = false;\r\n Successmessages=false;\r\n sitemapId=constants.ptoannouncementsitemapid;\r\n filteredEmployeesSummery=[];\r\n \r\n\r\n constructor(controller,JwtService,LeavemanagementService,DialogService,loginservice,router){\r\n this.controller = controller;\r\n this.jwtService= JwtService;\r\n this.dialogService = DialogService;\r\n this.empid = this.jwtService.getEmployeeId();\r\n this.leavemanagementService = LeavemanagementService;\r\n this.router = router;\r\n this.loginservice = loginservice;\r\n }\r\n active(){\r\n const searchButton = document.getElementById('search-button');\r\n searchButton.addEventListener('click', handleSearch);\r\n }\r\n async attached(){\r\n\r\n const windowWidth = window.innerWidth;\r\n if (windowWidth <= 1280) {\r\n Scrollbar.init(document.querySelector('.disable-desktop-scroll'));\r\n }\r\n const d = new Date();\r\n this.Year = d.getFullYear();\r\n const selectedYear = this.year;\r\n this.leavemanagementService.GetEmployeeLeaveYearsDropdown(this.empid)\r\n .then(response => {\r\n this.Years = response;\r\n console.log(response);\r\n return false;\r\n \r\n });\r\n \r\n const timeoff= {\r\n EmployeeID:this.empid,\r\n From:this.From,\r\n Year:d.getFullYear(),\r\n };\r\n this.isLoading = true;\r\n this.leavemanagementService.GetEmployeeLeaveCredits(timeoff).then(data=>\r\n {\r\n this.filteredEmployeesSummery=data;\r\n console.log(this.filteredEmployeesSummery);\r\n this.isLoading = false;\r\n });\r\n \r\n // this.leavemanagementService.GetPersonFavoriteItems(this.empid,this.sitemapId)\r\n // .then(data=>{\r\n // this.FavoritesExist=data;\r\n // console.log(data);\r\n // });\r\n // this.addToRecentItems();\r\n }\r\n\r\n exportData() {\r\n const data = this.filteredEmployeesSummery;\r\n const filename = 'PTOcredits';\r\n this.exportToExcel(data, filename);\r\n }\r\n exportToExcel(data, filename) {\r\n const headers = {\r\n Leavetype: 'Time off type',\r\n Numberofdays: 'Number of days',\r\n Crediteddate: 'Credited date',\r\n Reason: 'Reason'\r\n \r\n };\r\n const filteredData = data.map(employee => {\r\n return {\r\n Leavetype: employee.LeaveTypeName,\r\n Numberofdays: employee.NoofDays,\r\n Crediteddate: employee.CreatedDTtext,\r\n Reason: employee.Reason\r\n \r\n };\r\n });\r\n const headerRow = Object.values(headers);\r\n const dataRows = filteredData.map(employee => Object.values(employee));\r\n const worksheet = XLSX.utils.aoa_to_sheet([...[headerRow], ...dataRows]);\r\n const workbook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet 1');\r\n XLSX.writeFile(workbook, `${filename}.xlsx`);\r\n }\r\n\r\n\r\n\r\n \r\n \r\n // Search() {\r\n // this.showTable = true;\r\n \r\n // const d = new Date();\r\n // this.year = d.getFullYear();\r\n // let selectedYear = this.year;\r\n // if (this.Year) {\r\n // selectedYear = this.Year.Year;\r\n // }\r\n // const timeoff = {\r\n // EmployeeID:this.empid,\r\n // Year: selectedYear\r\n // };\r\n \r\n // console.log(timeoff);\r\n // this.isLoading = true;\r\n \r\n // this.leavemanagementService.GetEmployeeLeaveCredits(timeoff).then(data => {\r\n // this.filteredEmployeesSummery = data;\r\n // this.isLoading = false;\r\n // });\r\n \r\n // }\r\n \r\n // Reset(){\r\n \r\n // this.selectedDepartment =\"\";\r\n // this.searchTerm = ''; \r\n // this.selectedEmployee = [];\r\n // this.selectedEmployee =\"\";\r\n // this.attached();\r\n // }\r\n \r\n \r\n\r\n // addToFavourites(){\r\n // this.leavemanagementService.AddToFavourites(this.empid,this.sitemapId).then(data=>\r\n // {\r\n // console.log(this.sitemapId);\r\n // console.log(this.empid);\r\n // window.location.reload();\r\n // });\r\n \r\n // }\r\n\r\n // addToRecentItems(){ \r\n // this.leavemanagementService.AddToRecentItems(this.empid,this.sitemapId).then(data=>\r\n // {\r\n // // window.location.reload();\r\n\r\n // });\r\n // }\r\n \r\n \r\n \r\n \r\n}\r\n","import {inject,bindingMode,bindable } from 'aurelia-framework';\r\nimport flatpickr from \"flatpickr\";\r\nimport { JwtService } from '../../../shared/services/jwtservice';\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport {DialogService} from 'aurelia-dialog';\r\nimport {LeavemanagementService} from \"../../../shared/services/leavemanagementservice\";\r\nimport { Viewtimeoffrequestcomponent } from '../viewtimeoffrequest/viewtimeoffrequestcomponent';\r\nimport * as XLSX from 'xlsx';\r\nimport {config} from '../../../shared/services/config';\r\nimport {ApproveTimeOffComponent} from \"../approvetimeoff/approvetimeoffcomponent\";\r\nimport { constants } from '../../../shared/services/constants';\r\nimport Scrollbar from 'smooth-scrollbar';\r\nimport {LoginService} from \"../../../shared/services/loginservice\";\r\nimport {Router} from 'aurelia-router';\r\nimport { ViewEmpTimeOffRequestPopupComponent} from '../viewemptimeoffrequestpopup/viewemptimeoffrequestpopupcomponent';\r\n\r\n@inject(DialogController,JwtService,LeavemanagementService,DialogService,Router,LoginService)\r\nexport class MyTimeoffDetailsComponent{\r\n pageSize = config.grid_PazeSize;\r\n searchTerm = '';\r\n search = '';\r\n showTable = false;\r\n FromDate = null;\r\n ToDate = null;\r\n isLoading = false;\r\n showEmployeeDropdown = false;\r\n FavoritesExist = false;\r\n Successmessages=false;\r\n sitemapId=constants.mytimeoffdetailssitemapid;\r\n statusOptions = [\r\n { label: 'All', value: 'All', checked: false },\r\n { label: 'Pending approval', value: 'ACT', checked: false },\r\n { label: 'Cancelled', value: 'INA', checked: false },\r\n { label: 'Approved', value: 'APP', checked: false },\r\n { label: 'Taken', value: 'Taken', checked: false },\r\n ];\r\n\r\n constructor(controller,JwtService,LeavemanagementService,DialogService,loginservice,router){\r\n this.controller = controller;\r\n this.jwtService= JwtService;\r\n this.dialogService = DialogService;\r\n this.empid = this.jwtService.getEmployeeId();\r\n this.leavemanagementService = LeavemanagementService;\r\n this.router = router;\r\n this.loginservice = loginservice;\r\n }\r\n active(){\r\n const searchButton = document.getElementById('search-button');\r\n searchButton.addEventListener('click', handleSearch);\r\n }\r\n attached(){\r\n const windowWidth = window.innerWidth;\r\n if (windowWidth <= 1280) {\r\n Scrollbar.init(document.querySelector('.disable-desktop-scroll'));\r\n }\r\n function formatDateWithLeadingZero(date) {\r\n const day = date.getDate();\r\n const month = date.getMonth() + 1; // Adding 1 because getMonth() returns zero-based month index\r\n const year = date.getFullYear();\r\n const formattedDay = day.toString().padStart(2, '0');\r\n const formattedMonth = month.toString().padStart(2, '0');\r\n return `${formattedDay}-${formattedMonth}-${year}`;\r\n }\r\n \r\n const fromDate = new Date();\r\n fromDate.setMonth(fromDate.getMonth() - 4);\r\n \r\n this.FDate = formatDateWithLeadingZero(fromDate);\r\n this.From = this.FDate;\r\n\r\n const toDate = new Date();\r\n toDate.setMonth(toDate.getMonth() +6);\r\n \r\n this.TDate = formatDateWithLeadingZero(toDate);\r\n this.To = this.TDate;\r\n flatpickr(this.datePicker, {\r\n closeOnSelect: true,\r\n dateFormat: 'd-m-Y',\r\n minDate: null,\r\n maxDate: null,\r\n defaultDate: fromDate,\r\n enableTime: false,\r\n enableSeconds: false,\r\n time_24hr: false,\r\n minuteIncrement: 1,\r\n hourIncrement: 1,\r\n timeFormat: 'h:i K',\r\n clickOpens:false,\r\n onClose: function (selectedDates, dateStr, instance) {\r\n this.fromDate = dateStr;\r\n }\r\n });\r\n this.calendarIcon.addEventListener('click', () => {\r\n this.datePicker._flatpickr.open();\r\n });\r\n flatpickr(this.datePickerss, {\r\n closeOnSelect: true,\r\n dateFormat: 'd-m-Y',\r\n minDate: null,\r\n maxDate: null,\r\n defaultDate: toDate,\r\n enableTime: false,\r\n enableSeconds: false,\r\n time_24hr: false,\r\n minuteIncrement: 1,\r\n hourIncrement: 1,\r\n timeFormat: 'h:i K',\r\n clickOpens:false,\r\n onClose: function (selectedDates, dateStr, instance) {\r\n this.toDate = dateStr;\r\n }\r\n });\r\n this.calendarIconEnd.addEventListener('click', () => {\r\n this.datePickerss._flatpickr.open();\r\n });\r\n const timeoff= {\r\n EmployeeId:this.empid,\r\n From:this.From,\r\n To:this.To\r\n };\r\n this.isLoading = true;\r\n this.leavemanagementService.GetTimeOffSummary(timeoff).then(data=>\r\n {\r\n this.filteredEmployeesSummery=data.List;\r\n this.isLoading = false;\r\n });\r\n\r\n this.leavemanagementService.GetPersonFavoriteItems(this.empid,this.sitemapId)\r\n .then(data=>{\r\n this.FavoritesExist=data;\r\n });\r\n this.addToRecentItems();\r\n }\r\n dateSort(a, b, sortOrder) {\r\n let date1 = new Date(a.registered);\r\n let date2 = new Date(b.registered);\r\n if (date1 === date2) {\r\n return 0;\r\n }\r\n if (date1 > date2) {\r\n return 1 * sortOrder;\r\n }\r\n return -1 * sortOrder;\r\n }\r\n nameLength(row) {\r\n return row.Type.length;\r\n }\r\n popupViewTimeOffRequest(leaveAppId,PhotoPath){\r\n const approveData = {\r\n selectedRecordId : leaveAppId,\r\n PhotoPath:PhotoPath,\r\n };\r\n this.dialogService.open({viewModel: ViewEmpTimeOffRequestPopupComponent, model:approveData})\r\n }\r\n handleCheckboxChange(event, status) {\r\n // Update the checked status of the clicked option\r\n status.checked = event.target.checked;\r\n\r\n if (status.label !== 'All') {\r\n // Check if any checkbox other than 'All' is unchecked\r\n const anyUnchecked = this.statusOptions.slice(1).some(option => !option.checked);\r\n\r\n // If any checkbox is unchecked, uncheck the 'All' checkbox\r\n this.statusOptions[0].checked = !anyUnchecked;\r\n } else {\r\n // If 'All' is selected, update all other options accordingly\r\n this.statusOptions.forEach((option) => (option.checked = status.checked));\r\n }\r\n\r\n // Filter data based on the selected options\r\n this.filterData();\r\n }\r\n filterData() {\r\n const timeoff = {\r\n EmployeeId: this.empid,\r\n From: this.From,\r\n To: this.To\r\n };\r\n\r\n this.leavemanagementService.GetTimeOffSummary(timeoff).then(data => {\r\n this.originalEmployeesSummary = data.List;\r\n\r\n if (!this.originalEmployeesSummary) {\r\n this.filteredEmployeesSummery = []; // Handle the case where data is not available\r\n return;\r\n }\r\n const selectedStatuses = this.statusOptions.slice(1) // Exclude 'All' checkbox\r\n .filter(option => option.checked)\r\n .map(option => option.label);\r\n\r\n if (selectedStatuses.length === 0) {\r\n // If no checkboxes are selected (excluding 'All'), show all data\r\n this.filteredEmployeesSummery = this.originalEmployeesSummary;\r\n } else {\r\n // Filter data based on selected checkboxes\r\n this.filteredEmployeesSummery = this.originalEmployeesSummary.filter((employee) => {\r\n return selectedStatuses.some(status => employee.Status.includes(status));\r\n });\r\n }\r\n });\r\n }\r\n Search(){\r\n this.showTable = true;\r\n const timeoff= {\r\n EmployeeId:this.empid,\r\n Fromdate:this.From,\r\n Todate:this.To\r\n };\r\n this.isLoading = true;\r\n this.leavemanagementService.GetTimeOffSummary(timeoff).then(data=>\r\n {\r\n this.filteredEmployeesSummery=data.List;\r\n this.isLoading = false;\r\n });\r\n }\r\n Reset(){\r\n this.attached();\r\n }\r\n exportData() {\r\n const data = this.filteredEmployeesSummery;\r\n const filename = 'Mytimeoffdetails';\r\n this.exportToExcel(data, filename);\r\n }\r\n exportToExcel(data, filename) {\r\n const headers = {\r\n Type: 'Type',\r\n From: 'From',\r\n To: 'To',\r\n Amount: 'Amount (in days)',\r\n AppliedDate: 'Applied date',\r\n Reason: 'Reason',\r\n Status: 'Status'\r\n };\r\n const filteredData = data.map(employee => {\r\n return {\r\n Type: employee.Type,\r\n From: employee.From,\r\n To: employee.To,\r\n Amount: employee.Amount,\r\n AppliedDate: employee.AppliedDate,\r\n Reason: employee.Reason,\r\n Status: employee.Status\r\n };\r\n });\r\n const headerRow = Object.values(headers);\r\n const dataRows = filteredData.map(employee => Object.values(employee));\r\n const worksheet = XLSX.utils.aoa_to_sheet([...[headerRow], ...dataRows]);\r\n const workbook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet 1');\r\n XLSX.writeFile(workbook, `${filename}.xlsx`);\r\n }\r\n \r\n addToFavourites(){\r\n this.leavemanagementService.AddToFavourites(this.empid,this.sitemapId).then(data=>\r\n {\r\n window.location.reload();\r\n });\r\n\r\n }\r\n\r\n addToRecentItems(){ \r\n this.leavemanagementService.AddToRecentItems(this.empid,this.sitemapId).then(data=>\r\n {\r\n // window.location.reload();\r\n\r\n });\r\n }\r\n\r\n filterClick() {\r\n event.preventDefault();\r\n const clickedDiv = event.target.parentNode;\r\n clickedDiv.classList.toggle('filter-open');\r\n const divs = document.querySelectorAll('.filter-open');\r\n divs.forEach((div) => {\r\n if (div !== clickedDiv) {\r\n div.classList.remove('filter-open');\r\n }\r\n });\r\n const handleOutsideClick = (event) => {\r\n if (!clickedDiv.contains(event.target)) {\r\n divs.forEach((div) => {\r\n div.classList.remove('filter-open');\r\n });\r\n document.removeEventListener('click', handleOutsideClick);\r\n }\r\n };\r\n if (clickedDiv.classList.contains('filter-open')) {\r\n document.addEventListener('click', handleOutsideClick);\r\n } else {\r\n document.removeEventListener('click', handleOutsideClick);\r\n }\r\n }\r\n showDialog(leaveAppId) {\r\n this.dialogService.open({viewModel: ViewEmpTimeOffRequestPopupComponent, model: leaveAppId});\r\n }\r\n ApproveShowDialog(leaveAppId,StatusCode,EmployeeId, actions,PhotoPath) {\r\n const approveData = {\r\n selectedRecordId : leaveAppId,\r\n StatusCode : StatusCode,\r\n EmployeeId:EmployeeId,\r\n actions:actions,\r\n PhotoPath:PhotoPath,\r\n };\r\n this.dialogService.open({viewModel: ApproveTimeOffComponent, model: approveData})\r\n .whenClosed((feedback) => {\r\n if(!feedback.wasCancelled){\r\n const timeoff= {\r\n EmployeeId:this.empid,\r\n From:this.From,\r\n To:this.To\r\n };\r\n this.isLoading = true;\r\n this.leavemanagementService.GetTimeOffSummary(timeoff).then(data=>\r\n {\r\n this.filteredEmployeesSummery=data.List;\r\n this.isLoading = false;\r\n this.Successmessages = true;\r\n setTimeout(()=>{this.Successmessages=null},5000);\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { DialogController } from 'aurelia-dialog';\r\nimport {inject} from 'aurelia-framework';\r\nimport { JwtService } from '../../../../shared/services/jwtservice';\r\nimport {LeavemanagementService} from \"../../../../shared/services/leavemanagementservice\";\r\nimport {config} from \"../../../../shared/services/config\";\r\n@inject(DialogController,LeavemanagementService,JwtService)\r\nexport class ViewTimeOffGridComponent {\r\n static inject = [DialogController,Element];\r\n isDragging = false;\r\n dialog;\r\n pageSize = config.grid_PazeSize;\r\n isLoading = false;\r\n constructor(dialogController,LeavemanagementService,JwtService,element) {\r\n this.dialogController = dialogController;\r\n this.element = element;\r\n this.leavemanagementService = LeavemanagementService;\r\n this.jwtService= JwtService;\r\n this.empid = this.jwtService.getEmployeeId();\r\n\r\n }\r\n activate(modeldata) {\r\n this.statuscode = modeldata.headerText;\r\n this.LeaveTypeId = modeldata.leaveData.LeaveTypeID;\r\n\r\n }\r\n attached(){\r\n this.isLoading = true;\r\n this.leavemanagementService.ViewTimeOffgrid(this.statuscode,this.empid,this.LeaveTypeId)\r\n .then(data => {\r\n this.GridData = data.List;\r\n this.isLoading = false;\r\n \r\n\r\n })\r\n }\r\n\r\n cancel() {\r\n this.dialogController.cancel();\r\n }\r\n\r\n}","import {inject,bindingMode,bindable } from 'aurelia-framework';\r\nimport { JwtService } from '../../../shared/services/jwtservice';\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport {DialogService} from 'aurelia-dialog';\r\nimport {LeavemanagementService} from \"../../../shared/services/leavemanagementservice\";\r\nimport * as XLSX from 'xlsx';\r\nimport { constants} from '../../../shared/services/constants';\r\nimport {LoginService} from \"../../../shared/services/loginservice\";\r\nimport {Router} from 'aurelia-router';\r\nimport {ViewTimeOffGridComponent} from \"../mytimeoffsummary/ViewTimeOffGrid/viewtimeoffgridcomponent\";\r\n\r\n @inject(DialogController,JwtService,LeavemanagementService,DialogService,LoginService,Router)\r\nexport class MyTimeoffSummaryComponent{\r\n leaveViewList = [];\r\n isLoading = false;\r\n FavoritesExist = false;\r\n sitemapId=constants.mytimeoffsummarysitemapid;\r\n constructor(controller,JwtService,LeavemanagementService,DialogService,loginservice,router){\r\n this.controller = controller;\r\n this.jwtService= JwtService;\r\n this.dialogService = DialogService;\r\n this.empid = this.jwtService.getEmployeeId();\r\n this.leavemanagementService = LeavemanagementService;\r\n this.router = router;\r\n this.loginservice = loginservice;\r\n }\r\n getCurrentRouteURL() {\r\n const currentInstruction = this.router.currentInstruction;\r\n if (currentInstruction) {\r\n const routeURL = currentInstruction.fragment;\r\n const sidebarListItem = document.querySelector('.sidebar ul li.mdi-calendar-clock');\r\n if (sidebarListItem) {\r\n const subActiveItems = document.querySelectorAll('.sidebar ul li.sub-active');\r\n subActiveItems.forEach(item => item.classList.remove('sub-active'));\r\n const activeLinkItems = document.querySelectorAll('.sidebar ul li.active-link');\r\n activeLinkItems.forEach(item => item.classList.remove('active-link'));\r\n sidebarListItem.classList.add('sub-active');\r\n }\r\n const sidebarLink = document.querySelector('.sidebar ul li.mdi-calendar-clock .sidebar-sub .my-leave-summary a');\r\n if (sidebarLink) {\r\n sidebarLink.classList.add('active-link');\r\n }\r\n return routeURL;\r\n }\r\n return '';\r\n }\r\n\r\n attached(){\r\n this.getCurrentRouteURL();\r\n this.isLoading = true;\r\n this.leavemanagementService.GetMyTimeOffSummary(this.empid).then(data=>\r\n {\r\n this.leaveViewList=data;\r\n console.log(this.leaveViewList)\r\n this.isLoading = false;\r\n });\r\n this.leavemanagementService.GetPersonFavoriteItems(this.empid,149)\r\n .then(data=>{\r\n this.FavoritesExist=data;\r\n });\r\n this.addToRecentItems();\r\n }\r\n calculateColumnTotal(columnName) {\r\n const total = this.leaveViewList.reduce((acc, leave) => {\r\n const rowValue = leave[columnName] || '';\r\n const rowSum = parseFloat(rowValue || 0);\r\n return acc + rowSum;\r\n }, 0);\r\n return total.toFixed(2); // Format the total to display with two decimal places\r\n }\r\n openPopup(value,leavedata) {\r\n const modelData = {\r\n headerText: value,\r\n leaveData: leavedata\r\n };\r\n this.dialogService.open({viewModel: ViewTimeOffGridComponent, model: modelData});\r\n }\r\n exportData() {\r\n const data = this.leaveViewList;\r\n const filename = 'Mytimeoffsummary';\r\n this.exportToExcel(data, filename);\r\n }\r\n exportToExcel(data, filename) {\r\n const headers = {\r\n Timeofftype: 'Time off type',\r\n Timeoffcredits: 'Time off credits',\r\n Timeoffstaken: 'Time offs taken',\r\n Timeoffsscheduled: 'Time offs scheduled',\r\n Timeoffsbalance: 'Time offs balance',\r\n Pendingapproval: 'Pending approval',\r\n Pendinglossofpay:'Pending loss of pay',\r\n Approvedlossofpay: 'Approved loss of pay',\r\n Cancelledtimeoff:'Cancelled time off'\r\n \r\n };\r\n const filteredData = data.map(leave => {\r\n return {\r\n Timeofftype: leave.LeaveTypeName,\r\n Timeoffcredits: leave.LeaveCreditDays,\r\n Timeoffstaken: leave.LeaveAppliedDays,\r\n Timeoffsscheduled: leave.ScheduleBalance,\r\n Timeoffsbalance: leave.LeaveBalanceDays,\r\n Pendingapproval: leave.Pendingforapproval,\r\n Pendinglossofpay:leave.Nooflopspending,\r\n Approvedlossofpay:leave.ApprovedLossofPay,\r\n Cancelledtimeoff:leave.CanceledLeaves,\r\n };\r\n });\r\n const headerRow = Object.values(headers);\r\n const dataRows = filteredData.map(leave => Object.values(leave));\r\n const worksheet = XLSX.utils.aoa_to_sheet([headerRow, ...dataRows]);\r\n const workbook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet 1');\r\n XLSX.writeFile(workbook, `${filename}.xlsx`);\r\n }\r\n addToFavourites(){\r\n this.leavemanagementService.AddToFavourites(this.empid,this.sitemapId).then(data=>\r\n {\r\n window.location.reload();\r\n });\r\n }\r\n addToRecentItems(){ \r\n this.leavemanagementService.AddToRecentItems(this.empid,this.sitemapId).then(data=>\r\n {\r\n\r\n });\r\n }\r\n\r\n}\r\n","import {inject,bindingMode,bindable } from 'aurelia-framework';\r\nimport flatpickr from \"flatpickr\";\r\nimport { JwtService } from '../../../shared/services/jwtservice';\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport {DialogService} from 'aurelia-dialog';\r\nimport {LeavemanagementService} from \"../../../shared/services/leavemanagementservice\";\r\nimport { Viewtimeoffrequestcomponent } from '../viewtimeoffrequest/viewtimeoffrequestcomponent';\r\nimport * as XLSX from 'xlsx';\r\nimport {config} from '../../../shared/services/config';\r\nimport {ApproveTimeOffComponent} from \"../approvetimeoff/approvetimeoffcomponent\";\r\nimport { constants } from '../../../shared/services/constants';\r\nimport Scrollbar from 'smooth-scrollbar';\r\nimport {LoginService} from \"../../../shared/services/loginservice\";\r\nimport {Router} from 'aurelia-router';\r\nimport {ValidationControllerFactory, ValidationRules} from 'aurelia-validation';\r\n\r\n@inject(DialogController,JwtService,LeavemanagementService,ValidationControllerFactory,DialogService,Router,LoginService)\r\nexport class Addtimeoffadjustmentcomponent{\r\n pageSize = config.grid_PazeSize;\r\n searchTerm = '';\r\n search = '';\r\n showTable = false;\r\n FromDate = null;\r\n ToDate = null;\r\n isLoading = false;\r\n showEmployeeDropdown = false;\r\n FavoritesExist = false;\r\n Successmessages=false;\r\n sitemapId=constants.mytimeoffdetailssitemapid;\r\n selectedleavetype = null;\r\n numberoftimeadjustment = '';\r\n DocumentName='';\r\n selectedDepartment = null; \r\n selectedDocType = null;\r\n controllerFactory;\r\n selectedStatus = 'ACT';\r\n\r\n statusOptions = [\r\n { label: 'All', value: 'All', checked: false },\r\n { label: 'Pending approval', value: 'ACT', checked: false },\r\n // { label: 'Cancelled', value: 'INA', checked: false },\r\n { label: 'Approved', value: 'APP', checked: false },\r\n { label: 'Taken', value: 'Taken', checked: false },\r\n ];\r\n\r\n constructor(controller,JwtService,LeavemanagementService,controllerFactory,DialogService,loginservice,router){\r\n this.controller = controller;\r\n this.jwtService= JwtService;\r\n this.dialogService = DialogService;\r\n this.empid = this.jwtService.getEmployeeId();\r\n this.leavemanagementService = LeavemanagementService;\r\n this.router = router;\r\n this.loginservice = loginservice;\r\n this.controllerFactory = controllerFactory.createForCurrentScope();\r\n\r\n ValidationRules\r\n .ensure('selectedDepartment').required().withMessage(\"Please select department name.\")\r\n .ensure('numberoftimeadjustment').required().withMessage(\"Number of time off(s) adjustment field is required.\")\r\n .ensure('Reason').required().withMessage(\"The reason field is required.\")\r\n .ensure('selectedleavetype').required().withMessage(\"Please select time off type.\")\r\n .ensure('searchTerm').required().withMessage(\"Please select employee name.\")\r\n .on(this);\r\n }\r\n \r\n // activate(viewData){\r\n \r\n // this.Data = viewData;\r\n // console.log(this.Data);\r\n // this.selectedDepartment = viewData.DepartmentName;\r\n // console.log(this.selectedDepartment);\r\n // //this.LeaveApplicationIDFromSave = viewData.viewdata;\r\n // // this.LeaveApplicationIDFromView = viewData.leaveId;\r\n // // this.EmployeePic = viewData.PhotoPath;\r\n // // this.LeaveCreditId=viewData.LeaveCreditId;\r\n // // this.LeaveTypid=viewData.LeaveTypeID;\r\n // // this.EmployeeID=viewData.EmployeeId;\r\n // // this.Type =viewData.Type;\r\n // // this.DepartmentName =viewData.DepartmentName;\r\n // // this.EmployeeName =viewData.EmployeeName;\r\n // // console.log( this.EmployeeName);\r\n // // if(this.LeaveApplicationIDFromSave > 1){\r\n // // this.LeaveApplicationID = this.LeaveApplicationIDFromSave;\r\n // // }\r\n // // if(this.LeaveApplicationIDFromView > 1){\r\n // // this.LeaveApplicationID = this.LeaveApplicationIDFromView;\r\n // // }\r\n // // if(this.LeaveApplicationIDFromSave > 1){\r\n // // this.message = \"Time off applied successfully\"\r\n // // }\r\n // }\r\n\r\n async attached(){\r\n const windowWidth = window.innerWidth;\r\n if (windowWidth <= 1280) {\r\n Scrollbar.init(document.querySelector('.disable-desktop-scroll'));\r\n } \r\n const documentTypes = await this.leavemanagementService.DepartmentsForDropdown();\r\n console.log(documentTypes);\r\n this.documentTypesDropdown = documentTypes;\r\n this.documentTypesDropdown = Object.entries(documentTypes).map(([key, value]) => ({\r\n value,\r\n key\r\n }));\r\n console.log(this.documentTypesDropdown);\r\n\r\n }\r\n \r\n async displayEmployeess(event) {\r\n this.showEmployeeDropdown = true;\r\n const statusVal = event.target.value;\r\n this.employeestatus =statusVal;\r\n console.log(this.employeestatus);\r\n \r\n }\r\n async departmentSelected() {\r\n console.log(this.selectedDepartment.value.DepartmentId);\r\n console.log(this.employeestatus);\r\n \r\n if (this.selectedDepartment.value.Name !== \"Select\") {\r\n \r\n this.allEmployees = await this.leavemanagementService.GetEmployeeNamesByID(this.selectedDepartment.value.DepartmentId,this.employeestatus);\r\n //this.allEmployees = await this.leavemanagementService.GetEmployeeNamesByDepartmentID(this.selectedDepartment.value.DepartmentId);\r\n } else {\r\n \r\n this.allEmployees = [];\r\n }\r\n }\r\n dateSort(a, b, sortOrder) {\r\n let date1 = new Date(a.registered);\r\n let date2 = new Date(b.registered);\r\n if (date1 === date2) {\r\n return 0;\r\n }\r\n if (date1 > date2) {\r\n return 1 * sortOrder;\r\n }\r\n return -1 * sortOrder;\r\n }\r\n nameLength(row) {\r\n return row.Type.length;\r\n }\r\n\r\n async handleSearch() {\r\n if (!this.searchTerm) {\r\n return;\r\n }\r\n this.filteredResults = this.allEmployees.filter(employee =>\r\n employee.EmployeeName.toLowerCase().includes(this.searchTerm.toLowerCase())\r\n );\r\n this.showDropdown = true;\r\n }\r\n async handleSelection(employee) {\r\n //this.showTree = false;\r\n console.log(employee);\r\n this.searchTerm = employee.EmployeeName;\r\n this.selectedEmployee = employee;\r\n\r\n this.leavemanagementService.GetEmployeedetailesByEmployeeId(employee.EmployeeID)\r\n .then(response => {\r\n this.employeedetails = response;\r\n console.log( this.employeedetails);\r\n this.dateofjoin =this.employeedetails.DateofJointext;\r\n this.Employeeclass= this.employeedetails.EmployeeClassText;\r\n console.log( this.dateofjoin);\r\n console.log(response);\r\n return false;\r\n \r\n });\r\n\r\n this.leavemanagementService.GetLeaveTypesForDropDown(employee.EmployeeID)\r\n .then(response => {\r\n this.Types = response;\r\n return false;\r\n \r\n });\r\n\r\n \r\n\r\n this.EmployeeError = '';\r\n this.showDropdown = false; // Close the dropdown after selection\r\n\r\n\r\n \r\n }\r\n async leavetypeSelected() {\r\n console.log(this.selectedleavetype);\r\n if (this.selectedleavetype !== \"Select\") {\r\n const selectedTypeId = this.selectedleavetype;\r\n console.log(selectedTypeId);\r\n this.TotalTimeoffs=0;\r\n // this.Noofleaves = await this.leavemanagementService.GetMaxNoofLeaves(selectedTypeId,this.selectedEmployee.EmployeeID,this.TotalTimeoffs);\r\n this.mytimeoffsummary = await this.leavemanagementService.GetMyTimeOffSummaryByLeaveTypeId(this.selectedEmployee.EmployeeID,selectedTypeId);\r\n this.LeaveBalance =this.mytimeoffsummary.LeaveBalanceDays;\r\n this.LeaveCredit = this.mytimeoffsummary.LeaveCreditDays;\r\n console.log(this.LeaveBalance);\r\n\r\n } else {\r\n \r\n this.allEmployees = [];\r\n }\r\n }\r\n\r\n async toggleCertificationFields(checked) {\r\n this.showCertificationFields = checked;\r\n \r\n }\r\n \r\n handleFileSelect(files) {\r\n const file = files[0];\r\n this.file = file;\r\n let reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n this.DocumentName = file.name;\r\n reader.onload = () => {\r\n this.file = reader.result;\r\n };\r\n }\r\n openFileDialog() {\r\n document.getElementById('attachments').click();\r\n }\r\n removeFile() {\r\n this.file = null;\r\n this.DocumentName = '';\r\n const fileInput = document.getElementById('attachments');\r\n if (fileInput) {\r\n fileInput.value = '';\r\n }\r\n }\r\n async onCerticationSelected() {\r\n \r\n console.log(this.numberoftimeadjustment);\r\n\r\n this.Noofleaves = await this.leavemanagementService.GetMaxNoofLeaves(this.selectedleavetype,this.selectedEmployee.EmployeeID,this.numberoftimeadjustment);\r\n console.log(this.Noofleaves);\r\n }\r\n yearMatcher = (a, b) => {\r\n return a.Year === b.year;\r\n };\r\n\r\n \r\n save() {\r\n const refreshEvent = new CustomEvent('refreshAddSkill');\r\n \r\n this.controllerFactory.validate()\r\n .then(result => {\r\n if (result.valid) {\r\n //const empid = this.jwtService.getEmployeeId();\r\n let data = {\r\n EmployeeID: this.selectedEmployee.EmployeeID,\r\n LeaveTypeId: this.selectedleavetype,\r\n // NoofDays: this.Ratings,\r\n Reason:this.Reason,\r\n SendMailIND:this.Sendmaiind,\r\n ServiceAnniversaryIND:this.Serviceanniversaryind,\r\n ModifiedNoofDays:this.numberoftimeadjustment,\r\n DayValue:this.numberoftimeadjustment,\r\n UploadDocuments:this.file,\r\n DocumentName:this.DocumentName,\r\n DocumentPath:this.file,\r\n LogginEmployeeID:this.empid,\r\n\r\n };\r\n console.log(data);\r\n\r\n this.leavemanagementService.SaveCreditLeave(data)\r\n .then(() => {\r\n this.controller.cancel();\r\n this.leavemanagementService.GetTimeOffAdjustments(empid)\r\n .then(data => {\r\n this.filteredEmployeesSummery = data;\r\n document.dispatchEvent(refreshEvent); // Trigger the custom event\r\n });\r\n });\r\n \r\n }\r\n else{\r\n const errorMessages = document.querySelectorAll(\".error-messages\");\r\n if (errorMessages.length > 0) {\r\n errorMessages[0].scrollIntoView({ behavior: \"smooth\" });\r\n }}\r\n });\r\n }\r\n\r\n\r\n cancel(){\r\n this.controller.cancel();\r\n }\r\n Reset() {\r\n this.attached();\r\n }\r\n}\r\n","import {inject,bindingMode,bindable } from 'aurelia-framework';\r\nimport flatpickr from \"flatpickr\";\r\nimport { JwtService } from '../../../shared/services/jwtservice';\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport {DialogService} from 'aurelia-dialog';\r\nimport {LeavemanagementService} from \"../../../shared/services/leavemanagementservice\";\r\nimport { Viewtimeoffrequestcomponent } from '../viewtimeoffrequest/viewtimeoffrequestcomponent';\r\nimport * as XLSX from 'xlsx';\r\nimport {config} from '../../../shared/services/config';\r\nimport {ApproveTimeOffComponent} from \"../approvetimeoff/approvetimeoffcomponent\";\r\nimport { constants } from '../../../shared/services/constants';\r\nimport Scrollbar from 'smooth-scrollbar';\r\nimport {LoginService} from \"../../../shared/services/loginservice\";\r\nimport {Router} from 'aurelia-router';\r\nimport {ValidationControllerFactory, ValidationRules} from 'aurelia-validation';\r\n\r\n@inject(DialogController,JwtService,LeavemanagementService,ValidationControllerFactory,DialogService,Router,LoginService)\r\nexport class Edittimeoffadjustmentcomponent{\r\n pageSize = config.grid_PazeSize;\r\n searchTerm = '';\r\n search = '';\r\n showTable = false;\r\n FromDate = null;\r\n ToDate = null;\r\n isLoading = false;\r\n showEmployeeDropdown = false;\r\n FavoritesExist = false;\r\n Successmessages=false;\r\n sitemapId=constants.mytimeoffdetailssitemapid;\r\n selectedleavetype = null;\r\n numberoftimeadjustment = '';\r\n DocumentName='';\r\n selectedDepartment = null; \r\n selectedDocType = null;\r\n controllerFactory;\r\n selectedStatus = 'ACT';\r\n\r\n statusOptions = [\r\n { label: 'All', value: 'All', checked: false },\r\n { label: 'Pending approval', value: 'ACT', checked: false },\r\n // { label: 'Cancelled', value: 'INA', checked: false },\r\n { label: 'Approved', value: 'APP', checked: false },\r\n { label: 'Taken', value: 'Taken', checked: false },\r\n ];\r\n CategoryId=constants.CreditLeaveApprovalWorkflowCategoryId;\r\n constructor(controller,JwtService,LeavemanagementService,controllerFactory,DialogService,loginservice,router){\r\n this.controller = controller;\r\n this.jwtService= JwtService;\r\n this.dialogService = DialogService;\r\n this.empid = this.jwtService.getEmployeeId();\r\n this.leavemanagementService = LeavemanagementService;\r\n this.router = router;\r\n this.loginservice = loginservice;\r\n this.controllerFactory = controllerFactory.createForCurrentScope();\r\n\r\n // ValidationRules\r\n // .ensure('selectedDepartment').required().withMessage(\"Please select department name.\")\r\n // .ensure('numberoftimeadjustment').required().withMessage(\"Number of time off(s) adjustment field is required.\")\r\n // .ensure('Reason').required().withMessage(\"The reason field is required.\")\r\n // .ensure('selectedleavetype').required().withMessage(\"Please select time off type.\")\r\n // .ensure('searchTerm').required().withMessage(\"Please select employee name.\")\r\n // .on(this);\r\n }\r\n \r\n activate(viewData){\r\n \r\n this.Data = viewData;\r\n this.LeaveCreditId=viewData.LeaveCreditId;\r\n this.LeaveTypid=viewData.LeaveTypeID;\r\n this.EmployeeID=viewData.EmployeeId;\r\n console.log(this.Data);\r\n this.selectedDepartment = viewData.DepartmentName;\r\n this.EmployeeName = viewData.EmployeeName;\r\n this.EmployeeClass = viewData.EmployeeClass;\r\n this.DateOfJoining = viewData.DateOfJoining;\r\n this.Type = viewData.Type;\r\n this.Sendmaiind = viewData.SendMailIND;\r\n this.BalanceLeaves = viewData.BalanceLeaves;\r\n this.BalanceLeaves = viewData.BalanceLeaves;\r\n this.IsDaysorHours = viewData.IsDaysorHours;\r\n this.TotalDays = viewData.TotalDays;\r\n this.Reason = viewData.Reason;\r\n this.DocumentName = viewData.DocumentName;\r\n this.action = viewData.Actions;\r\n console.log( this.Data);\r\n \r\n }\r\n attached(){\r\n // if(this.jwtService.getToken() === undefined){\r\n // this.loginservice.purgeAuth();\r\n // this.router.navigateToRoute('login')\r\n // }\r\n console.log(this.LeaveCreditId,this.LeaveTypid,this.EmployeeID);\r\n this.leavemanagementService.GetLeaveCreditsEditView(this.LeaveCreditId,this.LeaveTypid,this.EmployeeID).then(data=>\r\n {\r\n this.timeoffRequest=data;\r\n this.ModifiedNoofDays = this.timeoffRequest.ModifiedNoofDays;\r\n console.log(this.ModifiedNoofDays);\r\n });\r\n\r\n\r\n this.leavemanagementService.GetAdditionalComments(this.LeaveCreditId,this.CategoryId)\r\n .then(data =>{\r\n this.additionalcomments = data;\r\n console.log(this.additionalcomments);\r\n this.Files = this.additionalcomments.map(option => option.DocumentPath);\r\n if ( this.additionalcomments.map(option => option.DocumentPath)) {\r\n this.file = this.additionalcomments.map(option => option.DocumentPath);\r\n this.DocumentName = this.additionalcomments.map(option => option.DocumentPath);\r\n }\r\n });\r\n }\r\n\r\n // toggleDropdown($event) {\r\n // //console.log(employee);\r\n // const isDropdownOpen =this.Data.Actions.showDropdown;\r\n // this.Data.Actions.forEach((item) => {\r\n // item.showDropdown = false;\r\n // //item.timeoffshowDropdown = false;\r\n // });\r\n // if (!isDropdownOpen) {\r\n // this.Data.showDropdown = true;\r\n // //this. Data.timeoffshowDropdown = false;\r\n // document.addEventListener('click', this.closeDropdown);\r\n // }\r\n // $event.stopPropagation();\r\n // }\r\n // closeDropdown = () => {\r\n // this.Data.Actions.forEach((item) => {\r\n // item.showDropdown = false;\r\n // // Assuming you have a property named 'timeoffshowDropdown' for timeoff items\r\n // //tem.timeoffshowDropdown = false;\r\n // });\r\n // document.removeEventListener('click', this.closeDropdown);\r\n // }\r\n\r\n// async attached(){\r\n// const windowWidth = window.innerWidth;\r\n// if (windowWidth <= 1280) {\r\n// Scrollbar.init(document.querySelector('.disable-desktop-scroll'));\r\n// } \r\n// const documentTypes = await this.leavemanagementService.DepartmentsForDropdown();\r\n// console.log(documentTypes);\r\n// this.documentTypesDropdown = documentTypes;\r\n// this.documentTypesDropdown = Object.entries(documentTypes).map(([key, value]) => ({\r\n// value,\r\n// key\r\n// }));\r\n// console.log(this.documentTypesDropdown);\r\n\r\n// }\r\n \r\n // async displayEmployeess(event) {\r\n // this.showEmployeeDropdown = true;\r\n // const statusVal = event.target.value;\r\n // this.employeestatus =statusVal;\r\n // console.log(this.employeestatus);\r\n \r\n // }\r\n // async departmentSelected() {\r\n // console.log(this.selectedDepartment.value.DepartmentId);\r\n // console.log(this.employeestatus);\r\n \r\n // if (this.selectedDepartment.value.Name !== \"Select\") {\r\n \r\n // this.allEmployees = await this.leavemanagementService.GetEmployeeNamesByID(this.selectedDepartment.value.DepartmentId,this.employeestatus);\r\n // //this.allEmployees = await this.leavemanagementService.GetEmployeeNamesByDepartmentID(this.selectedDepartment.value.DepartmentId);\r\n // } else {\r\n \r\n // this.allEmployees = [];\r\n // }\r\n // }\r\n // dateSort(a, b, sortOrder) {\r\n // let date1 = new Date(a.registered);\r\n // let date2 = new Date(b.registered);\r\n // if (date1 === date2) {\r\n // return 0;\r\n // }\r\n // if (date1 > date2) {\r\n // return 1 * sortOrder;\r\n // }\r\n // return -1 * sortOrder;\r\n // }\r\n // nameLength(row) {\r\n // return row.Type.length;\r\n // }\r\n\r\n // async handleSearch() {\r\n // if (!this.searchTerm) {\r\n // return;\r\n // }\r\n // this.filteredResults = this.allEmployees.filter(employee =>\r\n // employee.EmployeeName.toLowerCase().includes(this.searchTerm.toLowerCase())\r\n // );\r\n // this.showDropdown = true;\r\n // }\r\n // async handleSelection(employee) {\r\n // //this.showTree = false;\r\n // console.log(employee);\r\n // this.searchTerm = employee.EmployeeName;\r\n // this.selectedEmployee = employee;\r\n\r\n // this.leavemanagementService.GetEmployeedetailesByEmployeeId(employee.EmployeeID)\r\n // .then(response => {\r\n // this.employeedetails = response;\r\n // console.log( this.employeedetails);\r\n // this.dateofjoin =this.employeedetails.DateofJointext;\r\n // this.Employeeclass= this.employeedetails.EmployeeClassText;\r\n // console.log( this.dateofjoin);\r\n // console.log(response);\r\n // return false;\r\n \r\n // });\r\n\r\n // this.leavemanagementService.GetLeaveTypesForDropDown(employee.EmployeeID)\r\n // .then(response => {\r\n // this.Types = response;\r\n // return false;\r\n \r\n // });\r\n\r\n \r\n\r\n // this.EmployeeError = '';\r\n // this.showDropdown = false; // Close the dropdown after selection\r\n\r\n\r\n \r\n // }\r\n // async leavetypeSelected() {\r\n // console.log(this.selectedleavetype);\r\n // if (this.selectedleavetype !== \"Select\") {\r\n // const selectedTypeId = this.selectedleavetype;\r\n // console.log(selectedTypeId);\r\n // this.TotalTimeoffs=0;\r\n // // this.Noofleaves = await this.leavemanagementService.GetMaxNoofLeaves(selectedTypeId,this.selectedEmployee.EmployeeID,this.TotalTimeoffs);\r\n // this.mytimeoffsummary = await this.leavemanagementService.GetMyTimeOffSummaryByLeaveTypeId(this.selectedEmployee.EmployeeID,selectedTypeId);\r\n // this.LeaveBalance =this.mytimeoffsummary.LeaveBalanceDays;\r\n // this.LeaveCredit = this.mytimeoffsummary.LeaveCreditDays;\r\n // console.log(this.LeaveBalance);\r\n\r\n // } else {\r\n \r\n // this.allEmployees = [];\r\n // }\r\n // }\r\n\r\n // async toggleCertificationFields(checked) {\r\n // this.showCertificationFields = checked;\r\n \r\n // }\r\n toggleCertificationFields(checked) {\r\n this.showCertificationFields = checked;\r\n }\r\n handleFileSelect(files) {\r\n const file = files[0];\r\n this.file = file;\r\n let reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n this.DocumentName = file.name;\r\n reader.onload = () => {\r\n this.file = reader.result;\r\n };\r\n }\r\n openFileDialog() {\r\n document.getElementById('attachments').click();\r\n }\r\n removeFile() {\r\n this.file = null;\r\n this.DocumentName = '';\r\n const fileInput = document.getElementById('attachments');\r\n if (fileInput) {\r\n fileInput.value = '';\r\n }\r\n }\r\n async onCerticationSelected() {\r\n \r\n console.log(this.numberoftimeadjustment);\r\n\r\n this.Noofleaves = await this.leavemanagementService.GetMaxNoofLeaves(this.selectedleavetype,this.selectedEmployee.EmployeeID,this.numberoftimeadjustment);\r\n console.log(this.Noofleaves);\r\n }\r\n yearMatcher = (a, b) => {\r\n return a.Year === b.year;\r\n };\r\n\r\n \r\n save() {\r\n const refreshEvent = new CustomEvent('refreshAddSkill');\r\n \r\n this.controllerFactory.validate()\r\n .then(result => {\r\n if (result.valid) {\r\n //const empid = this.jwtService.getEmployeeId();\r\n let data = {\r\n EmployeeID: this.timeoffRequest.EmployeeID,\r\n LeaveTypeId: this.LeaveTypid,\r\n // NoofDays: this.Ratings,\r\n Reason:this.timeoffRequest.Reason,\r\n SendMailIND:this.Sendmaiind,\r\n ServiceAnniversaryIND:this.Serviceanniversaryind,\r\n ModifiedNoofDays:this.IsDaysorHours,\r\n //DayValue:this.numberoftimeadjustment,\r\n UploadDocuments:this.file,\r\n DocumentName:this.DocumentName,\r\n DocumentPath:this.file,\r\n LogginEmployeeID:this.empid,\r\n LeaveCreditId:this.Data.LeaveCreditId,\r\n Comments:this.comments,\r\n Action:this.actions,\r\n \r\n\r\n };\r\n console.log(data);\r\n this.leavemanagementService.SaveCreditLeaveEdit(data)\r\n .then(() => {\r\n this.controller.cancel();\r\n this.leavemanagementService.GetTimeOffAdjustments(empid)\r\n .then(data => {\r\n this.filteredEmployeesSummery = data;\r\n document.dispatchEvent(refreshEvent); // Trigger the custom event\r\n });\r\n });\r\n \r\n }\r\n else{\r\n const errorMessages = document.querySelectorAll(\".error-messages\");\r\n if (errorMessages.length > 0) {\r\n errorMessages[0].scrollIntoView({ behavior: \"smooth\" });\r\n }}\r\n });\r\n }\r\n\r\n\r\n cancel(){\r\n this.controller.cancel();\r\n }\r\n Reset() {\r\n this.attached();\r\n }\r\n}\r\n","import { inject, bindingMode, bindable } from \"aurelia-framework\";\r\nimport flatpickr from \"flatpickr\";\r\nimport { JwtService } from \"../../../shared/services/jwtservice\";\r\nimport { DialogController } from \"aurelia-dialog\";\r\nimport { DialogService } from \"aurelia-dialog\";\r\nimport { LeavemanagementService } from \"../../../shared/services/leavemanagementservice\";\r\nimport { Employeetimeoffadjustmentcomponent } from \"../employeetimeoffadjustmentdetailes/employeetimeoffadjustmentcomponent\";\r\nimport * as XLSX from \"xlsx\";\r\nimport { config } from \"../../../shared/services/config\";\r\nimport { ApproveTimeOffComponent } from \"../approvetimeoff/approvetimeoffcomponent\";\r\nimport { constants } from \"../../../shared/services/constants\";\r\nimport Scrollbar from \"smooth-scrollbar\";\r\nimport { LoginService } from \"../../../shared/services/loginservice\";\r\nimport { Router } from \"aurelia-router\";\r\nimport { Addtimeoffadjustmentcomponent } from \"../timeoffadjustments/addtimeoffadjustmentcomponent\";\r\nimport { Viewtimeoffadjustmentcomponent } from \"../viewtimeoffadjustment/viewtimeoffadjustmentcomponent\";\r\nimport { Edittimeoffadjustmentcomponent } from \"../timeoffadjustments/edittimeoffadjustmentcomponent\";\r\n\r\n@inject(\r\n DialogController,\r\n JwtService,\r\n LeavemanagementService,\r\n DialogService,\r\n Router,\r\n LoginService\r\n)\r\nexport class MyTimeoffDetailsComponent {\r\n pageSize = config.grid_PazeSize;\r\n searchTerm = \"\";\r\n search = \"\";\r\n showTable = false;\r\n FromDate = null;\r\n ToDate = null;\r\n isLoading = false;\r\n showEmployeeDropdown = false;\r\n FavoritesExist = false;\r\n Successmessages = false;\r\n sitemapId = constants.employeependingtimeoffadjustments;\r\n selectedclassID = null;\r\n selectedDepartment = null;\r\n $timeoffdetailsData = [];\r\n\r\n statusOptions = [\r\n { label: \"All\", value: \"All\", checked: false },\r\n { label: \"Pending with me\", value: \"PEAM\", checked: true },\r\n { label: \"Pending approval\", value: \"PEA\", checked: false },\r\n // { label: 'Apporved', value: 'ACT', checked: false },\r\n ];\r\n\r\n constructor(\r\n controller,\r\n JwtService,\r\n LeavemanagementService,\r\n DialogService,\r\n loginservice,\r\n router\r\n ) {\r\n this.controller = controller;\r\n this.jwtService = JwtService;\r\n this.dialogService = DialogService;\r\n this.empid = this.jwtService.getEmployeeId();\r\n this.leavemanagementService = LeavemanagementService;\r\n this.router = router;\r\n this.loginservice = loginservice;\r\n }\r\n active() {\r\n const searchButton = document.getElementById(\"search-button\");\r\n searchButton.addEventListener(\"click\", handleSearch);\r\n }\r\n async attached() {\r\n this.leavemanagementService.GetYearsDropdown().then((data) => {\r\n this.years = data;\r\n });\r\n const d = new Date();\r\n this.year = d.getFullYear();\r\n const selectedStatusList = this.statusOptions\r\n .filter((status) => status.checked)\r\n .map((status) => status.value);\r\n console.log(this.statusOptions);\r\n\r\n const timeoff = {\r\n LoggedInEmployeeId: this.empid,\r\n ApplicableYear: d.getFullYear(),\r\n StatusList: selectedStatusList,\r\n };\r\n this.leavemanagementService.DepartmentsForDropdown().then((response) => {\r\n this.departments = response;\r\n return false;\r\n });\r\n this.allEmployees =\r\n await this.leavemanagementService.GetEmployeemasterDetails();\r\n\r\n this.leavemanagementService\r\n .GetPersonFavoriteItems(this.empid, this.sitemapId)\r\n .then((data) => {\r\n this.FavoritesExist = data;\r\n });\r\n\r\n this.addToRecentItems();\r\n const windowWidth = window.innerWidth;\r\n if (windowWidth <= 1280) {\r\n Scrollbar.init(document.querySelector(\".disable-desktop-scroll\"));\r\n }\r\n\r\n // const documentTypes =\r\n // await this.leavemanagementService.DepartmentsForDropdown();\r\n // console.log(documentTypes);\r\n // this.documentTypesDropdown = documentTypes;\r\n // this.documentTypesDropdown = Object.entries(documentTypes).map(\r\n // ([key, value]) => ({\r\n // value,\r\n // key,\r\n // })\r\n // );\r\n\r\n // const employeeclassTypes =\r\n // await this.leavemanagementService.GetEmployeeClassDropdown();\r\n // this.employeeclassTypesDropdown = employeeclassTypes;\r\n // this.employeeclassTypesDropdown = Object.entries(employeeclassTypes).map(\r\n // ([key, value]) => ({\r\n // value,\r\n // key,\r\n // })\r\n // );\r\n\r\n this.isLoading = true;\r\n this.leavemanagementService.GetTimeOffAdjustments(timeoff).then((data) => {\r\n console.log(\"HII\");\r\n this.filteredEmployeesSummery = data.AllLeaveTypes;\r\n this.isleaveadmin = data.IsLeaveAdmin;\r\n this.ishr = data.IsHR;\r\n this.isLoading = false;\r\n console.log(this.isleaveadmin,this.ishr);\r\n console.log(this.filteredEmployeesSummery);\r\n });\r\n\r\n this.leavemanagementService\r\n .GetPersonFavoriteItems(this.empid, this.sitemapId)\r\n .then((data) => {\r\n this.FavoritesExist = data;\r\n });\r\n // this.addToRecentItems();\r\n }\r\n addTimeofaddjustment(user) {\r\n this.dialogService.open({\r\n viewModel: Addtimeoffadjustmentcomponent,\r\n model: user,\r\n });\r\n }\r\n\r\n openPopup(employee) {\r\n this.dialogService.open({\r\n viewModel: Employeetimeoffadjustmentcomponent,\r\n model: employee,\r\n });\r\n }\r\n async departmentSelected() {\r\n if (this.selectedDepartment !== \"Select\") {\r\n this.allEmployees =\r\n await this.leavemanagementService.GetEmployeeNamesByDepartmentID(\r\n this.selectedDepartment\r\n );\r\n } else {\r\n this.allEmployees = [];\r\n }\r\n }\r\n async handleSearch() {\r\n if (!this.searchTerm) {\r\n this.filteredResults = [];\r\n return;\r\n }\r\n this.filteredResults = this.allEmployees.filter((employee) =>\r\n employee.EmployeeName.toLowerCase().includes(\r\n this.searchTerm.toLowerCase()\r\n )\r\n );\r\n this.showDropdown = true;\r\n }\r\n async handleSelection(employee) {\r\n //this.showTree = false;\r\n this.searchTerm = employee.EmployeeName;\r\n this.selectedEmployee = employee;\r\n this.EmployeeError = \"\";\r\n this.showDropdown = false; // Close the dropdown after selection\r\n }\r\n\r\n filterClick() {\r\n event.preventDefault();\r\n const clickedDiv = event.target.parentNode;\r\n clickedDiv.classList.toggle(\"filter-open\");\r\n // Remove 'filter-open' class from other divs\r\n const divs = document.querySelectorAll(\".filter-open\");\r\n divs.forEach((div) => {\r\n if (div !== clickedDiv) {\r\n div.classList.remove(\"filter-open\");\r\n }\r\n });\r\n const handleOutsideClick = (event) => {\r\n if (!clickedDiv.contains(event.target)) {\r\n divs.forEach((div) => {\r\n div.classList.remove(\"filter-open\");\r\n });\r\n document.removeEventListener(\"click\", handleOutsideClick);\r\n }\r\n };\r\n\r\n if (clickedDiv.classList.contains(\"filter-open\")) {\r\n document.addEventListener(\"click\", handleOutsideClick);\r\n } else {\r\n document.removeEventListener(\"click\", handleOutsideClick);\r\n }\r\n }\r\n\r\n selectOption(option) {\r\n this.selectedOption = option;\r\n this.isDropdownOpen = false;\r\n }\r\n selectAllChanged(event) {\r\n const isChecked = this.statusOptions[0].checked;\r\n this.statusOptions.forEach((status, index) => {\r\n if (index !== 0) {\r\n status.checked = isChecked;\r\n }\r\n });\r\n }\r\n\r\n handleCheckboxChange(event, status) {\r\n if (status.value === \"All\") {\r\n this.statusOptions.forEach((statusOption, index) => {\r\n if (index !== 0) {\r\n statusOption.checked = false;\r\n }\r\n });\r\n } else {\r\n const allChecked = this.statusOptions\r\n .slice(1)\r\n .every((statusOption) => statusOption.checked);\r\n this.statusOptions[0].checked = allChecked;\r\n }\r\n\r\n //status.checked = event.target.checked;\r\n }\r\n\r\n nameLength(row) {\r\n return row.Type.length;\r\n }\r\n\r\n addToFavourites() {\r\n this.leavemanagementService\r\n .AddToFavourites(this.empid, this.sitemapId)\r\n .then((data) => {\r\n window.location.reload();\r\n });\r\n }\r\n\r\n addToRecentItems() {\r\n this.leavemanagementService\r\n .AddToRecentItems(this.empid, this.sitemapId)\r\n .then((data) => {\r\n // window.location.reload();\r\n });\r\n }\r\n\r\n yearMatcher = (a, b) => {\r\n return a.Year === b.year;\r\n };\r\n\r\n Search() {\r\n const filterOpenElements = document.querySelectorAll(\".filter-open\");\r\n filterOpenElements.forEach((element) =>\r\n element.classList.remove(\"filter-open\")\r\n );\r\n // const selectedStatusLists = this.selectedStatuses.map(status => status.value);\r\n const selectedStatusList = this.statusOptions\r\n .filter((status) => status.checked)\r\n .map((status) => status.value);\r\n\r\n const selectedRadio = document.querySelector(\r\n 'input[name=\"employees\"]:checked'\r\n );\r\n this.selectedValue = selectedRadio ? selectedRadio.value : \"\";\r\n this.showTable = true;\r\n this.errors = null;\r\n const d = new Date();\r\n this.year = d.getFullYear();\r\n \r\n let selectedYear = this.year;\r\n if (this.Year) {\r\n selectedYear = this.Year.Year;\r\n }\r\n\r\n console.log(this.empid);\r\n // this.controllerFactory.validate()\r\n // .then(result => {\r\n // if (result.valid) {\r\n if (this.selectedEmployee && this.selectedEmployee.EmployeeID) {\r\n const timeoff = {\r\n DepartmentID: this.selectedDepartment,\r\n EmployeeId: this.selectedEmployee.EmployeeID,\r\n ApplicableYear: selectedYear,\r\n LoggedInEmployeeId: this.empid,\r\n StatusList: selectedStatusList.includes(\"All\")\r\n ? [\"All\"]\r\n : selectedStatusList.filter((status) => status !== \"All\"),\r\n };\r\n this.isLoading = true;\r\n this.leavemanagementService\r\n .GetTimeOffAdjustments(timeoff)\r\n .then((data) => {\r\n this.filteredEmployeesSummery = data.AllLeaveTypes;\r\n this.isLoading = false;\r\n });\r\n } else {\r\n const timeoff = {\r\n DepartmentID: this.selectedDepartment,\r\n LoggedInEmployeeId: this.empid,\r\n ApplicableYear: selectedYear,\r\n StatusList: selectedStatusList.includes(\"All\")\r\n ? [\"All\"]\r\n : selectedStatusList.filter((status) => status !== \"All\"),\r\n };\r\n this.isLoading = true;\r\n this.leavemanagementService\r\n .GetTimeOffAdjustments(timeoff)\r\n .then((data) => {\r\n this.filteredEmployeesSummery = data.AllLeaveTypes;\r\n this.isLoading = false;\r\n });\r\n }\r\n // }\r\n // });\r\n }\r\n\r\n // calculateDateDifference() {\r\n // const filterOpenElements = document.querySelectorAll('.filter-open');\r\n // filterOpenElements.forEach(element => element.classList.remove('filter-open'));\r\n // // const selectedStatusLists = this.selectedStatuses.map(status => status.value);\r\n // const selectedStatusList = this.statusOptions\r\n // .filter(status => status.checked)\r\n // .map(status => status.value);\r\n\r\n // const selectedRadio = document.querySelector('input[name=\"employees\"]:checked');\r\n // this.selectedValue = selectedRadio ? selectedRadio.value : '';\r\n // if(this.selectedclassID == null )\r\n // {\r\n // this.EmployeeClassificationID = 0;\r\n // }\r\n // else\r\n // {\r\n // this.EmployeeClassificationID = this.selectedclassID.value.EmployeeClassificationID ;\r\n // }\r\n\r\n // if(this.selectedDepartment == null )\r\n // {\r\n // this.DepartmentId = 0;\r\n // }\r\n // else\r\n // {\r\n // this.DepartmentId =this.selectedDepartment.value.DepartmentId ;\r\n // }\r\n // const timeoff = {\r\n // // Fromdate: finalFromDate,\r\n // // Todate: finalToDate,\r\n\r\n // EmployeeClassificationID: this.EmployeeClassificationID,\r\n // DepartmentId : this.DepartmentId ,\r\n // EmployeeStatus: this.selectedValue,\r\n // StatusList: selectedStatusList.includes('All') ? ['All'] : selectedStatusList.filter(status => status !== 'All'),\r\n // // DepartmentID: this.department,\r\n // // EmployeeClassID: this.employeeclass,\r\n // // LoggedInEmployeeId : this.empid,\r\n // EmployeeId:this.empid,\r\n // };\r\n // this.isLoading = true;\r\n\r\n // this.leavemanagementService.GetTimeOffAdjustments(timeoff).then(data=>\r\n // {\r\n // console.log(\"HII\");\r\n // this.filteredEmployeesSummery=data.AllLeaveTypes;\r\n // this.isLoading = false;\r\n // console.log(this.filteredEmployeesSummery);\r\n // });\r\n\r\n // }\r\n toggleDropdown($event, employee) {\r\n //console.log(employee);\r\n const isDropdownOpen = employee.showDropdown;\r\n this.$timeoffdetailsData.forEach((item) => {\r\n item.showDropdown = false;\r\n item.timeoffshowDropdown = false;\r\n });\r\n if (!isDropdownOpen) {\r\n employee.showDropdown = true;\r\n employee.timeoffshowDropdown = false;\r\n document.addEventListener(\"click\", this.closeDropdown);\r\n }\r\n $event.stopPropagation();\r\n }\r\n closeDropdown = () => {\r\n this.$timeoffdetailsData.forEach((item) => {\r\n item.showDropdown = false;\r\n item.timeoffshowDropdown = false;\r\n });\r\n document.removeEventListener(\"click\", this.closeDropdown);\r\n };\r\n viewToggleDropdown($event, employee) {\r\n //console.log(employee);\r\n const timeoffisDropdownOpen = employee.timeoffshowDropdown;\r\n this.$timeoffdetailsData.forEach((item) => {\r\n item.timeoffshowDropdown = false;\r\n item.showDropdown = false;\r\n });\r\n if (!timeoffisDropdownOpen) {\r\n employee.timeoffshowDropdown = true;\r\n employee.showDropdown = false;\r\n document.addEventListener(\"click\", this.viewcloseDropdown);\r\n }\r\n $event.stopPropagation();\r\n }\r\n viewcloseDropdown = () => {\r\n this.$timeoffdetailsData.forEach((item) => {\r\n item.timeoffshowDropdown = false;\r\n item.showDropdown = false;\r\n });\r\n document.removeEventListener(\"click\", this.timeoffcloseDropdown);\r\n };\r\n closeEmployeetoggle() {\r\n this.filteredEmployees.forEach((item) => {\r\n item.showEmployeeDropdown = false;\r\n });\r\n document.removeEventListener(\"click\", this.closeEmployeetoggle);\r\n }\r\n\r\n showDialog(\r\n LeaveCreditId,\r\n leaveAppId,\r\n EmployeeId,\r\n EmployeeName,\r\n DepartmentName,\r\n Type\r\n ) {\r\n const viewdata = {\r\n LeaveCreditId: LeaveCreditId,\r\n LeaveTypeID: leaveAppId,\r\n EmployeeId: EmployeeId,\r\n EmployeeName: EmployeeName,\r\n DepartmentName: DepartmentName,\r\n Type: Type,\r\n };\r\n this.dialogService.open({\r\n viewModel: Viewtimeoffadjustmentcomponent,\r\n model: viewdata,\r\n });\r\n }\r\n\r\n ApproveShowDialog(user) {\r\n // const approveData = {\r\n // selectedRecordId : leaveAppId,\r\n // StatusCode : StatusCode,\r\n // EmployeeId:EmployeeId,\r\n // actions:actions,\r\n\r\n // };\r\n this.dialogService.open({\r\n viewModel: Edittimeoffadjustmentcomponent,\r\n model: user,\r\n });\r\n }\r\n cancel() {\r\n this.controller.cancel();\r\n }\r\n resetPage() {\r\n console.log(this.selectedDepartment);\r\n if (\r\n this.selectedDepartment &&\r\n typeof this.selectedDepartment.value === \"function\"\r\n ) {\r\n // If value is a function (possibly a getter), invoke it to get the actual value\r\n this.selectedDepartment = { value: { Name: \"\" } };\r\n } else if (this.selectedDepartment && this.selectedDepartment.value) {\r\n // If value is an object, directly set its properties\r\n this.selectedDepartment.value.Name = \"\";\r\n }\r\n // this.selectedDepartment.value.Name =\"\";\r\n if (this.selectedclassID && this.selectedclassID.value) {\r\n this.selectedclassID.value.ClassificationName = \"\";\r\n }\r\n //this.selectedclassID = \"\";\r\n this.selectedDepartment = \"\";\r\n this.searchTerm = \"\";\r\n this.selectedEmployee = [];\r\n this.selectedEmployee = \"\";\r\n this.attached();\r\n }\r\n\r\n removeFilter(Allstatus, status) {\r\n if (status.label === \"All\") {\r\n this.statusOptions.forEach((option) => {\r\n option.checked = false;\r\n });\r\n } else {\r\n status.checked = false;\r\n }\r\n }\r\n\r\n resetStatusDropdown() {\r\n this.statusOptions.forEach((status) => {\r\n // if (index === 1 || index === 2) {\r\n // status.checked = true; // Select 'Pending approval' and 'Pending with me'\r\n // } else {\r\n // status.checked = false; // Deselect other statuses\r\n // }\r\n if (status.value === \"PEAM\") {\r\n status.checked = true; // Select 'Pending with me'\r\n } else {\r\n status.checked = false; // Deselect other statuses\r\n }\r\n });\r\n\r\n // Update the selectedStatusList if needed\r\n this.selectedStatusList = this.statusOptions.filter(\r\n (status) => status.checked\r\n );\r\n }\r\n\r\n exportData() {\r\n const data = this.filteredEmployeesSummery;\r\n const filename = 'timeoffadjustments';\r\n this.exportToExcel(data, filename);\r\n}\r\nexportToExcel(data, filename) {\r\n const headers = {\r\n Employeecode: 'Employee code',\r\n Employeename: 'Employee name',\r\n Employeeclass: 'Employee class',\r\n Timeofftype: 'Time off type',\r\n Adjustedtimeoff: 'Adjusted time off',\r\n Balancetimeoffs: 'Balance time offs',\r\n Pendingapproval:'Pending approval',\r\n Status: 'Status'\r\n // ApprovedlossofPay:'Approved loss of Pay'\r\n \r\n };\r\n const filteredData = data.map(timeoff => {\r\n return {\r\n Employeecode:timeoff.EmployeeCode,\r\n Employeename:timeoff.EmployeeName,\r\n Employeeclass:timeoff.EmployeeClass,\r\n Timeofftype:timeoff.Type,\r\n Adjustedtimeoff:timeoff.Leavecredits,\r\n Balancetimeoffs:timeoff.BalancedLeaves,\r\n Pendingapproval:timeoff.PendingApproval,\r\n Status: timeoff.statusText,\r\n // ApprovedlossofPay:leave.ApprovedLossOffPay\r\n };\r\n });\r\n const headerRow = Object.values(headers);\r\n const dataRows = filteredData.map(leave => Object.values(leave));\r\n const worksheet = XLSX.utils.aoa_to_sheet([headerRow, ...dataRows]);\r\n const workbook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet 1');\r\n XLSX.writeFile(workbook, `${filename}.xlsx`);\r\n}\r\n}\r\n","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../../images/palmtree.svg\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_1___ = new URL(\"../../../images/loader.gif\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar code = \"\\r\\n\\r\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../../images/palmtree.svg\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_1___ = new URL(\"../../../images/favourite.svg\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_2___ = new URL(\"../../../images/datepicker.svg\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_3___ = new URL(\"../../../images/loader.gif\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar ___HTML_LOADER_REPLACEMENT_2___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_2___);\nvar ___HTML_LOADER_REPLACEMENT_3___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_3___);\nvar code = \"\\r\\n\\r\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../../../images/loader.gif\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../../images/loader.gif\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_1___ = new URL(\"../../../images/palmtree.svg\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_2___ = new URL(\"../../../images/favourite.svg\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar ___HTML_LOADER_REPLACEMENT_2___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_2___);\nvar code = \"\\r\\n\\r\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"\\r\\n \";\n// Exports\nexport default code;","// Module\nvar code = \"\\r\\n\";\n// Exports\nexport default code;","// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../../images/palmtree.svg\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_1___ = new URL(\"../../../images/favourite.svg\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_2___ = new URL(\"../../../images/loader.gif\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar ___HTML_LOADER_REPLACEMENT_1___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_1___);\nvar ___HTML_LOADER_REPLACEMENT_2___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_2___);\nvar code = \"\\r\\n\\r\\n\";\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}