var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let TM; (function (TM) { let Targets; (function (Targets) { let Components; (function (Components) { class CreateEmployyeWiseTarget extends Unibase.Platform.Core.BaseComponent { cssFiles() { return ['libs/tabulator-tables/css/bootstrap/tabulator_bootstrap4.min.css']; } jsFiles() { return ['libs/tabulator/js/tabulator.min.js', 'apps/tm/targets/components/savetargetvalue.js']; } html() { var html = '
'; return html; } loadHtml(containerid) { const html = `
Employee Target
`; $("#" + containerid).html(html); } loadCustHtml(containerid) { const html = `
Customer Target
`; $("#" + 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 == 2) { Bizgaze.Apps.TM.Targets.Components.CreateEmployyeWiseTarget.Instance().loadCustHtml(Containerid); instance.customerwisetarget(); } else { Bizgaze.Apps.TM.Targets.Components.CreateEmployyeWiseTarget.Instance().loadHtml(Containerid); instance.employeewisetarget(Containerid); } }); } employeewisetarget(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().employeeWiseTarget(userinfo.sessionId, targetdefinitionid).then(function (response) { if (response != null) { 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.CreateEmployyeWiseTarget.Instance().loadEmpTargetTabulator(dataarry, datatree, response, Containerid); } }); }); } loadEmpTargetTabulator(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) { var icon = ""; if (cell.getRow().getData()._children != undefined) { icon = ""; } return icon; }; instance.initialEmployeeData = response; instance.employeeData = new Tabulator(`#Employee_TargetTable_${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: "Edit Target Value", formatter: editIcon, hozAlign: "center", cellClick: function (e, cell) { instance.currentRow = cell.getRow(); if (!instance.currentRow._row.data.EmployeeId.includes("p")) { instance.fileCacheHelper.loadJsFile('apps/tm/targets/components/savetargetvalue.js', function () { Bizgaze.Apps.TM.Targets.Components.SaveTargetValue.Instance().loadForm(0, cell.getRow().getData().EmployeeId, 0, null, 0); }); } } }, ], 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; }, }); } customerwisetarget() { 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().customerWiseTarget(userinfo.sessionId, targetdefinitionid).then(function (response) { if (response != null) { var result = response.result; instance.loadCustTargetTabulator(""); instance.customerData.setData(result); } }); }); } loadCustTargetTabulator(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_TargetTable", { 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: "Edit Target Value", formatter: editIcon, hozAlign: "center", cellClick: function (e, cell) { instance.currentRow = cell.getRow(); instance.fileCacheHelper.loadJsFile('apps/tm/targets/components/savetargetvalue.js', function () { Bizgaze.Apps.TM.Targets.Components.SaveTargetValue.Instance().loadForm(0, cell.getRow().getData().EmployeeId, 0, null, 0); }); } }, ], 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('#CustomerTargetWidget').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('#CustomerTargetWidget').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('#CustomerTargetWidget').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 CreateEmployyeWiseTarget(); } return this.instance; } } Components.CreateEmployyeWiseTarget = CreateEmployyeWiseTarget; })(Components = Targets.Components || (Targets.Components = {})); })(Targets = TM.Targets || (TM.Targets = {})); })(TM = Apps.TM || (Apps.TM = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));