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 = {}));