{"version":3,"file":"app-9f9e94e6.d152cf98c45d962fa693.bundle.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAUA;AAAA;AARA;AAEA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAKA;AAQA;AAEA;AAEA;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;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;;;;;;;;;;;;;;;;;;;AClKA;AACA;AACA;AACA;AACA;AAEA;AAMA;AAAA;AAJA;AACA;AACA;AA8GA;AACA;AACA;AACA;AA9GA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;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;AAEA;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;AACA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;;;;;;;;;;;;;;;;;;;;;AC5HA;AACA;AACA;AACA;AACA;AACA;AAEA;AAcA;AAAA;AAZA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;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;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AAGA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AAEA;AACA;;;;;;;;;;;;;;;;;;;;AClLA;AACA;AACA;AACA;AACA;AACA;AAEA;AASA;AAAA;AANA;AACA;AACA;AACA;AACA;AA8HA;AACA;AACA;AACA;AA9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAEA;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;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;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;;;;;;;;;;;;;;;;;;;;;;;AChJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AAxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAgBA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAOA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAAA;AAAA;AAAA;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;AACA;AAGA;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;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;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;AAEA;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;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAGA;;;;;;;;;;;;;;;AChQA;AACA;AAIA;AAAA;AAFA;AACA;AAMA;AACA;AACA;AACA;AAPA;AACA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAvBA;;;;;;;;;;;;;;;;;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AAxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAgBA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAOA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;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;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;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;AAEA;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;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAGA;;;;;;;;;;;;;AC3PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACXA;AACA;AACA;AACA;;;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA;AACA;AACA;;;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://HRMSPortal/./src/components/performancereview/employeeperformacereview/achivemetsPopup/achivemetsPopup.js","webpack://HRMSPortal/./src/components/performancereview/employeeperformacereview/addachivemetsPopup/addachivemetsPopup.js","webpack://HRMSPortal/./src/components/performancereview/employeeperformacereview/addkrapopup/addkrapopupmodal.js","webpack://HRMSPortal/./src/components/performancereview/employeeperformacereview/editaddachivementspopup/editaddachivementspopup.js","webpack://HRMSPortal/./src/components/performancereview/employeeperformacereview/managerview/performanceremanagerview.js","webpack://HRMSPortal/./src/components/performancereview/employeeperformacereview/markascompleteconformationpopup/markascompletemodel.js","webpack://HRMSPortal/./src/components/performancereview/employeeperformacereview/performancereviewcomponent.js","webpack://HRMSPortal/./src/components/performancereview/employeeperformacereview/achivemetsPopup/achivemetsPopup.html","webpack://HRMSPortal/./src/components/performancereview/employeeperformacereview/addachivemetsPopup/addachivemetsPopup.html","webpack://HRMSPortal/./src/components/performancereview/employeeperformacereview/addkrapopup/addkrapopupmodal.html","webpack://HRMSPortal/./src/components/performancereview/employeeperformacereview/editaddachivementspopup/editaddachivementspopup.html","webpack://HRMSPortal/./src/components/performancereview/employeeperformacereview/managerview/performanceremanagerview.html","webpack://HRMSPortal/./src/components/performancereview/employeeperformacereview/markascompleteconformationpopup/markascompletemodel.html","webpack://HRMSPortal/./src/components/performancereview/employeeperformacereview/performancereviewcomponent.html"],"sourcesContent":["import {inject} from 'aurelia-framework';\r\nimport {JwtService} from '../../../../shared/services/jwtservice';\r\nimport {DialogController} from 'aurelia-dialog';\r\nimport {DialogService} from 'aurelia-dialog';\r\nimport {PerformanceMangemantService} from \"../../../../shared/services/performancereviewservice\";\r\nimport {config} from \"../../../../shared/services/config\";\r\nimport {AddAchivemetsPopup} from \"../addachivemetsPopup/addachivemetsPopup\";\r\nimport flatpickr from \"flatpickr\";\r\nimport {AlertpopupComponent} from \"../../../alertpopup/alertpopupcomponent\";\r\nimport {EditAddAchivemetsPopup} from \"../editaddachivementspopup/editaddachivementspopup\";\r\n\r\n@inject(DialogController, JwtService, PerformanceMangemantService, DialogService)\r\nexport class AchivemetsPopup {\r\n isLoading = false;\r\n static inject = [DialogController, Element];\r\n isDragging = false;\r\n dialog;\r\n pageSize = config.kra_PazeSize;\r\n originalTargetCompletionDate = null;\r\n TargetCompletionDateTxt = null;\r\n\r\n constructor(controller, JwtService, PerformanceMangemantService, DialogService) {\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.performanceMangemant = PerformanceMangemantService;\r\n }\r\n\r\n activate(AchivemetsData) {\r\n this.params = AchivemetsData;\r\n this.ReviewTypeID = this.params.ReviewTypeID;\r\n this.ViewID = this.params.ViewID;\r\n this.ReferenceID = this.params.referenceID;\r\n this.Category = this.params.Category,\r\n this.KRAtitle = this.params.KRAtitle,\r\n this.MeasurementCriteria = this.params.MeasurementCriteria,\r\n this.TargetCompletionDateTxt = this.params.TargetCompletionDateTxt,\r\n this.originalTargetCompletionDate = this.TargetCompletionDateTxt;\r\n this.EmployeeCategoryID = this.params.EmployeeCategoryID,\r\n this.EmployeeGoalID = this.params.EmployeeGoalID,\r\n this.RecordStatusCode = this.params.RecordStatusCode,\r\n this.ReviewFromDateText = this.params.ReviewFromdate,\r\n this.ReviewToText = this.params.ReviewToText,\r\n this.MarkasComplete = this.params.MarkasComplete,\r\n this.viewTypeId = this.params.viewTypeId,\r\n this.GoalStatusTxt = this.params.GoalStatusTxt\r\n }\r\n\r\n attached() {\r\n\r\n this.isLoading = true;\r\n flatpickr(this.datePickers, {\r\n dateFormat: 'd-m-Y',\r\n minDate: 'today',\r\n maxDate: this.ReviewToText,\r\n defaultDate: this.TargetCompletionDateTxt,\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 onClose: function (selectedDates, dateStr, instance) {\r\n }\r\n });\r\n this.calendarIcons.addEventListener('click', () => {\r\n this.datePickers._flatpickr.open();\r\n });\r\n this.performanceMangemant.GetAchievements(this.EmployeeGoalID, this.ReviewTypeID, this.ViewID).then(data => {\r\n this.getAchievements = data;\r\n this.Files = this.getAchievements.map(option => option.DocumentPath);\r\n if (this.getAchievements.map(option => option.DocumentPath)) {\r\n this.file = this.getAchievements.map(option => option.DocumentPath);\r\n this.DocumentName = this.getAchievements.map(option => option.DocumentPath);\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n cancel() {\r\n this.controller.cancel();\r\n }\r\n\r\n downloadFile(DocumentPath) {\r\n const downloadfile = config.img_url + DocumentPath;\r\n const link = document.createElement('a');\r\n link.href = downloadfile;\r\n link.download = this.DocumentPath;\r\n link.target = '_blank';\r\n link.click();\r\n }\r\n\r\n AddAchivemetsPopup(KRAtitle) {\r\n\r\n const addAchivementsdata = {\r\n KRAtitle: KRAtitle,\r\n ReviewTypeID: this.ReviewTypeID,\r\n ViewID: this.ViewID,\r\n ReferenceID: this.EmployeeGoalID\r\n };\r\n this.dialogService.open({viewModel: AddAchivemetsPopup, model: addAchivementsdata}).whenClosed((feedback) => {\r\n if (!feedback.wasCancelled) {\r\n this.performanceMangemant.GetAchievements(this.EmployeeGoalID, this.ReviewTypeID, this.ViewID)\r\n .then(data => {\r\n this.getAchievements = data;\r\n });\r\n }\r\n })\r\n }\r\n\r\n editAddachivemetsPopup(achievements, KRAtitle) {\r\n const editAchivementsdata = {\r\n achievements: achievements,\r\n KRAtitle: KRAtitle\r\n }\r\n this.dialogService.open({viewModel: EditAddAchivemetsPopup, model: editAchivementsdata})\r\n .whenClosed((feedback) => {\r\n if (!feedback.wasCancelled) {\r\n this.performanceMangemant.GetAchievements(this.EmployeeGoalID, this.ReviewTypeID, this.ViewID)\r\n .then(data => {\r\n this.getAchievements = data;\r\n });\r\n }\r\n })\r\n }\r\n\r\n async DeleteaddachivemetsPopup(achievements) {\r\n const data = {\r\n AchievementID: achievements.AchievementID,\r\n ViewID: this.ViewID,\r\n EmployeeID: this.empid\r\n };\r\n const result = await this.dialogService.open({viewModel: AlertpopupComponent, model: achievements,})\r\n .whenClosed(response => response);\r\n if (result.wasCancelled) {\r\n return;\r\n }\r\n await this.performanceMangemant.DeleteAchievements(data).then(data => {\r\n this.delete = data;\r\n\r\n this.performanceMangemant.GetAchievements(this.EmployeeGoalID, this.ReviewTypeID, this.ViewID).then(data => {\r\n this.getAchievements = data;\r\n });\r\n });\r\n\r\n }\r\n\r\n SubmitAchievements() {\r\n\r\n const data = {\r\n EmployeeGoalID: this.EmployeeGoalID,\r\n EmployeeCategoryID: this.EmployeeCategoryID,\r\n EmployeeID: this.empid,\r\n TargetCompletionDateTxt: this.TargetCompletionDate !== undefined && this.TargetCompletionDate !== null ? this.TargetCompletionDate : this.originalTargetCompletionDate,\r\n };\r\n this.performanceMangemant.Achievementsdata(data).then(data => {\r\n this.controller.ok(true);\r\n })\r\n\r\n }\r\n\r\n}\r\n","import {inject} from 'aurelia-framework';\r\nimport {JwtService} from '../../../../shared/services/jwtservice';\r\nimport {DialogController} from 'aurelia-dialog';\r\nimport {DialogService} from 'aurelia-dialog';\r\nimport {PerformanceMangemantService} from \"../../../../shared/services/performancereviewservice\";\r\n\r\n@inject(DialogController, JwtService, PerformanceMangemantService, DialogService,)\r\nexport class AddAchivemetsPopup {\r\n AchievementErrorMessage = false;\r\n ValidatecheckerrorMessage=false;\r\n AchievementComments = '';\r\n\r\n constructor(controller, JwtService, PerformanceMangemantService, DialogService) {\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.performanceMangemantService = PerformanceMangemantService;\r\n }\r\n\r\n activate(addAchivementsdata) {\r\n this.params = addAchivementsdata;\r\n this.KRAtitle=this.params.KRAtitle;\r\n this.ReviewTypeID = this.params.ReviewTypeID;\r\n this.ViewID = this.params.ViewID;\r\n this.ReferenceID = this.params.ReferenceID;\r\n }\r\n\r\n attached() {\r\n this.specializationInput.focus();\r\n document.addEventListener('click', this.handleDocumentClick);\r\n }\r\n\r\n cancel() {\r\n this.controller.cancel();\r\n }\r\n\r\n openFileDialog() {\r\n document.getElementById('attachments').click();\r\n }\r\n\r\n handleFileSelect(files) {\r\n const file = files[0];\r\n const maxSize = 2.5 * 1024 * 1024;\r\n if (file.size > maxSize) {\r\n this.fileMessage = 'File size should be less than 2.5 MB.';\r\n setTimeout(() => {\r\n this.fileMessage = null;\r\n }, 4000);\r\n this.removeFile();\r\n return;\r\n }\r\n else if (file.size <= maxSize) {\r\n this.files = file;\r\n let reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n this.DocumentNames = file.name;\r\n reader.onload = () => {\r\n this.files = reader.result;\r\n };\r\n }\r\n }\r\n\r\n removeFile() {\r\n this.files = null;\r\n this.DocumentNames = '';\r\n const fileInput = document.getElementById('attachments');\r\n if (fileInput) {\r\n fileInput.value = '';\r\n }\r\n }\r\n\r\n submitAchievement() {\r\n const addAchievementdata = {\r\n EmployeeID: this.empid,\r\n ReferenceID: this.ReferenceID,\r\n ReviewTypeID: this.ReviewTypeID,\r\n ViewID: this.ViewID,\r\n Achievement: this.AchievementComments,\r\n DocumentName: this.DocumentNames,\r\n DocumentPath: this.files,\r\n };\r\n\r\n const AddAchivementValidatecheck={\r\n AchievementID:0,\r\n ReferenceID: this.ReferenceID,\r\n Achievement: this.AchievementComments,\r\n ReviewTypeID: this.ReviewTypeID,\r\n ViewID: this.ViewID,\r\n };\r\n if (this.AchievementComments == null || this.AchievementComments == \"\" || this.AchievementComments == undefined) {\r\n this.AchievementErrorMessage = true;\r\n }\r\n else if (this.AchievementComments!= null||this.AchievementComments!=\"\"||this.AchievementComments!=undefined) {\r\n this.performanceMangemantService.CheckDuplicateAchievement(AddAchivementValidatecheck).then(Validatecheck => {\r\n if (Validatecheck === true) {\r\n this.ValidatecheckerrorMessage=true;\r\n }else {\r\n this.AchievementErrorMessage = false;\r\n this.ValidatecheckerrorMessage=false;\r\n this.performanceMangemantService.addAchievements(addAchievementdata).then(data => {\r\n this.controller.ok(true);\r\n })\r\n }\r\n })}\r\n }\r\n\r\n detached() {\r\n document.removeEventListener('click', this.handleDocumentClick);\r\n }\r\n\r\n handleTextareaBlur() {\r\n if (!this.AchievementComments.trim()) {\r\n this.AchievementErrorMessage = true;\r\n } else {\r\n this.AchievementErrorMessage = false;\r\n }\r\n }\r\n\r\n handleDocumentClick = (event) => {\r\n if (event.target == this.specializationInput) {\r\n this.AchievementErrorMessage = false; // Hide the error message when clicking outside the textarea\r\n }\r\n };\r\n}\r\n","import {inject,BindingEngine } from 'aurelia-framework';\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport 'flatpickr/dist/flatpickr.min.css';\r\nimport { JwtService } from '../../../../shared/services/jwtservice';\r\nimport {PerformanceMangemantService} from \"../../../../shared/services/performancereviewservice\";\r\nimport {KraPerformanceReviewService} from \"../../../../shared/services/kraperformancereviewservice\";\r\n\r\n@inject(DialogController,PerformanceMangemantService,JwtService,KraPerformanceReviewService)\r\nexport class AddKraPopupModal {\r\n selectedOption = 'createNew';\r\n selectedKRARepository = null;\r\n isDragging = false;\r\n dialog;\r\n static inject = [Element];\r\n uploadedFiles = [];\r\n changedMode = 'true';\r\n pageSize = 5;\r\n ErrorMessageShow = false;\r\n isSubmitting = false;\r\n\r\n\r\n constructor(DialogController, PerformanceMangemantService, JwtService, KraPerformanceReviewService, bindingEngine) {\r\n this.controller = DialogController;\r\n this.performancereviewservice = PerformanceMangemantService;\r\n this.KraPerformanceReviewService = KraPerformanceReviewService;\r\n this.jwtService = JwtService;\r\n this.bindingEngine=bindingEngine\r\n\r\n this.EmpID = this.jwtService.getEmployeeId();\r\n }\r\n\r\n activate(data) {\r\n //this.EmployeePerformanceReviewID = data.EmployeePerformanceReviewID;\r\n this.EmployeePerformanceReviewID = 2;\r\n\r\n }\r\n\r\n attached() {\r\n\r\n this.KraPerformanceReviewService.KraCategoryDropdown().then(data => {\r\n this.categoryDropdown = data.CategoryList;\r\n //.map(category => category.CategoryName);\r\n\r\n console.log(this.categoryDropdown);\r\n })\r\n this.KraPerformanceReviewService.KRARepository().then(data => {\r\n this.KRARepository = data;\r\n console.log(this.KRARepository);\r\n })\r\n\r\n\r\n }\r\n\r\n fileValidator() {\r\n const fileInput = document.querySelector('input[type=\"file\"]');\r\n const allowedTypes = ['image/jpeg', 'image/png', 'application/msword', 'application/pdf'];\r\n fileInput.addEventListener('change', (event) => {\r\n const file = event.target.files[0];\r\n const fileType = file.type;\r\n if (!allowedTypes.includes(fileType)) {\r\n this.fileMessage = \"Only JPEG, PNG, PDF and DOC files are allowed.\";\r\n this.fileValidatorRule = true;\r\n } else {\r\n this.fileMessage = null;\r\n this.fileValidatorRule = false;\r\n }\r\n });\r\n }\r\n\r\n handleFileSelect(files) {\r\n const file = files[0];\r\n this.file = file;\r\n const allowedFormats = ['.jpg', '.png', '.doc', '.pdf'];\r\n const fileExtension = file.name.substring(file.name.lastIndexOf('.')).toLowerCase();\r\n if (allowedFormats.includes(fileExtension)) {\r\n const reader = new FileReader();\r\n reader.onload = (event) => {\r\n let reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n this.documentFileName = file.name;\r\n reader.onload = () => {\r\n this.file = reader.result;\r\n };\r\n };\r\n reader.readAsDataURL(file);\r\n } else {\r\n // Handle invalid file format here (e.g., display an error message)\r\n this.uploadErrors = [{error: {message: ''}}];\r\n\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\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\r\n\r\n rowSelected(KRARepositorydata) {\r\n\r\n this.selectedKRARepository = KRARepositorydata;\r\n\r\n // Update the input fields based on the selected row data\r\n this.kratitleRepository = this.selectedKRARepository.Parameter;\r\n this.selectedCategoryRepository = this.selectedKRARepository.CategoryName;\r\n console.log(this.selectedCategoryRepository);\r\n this.CriteriaRepository = this.selectedKRARepository.MeasurementCriteria;\r\n this.WeightageRepository = this.selectedKRARepository.Weightage;\r\n this.bindingEngine.propertyObserver(this, 'selectedKRARepository').subscribe(() => {});\r\n }\r\n // Sample data structure\r\n\r\n\r\n\r\n KRARepositorySubmit() {\r\n const refreshEvent = new CustomEvent('refreshExemptData');\r\n event.preventDefault();\r\n const Data = {\r\n EmployeeID: this.EmpID,\r\n EmployeePerformanceReviewID: this.EmployeePerformanceReviewID,\r\n KRATitle:this.kratitleRepository,\r\n CategoryID:this.k,\r\n Criteria:this.WeightageRepository,\r\n Weightage:this.WeightageRepository,\r\n\r\n };\r\n this.KraPerformanceReviewService.KRARepositoryPost(Data)\r\n .then(data => {\r\n //this.controller.cancel();\r\n });\r\n\r\n }\r\n\r\n cancel() {\r\n this.controller.cancel();\r\n }\r\n\r\n CreateNewKRASubmit(){\r\n event.preventDefault();\r\n // this.controllerFactory.validate()\r\n // .then(result => {\r\n // if (result.valid) {\r\n const data = {\r\n EmployeeID: this.EmpID,\r\n EmployeePerformanceReviewID: this.EmployeePerformanceReviewID,\r\n KRATitle:this.kratitle,\r\n CategoryID:this.selectedCategory,\r\n Criteria:this.Criteria,\r\n Weightage:this.Weightage,\r\n\r\n };\r\n console.log(data);\r\n this.KraPerformanceReviewService.PostCreateKRA(data)\r\n .then(data => {\r\n //this.controller.cancel();\r\n });\r\n // }\r\n // });\r\n\r\n }\r\n}\r\n\r\n","import {inject } from 'aurelia-framework';\r\nimport { JwtService } from '../../../../shared/services/jwtservice';\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport {DialogService} from 'aurelia-dialog';\r\nimport { PerformanceMangemantService } from \"../../../../shared/services/performancereviewservice\";\r\nimport {config} from \"../../../../shared/services/config\";\r\n\r\n@inject(DialogController,JwtService,PerformanceMangemantService,DialogService,)\r\n\r\nexport class EditAddAchivemetsPopup{\r\n AchievementErrorMessage=false;\r\n viewfile=true;\r\n AchievementComments='';\r\n ViewID=2;\r\n ValidatecheckerrorMessage=false;\r\n\r\n constructor(controller,JwtService,PerformanceMangemantService,DialogService){\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.performanceMangemantService = PerformanceMangemantService;\r\n }\r\n activate(achievements){\r\n this.params=achievements;\r\n this.KRAtitle=this.params.KRAtitle;\r\n this.AchievementComments=this.params.achievements.Achievement;\r\n this.DocumentNameDisplay=this.params.achievements.DocumentNameDisplay;\r\n this.DocumentPath=this.params.achievements.DocumentPath;\r\n this.AchievementID=this.params.achievements.AchievementID;\r\n this.ReferenceID=this.params.achievements.ReferenceID;\r\n this.ReviewTypeID=this.params.achievements.ReviewTypeID;\r\n if (achievements.achievements.DocumentPath) {\r\n this.files = achievements.achievements.DocumentPath;\r\n this.DocumentName = achievements.achievements.DocumentPath // Set the desired file name\r\n }\r\n }\r\n attached(){\r\n this.specializationInput.focus();\r\n document.addEventListener('click', this.handleDocumentClick);\r\n\r\n\r\n this.performanceMangemantService.GetEditCreateAchievements(this.AchievementID,this.ViewID).then(data => {\r\n this.editdata=data;\r\n })\r\n }\r\n\r\n cancel(){\r\n this.controller.cancel();\r\n }\r\n openFileDialog() {\r\n document.getElementById('attachments').click();\r\n }\r\n handleFileSelect(files) {\r\n this.viewfile=false;\r\n const file = files[0];\r\n const maxSize = 2.5 * 1024 * 1024;\r\n if (file.size > maxSize) {\r\n this.fileMessage = 'File size should be less than 2.5 MB.';\r\n setTimeout(() => {\r\n this.fileMessage = null;\r\n }, 4000);\r\n this.removeFile();\r\n return;\r\n }\r\n else if (file.size <= maxSize) {\r\n this.files = file;\r\n let reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n this.DocumentNameDisplay = file.name;\r\n reader.onload = () => {\r\n this.files = reader.result;\r\n };\r\n }\r\n }\r\n downloadFile() {\r\n if (this.files) {\r\n const downloadfile = config.img_url +this.DocumentPath;\r\n const link = document.createElement('a');\r\n link.href = downloadfile;\r\n link.download = this.DocumentNameDisplay; // Replace 'filename' with the desired name of the downloaded file\r\n link.target = '_blank';\r\n link.click();\r\n }\r\n }\r\n removeFile() {\r\n this.files = null;\r\n this.DocumentNameDisplay = '';\r\n const fileInput = document.getElementById('attachments');\r\n if (fileInput) {\r\n fileInput.value = '';\r\n }\r\n }\r\n\r\n submitAchievement() {\r\n const addAchievementdata = {\r\n EmployeeID: this.empid,\r\n ReferenceID: this.ReferenceID,\r\n ReviewTypeID: this.ReviewTypeID,\r\n ViewID: this.ViewID,\r\n Achievement: this.AchievementComments,\r\n DocumentName: this.DocumentNameDisplay,\r\n DocumentPath: this.files,\r\n AchievementID:this.editdata.AchievementID\r\n };\r\n\r\n const AddAchivementValidatecheck={\r\n AchievementID:this.editdata.AchievementID,\r\n ReferenceID: this.ReferenceID,\r\n Achievement: this.AchievementComments,\r\n ReviewTypeID: this.ReviewTypeID,\r\n ViewID: this.ViewID,\r\n };\r\n if (this.AchievementComments == null || this.AchievementComments == \"\" || this.AchievementComments == undefined) {\r\n this.AchievementErrorMessage = true;\r\n }\r\n else if (this.AchievementComments!= null||this.AchievementComments!=\"\"||this.AchievementComments!=undefined) {\r\n this.performanceMangemantService.CheckDuplicateAchievement(AddAchivementValidatecheck).then(Validatecheck => {\r\n if (Validatecheck === true) {\r\n this.ValidatecheckerrorMessage=true;\r\n }else {\r\n this.AchievementErrorMessage = false;\r\n this.ValidatecheckerrorMessage=false;\r\n this.performanceMangemantService.addAchievements(addAchievementdata).then(data => {\r\n this.controller.ok(true);\r\n })\r\n }\r\n })}\r\n }\r\n detached(){\r\n document.removeEventListener('click', this.handleDocumentClick);\r\n }\r\n handleTextareaBlur(){\r\n if (!this.AchievementComments.trim()) {\r\n this.AchievementErrorMessage = true;\r\n } else {\r\n this.AchievementErrorMessage = false;\r\n }\r\n }\r\n handleDocumentClick = (event) => {\r\n if (event.target == this.specializationInput) {\r\n this.AchievementErrorMessage = false; // Hide the error message when clicking outside the textarea\r\n }\r\n };\r\n}\r\n","import {inject} from 'aurelia-framework';\r\nimport {JwtService} from '../../../../shared/services/jwtservice';\r\nimport {DialogController} from 'aurelia-dialog';\r\nimport {DialogService} from 'aurelia-dialog';\r\nimport {PerformanceMangemantService} from \"../../../../shared/services/performancereviewservice\";\r\nimport {config} from \"../../../../shared/services/config\";\r\nimport {AchivemetsPopup} from \"../achivemetsPopup/achivemetsPopup\";\r\nimport {Markascompletemodel} from \"../markascompleteconformationpopup/markascompletemodel\";\r\nimport {AddKraPopupModal} from \"../addkrapopup/addkrapopupmodal\";\r\n\r\n@inject(DialogController, JwtService, DialogService, PerformanceMangemantService)\r\nexport class PerformanceReview {\r\n pageSize = config.kra_PazeSize;\r\n topicsPageSize = config.kra_PazeSize;\r\n ViewID = 2;\r\n isOpen = null;\r\n Successmessages = false;\r\n kraCategories = [];\r\n markascompleted = false;\r\n markascompletachivementpopup = false;\r\n kraCategories = [];\r\n selectedDiv = 0;\r\n activeTab = 'tab1';\r\n\r\n performanceClick() {\r\n event.preventDefault();\r\n const parentDiv = event.target.closest('.parent-div');\r\n if (parentDiv) {\r\n parentDiv.classList.toggle('performance-open');\r\n }\r\n }\r\n\r\n activateTab(tab) {\r\n this.activeTab = tab;\r\n }\r\n\r\n constructor(controller, JwtService, DialogService, PerformanceMangemantService) {\r\n this.controller = controller;\r\n this.jwtService = JwtService;\r\n this.empid = this.jwtService.getEmployeeId();\r\n this.dialogService = DialogService;\r\n this.performaceService = PerformanceMangemantService;\r\n }\r\n\r\n activate(approveData) {\r\n this.params = approveData;\r\n this.ActionName = this.params.ActionName,\r\n this.RecordStatusCode = this.params.RecordStatusCode,\r\n this.PeriodID = this.params.PeriodID,\r\n this.KRAPerformanceReviewID = this.params.KRAPerformanceReviewID,\r\n this.ReviewTypeID = this.params.ReviewTypeID,\r\n this.ReviewFromText = this.params.ReviewFromText,\r\n this.ReviewToText = this.params.ReviewToText\r\n }\r\n\r\n attached() {\r\n this.performaceService.KraCategories(this.empid, this.PeriodID, this.ReviewTypeID, this.ViewID)\r\n .then(data => {\r\n this.kraCategories = data.EmployeeCategoryList;\r\n if (this.kraCategories.length > 0) {\r\n const defaultCategory = this.kraCategories[0]; // Change this to the desired category\r\n this.toggleDisplay(defaultCategory);\r\n }\r\n });\r\n this.performaceService.GetReviewHistory(this.empid, this.PeriodID, this.ReviewTypeID)\r\n .then(data => {\r\n this.GetReviewHistory = data;\r\n });\r\n\r\n this.performaceService.GetAdditionalNotesandComments(this.KRAPerformanceReviewID)\r\n .then(data => {\r\n this.additionalcomments = data;\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 /*activateTab(index) {\r\n this.selectedDiv = index;\r\n this.kraCategories.forEach((category, idx) => {\r\n category.showDiv = (index === idx);\r\n });\r\n }*/\r\n\r\n AddKraDialog(){\r\n this.dialogService.open({ viewModel: AddKraPopupModal, model: '' });\r\n }\r\n\r\n markAsComplete(event, EmployeeGoalID, MarkAsCompletedIND, category) {\r\n const result = this.dialogService.open({\r\n viewModel: Markascompletemodel,\r\n model: '',\r\n }).whenClosed(response => {\r\n if (response.wasCancelled) {\r\n this.markascompleted = false;\r\n return;\r\n } else {\r\n this.markascompleted = true;\r\n this.markascompletachivementpopup = true;\r\n const checkbox = document.querySelector(`input[name=\"achievement_${MarkAsCompletedIND == true}\"]`);\r\n if (checkbox) {\r\n checkbox.checked = true;\r\n const markascompletedata = {\r\n EmployeeGoalID: EmployeeGoalID,\r\n EmployeeID: this.empid\r\n };\r\n this.performaceService.MarkasCompletedKraCategories(markascompletedata)\r\n .then(data => {\r\n this.performaceService.KraCategories(this.empid, this.PeriodID, this.ReviewTypeID, this.ViewID)\r\n .then(data => {\r\n this.kraCategories = data.EmployeeCategoryList;\r\n const result = this.kraCategories?.find(item => item.EmployeeCategoryID === category.EmployeeCategoryID);\r\n const defaultCategory = result;\r\n this.toggleDisplay(defaultCategory);\r\n });\r\n\r\n\r\n });\r\n }\r\n }\r\n })\r\n }\r\n\r\n AchivemetsPopup(referenceID, Categorys, Goal, MeasurementCriteria, TargetCompletionDateTxt, EmployeeCategoryID, EmployeeGoalID, MarkAsCompletedIND, GoalStatusTxt, category) {\r\n if (this.markascompletachivementpopup == true) {\r\n this.markascompleted = this.markascompleted;\r\n } else {\r\n this.markascompleted = MarkAsCompletedIND;\r\n }\r\n const AchivemetsData = {\r\n ReviewTypeID: this.ReviewTypeID,\r\n ViewID: this.ViewID,\r\n referenceID: referenceID,\r\n Category: Categorys,\r\n KRAtitle: Goal,\r\n MeasurementCriteria: MeasurementCriteria,\r\n TargetCompletionDateTxt: TargetCompletionDateTxt,\r\n EmployeeCategoryID: EmployeeCategoryID,\r\n EmployeeGoalID: EmployeeGoalID,\r\n RecordStatusCode: this.RecordStatusCode,\r\n ReviewFromdate: this.ReviewFromText,\r\n ReviewToText: this.ReviewToText,\r\n MarkasComplete: this.markascompleted,\r\n GoalStatusTxt: GoalStatusTxt,\r\n };\r\n this.dialogService.open({viewModel: AchivemetsPopup, model: AchivemetsData})\r\n .whenClosed((feedback) => {\r\n if (!feedback.wasCancelled) {\r\n this.messages = \"KRA updated successfully.\";\r\n this.Successmessages = true;\r\n setTimeout(() => {\r\n this.messages = null\r\n }, 5000);\r\n this.performaceService.KraCategories(this.empid, this.PeriodID, this.ReviewTypeID, this.ViewID)\r\n .then(data => {\r\n this.kraCategories = data.EmployeeCategoryList;\r\n if (this.kraCategories.length > 0) {\r\n const result = this.kraCategories?.find(item => item.EmployeeCategoryID === category.EmployeeCategoryID);\r\n const defaultCategory = result;\r\n this.toggleDisplay(defaultCategory);\r\n }\r\n });\r\n }\r\n }\r\n )\r\n }\r\n\r\n openFileDialog() {\r\n document.getElementById('attachments').click();\r\n }\r\n\r\n handleFileSelect(files) {\r\n const file = files[0];\r\n const maxSize = 2.5 * 1024 * 1024;\r\n if (file.size > maxSize) {\r\n this.fileMessage = 'File size should be less than 2.5 MB.';\r\n setTimeout(() => {\r\n this.fileMessage = null;\r\n }, 4000);\r\n this.removeFile();\r\n return;\r\n }\r\n else if (file.size <= maxSize) {\r\n this.files = file;\r\n let reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n this.DocumentNames = file.name;\r\n reader.onload = () => {\r\n this.files = reader.result;\r\n };\r\n }\r\n }\r\n\r\n removeFile() {\r\n this.files = null;\r\n this.DocumentNames = '';\r\n const fileInput = document.getElementById('attachments');\r\n if (fileInput) {\r\n fileInput.value = '';\r\n }\r\n }\r\n\r\n toggleDisplay(category) {\r\n this.kraCategories.forEach(cat => {\r\n if (cat !== category) {\r\n cat.showDiv = false;\r\n }\r\n });\r\n category.showDiv = true;\r\n }\r\n\r\n AcceptRequest() {\r\n if (this.fileMessage) {\r\n return false;\r\n }\r\n let AcceptrequestData = {\r\n EmployeeID: this.empid,\r\n WorkflowComments: this.WorkflowComments,\r\n DocumentPath: this.files,\r\n DocumentName: this.DocumentNames,\r\n KRAPerformanceReviewID: this.KRAPerformanceReviewID,\r\n PeriodID: this.PeriodID,\r\n ReviewTypeID: this.ReviewTypeID,\r\n Actions: \"Accept\"\r\n };\r\n this.performaceService.AcceptKraMyemployee(AcceptrequestData).then(data => {\r\n const datas = {\r\n message: true\r\n };\r\n const queryString = new URLSearchParams(datas).toString();\r\n const performancereviewURL = `/#/KRAPerformanceReview/MyGoalSheet?${queryString}`;\r\n window.location.href = performancereviewURL;\r\n });\r\n }\r\n\r\n openCategory(index) {\r\n this.isOpen = index;\r\n }\r\n\r\n kraClick() {\r\n event.preventDefault();\r\n const clickedDivopen = event.target.closest('div.goalSection > div');\r\n if (clickedDivopen) {\r\n clickedDivopen.classList.toggle('content-open');\r\n }\r\n }\r\n\r\n BackPage() {\r\n const performancereviewURLBackPage = `/#/KRAPerformanceReview/MyGoalSheet`;\r\n window.location.href = performancereviewURLBackPage;\r\n }\r\n\r\n\r\n}\r\n","import { DialogController } from 'aurelia-dialog';\r\nexport class Markascompletemodel {\r\n static inject = [DialogController,Element];\r\n isDragging = false;\r\n dialog;\r\n constructor(controller) {\r\n this.controller = controller;\r\n document.addEventListener('keydown', this.handleKeyPress);\r\n }\r\n handleKeyPress = (event) => {\r\n if (event.key === 'Enter') {\r\n this.controller.cancel();\r\n }\r\n };\r\n cancel() {\r\n this.controller.cancel();\r\n }\r\n ok() {\r\n this.controller.ok();\r\n }\r\n\r\n detached() {\r\n document.removeEventListener('keydown', this.handleKeyPress);\r\n }\r\n}\r\n","import {inject} from 'aurelia-framework';\r\nimport {JwtService} from '../../../shared/services/jwtservice';\r\nimport {DialogController} from 'aurelia-dialog';\r\nimport {DialogService} from 'aurelia-dialog';\r\nimport {PerformanceMangemantService} from \"../../../shared/services/performancereviewservice\";\r\nimport {config} from \"../../../shared/services/config\";\r\nimport {AchivemetsPopup} from \"./achivemetsPopup/achivemetsPopup\";\r\nimport {Markascompletemodel} from \"./markascompleteconformationpopup/markascompletemodel\";\r\n\r\n@inject(DialogController, JwtService, DialogService, PerformanceMangemantService)\r\nexport class PerformanceReview {\r\n pageSize = config.kra_PazeSize;\r\n topicsPageSize = config.kra_PazeSize;\r\n ViewID = 2;\r\n isOpen = null;\r\n Successmessages = false;\r\n kraCategories = [];\r\n markascompleted = false;\r\n markascompletachivementpopup = false;\r\n kraCategories = [];\r\n selectedDiv = 0;\r\n activeTab = 'tab1';\r\n\r\n performanceClick() {\r\n event.preventDefault();\r\n const parentDiv = event.target.closest('.parent-div');\r\n if (parentDiv) {\r\n parentDiv.classList.toggle('performance-open');\r\n }\r\n }\r\n\r\n activateTab(tab) {\r\n this.activeTab = tab;\r\n }\r\n\r\n constructor(controller, JwtService, DialogService, PerformanceMangemantService) {\r\n this.controller = controller;\r\n this.jwtService = JwtService;\r\n this.empid = this.jwtService.getEmployeeId();\r\n this.dialogService = DialogService;\r\n this.performaceService = PerformanceMangemantService;\r\n }\r\n\r\n activate(approveData) {\r\n this.params = approveData;\r\n this.ActionName = this.params.ActionName,\r\n this.RecordStatusCode = this.params.RecordStatusCode,\r\n this.PeriodID = this.params.PeriodID,\r\n this.KRAPerformanceReviewID = this.params.KRAPerformanceReviewID,\r\n this.ReviewTypeID = this.params.ReviewTypeID,\r\n this.ReviewFromText = this.params.ReviewFromText,\r\n this.ReviewToText = this.params.ReviewToText\r\n }\r\n\r\n attached() {\r\n this.performaceService.KraCategories(this.empid, this.PeriodID, this.ReviewTypeID, this.ViewID)\r\n .then(data => {\r\n this.kraCategories = data.EmployeeCategoryList;\r\n if (this.kraCategories.length > 0) {\r\n const defaultCategory = this.kraCategories[0]; // Change this to the desired category\r\n this.toggleDisplay(defaultCategory);\r\n }\r\n });\r\n this.performaceService.GetReviewHistory(this.empid, this.PeriodID, this.ReviewTypeID)\r\n .then(data => {\r\n this.GetReviewHistory = data;\r\n });\r\n\r\n this.performaceService.GetAdditionalNotesandComments(this.KRAPerformanceReviewID)\r\n .then(data => {\r\n this.additionalcomments = data;\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 /*activateTab(index) {\r\n this.selectedDiv = index;\r\n this.kraCategories.forEach((category, idx) => {\r\n category.showDiv = (index === idx);\r\n });\r\n }*/\r\n\r\n markAsComplete(event, EmployeeGoalID, MarkAsCompletedIND, category) {\r\n const result = this.dialogService.open({\r\n viewModel: Markascompletemodel,\r\n model: '',\r\n }).whenClosed(response => {\r\n if (response.wasCancelled) {\r\n this.markascompleted = false;\r\n return;\r\n } else {\r\n this.markascompleted = true;\r\n this.markascompletachivementpopup = true;\r\n const checkbox = document.querySelector(`input[name=\"achievement_${MarkAsCompletedIND == true}\"]`);\r\n if (checkbox) {\r\n checkbox.checked = true;\r\n const markascompletedata = {\r\n EmployeeGoalID: EmployeeGoalID,\r\n EmployeeID: this.empid\r\n };\r\n this.performaceService.MarkasCompletedKraCategories(markascompletedata)\r\n .then(data => {\r\n this.performaceService.KraCategories(this.empid, this.PeriodID, this.ReviewTypeID, this.ViewID)\r\n .then(data => {\r\n this.kraCategories = data.EmployeeCategoryList;\r\n const result = this.kraCategories?.find(item => item.EmployeeCategoryID === category.EmployeeCategoryID);\r\n const defaultCategory = result;\r\n this.toggleDisplay(defaultCategory);\r\n });\r\n\r\n\r\n });\r\n }\r\n }\r\n })\r\n }\r\n\r\n AchivemetsPopup(referenceID, Categorys, Goal, MeasurementCriteria, TargetCompletionDateTxt, EmployeeCategoryID, EmployeeGoalID, MarkAsCompletedIND, GoalStatusTxt, category) {\r\n if (this.markascompletachivementpopup == true) {\r\n this.markascompleted = this.markascompleted;\r\n } else {\r\n this.markascompleted = MarkAsCompletedIND;\r\n }\r\n const AchivemetsData = {\r\n ReviewTypeID: this.ReviewTypeID,\r\n ViewID: this.ViewID,\r\n referenceID: referenceID,\r\n Category: Categorys,\r\n KRAtitle: Goal,\r\n MeasurementCriteria: MeasurementCriteria,\r\n TargetCompletionDateTxt: TargetCompletionDateTxt,\r\n EmployeeCategoryID: EmployeeCategoryID,\r\n EmployeeGoalID: EmployeeGoalID,\r\n RecordStatusCode: this.RecordStatusCode,\r\n ReviewFromdate: this.ReviewFromText,\r\n ReviewToText: this.ReviewToText,\r\n MarkasComplete: this.markascompleted,\r\n GoalStatusTxt: GoalStatusTxt,\r\n };\r\n this.dialogService.open({viewModel: AchivemetsPopup, model: AchivemetsData})\r\n .whenClosed((feedback) => {\r\n if (!feedback.wasCancelled) {\r\n this.messages = \"KRA updated successfully.\";\r\n this.Successmessages = true;\r\n setTimeout(() => {\r\n this.messages = null\r\n }, 5000);\r\n this.performaceService.KraCategories(this.empid, this.PeriodID, this.ReviewTypeID, this.ViewID)\r\n .then(data => {\r\n this.kraCategories = data.EmployeeCategoryList;\r\n if (this.kraCategories.length > 0) {\r\n const result = this.kraCategories?.find(item => item.EmployeeCategoryID === category.EmployeeCategoryID);\r\n const defaultCategory = result;\r\n this.toggleDisplay(defaultCategory);\r\n }\r\n });\r\n }\r\n }\r\n )\r\n }\r\n\r\n openFileDialog() {\r\n document.getElementById('attachments').click();\r\n }\r\n\r\n handleFileSelect(files) {\r\n const file = files[0];\r\n const maxSize = 2.5 * 1024 * 1024;\r\n if (file.size > maxSize) {\r\n this.fileMessage = 'File size should be less than 2.5 MB.';\r\n setTimeout(() => {\r\n this.fileMessage = null;\r\n }, 4000);\r\n this.removeFile();\r\n return;\r\n }\r\n else if (file.size <= maxSize) {\r\n this.files = file;\r\n let reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n this.DocumentNames = file.name;\r\n reader.onload = () => {\r\n this.files = reader.result;\r\n };\r\n }\r\n }\r\n\r\n removeFile() {\r\n this.files = null;\r\n this.DocumentNames = '';\r\n const fileInput = document.getElementById('attachments');\r\n if (fileInput) {\r\n fileInput.value = '';\r\n }\r\n }\r\n\r\n toggleDisplay(category) {\r\n this.kraCategories.forEach(cat => {\r\n if (cat !== category) {\r\n cat.showDiv = false;\r\n }\r\n });\r\n category.showDiv = true;\r\n }\r\n\r\n AcceptRequest() {\r\n if (this.fileMessage) {\r\n return false;\r\n }\r\n let AcceptrequestData = {\r\n EmployeeID: this.empid,\r\n WorkflowComments: this.WorkflowComments,\r\n DocumentPath: this.files,\r\n DocumentName: this.DocumentNames,\r\n KRAPerformanceReviewID: this.KRAPerformanceReviewID,\r\n PeriodID: this.PeriodID,\r\n ReviewTypeID: this.ReviewTypeID,\r\n Actions: \"Accept\"\r\n };\r\n this.performaceService.AcceptKraMyemployee(AcceptrequestData).then(data => {\r\n const datas = {\r\n message: true\r\n };\r\n const queryString = new URLSearchParams(datas).toString();\r\n const performancereviewURL = `/#/KRAPerformanceReview/MyGoalSheet?${queryString}`;\r\n window.location.href = performancereviewURL;\r\n });\r\n }\r\n\r\n openCategory(index) {\r\n this.isOpen = index;\r\n }\r\n\r\n kraClick() {\r\n event.preventDefault();\r\n const clickedDivopen = event.target.closest('div.goalSection > div');\r\n if (clickedDivopen) {\r\n clickedDivopen.classList.toggle('content-open');\r\n }\r\n }\r\n\r\n BackPage() {\r\n const performancereviewURLBackPage = `/#/KRAPerformanceReview/MyGoalSheet`;\r\n window.location.href = performancereviewURLBackPage;\r\n }\r\n\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/datepicker.svg\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_1___ = new URL(\"../../../../images/edit.svg\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_2___ = new URL(\"../../../../images/x-square.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\";\n// Exports\nexport default code;","// Module\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);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"\\r\\n\";\n// Exports\nexport default code;","// Module\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/performance-icon.svg\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_1___ = new URL(\"../../../../images/key.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 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/completed.svg\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\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/performance-icon.svg\", import.meta.url);\nvar ___HTML_LOADER_IMPORT_1___ = new URL(\"../../../images/key.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 code = \"\\r\\n\";\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}