var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let TM;
(function (TM) {
let Targets;
(function (Targets) {
let Components;
(function (Components) {
class CustomerTargetVSAchive extends Unibase.Platform.Core.BaseComponent {
cssFiles() {
return ['libs/tabulator-tables/css/bootstrap/tabulator_bootstrap4.min.css'];
}
jsFiles() {
return ['libs/tabulator/js/tabulator.min.js'];
}
html() {
return "";
}
loadCustHtml(containerid) {
const html = `
`;
$("#" + containerid).html(html);
}
loadEmpHtml(containerid) {
const html = ``;
$("." + containerid).html(html);
}
load() {
}
init(Containerid) {
var instance = this;
var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
var allowothercontacts = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_allowothercontacts").Value);
instance.fileCacheHelper.loadCssFile('libs/tabulator-tables/css/bootstrap/tabulator_bootstrap4.min.css', null);
instance.fileCacheHelper.loadJsFiles(["libs/tabulator/js/tabulator.min.js"], function () {
if (allowothercontacts == 1) {
Bizgaze.Apps.TM.Targets.Components.CustomerTargetVSAchive.Instance().loadEmpHtml(Containerid);
instance.employeewisetargetvsachive(Containerid);
}
else {
Bizgaze.Apps.TM.Targets.Components.CustomerTargetVSAchive.Instance().loadCustHtml(Containerid);
instance.loadCustTabulator("");
instance.customerwisetargetvsachive();
}
});
}
customerwisetargetvsachive() {
var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
var targetdefinitionid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_targetdefinitionid").Value);
var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
var instance = this;
instance.fileCacheHelper.loadJsFile('apps/tm/targets/managers/targetmanager.js', function () {
Bizgaze.Apps.TM.Targets.Managers.TargetManager.Instance().loadCustomerTargetvsAchive(userinfo.sessionId, targetdefinitionid).then(function (response) {
if (response != null) {
var result = response.result;
instance.customerData.setData(result);
}
});
});
}
employeewisetargetvsachive(containerid) {
var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
var targetdefinitionid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_targetdefinitionid").Value);
var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
var instance = this;
instance.fileCacheHelper.loadJsFile('apps/tm/targets/managers/targetmanager.js', function () {
Bizgaze.Apps.TM.Targets.Managers.TargetManager.Instance().loadEmployeeTargetvsAchive(userinfo.sessionId, targetdefinitionid).then(function (response) {
var dataarry = [];
var result = response.result;
instance.employeetotaldata = response.result;
instance.totalEmployeeResponse = jQuery.extend(true, [], response.result);
var datatree = false;
var userparentinformation = response.result.filter(function (o) { return o.EmployeeId === userinfo.userId + "p"; });
if (userparentinformation.length > 0) {
datatree = true;
userparentinformation[0]["_children"] = [];
}
dataarry.push(userparentinformation[0]);
Bizgaze.Apps.TM.Targets.Components.CustomerTargetVSAchive.Instance().loadTabulator(dataarry, datatree, response, containerid);
});
});
}
loadTabulator(response, datatree, response1, containerid) {
var instance = this;
var autoNumFormatter = function (cell) {
var row = cell.getRow();
var rowIndex = row.getPosition(false);
return (rowIndex + 1);
};
var editIcon = function (cell, formatterParams) {
return "";
};
instance.initialEmployeeData = response;
instance.employeeData = new Tabulator(`#Employee_Table_${containerid}`, {
placeholder: "No data available
",
data: response,
layout: "fitDataFill",
columns: [
{ title: "EmployeeId", field: "EmployeeId", visible: false },
{ title: "Employee Name", field: "EmployeeName" },
{ title: "Target Value", field: "TargetValue" },
{
title: "Achieved Value", field: "AchievedTarget", cellClick: function (e, cell) {
instance.currentRow = cell.getRow();
instance.fileCacheHelper.loadJsFile('apps/tm/targets/components/w_tagwisetarget.js', function () {
if (!instance.currentRow._row.data.EmployeeId.includes("p")) {
Bizgaze.Apps.TM.Targets.Components.TagWiseTarget.Instance().loadForm(0, cell.getRow().getData().EmployeeId, 0, null, 0);
}
});
}, formatter: function (cell) {
instance.currentRow = cell.getRow();
var achive = cell.getValue();
if (!instance.currentRow._row.data.EmployeeId.includes("p")) {
return "" + achive + "";
}
else {
return achive;
}
}
},
{ title: "Percentage", field: "Percentage" },
],
dataTree: datatree,
dataTreeSelectPropagate: true,
dataTreeChildIndent: 15,
dataTreeRowExpanded: function (row, level) {
var currentemployeeid = row.getData().EmployeeId;
if (currentemployeeid.includes("p"))
currentemployeeid = currentemployeeid.replace("p", "");
var empdatta = instance.employeetotaldata.filter(function (o) { return o.ParentId === Number(currentemployeeid); });
for (var i = 0; i < empdatta.length; i++) {
var userparentinformation = instance.employeetotaldata.filter(function (o) { return o.EmployeeId === empdatta[i].EmployeeId; });
;
if (userparentinformation[0].EmployeeId.includes("p")) {
if (userparentinformation.length > 0) {
datatree = true;
empdatta[i]["_children"] = [];
}
}
}
row.getData()._children = empdatta;
row.getData().isExpanded = true;
row.update(row.getData());
instance.employeeData.redraw(true);
instance.initialEmployeeData = instance.employeeData.getData();
},
dataTreeRowCollapsed: function (row, level) {
row.getData().isExpanded = false;
},
dataTreeStartExpanded: function (row, level) {
return row.getData().isExpanded;
},
});
}
loadCustTabulator(response) {
var instance = this;
var tabledata = [];
var autoNumFormatter = function (cell) {
var row = cell.getRow();
var rowIndex = row.getPosition(false);
return (rowIndex + 1);
};
var editIcon = function (cell, formatterParams) {
return "";
};
instance.customerData = new Tabulator("#Customer_Table", {
placeholder: "No data available
",
data: tabledata,
layout: "fitDataFill",
columns: [
{ title: "EmployeeId", field: "EmployeeId", visible: false, },
{ title: "Customer Name", field: "EmployeeName" },
{ title: "ParentId", field: "ParentId", visible: false },
{ title: "Target Value", field: "TargetValue" },
{
title: "Achieved Value", field: "AchievedTarget", cellClick: function (e, cell) {
instance.currentRow = cell.getRow();
instance.fileCacheHelper.loadJsFile('apps/tm/targets/components/w_tagwisetarget.js', function () {
Bizgaze.Apps.TM.Targets.Components.TagWiseTarget.Instance().loadForm(0, cell.getRow().getData().EmployeeId, 0, null, 0);
});
}, formatter: function (cell) {
instance.currentRow = cell.getRow();
var achive = cell.getValue();
return "" + achive + "";
}
},
{ title: "Percentage", field: "Percentage" },
],
pagination: "local",
paginationSize: 15,
dataTree: false,
dataTreeSelectPropagate: true,
});
}
targetTabulatorSearch(containerId) {
const instance = this;
const containerEl = $(`#${containerId}`);
const searchEl = containerEl.find('.target-search-input');
const loaderEl = containerEl.find('.main-search-loader');
const clearEl = containerEl.find('.target-search-clear');
let tableEl = instance.employeeData;
let totalResponse = instance.totalEmployeeResponse;
let initialTableData = instance.initialEmployeeData;
clearTimeout(instance.searchTimer);
loaderEl.removeClass('d-none');
clearEl.addClass('d-none');
instance.searchTimer = setTimeout(function () {
let searchVal = searchEl.val();
searchVal = searchVal.trim().toLowerCase();
if (searchVal) {
if (containerEl.find('#CustomerTargetAchiveWidget').length > 0) {
instance.customerData.setFilter("EmployeeName", "like", searchVal);
}
else {
const searchedData = totalResponse.filter(employee => {
return employee.EmployeeName.toLowerCase().includes(searchVal) && !employee.EmployeeId.includes('p');
});
tableEl.replaceData(searchedData);
tableEl.redraw(true);
}
clearEl.removeClass('d-none');
}
else {
if (containerEl.find('#CustomerTargetAchiveWidget').length === 0) {
tableEl.replaceData(initialTableData);
tableEl.redraw(true);
}
clearEl.addClass('d-none');
}
loaderEl.addClass('d-none');
}, 1000);
}
clearTargetSearch(containerId) {
const instance = this;
const containerEl = $(`#${containerId}`);
let initialTableData = instance.initialEmployeeData;
containerEl.find('.target-search-input').val('');
containerEl.find('.target-search-clear,.main-search-loader').addClass('d-none');
if (containerEl.find('#CustomerTargetAchiveWidget').length > 0) {
instance.customerData.setFilter("EmployeeName", "like", "");
return;
}
instance.employeeData.replaceData(initialTableData);
instance.employeeData.redraw(true);
}
static Instance() {
if (this.instance === undefined) {
this.instance = new CustomerTargetVSAchive();
}
return this.instance;
}
}
Components.CustomerTargetVSAchive = CustomerTargetVSAchive;
})(Components = Targets.Components || (Targets.Components = {}));
})(Targets = TM.Targets || (TM.Targets = {}));
})(TM = Apps.TM || (Apps.TM = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));