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 = `
Customer Target VS Achieve
`; $("#" + containerid).html(html); } loadEmpHtml(containerid) { const html = `
Employee Target VS Achieve
`; $("." + 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 = {}));