var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let Hrms; (function (Hrms) { let Controls; (function (Controls) { class EmployeeLeaves extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this.availablebalance = 0; this.currentlybooked = "0"; this.balanceleaves = 0; this.employeeid = 0; this.leavetypeid = 0; this.containerid = ""; this.currentlybookedcount = 0; this.leavepolicyid = 0; } init(formpropertyid, prop, callback) { let instance = this; if (this.employeeid == 0 && this.leavetypeid == 0) { this.availablebalance = 0; this.currentlybooked = "0"; this.currentlybookedcount = 0; this.balanceleaves = 0; this.leavepolicyid = 0; instance.loadControl(instance.containerid, null); } if (callback != null) callback(); } loadControl(containerid, prop) { let instance = this; instance.todate1 = moment(new Date($.now())).format("DD/MM/YYYY"); instance.yearlastdate = new Date(new Date().getFullYear(), 11, 31); instance.yearlastdate = moment(instance.yearlastdate).format("DD/MM/YYYY"); instance.containerid = containerid; var html = `
AS of ${instance.todate1}Day(s)
Available Balance:${instance.availablebalance}
Currently Booked:${instance.currentlybooked}
Balance After Booked Leave:${instance.balanceleaves}
`; $("#" + containerid).html(html); } getEmployeeAvailableLeaves(employeeid, leavetypeid) { let instance = this; instance.fileCacheHelper.loadJsFile("apps/hrms/managers/leavemanager.js", function () { Bizgaze.Apps.Hrms.Managers.LeaveManager.Instance().getleavescountData(Number(employeeid), Number(leavetypeid)).then(function (response) { if (response.result.length > 0) { var data = response.result; instance.leavepolicyid = data[0].leavepolicyid; instance.availablebalance = data[0].availableleaves; Bizgaze.Apps.Hrms.Controls.EmployeeLeaves.Instance().getCurrentlyBookedLeaves(); instance.loadControl(instance.containerid, null); } }); }); } getCurrentlyBookedLeaves() { let instance = this; let fromdate = $(".hfdate_fromdate").val(); let todate = $(".hfdate_todate").val(); var firstDate = moment(fromdate); var secondDate = moment(todate); var leavefromdate = moment(fromdate).format("YYYY-MM-DD"); var leavetodate = moment(todate).format("YYYY-MM-DD"); var diffInDays = Math.abs(firstDate.diff(secondDate, 'days')); instance.fileCacheHelper.loadJsFile("apps/hrms/managers/holidaymanager.js", function () { Bizgaze.Apps.Hrms.Managers.HolidayManager.Instance().getHolidayDates(leavefromdate, leavetodate, instance.leavepolicyid).then(function (response) { var data = response.result; instance.currentlybooked = data + "(days)"; instance.currentlybookedcount = data; instance.balanceleaves = instance.availablebalance - instance.currentlybookedcount; instance.loadControl(instance.containerid, null); }); }); } employeeleavesControlObj() { let instance = this; var EmployeeId = Number($(".txtAutoComplete_employeeid").val()); var LeaveTypeId = Number($(".ddl_cascading_leavetypeid").val()); if (instance.currentlybookedcount == 0 && EmployeeId != 0 && LeaveTypeId != 0) { MessageHelper.Instance().showError("Currently Booked Leaves Is Zero.Please check once.", 'div_ErrorMessage_' + $('#' + Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId()).find('#hf_FormId').val()); return false; } } loadControlSettings(controlsettingjson, formpropertyid) { return null; } loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) { return null; } bindEditFormDetails(formpropertyid, propval, DocPropertyName) { var instance = this; var leaverequestid = Number(propval); let employeeid; let leavetypeid; instance.fileCacheHelper.loadJsFiles(["apps/hrms/managers/leavemanager.js"], function () { return __awaiter(this, void 0, void 0, function* () { if ($("#div_FormName").text() == "Employee Leave Request") { yield Bizgaze.Apps.Hrms.Managers.LeaveManager.Instance().getLeaveRequest(leaverequestid).then(function (response) { var requsetdata = response.result; employeeid = requsetdata[0].employeeid; leavetypeid = requsetdata[0].leavetypeid; }); } else { var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; employeeid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_employeeid").Value; leavetypeid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_leavetypeid").Value; } Bizgaze.Apps.Hrms.Managers.LeaveManager.Instance().getleavescountData(Number(employeeid), Number(leavetypeid)).then(function (response) { if (response.result.length > 0) { var data = response.result; instance.availablebalance = data[0].availableleaves + data[0].currentlybooked; instance.balanceleaves = data[0].balanceleaves; instance.currentlybookedcount = data[0].currentlybooked; instance.currentlybooked = data[0].currentlybooked + "(days)"; instance.leavepolicyid = data[0].leavepolicyid; instance.loadControl(instance.containerid, null); } }); }); }); } static Instance() { if (this._instance === undefined) this._instance = new EmployeeLeaves(); return this._instance; } } Controls.EmployeeLeaves = EmployeeLeaves; })(Controls = Hrms.Controls || (Hrms.Controls = {})); })(Hrms = Apps.Hrms || (Apps.Hrms = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));